@scuba-squad/transformation
v2.0.7
Published
Transformation library with several data transformation methods
Downloads
75
Maintainers
Readme
Transformation
Table of Content
Purpose
Collection of helpful functions for data transformation
Installation
Via npm
npm install @scuba-squad/transformationAPI
toArray(value: mixed, opt: ?object = {flatten: false}): array
Added in: v1.0.0
Convert value to an array
arguments:
value: mixedopt: ?objectflatten: boolean = false
returns: array
const Transformation = require('@scuba-squad/transformation');
Transformation.toArray('hello world'); // ['hello', 'world']
Transformation.toArray({a: 5, b: true}); // [['a', 5], ['b', true]]
Transformation.toArray(new Set([1, 2, 3])); // [1, 2, 3]toAscii(value: mixed): string
Added in: v1.0.0
Convert value to an ascii string
arguments:
value: mixed
returns: string
const Transformation = require('@scuba-squad/transformation');
Transformation.toAscii('bismi ăl-lahi ăr-raḥmani ăr-raḥiymi'); // 'bismi al-lahi ar-ramani ar-raiymi'
Transformation.toAscii(['$', 'vs', '€']); // 'dollar vs euro'toBase64(value: mixed): string
Added in: v1.0.0
Convert value to a base64 encoded string
arguments:
value: mixed
returns: string
const Transformation = require('@scuba-squad/transformation');
Transformation.toBase64('scubaSquad'); // 'c2N1YmFTcXVhZA=='
Transformation.toBase64(NaN); // 'bnVsbA=='
Transformation.toBase64([null, false, {}, [4]]); // 'W251bGwsZmFsc2Use30sWzRdXQ=='toBoolean(value: mixed): boolean
Added in: v1.0.0
Convert value to a boolean
arguments:
value: mixed
returns: boolean
const Transformation = require('@scuba-squad/transformation');
Transformation.toBoolean('hi'); // true
Transformation.toBoolean({a: 5}); // true
Transformation.toBoolean('false'); // false
Transformation.toBoolean('off'); // false
Transformation.toBoolean('no'); // false
Transformation.toBoolean(' '); // falsetoCamelCase(value: mixed): string
Added in: v1.0.0
Convert value to a camelCase string
arguments:
value: mixed
returns: string
const Transformation = require('@scuba-squad/transformation');
Transformation.toCamelCase('-person- -'); // 'person'
Transformation.toCamelCase('JSON_2_XML'); // 'jSON2XML'
Transformation.toCamelCase('@scuba-squad/transformation:toCamelCase'); // 'scubaSquadTransformationToCamelCase'
Transformation.toCamelCase(['scuba', 'squad']); // 'scubaSquad'toCSV(value: mixed, opt: ?object = {}): string
Added in: v1.0.0
see: json2csv
Convert value to a CSV string
arguments:
value: mixedopt: ?object
returns: string
const Transformation = require('@scuba-squad/transformation');
Transformation.toCSV([{a: 5}, {b: 4}, {a: 3}]); // '"a","b"\n5,\n,4\n3,'toFormat(value: string, ...args: mixed): string
Added in: v1.0.0
see: util.format
Convert value to a string replacing format placeholders with arg[n] value
arguments:
value: string...args: mixed
returns: string
const Transformation = require('@scuba-squad/transformation');
Transformation.toFormat('%s: %n', 'number', 5); // 'number: 5'toJSON(value: mixed, space: string | number = 2): string
Added in: v1.0.0
Convert value to serialized json
arguments:
value: mixedspace: string | number = 2
returns: string
const Transformation = require('@scuba-squad/transformation');
Transformation.toJSON({a: 5}); // '{\n "a": 5\n}'
Transformation.toJSON({a: 5}, 0); // '{"d":5}'
Transformation.toJSON({a: 5}, '\t'); // '{\n\t"d": 5\n}'toKebabCase(value: mixed): string
Added in: v1.0.0
Convert value to kebab-case string
arguments:
value: mixed
returns: string
const Transformation = require('@scuba-squad/transformation');
Transformation.toKebabCase('@scuba-squad/transformation:toKebabCase'); // '-scuba-squad-transformation-to-kebab-case'
Transformation.toKebabCase(['scuba', 'squad']); // 'scuba-squad'toLines(value: mixed): array
Added in: v1.0.0
Convert value to an array of lines
arguments:
value: mixed
returns: array
const Transformation = require('@scuba-squad/transformation');
Transformation.toLines('1\n2\r\n3'); // ['1', '2', '3']
Transformation.toLines('1\n\n2\r\n3\n'); // ['1, '', '2', '3', '']toList(value: array, opt: ?object = {delimiter: ?string = ', ', last: ?string = ' and '}): string
Added in: v1.0.0
Convert value to a list string
arguments:
value: arraycompare: ?objectdelimiter: string = ', 'last: string = ' and '
returns: string
const Transformation = require('@scuba-squad/transformation');
Transformation.toList([1, 2, 3]); // '1, 2 and 3'
Transformation.toList([127, 0, 0, 1], {
delimiter: '.',
last: '.',
}); // '127.0.0.1'
Transformation.toList([1, 0, 4, 'beta'], {
delimiter: '.',
last: '-',
}); // '1.0.4-beta'toListSerial(value: array, opt: ?object = {delimiter: ?string = ', ', last: ?string = ' and '}): string
Added in: v1.0.0
Convert value to a serial list string
arguments:
value: arraycompare: ?objectdelimiter: string = ', 'last: string = ' and '
returns: string
const Transformation = require('@scuba-squad/transformation');
Transformation.toListSerial([1, 2, 3]); // '1, 2, and 3'
Transformation.toListSerial(['apples', 'oranges', 'bananas'], {
delimiter: '; ',
}); // 'apples; oranges; and bananas'
Transformation.toListSerial(['alpha', 'beta', 'rc', 'release'], {
delimiter: '-',
last: '>',
}); // 'alpha-beta-rc->release'toMD5(value: mixed): string
Added in: v1.0.0
Convert value to an md5 encoded hash string
arguments:
value: mixed
returns: string
const Transformation = require('@scuba-squad/transformation');
Transformation.toMD5('scubaSquad'); // '3c4c897839aa60f8e6707d8f82256792'
Transformation.toMD5({a: 5}); // '9b574798ab3bf7351f82eaf817c96d50'
Transformation.toMD5([null, false, {}, [4]]); // '505f1cc6122ee7a344b3edfd75e008cf'toNumber(value: mixed): number
Added in: v1.0.0
Convert value to number
arguments:
value: mixed
returns: number
const Transformation = require('@scuba-squad/transformation');
Transformation.toNumber('3.5'); // 3.5
Transformation.toNumber(false); // 0
Transformation.toNumber(true); // 1
Transformation.toNumber(new Date('2000-01-01')); // 946684800000
Transformation.toNumber('hello'); // NaNtoPascalCase(value: mixed): string
Added in: v1.0.0
Convert value to PascalCase string
arguments:
value: mixed
returns: string
const Transformation = require('@scuba-squad/transformation');
Transformation.toPascalCase('@scuba-squad/transformation:toPascalCase'); // 'ScubaSquadTransformationToPascalCase'
Transformation.toPascalCase(['scuba', 'squad']); // 'ScubaSquad'toPlural(value: string): string
Added in: v1.0.0
see: pluralize
Convert value to a plural string
arguments:
value: string
returns: string
const Transformation = require('@scuba-squad/transformation');
Transformation.toPlural('car'); // 'cars'
Transformation.toPlural('wife'); // 'wives'
Transformation.toPlural('woman'); // 'women'toRegExp(value: mixed): RegExp
Added in: v1.0.0
Convert value to a RegExp
arguments:
value: mixed
returns: RegExp
const Transformation = require('@scuba-squad/transformation');
Transformation.toRegExp(/asd/i); // /asd/i
Transformation.toRegExp('|asd|i'); // /asd/i
Transformation.toRegExp('%^\\d+$%g'); // /^\d+$/gtoSingular(value: string): string
Added in: v1.0.0
see: pluralize
Convert value to a singular string
arguments:
value: mixed
returns: string
const Transformation = require('@scuba-squad/transformation');
Transformation.toSingular('cars'); // 'car'
Transformation.toSingular('wives'); // 'wife'
Transformation.toSingular('women'); // 'woman'toSlug(value: mixed): string
Added in: v1.0.0
Convert value to a slug
arguments:
value: string
returns: string
const Transformation = require('@scuba-squad/transformation');
Transformation.toSlug('helloWorld'); // 'hello-World'
Transformation.toSlug('$ vs €'); // 'dollar-vs-euro'
Transformation.toSlug(['$', 'vs', '€']); // 'dollar-vs-euro'toSnakeCase(value: mixed): string
Added in: v1.0.0
Convert value to snake_case string
arguments:
value: mixed
returns: string
const Transformation = require('@scuba-squad/transformation');
Transformation.toSnakeCase('@scuba-squad/transformation:toSnakeCase'); // '_scuba_squad_transformation_to_snake_case'
Transformation.toSnakeCase(['scuba', 'squad']); // 'scuba_squad'toString(value: mixed): string
Added in: v1.0.0
Convert value to a string
arguments:
value: mixed
returns: string
const Transformation = require('@scuba-squad/transformation');
Transformation.toString([1, 2, 3]); // '1,2,3'
Transformation.toString({a: 5}); // '[object Object]'
Transformation.toString(); // ''toTokens(value: string, delimiter: RegExp | string = /\s+/): array
Added in: v1.0.0
Convert value to an array of tokens
arguments:
value: mixeddelimiter: ?RegExp | string = /\s+/
returns: array
const Transformation = require('@scuba-squad/transformation');
Transformation.toTokens('fruit: apples, oranges, bananas'); // ['fruit:', 'apples,', 'oranges,', 'bananas']
Transformation.toTokens('fruit: apples, oranges, bananas', /\W+/); // ['fruit', 'apples', 'oranges', 'bananas']toWords(value: mixed): array
Added in: v1.0.0
Convert value to an array of words
arguments:
value: mixed
returns: array
const Transformation = require('@scuba-squad/transformation');
Transformation.toWords('fruit: apples, oranges, bananas'); // ['fruit', 'apples', 'oranges', 'bananas']
Transformation.toWords('this is $1.00'); // ['this', 'is', '$1.00']
Transformation.toWords('a,b,c'); // ['a', 'b', 'c']towrap(value: mixed, opt: {start: ?string, end: ?string} = {}): string
Added in: v1.0.0
Convert value to a wrapped string
arguments:
value: mixedopt: ?objectstart: ?stringbeginning value to wrap the stringend: ?stringclosing value to wrap the string
returns: string
const Transformation = require('@scuba-squad/transformation');
Transformation.toWrap('hello'); // 'hello'
Transformation.toWrap('tag', {start: '<', end: '>'}); // '<tag>'
Transformation.toWrap([1,2,3], {start: '[', end: ']'}); // '[1,2,3]'
Transformation.toWrap('regex', {start: '/'}); // '/regex/'
Transformation.toWrap('quote', {end: '"'}); // '"quote"'toXML(value: mixed, opt: {spaces: number, compact: boolean, indentCdata: boolean} = {spaces: 2, compact: true, indentCdata: true}): string
Added in: v1.0.0
see: xml-js
Convert value to a XML string
arguments:
value: mixedopt: ?objectspaces: 2compact: trueindentCdata: true
returns: string
const Transformation = require('@scuba-squad/transformation');
Transformation.toXML({name: {first: 'James', last: 'Bond'}, age: 55}); // '<name>\n <first>James</first>\n <last>Bond</last>\n</name>\n<age>55</age>'toYAML(value: mixed, opt: {skipinvalid: boolean} = {skipInvalid: true}): string
Added in: v1.0.0
see: js-yaml
Convert value to a YAML string
arguments:
value: mixedopt: ?objectskipInvalid: true
returns: string
const Transformation = require('@scuba-squad/transformation');
Transformation.toXML({name: {first: 'James', last: 'Bond'}, age: 55}); // 'name:\n first: James\n last: Bond\nage: 55\n'Test
npm install
npm test