Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save brettgullan/acb49bc6eb636fca8c70a8d7e333fd91 to your computer and use it in GitHub Desktop.

Select an option

Save brettgullan/acb49bc6eb636fca8c70a8d7e333fd91 to your computer and use it in GitHub Desktop.
Responsive Configuration Builder - Token Builder Examples
import { TokenBuilder } from 'responsive-configuration-builder'
const template = 'https://picsum.photos/id/{id}/{width}/{height}'
const builder = TokenBuilder(template)
const spec = {
src: {
width: '240px',
ratio: '16 / 9',
},
}
const image = {
id: 128,
}
const result = builder(spec, image)
// Result:
// {
// src: `https://picsum.photos/id/128/240/135`,
// }
import { TokenBuilder } from 'responsive-configuration-builder'
const template = 'https://picsum.photos/id/{id}/{width}/{height}'
const builder = TokenBuilder(template)
const spec = {
srcset: {
widths: [240, 320, 480],
ratio: 16 / 9,
},
}
const image = {
id: 128,
}
const result = builder(spec, image)
// Result:
// {
// srcset: 'https://picsum.photos/id/128/240/135 240w, https://picsum.photos/id/128/320/180 320w, https://picsum.photos/id/128/480/270 480w'
// }
import { TokenBuilder } from 'responsive-configuration-builder'
const template = 'https://picsum.photos/id/{id}/{width}/{height}'
const builder = TokenBuilder(template)
const spec = {
sources: [
{
srcset: {
widths: [240, 320, 480],
ratio: 3 / 2,
},
},
{
srcset: {
widths: [640, 720, 960],
ratio: 16 / 9,
},
},
],
}
const image = {
id: 128,
}
const result = builder(spec, image)
// Result:
// {
// sources: [
// {
// srcset:
// 'https://picsum.photos/id/128/240/160 240w, https://picsum.photos/id/128/320/213 320w, https://picsum.photos/id/128/480/320 480w',
// },
// {
// srcset:
// 'https://picsum.photos/id/128/640/360 640w, https://picsum.photos/id/128/720/405 720w, https://picsum.photos/id/128/960/540 960w',
// },
// ]
// }
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment