seanchas116 / cssvalue

CSS value parser / serializer

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

@seanchas116/cssvalue

A CSS value parser & serializer

TODO: detailed description

Usage

import {
  cssParser,
  Background,
  BackgroundLayer,
  URL,
  Position,
  Dimension,
  HexColor,
} from "@seanchas116/cssvalue";

const background = cssParser.background.tryParse(
  'center / contain no-repeat url("foo.svg"), #eee 35% url("bar.png")'
);

const expected = new Background({
  layers: [
    new BackgroundLayer({
      position: new Position("center", "center"),
      size: "contain",
      repeatStyle: ["no-repeat"],
      image: new URL("foo.svg"),
    }),
    new BackgroundLayer({
      position: new Position(
        { from: "left", offset: new Dimension(35, "%") },
        "center"
      ),
      image: new URL("bar.png"),
    }),
  ],
  color: new HexColor("#eee"),
});

expect(background).toEqual(expected);

background.toString(); // => the original string

About

CSS value parser / serializer

License:MIT License


Languages

Language:TypeScript 99.9%Language:JavaScript 0.1%