mirror of
https://github.com/tenrok/BBob.git
synced 2026-05-15 11:59:37 +03:00
feat(plugin-helper): move getUniqAttr from preset to plugin helper (#63)
This commit is contained in:
committed by
GitHub
parent
2cfe729d75
commit
f28f19e64c
@@ -63,11 +63,23 @@ const attrsToString = (values) => {
|
||||
.join(' ');
|
||||
};
|
||||
|
||||
/**
|
||||
* Gets value from
|
||||
* @example
|
||||
* getUniqAttr({ 'foo': true, 'bar': bar' }) => 'bar'
|
||||
* @param attrs
|
||||
* @returns {string}
|
||||
*/
|
||||
const getUniqAttr = (attrs) => Object
|
||||
.keys(attrs)
|
||||
.reduce((res, key) => (attrs[key] === key ? attrs[key] : null), null);
|
||||
|
||||
export {
|
||||
attrsToString,
|
||||
attrValue,
|
||||
appendToNode,
|
||||
getNodeLength,
|
||||
getUniqAttr,
|
||||
isTagNode,
|
||||
isStringNode,
|
||||
isEOL,
|
||||
|
||||
@@ -3,6 +3,7 @@ import {
|
||||
attrValue,
|
||||
appendToNode,
|
||||
getNodeLength,
|
||||
getUniqAttr,
|
||||
isTagNode,
|
||||
isStringNode,
|
||||
isEOL,
|
||||
@@ -78,9 +79,17 @@ describe('@bbob/plugin-helper', () => {
|
||||
foo: 'bar',
|
||||
disabled: true
|
||||
})).toBe(` tag="test" foo="bar" disabled`)
|
||||
})
|
||||
});
|
||||
|
||||
test('attrsToString undefined', () => {
|
||||
expect(attrsToString(undefined)).toBe('')
|
||||
})
|
||||
});
|
||||
|
||||
test('getUniqAttr with unq attr', () => {
|
||||
expect(getUniqAttr({foo: true, 'http://bar.com': 'http://bar.com'})).toBe('http://bar.com')
|
||||
});
|
||||
|
||||
test('getUniqAttr without unq attr', () => {
|
||||
expect(getUniqAttr({foo: true})).toBe(null)
|
||||
})
|
||||
});
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* eslint-disable no-plusplus,no-lonely-if */
|
||||
import { isStringNode, isTagNode } from '@bbob/plugin-helper';
|
||||
import { isStringNode, isTagNode, getUniqAttr } from '@bbob/plugin-helper';
|
||||
import TagNode from '@bbob/plugin-helper/lib/TagNode';
|
||||
|
||||
const isStartsWith = (node, type) => (node[0] === type);
|
||||
@@ -55,10 +55,6 @@ const asListItems = (content) => {
|
||||
return [].concat(listItems);
|
||||
};
|
||||
|
||||
const getUniqAttr = (attrs) => Object
|
||||
.keys(attrs)
|
||||
.reduce((res, key) => (attrs[key] === key ? attrs[key] : null), null);
|
||||
|
||||
export default {
|
||||
b: (node) => ({
|
||||
tag: 'span',
|
||||
|
||||
Reference in New Issue
Block a user