A Parser and Analysis of CSS Declaration.
- Can set parse depth
- Chained call
- ...
npm install --save-dev css-fruit
import Fruit from 'css-fruit';
const background = Fruit.absorb('background', 'url(abc.png) #eee right top / 100% repeat-x');
CommonJS Code
const Fruit = require('css-fruit').default;
const background = Fruit.absorb('background', 'url(abc.png) #eee right top / 100% repeat-x');
Following is the structure of generated backgroud object:
background: Background {
valid: true,
color: #eee,
image: 'url(\'abc.png\')',
position: BackgroundPosition {
valid: true,
x: { origin: 'right', offset: undefined },
y: { origin: 'top', offset: undefined },
},
size: BackgroundSize {
valid: true,
width: '100%',
height: 'auto',
},
repeat: BackgroundRepeat {
valid: true,
x: 'repeat',
y: 'no-repeat',
},
attachment: undefined,
origin: undefined,
clip: undefined
}
Make sure props of declarations related to same shorthand.
import Fruit from 'css-fruit';
const background = Fruit
.absorb('background', 'url(abc.png) #eee repeat-x')
.absorb('background-size', '100%')
.absorb('background-position', 'top right');
An object like postcss decl struct is allowed:
import Fruit from 'css-fruit';
const background = Fruit
.absorb({ prop: 'background', value: 'url(abc.png) #eee repeat-x' })
.absorb({ prop: 'background-size', value: '100%' })
.absorb({ prop: 'background-position', value: 'top right' });
You can pass an Array also.
import Fruit from 'css-fruit';
const background = Fruit.absorb([
{ prop: 'background', value: 'url(abc.png) #eee repeat-x' },
{ prop: 'background-size', value: '100%' },
{ prop: 'background-position', value: 'top right' }
]);
If you want process CSS properties only about background in your project, it is better to import as required.
import { Background } from 'css-fruit';
const background = Background
.absorb('background', 'url(abc.png) #eee repeat-x')
.absorb('background-size', '100%')
.absorb('background-position', 'top right');
npm run build
npm run test
See Releases