0.2.6 • Published 5 years ago

phusis v0.2.6

Weekly downloads
1
License
ISC
Repository
github
Last release
5 years ago

Utilities

Some utilities functions.

Conversion

  • parseJSON(str) instead of JSON.parse(), this function will not throw an exception when the argument is not correct.
// as before
let ob;
try {
  ob = JSON.parse(someStr);
}
catch(e) {
  // do something.
}

// with parseJSON
let ob = parseJSON(someStr);
ob && doSomething(ob);

// examples:
parseJSON('{"name": "phusis"}'); // {name: "phusis"}
parseJSON('hello, world'); // null
  • camelToHyphenate(varName)/camelToUnderscore(varName)/hyphenateToCamel(varName)/hyphenateToUnderscore(varName)/underscoreToCamel(varName)/underscoreToHyphenate(varName)
camelToHyphenate('itIsAVaribleName'); // it-is-a-varible-name
camelToUnderscore('itIsAVaribleName'); // it_is_a_varible_name
hyphenateToCamel('it-is-a-varible-name'); //itIsAVaribleName
hyphenateToUnderscore('it-is-a-varible-name'); // it_is_a_varible_name
underscoreToCamel('it_is_a_varible_name'); // itIsAVaribleName
underscoreToHyphenate('it_is_a_varible_name'); // it-is-a-varible-name
  • num2en(num)/num2cn(num, bool)
num2en(11865438357); // eleven billion, eight hundred and sixty-five million, four hundred and thirty-eight thousand, three hundred and fifty-seven
num2cn(11865438357); // 一百一十八亿六千五百四十三万八千三百五十七
num2cn(11865438357, true) // 壹佰壹拾捌亿陆仟伍佰肆拾叁万捌仟叁佰伍拾柒

num2en(563.1113); // five hundred and sixty-three point one one one three
num2cn(563.1113); // 五百六十三点一一一三
num2cn(563.1113, true); // 伍佰陆拾叁点壹壹壹叁
  • list2Tree(list, opts)
const menus = [
  { id: '101', name: 'system', parent_id: '' },
  { id: '102', name: 'shutdown', parent_id: '101' },
  { id: '103', name: 'logout', parent_id: '101' },
  { id: '104', name: 'register', parent_id: '101' },
  { id: '105', name: 'work', parent_id: null },
  { id: '106', name: 'calendar', parent_id: '105' },
  { id: '107', name: 'events', parent_id: '105' },
  { id: '108', name: 'conference', parent_id: '107' },
  { id: '109', name: 'meetings', parent_id: '107' },
  { id: '110', name: 'talk', parent_id: '107' },
  { id: '111', name: 'native', parent_id: '110' },
  { id: '112', name: 'onboard', parent_id: '110' },
  { id: '113', name: 'about' }
];
const tree = list2Tree(menus);
[
  {
    "id": "113",
    "name": "about",
    "children": [],
  },
  {
    "id": "105",
    "name": "work",
    "parent_id": null,
    "children": [
      {
        "id": "107",
        "name": "events",
        "parent_id": "105",
        "children": [
          {
            "id": "110",
            "name": "talk",
            "parent_id": "107",
            "children": [
              {
                "id": "112",
                "name": "onboard",
                "parent_id": "110",
              },
              {
                "id": "111",
                "name": "native",
                "parent_id": "110",
              },
            ],
          },
          {
            "id": "109",
            "name": "meetings",
            "parent_id": "107",
          },
          {
            "id": "108",
            "name": "conference",
            "parent_id": "107",
          },
        ],
      },
      {
        "id": "106",
        "name": "calendar",
        "parent_id": "105",
      },
    ],
  },
  {
    "children": [
      {
        "id": "104",
        "name": "register",
        "parent_id": "101",
      },
      {
        "id": "103",
        "name": "logout",
        "parent_id": "101",
      },
      {
        "id": "102",
        "name": "shutdown",
        "parent_id": "101",
      },
    ],
    "id": "101",
    "name": "system",
    "parent_id": "",
  },
]


// you can also customize the opts for specified field name in the list for convertion.
list2Tree(menu, {
  id: 'menu_id',
  parent: 'parent_menu_id',
});
// 
// it will result in:
[
  { menu_id: '101', name: 'system' },
  { menu_id: '102', name: 'shutdown', parent_menu_id: '101' }
]
// to 
[
  {
    menu_id: '101',
    name: 'system',
    children: [
      { 
        menu_id: '102', 
        name: 'shutdown', 
        parent_menu_id: '101',
      }
    ]
  }
]

Crypto

Factory

Polyfill

System

0.2.6

5 years ago

0.2.5

5 years ago

0.2.4

5 years ago

0.2.3

5 years ago

0.2.2

5 years ago

0.2.1

5 years ago

0.2.0

5 years ago

0.1.9

5 years ago

0.1.8

5 years ago

0.1.7

5 years ago

0.1.6

5 years ago

0.1.5

5 years ago

0.1.4

5 years ago

0.1.3

5 years ago

0.1.2

5 years ago

0.1.1

5 years ago

0.1.0

5 years ago

0.0.19

5 years ago

0.0.18

5 years ago

0.0.17

5 years ago

0.0.15

5 years ago

0.0.14

5 years ago

0.0.13

5 years ago

0.0.11

5 years ago

0.0.10

5 years ago

0.0.9

5 years ago

0.0.8

5 years ago

0.0.7

5 years ago

0.0.4

5 years ago

0.0.3

5 years ago

0.0.2

5 years ago

0.0.1

5 years ago