npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

dustjs-more-helpers

v1.0.3

Published

Even more Helpers for dustjs-linkedin package: iterate, all, some, range, contains

Downloads

12

Readme

dustjs-more-helpers Build Status NPM version

Dust.js official plus more helpers.

More Helpers

Range

Iterates over an array of integers.

params:

  • from - optional - what int to start counting from. Defaults to 0
  • n - required if to is missing - how many items in the array.
  • to - required if n is missing - the upper boundary (not included);

context:

  • $i - the iterator value.

Examples:

simple usage

  {@range n=3}a{/range}
  'aaa'

printing the loop variable

  {@range n=3}a{$i}{/range}
  'a0a1a2'

repeats 5 starting from 3

  {@range from=3 n=5 }a{$i}{/range}
  'a3a4a5a6a7'

repeats with steps and from

  {@range from=2 to=10 step=2}a{$i}{/range}
  'a2a4a6a8'

Iterate

Iterates trough the key value pairs of an object.

  • key - required - iteratee
  • sort - Optional. If omitted, no sort is done. Values allowed:
    • sort="asc" - sort ascending (per JavaScript array sort rules)
    • sort="desc" - sort descending
    • sort="fname" - Look for fname object in global context, if found, treat it as a JavaScript array sort compare function. if not found, result is undefined.

Additional context variable: {$parentKey} gives the parent key in a nested iteration.

Example

For the context:

{
    "day":"4",
    "month":1,
    "year" : 2016
}

This template:

{@iterate key=obj}
    {$key} - {$value} of type {$type} {~n}
{/iterate}

Will output

day - 4 of type String 
month - 1 of type Number
year - 2016 of type Number

Some

The Dust.js some helper checks whether in a given array keys and values exist.

{@some arr=myObj key="myKey" value="myValue"}{/some}
  • arr - required - the array containing the objects to be iterated

  • key - required - the key in the object

  • value - optional - the value of the key to be checked, defaults to an existance check if absent.

Examples

For the context:

{
  myArr: [
    {"name": "Steve"},
    {"name": "Diego"}
  ]
}

template #1:

{@some arr=myArr key="name" value="Steve" }
block
{/some}

renders to:

block

and template #2:

{@some arr=myArr key="name" value="John" }
block
{/some}

renders to empty string.

All

All the objects contained in the array must have the key (value) specified.

{@all arr=myObj key="myKey"}{/all}
{@all arr=myObj key="myKey" value="myValue"}{/all}
  • arr - required - the array containing the objects to be iterated
  • key - required - the key in the object
  • value - optional - the value of the key to be checked, defaults to an existance check if absent.

Examples

For the context:

{
  myArr: [
    {"name": "Steve"},
    {"name": "Steve"}
  ]
}

template #1:

{@all arr=myArr key="name" value="Steve"}
block
{/all}

renders to:

block

and template #2:

{@all arr=myArr key="name" value="John"}
block
{/all}

renders to empty string.

Contains

The Dust.js contains helper checks whether in a given array keys and values exist. It delegates internally to all and some helpers.

{@contains arr=myObj key="myKey" value="myValue" scope="once/all"}{/contains}
  • arr - required - the array containing the objects to be iterated
  • key - required - the key in the object
  • value - optional - the value of the key to be checked.
  • scope [once or all] - optional -
    • 'once' checks whether there is at least one element in the array has the given key and value.
    • 'all' checks whether all elements in the array have the given key and value.

Examples

For the context:

{
  myArr: [
    {"name": "Steve"},
    {"name": "Steve"}
  ]
}

template #1:

{@contains arr=myArr key="name" value="Steve" scope="all"}
block
{/contains}

renders to:

block

and template #2:

{@contains arr=myArr key="name" value="John" scope="all"}
block
{/contains}

renders to empty string.

Install

npm install dustjs-helpers-extra

Requirements

  • dustjs-helpers: ^1.5.0

Test

Run grunt test.

History

this is built from a fork from dustjs-helpers-extra, after major refactoring and some additional helper.

  • 1.0.3 - goodbye extra helpers, welcome more helpers (package renamed)
  • 1.0.2 - added range from, to, and step params
  • 1.0.1 - added range helper
  • 1.0.0 - major refactoring, added some and all helpers
  • 0.4.0 - change GIT repository to https://github.com/nikolaygit/dustjs-helpers-extra
  • 0.3.1 - add travis CI.
  • 0.3.0 - upgrades npm dependency dustjs-helpers from ~1.3.0 to ~1.5.0. See the braking changes for your dustjs templates.
  • 0.2.0 - new {@contains} helper and tests.
  • 0.1.0 - iterate: new context variable {$parentKey} and tests.