Socket
Socket
Sign inDemoInstall

@i18never/shared

Package Overview
Dependencies
51
Maintainers
2
Versions
13
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 1.1.6 to 1.1.7

dist/plugin.d.ts

2

dist/helpers.d.ts

@@ -8,2 +8,4 @@ import type { Tags } from './visitors';

};
export declare const supportExts: readonly [".vue", ".js", ".ts", ".mjs", ".mts", ".jsx", ".tsx", ".pug", ".jade"];
export type SupportExt = (typeof supportExts)[number];
export declare function parseString(str: string): KeyWithTags;

@@ -10,0 +12,0 @@ export declare function getSdk(uri?: string): {

@@ -5,2 +5,3 @@ export * from './graphql';

export * from './options';
export * from './plugin';
export { getSdk } from './helpers';

@@ -109,2 +109,13 @@ import gql from 'graphql-tag';

const supportExts = [
'.vue',
'.js',
'.ts',
'.mjs',
'.mts',
'.jsx',
'.tsx',
'.pug',
'.jade',
];
function parseString(str) {

@@ -271,2 +282,92 @@ const matches = str.match(parseRegexp);

export { CreateVersionDocument, ImportDeclaration, MemberExpression, ObjectProperty, QueryOrCreateDictsDocument, StringLiteral, TSTypeLiteral, TagFragmentDoc, TemplateLiteral, Text, TranslationFragmentDoc, defaultConfigFile, getLoc, getSdk, getSourceByLoc, initOptions, isIgnore, isString, matched, options, parseRegexp, parseString, setOptions };
/******************************************************************************
Copyright (c) Microsoft Corporation.
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
***************************************************************************** */
/* global Reflect, Promise, SuppressedError, Symbol */
function __awaiter(thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
}
typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
var e = new Error(message);
return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
};
function generateScript(version, options) {
const { langKey = 'ksc_lang', storageType = 'cookie' } = options;
let lang;
switch (storageType) {
case 'cookie':
// lang = `document.cookie.replace(/(?:(?:^|.*;\\s*)${langKey}\\s*\=\\s*([^;]*).*$)|^.*$/, "$1");`;
// @reference: https://stackoverflow.com/questions/10730362/get-cookie-by-name?page=1&tab=scoredesc
lang = `('; '+document.cookie).split('; ${langKey}=').pop().split(';').shift() || 'zh'`;
break;
case 'localStorage':
case 'sessionStorage':
lang = `${storageType}.getItem('${langKey}')`;
break;
default:
throw new Error(`storageType: ${storageType} is not supported`);
}
return `
var lang = ${lang};
document.write('<scr'+'ipt src="//i18never.ksyun.com/dict/'+lang+'/${version}"></scr'+'ipt>');
`;
}
function queryVersion(keys) {
return __awaiter(this, void 0, void 0, function* () {
const sdk = getSdk();
const { getVerionId: data } = yield sdk.CreateVersion({
source: 'i18never',
values: sortKeys(keys),
});
return data.Id;
});
}
function sortKeys(keys) {
return sortBy(keys.map(({ key, tags }) => {
return {
key,
tags: tags
? sortBy(Object.keys(tags).map((language) => {
const name = tags[language];
return { language, name };
}), 'language')
: undefined,
};
}), 'key');
}
function sortBy(list, key) {
return list.sort((a, b) => {
if (a[key] < b[key]) {
return -1;
}
else if (a[key] > b[key]) {
return 1;
}
else {
return 0;
}
});
}
export { CreateVersionDocument, ImportDeclaration, MemberExpression, ObjectProperty, QueryOrCreateDictsDocument, StringLiteral, TSTypeLiteral, TagFragmentDoc, TemplateLiteral, Text, TranslationFragmentDoc, defaultConfigFile, generateScript, getLoc, getSdk, getSourceByLoc, initOptions, isIgnore, isString, matched, options, parseRegexp, parseString, queryVersion, setOptions, supportExts };
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
var gql = require('graphql-tag');

@@ -11,6 +9,6 @@ var t = require('@babel/types');

function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
function _interopNamespace(e) {
if (e && e.__esModule) return e;
function _interopNamespaceCompat(e) {
if (e && typeof e === 'object' && 'default' in e) return e;
var n = Object.create(null);

@@ -28,12 +26,12 @@ if (e) {

}
n["default"] = e;
n.default = e;
return Object.freeze(n);
}
var gql__default = /*#__PURE__*/_interopDefaultLegacy(gql);
var t__namespace = /*#__PURE__*/_interopNamespace(t);
var fs__default = /*#__PURE__*/_interopDefaultLegacy(fs);
var path__default = /*#__PURE__*/_interopDefaultLegacy(path);
var gql__default = /*#__PURE__*/_interopDefaultCompat(gql);
var t__namespace = /*#__PURE__*/_interopNamespaceCompat(t);
var fs__default = /*#__PURE__*/_interopDefaultCompat(fs);
var path__default = /*#__PURE__*/_interopDefaultCompat(path);
const TagFragmentDoc = gql__default["default"] `
const TagFragmentDoc = gql__default.default `
fragment Tag on Tag {

@@ -44,3 +42,3 @@ name

`;
const TranslationFragmentDoc = gql__default["default"] `
const TranslationFragmentDoc = gql__default.default `
fragment Translation on Translation {

@@ -53,3 +51,3 @@ language

${TagFragmentDoc}`;
const QueryOrCreateDictsDocument = gql__default["default"] `
const QueryOrCreateDictsDocument = gql__default.default `
query QueryOrCreateDicts($source: String!, $values: [ValueArg!]!) {

@@ -64,3 +62,3 @@ dicts(source: $source, values: $values) {

${TranslationFragmentDoc}`;
const CreateVersionDocument = gql__default["default"] `
const CreateVersionDocument = gql__default.default `
query CreateVersion($source: String!, $values: [ValueArg!]!) {

@@ -126,7 +124,7 @@ getVerionId(source: $source, values: $values) {

while (currentDir !== '/') {
const file = path__default["default"].join(currentDir, defaultConfigFile);
if (fs__default["default"].existsSync(file)) {
const file = path__default.default.join(currentDir, defaultConfigFile);
if (fs__default.default.existsSync(file)) {
return require(file);
}
currentDir = path__default["default"].dirname(currentDir);
currentDir = path__default.default.dirname(currentDir);
}

@@ -144,2 +142,13 @@ }

const supportExts = [
'.vue',
'.js',
'.ts',
'.mjs',
'.mts',
'.jsx',
'.tsx',
'.pug',
'.jade',
];
function parseString(str) {

@@ -306,2 +315,92 @@ const matches = str.match(exports.parseRegexp);

/******************************************************************************
Copyright (c) Microsoft Corporation.
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
***************************************************************************** */
/* global Reflect, Promise, SuppressedError, Symbol */
function __awaiter(thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
}
typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
var e = new Error(message);
return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
};
function generateScript(version, options) {
const { langKey = 'ksc_lang', storageType = 'cookie' } = options;
let lang;
switch (storageType) {
case 'cookie':
// lang = `document.cookie.replace(/(?:(?:^|.*;\\s*)${langKey}\\s*\=\\s*([^;]*).*$)|^.*$/, "$1");`;
// @reference: https://stackoverflow.com/questions/10730362/get-cookie-by-name?page=1&tab=scoredesc
lang = `('; '+document.cookie).split('; ${langKey}=').pop().split(';').shift() || 'zh'`;
break;
case 'localStorage':
case 'sessionStorage':
lang = `${storageType}.getItem('${langKey}')`;
break;
default:
throw new Error(`storageType: ${storageType} is not supported`);
}
return `
var lang = ${lang};
document.write('<scr'+'ipt src="//i18never.ksyun.com/dict/'+lang+'/${version}"></scr'+'ipt>');
`;
}
function queryVersion(keys) {
return __awaiter(this, void 0, void 0, function* () {
const sdk = getSdk();
const { getVerionId: data } = yield sdk.CreateVersion({
source: 'i18never',
values: sortKeys(keys),
});
return data.Id;
});
}
function sortKeys(keys) {
return sortBy(keys.map(({ key, tags }) => {
return {
key,
tags: tags
? sortBy(Object.keys(tags).map((language) => {
const name = tags[language];
return { language, name };
}), 'language')
: undefined,
};
}), 'key');
}
function sortBy(list, key) {
return list.sort((a, b) => {
if (a[key] < b[key]) {
return -1;
}
else if (a[key] > b[key]) {
return 1;
}
else {
return 0;
}
});
}
exports.CreateVersionDocument = CreateVersionDocument;

@@ -319,2 +418,3 @@ exports.ImportDeclaration = ImportDeclaration;

exports.defaultConfigFile = defaultConfigFile;
exports.generateScript = generateScript;
exports.getLoc = getLoc;

@@ -329,2 +429,4 @@ exports.getSdk = getSdk;

exports.parseString = parseString;
exports.queryVersion = queryVersion;
exports.setOptions = setOptions;
exports.supportExts = supportExts;

2

package.json
{
"name": "@i18never/shared",
"version": "1.1.6",
"version": "1.1.7",
"description": "Base graphQL for i18never",

@@ -5,0 +5,0 @@ "keywords": [

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc