@somarlyonks/bem
TypeScript icon, indicating that this package has built-in type declarations

1.0.1 • Public • Published

@somarlyonks/bem

Usage

Take the tests as document.

it('renders blocks', () => {
  expect(bem('x', '', ['y'])).toBe('x x--y')

  expect(bem('x', '', ['y', false && 'z'])).toBe('x x--y')

  expect(bem('x', '', ['y', true && 'z'])).toBe('x x--y x--z')

  expect(bem('x', '', {alpha: true, beta: false})).toBe('x x--alpha')
})

it('renders elements', () => {
  expect(bem('x', 'y', ['z'])).toBe('x__y x__y--z')

  expect(bem('x', 'y', ['z', false && 'alpha'])).toBe('x__y x__y--z')

  expect(bem('x', 'y', ['z', true && 'alpha'])).toBe('x__y x__y--z x__y--alpha')

  expect(bem('x', 'y', {beta: true, gamma: false}))
    .toBe('x__y x__y--beta')
})

it('can be curried', () => {
  const em = bem('x')

  expect(em('', [])).toBe('x')

  expect(em('', ['y'])).toBe('x x--y')

  expect(em('', ['y', false && 'z'])).toBe('x x--y')

  expect(em('', ['y', true && 'z'])).toBe('x x--y x--z')

  expect(em('', {alpha: true, beta: false})).toBe('x x--alpha')

  expect(em('y', ['z', false && 'alpha'])).toBe('x__y x__y--z')

  expect(em('y', ['z', true && 'alpha'])).toBe('x__y x__y--z x__y--alpha')

  expect(em('y', {beta: true, gamma: false}))
    .toBe('x__y x__y--beta')
})

Dependencies (0)

    Dev Dependencies (0)

      Package Sidebar

      Install

      npm i @somarlyonks/bem

      Weekly Downloads

      27

      Version

      1.0.1

      License

      MIT

      Unpacked Size

      4.92 kB

      Total Files

      4

      Last publish

      Collaborators

      • somarlyonks