1.0.0 • Published 8 years ago
glob-props v1.0.0
glob-props
Use /glob/strings/**/*.* as javascript object properties! :sparkles:
Installation
npm install glob-propsyarn install glob-propsUsage
import { GlobProps } from 'glob-props'
// define a regular object with glob expressions for keys.
// the values are not constrained in any way.
const regularObject = {
'src/**/*.*': 'isSrc',
'dst/**/*.*': 'isDst'
};
const globber = GlobProps(obj);
// Accessing `globber` by a specific key returns:
// 1. A match on the first property that the key matches.
// 2. undefined when no match is found, just like regualrObject.
globber['src/index.ts'] // returns 'isSrc'
globber['src/deep/er/search.txt'] // returns 'isSrc'
globber['dst/index.ts'] // returns 'isDst'
globber['non-existant/glob/pattern'] // returns undefinedImplementation
glob-props creates an object proxy over a regularObject.
When accessed with a concrete string, the proxied get method performs a glob search, returning the value of the first glob that matches the concrete string.
Why
glob-props makes it trivially simple to create a many-to-one mapper or simple routers.
The look up is reduced to an object access. And then again, why not?!
Development Tooling
License
Code of Conduct
Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.
Support
Bugs, PRs, comments, suggestions welcomed!
1.0.0
8 years ago
