context-finder
v1.1.1
Published
Read a file containing a list of context blocks and extract the contexts you want with a simple line
Downloads
25
Readme
Context Finder is simple and easy to use. It extracts contexts from (usually) configuration files. The main use case is extracting contexts from Asterisk configuration files.
Refer to the example here
Context Finder is available for NPM/Node and Deno.
Contents
Use Case
You have a file that holds context blocks. That file might look like this:
[user-1]
name = Edward
language = en
[user-2]
name = John
language = us
[admin-1-1]
name = Admin Edward
[admin-1-2]
name = Admin John
[admin-2]
name = Admin
You want to extract all admin-1
contexts. In a single command you can pull that into a resulting file:
[admin-1-1]
name = Admin Edward
[admin-1-2]
name = Admin John
This is where Content Finder comes in.
Requirements
- If using NPM
- NodeJS
apt install nodejs
- NPM
apt install npm
- NodeJS
- If using Deno
- Deno
NPM: As a Script
Install the package from the NPM library
npm i --save context-finder
in your project root, or where your configuration files reside.You will need to add
node_modules
andpackage-lock.json
to yourgitignore
file, then trackpackage.json
Require the package
// my-node-script.js
const contextFinder = require('context-finder')
- Gather your Variables and Run
const contextsToFind = ['version-1.', 'version-4.']
const fileToRead = 'all-contexts.txt' // this file must exist
const fileToWrite = 'some-contexts.txt'
contextFinder(contextsToFind, fileToRead, fileToWrite)
Node: CLI
- Navigate to a directory of your choice
cd ~/projects
- Pull down the repository
git clone https://www.github.com/ebebbington/context-finder.git
- Install dependencies
cd conteext-finder && npm i
- Run
node index.js <file to read> <file to write to> <context title 1> <context-title 2> ...
Deno: As a Script
- Import the module
import { contextFinder } from "https://deno.land/x/[email protected]/mod.ts";
- Gather your data and run
const contextsToFind = ['version-1.', 'version-4.']
const fileToRead = 'all-contexts.txt' // this file must exist
const fileToWrite = 'some-contexts.txt'
contextFinder(contextsToFind, fileToRead, fileToWrite)
Deno: CLI
deno run --allow-read --allow-write https://deno.land/x/[email protected]/mod.ts <file to read> <file to write to> <context title 1> <context-title 2> ...
Built With
License
This project is licensed under the MIT License - see the LICENSE.txt file for details