Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@ambassify/language-object

Package Overview
Dependencies
Maintainers
3
Versions
15
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@ambassify/language-object

Detection and conversion library for language objects.

  • 0.1.14
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
19
decreased by-47.22%
Maintainers
3
Weekly downloads
 
Created
Source

language-object

CircleCI

Installation

npm install --save @ambassify/language-object

Usage

This package expose a parse-js parser, a method to test for multilingual objects and a method to cast objects.

parser

For more info on parse-js see the documentation.

Example:

const parser = require('@ambassify/language-object/parser');

parse.register('languageObject', require())
parse().json().languageObject().parse({
    nl: 'hallo',
    en: 'hello'
});

Returns

{
    __type: 'multilingual',
    nl: 'hallo',
    en: 'hello'
}

isMultilingual

isMultilingual will check if the __type property equals multilingual if set.

  • If the __type property is set, but does not equal multilingual it will return false.
  • If the __type property is undefined this method will check whether the only enumerable properties are valid languages as supplied by the second argument to isMultilingual.
  • If __type is missing and languages is not set or empty it will always return false.
isMultilingual(languageObject, [languages])

Example:

const isMultilingual = require('@ambassify/language-object/ismultilingual');

const obj = {
    nl: 'hallo',
    en: 'hello'
};

isMultilingual(obj, ['en','nl']); // true
isMultilingual(obj, ['en']); // false

cast

Casts language-object to include __type and valid language keys.

Unless force is set to true, it uses isMultilingual to validate objects first, if an object is not valid it will return null.

cast(languageObject, [languages], [force=false])

Example:

const cast = require('@ambassify/language-object/cast');

const obj = {
    nl: 'hallo',
    en: 'hello'
};

cast(obj, ['en','nl']);

Returns

{
    __type: 'multilingual',
    nl: 'hallo',
    en: 'hello'
}

translate

Takes in an object an selects only the language key that you would like to have selected.

cast(sourceObject, [selectLanguage], [availableLanguages])

Example:

const cast = require('@ambassify/language-object/translate');

const obj = {
    hi_nl: 'hallo',
    hi_en: 'hello',
    nested: {
        regular: 'key',
        value_nl: 'in dutch',
        value_en: 'in english'
    }
};

translate(obj, 'en', ['en','nl']);

Returns

{
    hi: 'hello',
    nested: {
        regular: 'key',
        value: 'in english'
    }
}

FAQs

Package last updated on 17 Jan 2017

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

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

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc