kamina-js

1.3.2 • Public • Published

kamina.js

Синтаксический сахар (или что-то около того) для собственных нужд. ES6-only (и выше).

Примеры использования

$make

$make.qs(selector, options):

$make.qs(
    '.sock',    // эквивалент document.querySelector('.sock'), или при добавлении опции
    ['a']       // эквивалент document.querySelectorAll('.sock')
)

$make.qsf(selector, fromNode, options):

let life = $make.qs('.life')
$make.qsf(
    '.goal',
    life,    // эквивалент life.querySelector('.goal'), или при добавлении опции
    ['a']    // эквивалент life.querySelectorAll('.goal')
)
 
/* или же то же самое, но без использования переменной с селектором '.life' */
 
$make.qsf('.goal', '.life', ['a'])

$make.safe(value):

$make.safe('<img onerror="alert(\'ya tebya vzlomal ololo!\')" src="">') // Экскейпит строку от некоторых нежелательных символов

$create

$create.elem(what, content, classes, options):

$create.elem(
    'div',                   // создание элемента "div"
    '<span>azaza</span>',    // с содержимым "<span>azaza</span>"
    'foo bar',               // и классами "foo" и "bar"
    [
        's',                 // "<span>azaza</span>" будет защищено $make.safe()
        'html'               // функция вернёт html в текстовом виде
    ]
)

$create.link(url, content, options):

$create.link(
    'https://cojam.ru',      // создание элемента "a" с "href='https://cojam.ru'". При пустом значении будет "href='javascript:void(0)'". Для внешних ссылок (начинающихся с "http") автоматически добавляется "target='_blank'"
    '<span>ololo</span>',    // с содержимым "<span>ololo</span>"
    [
        'e',                 // включает защиту от "опасного target='_blank'" (habr.ru/post/282880/)
        's',                 // "<span>ololo</span>" будет защищено $make.safe()
        'html'               // функция вернёт html в текстовом виде
    ]
)

$create.text(content):

$create.text('ololo') // создаёт текстовый узел (goo.gl/ko7sCi) с текстом "ololo"

$check

$check.get(value):

let hello = $check.get('suka')            // создание переменной hello со значением GET-параметра "suka" (если он есть, но пустой, то вернётся просто true)
if (hello == 'blyat') { drinkVodka() }    // если GET-параметр "suka" равен "blyat", то выполняется drinkVodka()

$storage

$storage.get(item, options), $storage.set(item, value, options), $storage.rm(item, options):

$storage.set('item', 'test')       // создать в локальном хранилище элемент "item" со значением "test"
let item = $storage.get('item')    // присвоить переменной item значение элемента "item" из локального хранилища
$storage.rm('item')                // удалить из локального хранилища элемент "item"

Если в параметр options передать массив с элементом "s" (например $storage.get('item', ['s'])), то будет задействовано не локальное хранилище (localStorage), а сессионное (sessionStorage).

$storage.test()

if (!$storage.test()) {
    alert('Локальное хранилище отключено!')
}

Для сохранения совместимости с предыдущими версиями библиотеки для $storage также доступен алиас $ls.

Readme

Keywords

none

Package Sidebar

Install

npm i kamina-js

Weekly Downloads

0

Version

1.3.2

License

MIT

Unpacked Size

9.99 kB

Total Files

6

Last publish

Collaborators

  • cojam