ics-filter
v1.0.0
Published
A simple module that filters raw iCalendar content
Downloads
132
Maintainers
Readme
ics-filter
A simple module that filters out events that are past, and too far in the future (if desired)
Usage
Install the module from npm:
npm install ics-filterThen use it in your code:
import { icsFilter } from "ics-filter";
const icsContent: string = getIcsContentSomehow(); // your own logic here to get the ics data somehow
// now will be the minimum date for the events to be included in the output, so past events will be filtered out
const now: Date = new Date();
// without setting a max data, the filter will only filter out past events
const filteredIcsContent: string = icsFilter(icsContent, now);
// with setting a max date, the filter will also filter out events that are too far in the future
const maxDate: Date = new Date(now.getTime() + 14 * 24 * 60 * 60 * 1000); // 2 weeks from now
const filteredIcsContentWithMaxDate: string = icsFilter(icsContent, now, maxDate);Testing the filter with the test script
To test the filter:
- Clone the repository and navigate to the project folder
- Install the dependencies
npm install - Add the ics file you want to test with to the
ics/filteredfolder - Open the
test.raw.jsfile and change theicsNamevariable to the name of your ics file (without the .ics extension) - Run the test script with the following command to make sure the module has been correctly built:
npm run test-run - The output will be printed to the console so you can check which events have been filtered out and which have been kept. You can also check the
ics/filteredfolder to see the filtered ics file that has been generated.
