@marko/language-tools 2.5.34 → 2.5.36
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 +10 -4
- package/dist/index.mjs +10 -4
- package/marko.internal.d.ts +10 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -2101,7 +2101,7 @@ var ScriptExtractor = class {
|
|
|
2101
2101
|
);
|
|
2102
2102
|
} else {
|
|
2103
2103
|
this.#extractor.write(
|
|
2104
|
-
`/** @typedef {
|
|
2104
|
+
`/** @typedef {Record<string, unknown>} Input */
|
|
2105
2105
|
`
|
|
2106
2106
|
);
|
|
2107
2107
|
}
|
|
@@ -2113,13 +2113,14 @@ var ScriptExtractor = class {
|
|
|
2113
2113
|
`import type Component from "${stripExt(
|
|
2114
2114
|
(0, import_relative_import_path.relativeImportPath)(this.#filename, componentFileName)
|
|
2115
2115
|
)}";
|
|
2116
|
+
export { type Component }
|
|
2116
2117
|
`
|
|
2117
2118
|
);
|
|
2118
2119
|
} else {
|
|
2119
2120
|
this.#extractor.write(
|
|
2120
|
-
`/** @typedef {import("${stripExt(
|
|
2121
|
+
`/** @typedef {${varShared("resolveComponent")}(import("${stripExt(
|
|
2121
2122
|
(0, import_relative_import_path.relativeImportPath)(this.#filename, componentFileName)
|
|
2122
|
-
)}")
|
|
2123
|
+
)}"))} Component */
|
|
2123
2124
|
`
|
|
2124
2125
|
);
|
|
2125
2126
|
}
|
|
@@ -3915,7 +3916,12 @@ var marko_default = {
|
|
|
3915
3916
|
return ts.isTypeAliasDeclaration(statement) && statement.name.escapedText === "Input" && ts.isTypeLiteralNode(statement.type) && !statement.typeParameters && statement.type.members.length === 0 || ts.isInterfaceDeclaration(statement) && statement.name.escapedText === "Input" && !statement.heritageClauses && !statement.typeParameters && statement.members.length === 0;
|
|
3916
3917
|
}
|
|
3917
3918
|
function isExportComponentType(statement) {
|
|
3918
|
-
|
|
3919
|
+
if (ts.isExportDeclaration(statement)) {
|
|
3920
|
+
return statement.exportClause && ts.isNamedExports(statement.exportClause) && statement.exportClause.elements.length === 1 && ts.isIdentifier(statement.exportClause.elements[0].name) && statement.exportClause.elements[0].name.escapedText === "Component";
|
|
3921
|
+
} else if (ts.isTypeAliasDeclaration(statement)) {
|
|
3922
|
+
return statement.name.text === "Component";
|
|
3923
|
+
}
|
|
3924
|
+
return false;
|
|
3919
3925
|
}
|
|
3920
3926
|
function isVariableStatementForName(statement, name) {
|
|
3921
3927
|
if (ts.isVariableStatement(statement)) {
|
package/dist/index.mjs
CHANGED
|
@@ -2064,7 +2064,7 @@ var ScriptExtractor = class {
|
|
|
2064
2064
|
);
|
|
2065
2065
|
} else {
|
|
2066
2066
|
this.#extractor.write(
|
|
2067
|
-
`/** @typedef {
|
|
2067
|
+
`/** @typedef {Record<string, unknown>} Input */
|
|
2068
2068
|
`
|
|
2069
2069
|
);
|
|
2070
2070
|
}
|
|
@@ -2076,13 +2076,14 @@ var ScriptExtractor = class {
|
|
|
2076
2076
|
`import type Component from "${stripExt(
|
|
2077
2077
|
relativeImportPath(this.#filename, componentFileName)
|
|
2078
2078
|
)}";
|
|
2079
|
+
export { type Component }
|
|
2079
2080
|
`
|
|
2080
2081
|
);
|
|
2081
2082
|
} else {
|
|
2082
2083
|
this.#extractor.write(
|
|
2083
|
-
`/** @typedef {import("${stripExt(
|
|
2084
|
+
`/** @typedef {${varShared("resolveComponent")}(import("${stripExt(
|
|
2084
2085
|
relativeImportPath(this.#filename, componentFileName)
|
|
2085
|
-
)}")
|
|
2086
|
+
)}"))} Component */
|
|
2086
2087
|
`
|
|
2087
2088
|
);
|
|
2088
2089
|
}
|
|
@@ -3878,7 +3879,12 @@ var marko_default = {
|
|
|
3878
3879
|
return ts.isTypeAliasDeclaration(statement) && statement.name.escapedText === "Input" && ts.isTypeLiteralNode(statement.type) && !statement.typeParameters && statement.type.members.length === 0 || ts.isInterfaceDeclaration(statement) && statement.name.escapedText === "Input" && !statement.heritageClauses && !statement.typeParameters && statement.members.length === 0;
|
|
3879
3880
|
}
|
|
3880
3881
|
function isExportComponentType(statement) {
|
|
3881
|
-
|
|
3882
|
+
if (ts.isExportDeclaration(statement)) {
|
|
3883
|
+
return statement.exportClause && ts.isNamedExports(statement.exportClause) && statement.exportClause.elements.length === 1 && ts.isIdentifier(statement.exportClause.elements[0].name) && statement.exportClause.elements[0].name.escapedText === "Component";
|
|
3884
|
+
} else if (ts.isTypeAliasDeclaration(statement)) {
|
|
3885
|
+
return statement.name.text === "Component";
|
|
3886
|
+
}
|
|
3887
|
+
return false;
|
|
3882
3888
|
}
|
|
3883
3889
|
function isVariableStatementForName(statement, name) {
|
|
3884
3890
|
if (ts.isVariableStatement(statement)) {
|
package/marko.internal.d.ts
CHANGED
|
@@ -162,6 +162,15 @@ 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
|
+
>;
|
|
165
174
|
export function fallbackTemplate<Tag, Template>(
|
|
166
175
|
tag: Tag,
|
|
167
176
|
fallback: Promise<{ default: Template }>,
|
|
@@ -621,7 +630,7 @@ type KnownRecordKeys<T> = keyof {
|
|
|
621
630
|
: CheckNever<T[Key], never, Key>]: 0;
|
|
622
631
|
};
|
|
623
632
|
|
|
624
|
-
type CheckNever<T, If, Else> = [T] extends [never] ? If : Else;
|
|
633
|
+
type CheckNever<T, If, Else = T> = [T] extends [never] ? If : Else;
|
|
625
634
|
|
|
626
635
|
type UnionToIntersection<T> = (T extends any ? (_: T) => any : never) extends (
|
|
627
636
|
_: 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.36",
|
|
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"
|