Skip to content

Working with plain objects

Conan edited this page May 6, 2022 · 4 revisions

sift-r 📥 docs

import { sift, byPattern } from 'sift-r'

Working with plain-objects

sift()

sift({ key: [pattern, value], key: [pattern, value], ... })

// 1:
//
const [strValues, theRest] = sift({
  title: [isString, 'header'],
  slug: [isString, 1],
  markdown: [isString, '# header'],
  footer: [isString, undefined]
})

sift({ key: value }, { key: pattern })

// 2:
//
const [strValues, theRest] = sift(
  {
    title: 'header',
    slug: 1,
    markdown: '# header',
    footer: undefined
  },
  {
    title: isString,
    slug: isString,
    markdown: isString,
    footer: isString
  }
)

sift({ key: value }, pattern)

// 3:
//
const [strValues, theRest] = sift(
  {
    title: 'header',
    slug: 1,
    markdown: '# header',
    footer: undefined
  },
  isString
)

sift({ key: value }, [pattern, pattern, ...])

// 4:
//
const [strValues, numValues, neither] = sift(
  {
    title: 'header',
    slug: 1,
    markdown: '# header',
    footer: undefined
  },
  [isString, isNumber]
)