language-manager
Advanced tools
Comparing version 0.0.5 to 0.0.6
{ | ||
"name": "language-manager", | ||
"version": "0.0.5", | ||
"version": "0.0.6", | ||
"description": "The most flexible version of multi-language management. Manages language resources. Makes it easy to switch between different language sources.", | ||
"author": "azmisahin@outlook.com", | ||
"license": "MIT", | ||
"repository": { | ||
"type": "git", | ||
"url": "git+https://github.com/azmisahin/azmisahin-software-web-component-language-manager-node.git" | ||
}, | ||
"keywords": [ | ||
@@ -15,11 +11,20 @@ "flexible", | ||
"managament", | ||
"resource" | ||
"resource", | ||
"translate", | ||
"js", | ||
"json", | ||
"xml", | ||
"csv" | ||
], | ||
"homepage": "https://github.com/azmisahin/azmisahin-software-web-component-language-manager-node#readme", | ||
"repository": { | ||
"type": "git", | ||
"url": "git+https://github.com/azmisahin/azmisahin-software-web-component-language-manager-node.git" | ||
}, | ||
"bugs": { | ||
"url": "https://github.com/azmisahin/azmisahin-software-web-component-language-manager-node/issues" | ||
}, | ||
"homepage": "https://github.com/azmisahin/azmisahin-software-web-component-language-manager-node#readme", | ||
"main": "src/index.js", | ||
"scripts": { | ||
"lint": "eslint src && eslint tests", | ||
"lint": "eslint src --fix && eslint tests --fix", | ||
"test": "node tests" | ||
@@ -26,0 +31,0 @@ }, |
@@ -14,9 +14,43 @@ # language-manager | ||
```js | ||
// Load the full build | ||
/// Language Manager Reference | ||
var LanguageManager = require('language-manager') | ||
// Instance create | ||
/// Test object | ||
var l = new LanguageManager() | ||
// Resource Type format | ||
.setType(LanguageManager.ResourceType.Json) | ||
// Resource file folder | ||
.setPath('tests/resource') | ||
// Resource language code | ||
.setLang('en-us') | ||
/// Expected test result | ||
var expected = 'Language Manager' | ||
/// Actual test result | ||
var actual = l | ||
// Get resource item value string | ||
.Val('app.name') | ||
// Test output | ||
console.log(`${l.Lang} : ${actual}`) | ||
``` | ||
> en-us : Language Manager | ||
```js | ||
/// Change language | ||
l.setLang('tr-tr') | ||
/// Expected test result | ||
expected = 'Dil Yöneticisi' | ||
/// Actual test result | ||
actual = l | ||
// Get resource item value string | ||
.Val('app.name') | ||
// Test output | ||
console.log(`${l.Lang} : ${actual}`) | ||
``` | ||
> tr-tr : Dil Yöneticisi | ||
# Test | ||
@@ -23,0 +57,0 @@ |
227
src/index.js
@@ -0,6 +1,16 @@ | ||
/// Data Model Reference | ||
var Data = require('./data') | ||
/// Data Resource Model Reference | ||
var Resource = require('./data/resource') | ||
/// Parser Manager Reference | ||
var Parser = require('./parse-manager') | ||
/// File Manager Reference | ||
var FileManger = require('./file-manager') | ||
/** | ||
* Language Manager | ||
* | ||
* @param { string } langCode Resource Lang Code | ||
* | ||
* @example | ||
@@ -21,17 +31,218 @@ * var l = new LanguageManager() | ||
* | ||
* new LanguageManager() | ||
* new LanguageManager('tr') | ||
* new LanguageManager('en') | ||
* /// Test object | ||
* var l = new LanguageManager() | ||
* // Resource Type format | ||
* .setType(LanguageManager.ResourceType.Json) | ||
* // Resource file folder | ||
* .setPath('tests/resource') | ||
* // Resource language code | ||
* .setLang('en-us') | ||
* | ||
* @param {string} langCode Language short code | ||
* /// Test criterion | ||
* var expected = 'Language Manager' | ||
* var actual = l.Val('app.name') | ||
* | ||
* @returns <LanguageManager> | ||
*/ | ||
constructor(langCode) { | ||
constructor() { | ||
/// Name property | ||
this.Name = 'language-manager' | ||
this.LangCode = langCode ? langCode : 'tr' | ||
/// result LanguageManager instance | ||
return this | ||
} | ||
/** | ||
* Language Manager Resource Types | ||
* | ||
* @returns enum | ||
*/ | ||
static get ResourceType() { | ||
return { | ||
Json: 'json' | ||
} | ||
} | ||
} | ||
/** | ||
* Language Code | ||
* | ||
* @param {string} resourceLang Language Code | ||
* | ||
* @returns <LanguageManager> | ||
*/ | ||
LanguageManager.prototype.setLang = function (resourceLang) { | ||
/// Lang property | ||
this.Lang = resourceLang | ||
/// result LanguageManager instance | ||
return this | ||
} | ||
/** | ||
* Language path base | ||
* | ||
* @param {string} resourceType base path | ||
* | ||
* @returns <LanguageManager> | ||
*/ | ||
LanguageManager.prototype.setPath = function (resourcePath) { | ||
/// Path property | ||
this.Path = resourcePath | ||
/// result LanguageManager instance | ||
return this | ||
} | ||
LanguageManager.prototype.FullPath = function () { | ||
/// result Full Path string | ||
return `${this.Path}/${this.Type}/${this.Lang}.${this.Type}` | ||
} | ||
/** | ||
* Language resource type | ||
* | ||
* @param {string} resourceType resource type | ||
* | ||
* @returns <LanguageManager> | ||
*/ | ||
LanguageManager.prototype.setType = function (resourceType) { | ||
/// Type property | ||
this.Type = resourceType | ||
/// result LanguageManager instance | ||
return this | ||
} | ||
/** | ||
* List All Data | ||
* | ||
* @returns <Resource> | ||
* */ | ||
LanguageManager.prototype.List = function () { | ||
/// All resource data | ||
this.Resources = new Data() | ||
// File Manager instance | ||
var fileManager = new FileManger() | ||
// string data | ||
var fileString = '' | ||
// Parser instance | ||
var parser = new Parser() | ||
/// Resource file type | ||
switch (this.Type) { | ||
/// Resource Type `json` | ||
case LanguageManager.ResourceType.Json: | ||
// Get STRING from file | ||
fileString = fileManager | ||
.setFile(this.FullPath()) | ||
.GetString() | ||
// Parser instance | ||
parser = new Parser() | ||
// Get JSON object from string | ||
this.Resources = parser | ||
.setString(fileString) | ||
.GetJson() | ||
break | ||
/// Resource Type Undefine | ||
default: | ||
// Get STRING from file | ||
fileString = fileManager | ||
.setFile(this.FullPath()) | ||
.GetString() | ||
// Parser instance | ||
parser = new Parser() | ||
// Get JSON object from string | ||
this.Resources = parser | ||
.setString(fileString) | ||
.GetJson() | ||
break | ||
} | ||
/// result LanguageManager instance | ||
return this | ||
} | ||
/** | ||
* Search value with Name | ||
* | ||
* @param {string} name Resouce `Name` | ||
* | ||
* @returns <Resource> item | ||
*/ | ||
LanguageManager.prototype.Search = function (name) { | ||
/// Default model | ||
var result = new Resource() | ||
/// Search in data | ||
this.Resources.root.data.forEach(item => { | ||
// Key found | ||
if (item.name === name) { | ||
// resource model item | ||
result.Name = item.name | ||
result.Value = item.value | ||
result.Type = item.type | ||
} | ||
}) | ||
/// result Resource model | ||
return result | ||
} | ||
/** | ||
* Get resource item with name | ||
* | ||
* @param {string} name Resouce `Name` | ||
* | ||
* @returns <Resource> item | ||
*/ | ||
LanguageManager.prototype.Get = function (name) { | ||
/// Resource initalize | ||
this.List() | ||
/// Search in data | ||
var result = this.Search(name) | ||
/// result Resource model | ||
return result | ||
} | ||
/** | ||
* Get value with name | ||
* | ||
* @param {string} name Resouce `Name` | ||
* | ||
* @returns string | ||
*/ | ||
LanguageManager.prototype.Val = function (name) { | ||
/// get in data | ||
var result = this.Get(name) | ||
/// result Resource model.`Value` | ||
return result.Value | ||
} | ||
module.exports = LanguageManager |
@@ -1,12 +0,24 @@ | ||
// Test Tool | ||
/// Test Manager Reference | ||
var TestManager = require('test-management') | ||
/// Test Tool Instance | ||
var tt = new TestManager(true) | ||
/// Test object referance | ||
var LanguageManager = require('../src') | ||
/** | ||
* Instance Test | ||
*/ | ||
var DefaultTest = function (){ | ||
var LanguageManager = require('../src') | ||
var l = new LanguageManager() | ||
tt.Test('Is the instance initialized?', 'language-manager', l.Name) | ||
var DefaultTest = function () { | ||
/// Test object | ||
var instance = new LanguageManager() | ||
/// Test criterion | ||
var expected = 'language-manager' | ||
var actual = instance.Name | ||
/// Test definition | ||
tt.Test('Is the instance initialized?', expected, actual) | ||
} | ||
@@ -16,21 +28,105 @@ DefaultTest() | ||
/** | ||
* Result Test | ||
* Get resource item value with name. Simple Zero Configure? | ||
*/ | ||
var ResultTest = function (){ | ||
var LanguageManager = require('../src') | ||
var property = 'tr' | ||
var l = new LanguageManager() | ||
tt.Test('Instance is the default property true?', property, l.LangCode) | ||
var InstanceApiSimpleZeroTest = function () { | ||
/// Test object | ||
var instance = new LanguageManager() | ||
// Resource Type format | ||
.setType(LanguageManager.ResourceType.Json) | ||
// Resource file folder | ||
.setPath('tests/resource') | ||
// Resource language code | ||
.setLang('en-us') | ||
/// Test criterion | ||
var expected = 'Language Manager' | ||
var actual = instance | ||
// Get resource item value string | ||
.Val('app.name') | ||
/// Test definition | ||
tt.Test('Get resource item with name. Simple Zero Configure?', expected, actual) | ||
} | ||
ResultTest() | ||
InstanceApiSimpleZeroTest() | ||
/** | ||
* Parameter test | ||
* Get resource item with name. Zero Configure? | ||
*/ | ||
var ParameterTest = function (){ | ||
var LanguageManager = require('../src') | ||
var property = 'en' | ||
var l = new LanguageManager(property) | ||
tt.Test('Instance is the property true?', property, l.LangCode) | ||
var InstanceApiZeroTest = function () { | ||
/// Test object | ||
var instance = new LanguageManager() | ||
// Resource Type format | ||
.setType(LanguageManager.ResourceType.Json) | ||
// Resource file folder | ||
.setPath('tests/resource') | ||
// Resource language code | ||
.setLang('en-us') | ||
/// Test criterion | ||
var expected = 'Language Manager' | ||
var actual = instance | ||
// Get resource item | ||
.Get('app.name') | ||
// item value string | ||
.Value | ||
/// Test definition | ||
tt.Test('Get resource item with name. Zero Configure?', expected, actual) | ||
} | ||
ParameterTest() | ||
InstanceApiZeroTest() | ||
/** | ||
* Get resource item with name. Full Configure? | ||
*/ | ||
var InstanceApiFullTest = function () { | ||
/// Test object | ||
var instance = new LanguageManager() | ||
/// Test criterion | ||
var expected = 'Language Manager' | ||
var actual = instance | ||
// Resource Type format | ||
.setType(LanguageManager.ResourceType.Json) | ||
// Resource file folder | ||
.setPath('tests/resource') | ||
// Resource language code | ||
.setLang('en-us') | ||
// Get resource item | ||
.Get('app.name') | ||
// item value string | ||
.Value | ||
/// Test definition | ||
tt.Test('Get resource item with name. Full Configure?', expected, actual) | ||
} | ||
InstanceApiFullTest() | ||
/** | ||
* Get resource item with name. Full Configure TR? | ||
*/ | ||
var InstanceApiFullTest_tr = function () { | ||
/// Test object | ||
var instance = new LanguageManager() | ||
/// Test criterion | ||
var expected = 'Dil Yöneticisi' | ||
var actual = instance | ||
// Resource Type format | ||
.setType(LanguageManager.ResourceType.Json) | ||
// Resource file folder | ||
.setPath('tests/resource') | ||
// Resource language code | ||
.setLang('tr-tr') | ||
// Get resource item | ||
.Get('app.name') | ||
// item value string | ||
.Value | ||
/// Test definition | ||
tt.Test('Get resource item with name. Full Configure TR?', expected, actual) | ||
} | ||
InstanceApiFullTest_tr() |
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 1 instance in 1 package
99601
20
826
65
1
1