๐Ÿš€ Big News:Socket Has Acquired Secure Annex.Learn More โ†’
Socket
Book a DemoSign in
Socket

@intlify/vue-i18n-extensions

Package Overview
Dependencies
Maintainers
2
Versions
25
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@intlify/vue-i18n-extensions - npm Package Compare versions

Comparing version
6.0.6
to
6.1.0
+9
-6
dist/index.cjs

@@ -212,3 +212,3 @@ 'use strict';

const mode = shared.isString(options.mode) && ["composition", "legacy"].includes(options.mode) ? options.mode : "composition";
const translationSignatures = shared.isString(options.translationSignatures) ? [options.translationSignatures] : shared.isArray(options.translationSignatures) ? options.translationSignatures : ["t"];
const translationSignatures = shared.isString(options.translationSignatures) || shared.isFunction(options.translationSignatures) ? [options.translationSignatures] : shared.isArray(options.translationSignatures) ? options.translationSignatures : ["t"];
translationSignatures.push(GLOBAL_TRANSLATE_SIGNATURE);

@@ -399,9 +399,12 @@ return (dir, node, context) => {

const { prefixIdentifiers, bindingMetadata, inline } = context;
return translationSignatures.map((signature) => {
if (inline && signature !== GLOBAL_TRANSLATE_SIGNATURE) {
return signature;
return translationSignatures.map((signatureOrResolver) => {
if (shared.isFunction(signatureOrResolver)) {
return signatureOrResolver(context);
}
const type = shared.hasOwn(bindingMetadata, signature) && bindingMetadata[signature];
if (inline && signatureOrResolver !== GLOBAL_TRANSLATE_SIGNATURE) {
return signatureOrResolver;
}
const type = shared.hasOwn(bindingMetadata, signatureOrResolver) && bindingMetadata[signatureOrResolver];
const bindingContext = prefixIdentifiers ? type && type.startsWith("setup") || type === compilerDom.BindingTypes.LITERAL_CONST ? "$setup." : "_ctx." : "";
return `${bindingContext}${signature}`;
return `${bindingContext}${signatureOrResolver}`;
}).join(" || ");

@@ -408,0 +411,0 @@ }

+36
-2

@@ -1,5 +0,39 @@

import { DirectiveTransform } from '@vue/compiler-dom';
import { DirectiveTransform, TransformContext } from '@vue/compiler-dom';
import { I18n, I18nMode } from 'vue-i18n';
/**
* Translation signature resolver
*
* @remarks
* This resolver is used at {@link TransformVTDirectiveOptions | 'translationSignatures' option}
*
* @example
* ```js
* import { compile } from '@vue/compiler-dom'
* import { transformVTDirective } from '@intlify/vue-i18n-extensions'
*
* // the below is just an example, you can use your own signature resolver
* const signatureMap = new Map()
*
* const transformVT = transformVTDirective({
* translationSignatures: (context) => {
* const { prefixIdentifiers, bindingMetadata, inline, filename } = context
* let signature = ''
*
* // something logic to resolve signature like using `signatureMap`
* // signature = signatureMap.get(filename)
* // ...
*
* return signature
* }
* })
*
* const { code } = compile(`<p v-t="'hello'"></p>`, {
* // ...
* directiveTransforms: { t: transformVT }
* })
* ```
*/
type TranslationSignatureResolver = (context: TransformContext) => string;
/**
* Transform options for `v-t` custom directive

@@ -40,3 +74,3 @@ *

*/
translationSignatures?: string | string[];
translationSignatures?: string | TranslationSignatureResolver | string[] | TranslationSignatureResolver[] | (string | TranslationSignatureResolver)[];
}

@@ -43,0 +77,0 @@ /**

@@ -1,5 +0,39 @@

import { DirectiveTransform } from '@vue/compiler-dom';
import { DirectiveTransform, TransformContext } from '@vue/compiler-dom';
import { I18n, I18nMode } from 'vue-i18n';
/**
* Translation signature resolver
*
* @remarks
* This resolver is used at {@link TransformVTDirectiveOptions | 'translationSignatures' option}
*
* @example
* ```js
* import { compile } from '@vue/compiler-dom'
* import { transformVTDirective } from '@intlify/vue-i18n-extensions'
*
* // the below is just an example, you can use your own signature resolver
* const signatureMap = new Map()
*
* const transformVT = transformVTDirective({
* translationSignatures: (context) => {
* const { prefixIdentifiers, bindingMetadata, inline, filename } = context
* let signature = ''
*
* // something logic to resolve signature like using `signatureMap`
* // signature = signatureMap.get(filename)
* // ...
*
* return signature
* }
* })
*
* const { code } = compile(`<p v-t="'hello'"></p>`, {
* // ...
* directiveTransforms: { t: transformVT }
* })
* ```
*/
type TranslationSignatureResolver = (context: TransformContext) => string;
/**
* Transform options for `v-t` custom directive

@@ -40,3 +74,3 @@ *

*/
translationSignatures?: string | string[];
translationSignatures?: string | TranslationSignatureResolver | string[] | TranslationSignatureResolver[] | (string | TranslationSignatureResolver)[];
}

@@ -43,0 +77,0 @@ /**

@@ -1,5 +0,39 @@

import { DirectiveTransform } from '@vue/compiler-dom';
import { DirectiveTransform, TransformContext } from '@vue/compiler-dom';
import { I18n, I18nMode } from 'vue-i18n';
/**
* Translation signature resolver
*
* @remarks
* This resolver is used at {@link TransformVTDirectiveOptions | 'translationSignatures' option}
*
* @example
* ```js
* import { compile } from '@vue/compiler-dom'
* import { transformVTDirective } from '@intlify/vue-i18n-extensions'
*
* // the below is just an example, you can use your own signature resolver
* const signatureMap = new Map()
*
* const transformVT = transformVTDirective({
* translationSignatures: (context) => {
* const { prefixIdentifiers, bindingMetadata, inline, filename } = context
* let signature = ''
*
* // something logic to resolve signature like using `signatureMap`
* // signature = signatureMap.get(filename)
* // ...
*
* return signature
* }
* })
*
* const { code } = compile(`<p v-t="'hello'"></p>`, {
* // ...
* directiveTransforms: { t: transformVT }
* })
* ```
*/
type TranslationSignatureResolver = (context: TransformContext) => string;
/**
* Transform options for `v-t` custom directive

@@ -40,3 +74,3 @@ *

*/
translationSignatures?: string | string[];
translationSignatures?: string | TranslationSignatureResolver | string[] | TranslationSignatureResolver[] | (string | TranslationSignatureResolver)[];
}

