Skip to content

Find matching keys in a given object, for a given prefix string

License

Notifications You must be signed in to change notification settings

rowanoulton/prefix-matches

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Prefix Matches

Find matching keys in a given object, for a given prefix string

Warning: experimental

Installation

npm i --save prefix-matches

then, in your scripts:

const prefixMatches = require('prefix-matches')

Example

const prefixMatches = require('prefix-matches')

// Resolves simple cases
prefixMatches('w', {
	watch: 'watch things',
	build: 'build things'
}) // => [{ watch: 'watch things' }]

// Does not flatten result set
prefixMatches('w', {
	watch: {
		js: 'watch javascript',
		css: 'watch css'
	},
	build: 'build things'
}) // => [{ watch: { js: 'watch javascript', css: 'watch css' }}]

// Resolves nested prefixes
prefixMatches('w.j', {
	watch: {
		js: 'watch javascript',
		css: 'watch css'
	},
	write: {
		js: 'write javascript'
	}
}) // => [{ 'watch.js': 'watch javascript' }, { 'write.js': 'write javascript' }]

// ... and so on
prefixMatches('b.f.j', {
	build: {
		frontend: {
			js: 'build javascript',
			css: 'build css'
		}
	}
}) // => [{ 'build.frontend.js': 'build javascript' }]

Why?

To attempt better prefixing support for the package-scripts project.

Tests

A basic test suite has been authored in AVA, used for its terrifying speed. To run it:

npm test

About

Find matching keys in a given object, for a given prefix string

Resources

License

Stars

Watchers

Forks

Packages

No packages published