glob-props
v1.0.0
Published
Allows using glob strings as object keys! ✨
Downloads
1
Maintainers
Readme
glob-props
Use /glob/strings/**/*.*
as javascript object properties! :sparkles:
Installation
npm install glob-props
yarn install glob-props
Usage
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 undefined
Implementation
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!