Big News: Socket raises $60M Series C at a $1B valuation to secure software supply chains for AI-driven development.Announcement
Sign In

@vue/language-core

Package Overview
Dependencies
Maintainers
2
Versions
141
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@vue/language-core - npm Package Compare versions

Comparing version
3.3.4
to
3.3.5
+1
-1
lib/codegen/names.d.ts

@@ -59,3 +59,2 @@ declare const raw: {

IsFunction: string;
NormalizeComponentEvent: string;
NormalizeEmits: string;

@@ -68,2 +67,3 @@ OverloadUnion: string;

ResolveEmits: string;
ResolveEvent: string;
ShortEmits: string;

@@ -70,0 +70,0 @@ ShortEmitsToObject: string;

@@ -63,3 +63,2 @@ "use strict";

IsFunction: '',
NormalizeComponentEvent: '',
NormalizeEmits: '',

@@ -72,2 +71,3 @@ OverloadUnion: '',

ResolveEmits: '',
ResolveEvent: '',
ShortEmits: '',

@@ -74,0 +74,0 @@ ShortEmitsToObject: '',

@@ -50,3 +50,3 @@ "use strict";

function* generateElementEvents(options, ctx, node, componentOriginalVar, getCtxVar, getPropsVar) {
const definitions = [];
const definitions = {};
for (const prop of node.props) {

@@ -75,14 +75,22 @@ if (prop.type === CompilerDOM.NodeTypes.DIRECTIVE

const emitName = emitPrefix + source;
definitions.push({
const key = [
prop.name,
propName,
...prop.modifiers.map(modifier => modifier.content),
].join('+');
definitions[key] ??= {
propPrefix,
emitPrefix,
propName,
emitName,
items: [],
};
definitions[key].items.push({
prop,
source,
offset,
emitPrefix,
propPrefix,
propName,
emitName,
});
}
}
if (!definitions.length) {
if (!Object.keys(definitions).length) {
return;

@@ -92,29 +100,23 @@ }

yield `let ${emitsVar}!: ${names_1.names.ResolveEmits}<typeof ${componentOriginalVar}, typeof ${getCtxVar()}.emit>${utils_1.endOfLine}`;
yield `const ${ctx.getInternalVariable()}: `;
for (let i = 0; i < definitions.length; i++) {
const { propName, emitName } = definitions[i];
if (i > 0) {
yield ` & `;
for (const { propPrefix, emitPrefix, propName, emitName, items } of Object.values(definitions)) {
yield `const ${ctx.getInternalVariable()}: ${names_1.names.ResolveEvent}<typeof ${getPropsVar()}, typeof ${emitsVar}, '${propName}', '${emitName}', '${(0, shared_1.camelize)(emitName)}'> = {${utils_1.newLine}`;
for (const { prop, source, offset } of items) {
if (prop.name === 'on') {
yield `/** @type {typeof ${emitsVar}.`;
yield* generateEventArg(options, source, offset, emitPrefix.slice(0, -1), codeFeatures_1.codeFeatures.navigation);
yield `} */${utils_1.newLine}`;
}
if (prop.name === 'on') {
yield* generateEventArg(options, source, offset, propPrefix.slice(0, -1));
yield `: `;
yield* generateEventExpression(options, ctx, prop);
}
else {
yield `'${propName}': `;
yield* generateModelEventExpression(options, ctx, prop);
}
yield `,${utils_1.newLine}`;
}
yield `${names_1.names.NormalizeComponentEvent}<typeof ${getPropsVar()}, typeof ${emitsVar}, '${propName}', '${emitName}', '${(0, shared_1.camelize)(emitName)}'>`;
yield `}${utils_1.endOfLine}`;
}
yield ` = {${utils_1.newLine}`;
for (const { prop, source, offset, emitPrefix, propPrefix, propName } of definitions) {
if (prop.name === 'on') {
yield `...{ `;
yield* generateEventArg(options, source, offset, emitPrefix.slice(0, -1), codeFeatures_1.codeFeatures.navigation);
yield `: {} as any } as typeof ${emitsVar},${utils_1.newLine}`;
}
if (prop.name === 'on') {
yield* generateEventArg(options, source, offset, propPrefix.slice(0, -1));
yield `: `;
yield* generateEventExpression(options, ctx, prop);
}
else {
yield `'${propName}': `;
yield* generateModelEventExpression(options, ctx, prop);
}
yield `,${utils_1.newLine}`;
}
yield `}${utils_1.endOfLine}`;
}

@@ -121,0 +123,0 @@ function* generateEventArg(options, name, start, directive = 'on', features) {

{
"name": "@vue/language-core",
"version": "3.3.4",
"version": "3.3.5",
"license": "MIT",

@@ -37,3 +37,3 @@ "files": [

},
"gitHead": "043a77b6182db32f4076f84a767c1c674ef2b149"
"gitHead": "2fe255ca6d5809c93b71ec8185ec14562cff5945"
}

@@ -57,3 +57,3 @@ declare global {

: false;
type __VLS_NormalizeComponentEvent<
type __VLS_ResolveEvent<
Props,

@@ -60,0 +60,0 @@ Emits,