@@ -43,0 +77,0 @@ /**

import { NodeTypes, TO_DISPLAY_STRING, createCompoundExpression, createSimpleExpression, isText, BindingTypes } from '@vue/compiler-dom';
import { isString, format, isNumber, isArray, isSymbol, isObject, toDisplayString, hasOwn } from '@intlify/shared';
import { isString, format, isNumber, isFunction, isArray, isSymbol, isObject, toDisplayString, hasOwn } from '@intlify/shared';
import { parse } from '@babel/parser';

@@ -210,3 +210,3 @@

const mode = isString(options.mode) && ["composition", "legacy"].includes(options.mode) ? options.mode : "composition";
const translationSignatures = isString(options.translationSignatures) ? [options.translationSignatures] : isArray(options.translationSignatures) ? options.translationSignatures : ["t"];
const translationSignatures = isString(options.translationSignatures) || isFunction(options.translationSignatures) ? [options.translationSignatures] : isArray(options.translationSignatures) ? options.translationSignatures : ["t"];
translationSignatures.push(GLOBAL_TRANSLATE_SIGNATURE);

@@ -397,9 +397,12 @@ return (dir, node, context) => {

const { prefixIdentifiers, bindingMetadata, inline } = context;
return translationSignatures.map((signature) => {
if (inline && signature !== GLOBAL_TRANSLATE_SIGNATURE) {
return signature;
return translationSignatures.map((signatureOrResolver) => {
if (isFunction(signatureOrResolver)) {
return signatureOrResolver(context);
}
const type = hasOwn(bindingMetadata, signature) && bindingMetadata[signature];
if (inline && signatureOrResolver !== GLOBAL_TRANSLATE_SIGNATURE) {
return signatureOrResolver;
}
const type = hasOwn(bindingMetadata, signatureOrResolver) && bindingMetadata[signatureOrResolver];
const bindingContext = prefixIdentifiers ? type && type.startsWith("setup") || type === BindingTypes.LITERAL_CONST ? "$setup." : "_ctx." : "";
return `${bindingContext}${signature}`;
return `${bindingContext}${signatureOrResolver}`;
}).join(" || ");

@@ -406,0 +409,0 @@ }

{
"name": "@intlify/vue-i18n-extensions",
"description": "vue-i18n extensions",
"version": "6.0.6",
"version": "6.1.0",
"author": {

@@ -6,0 +6,0 @@ "name": "kazuya kawaguchi",