wat4hjs

1.1.0 • Public • Published

wat4hjs npm version

  1. What: wat4hjs is a JavaScript wrapper for native C code that allows some code to "watch" a directory for changes. Changes can include:
    1. Creation of files
    2. Modification of files
    3. Renaming of files
    4. Deletion of files
  2. Why: At the time of writing this, most libraries and packages that existed did not include the functionality I was looking for. In most cases they would either be a platform abstraction layer or perhaps, not run the code natively. This package is a wrapper to a C library that is shipped as part of the package.
  3. When: The first commit was featured in January of 2024, continued support expected.
  4. Who: Contributors
  5. How: (Insert Diagramatic representation)

Index

  1. Title
  2. Features
  3. Supported Platforms
  4. Dependencies
  5. Installation
  6. Usage Example
  7. History
  8. Other packages
  9. Contributors

Features

Supported Platforms

macOS

Dependencies

Installation & Building

Using npm (JavaScript only)

npm install wat4hjs

To build the C library, adhere to the following

mkdir -p build
cd build
cmake .. 
  • Please note that by default a production build will be enabled in cmake, to enable a debug build, please enable debug with the debug flag
  • By default wat4hjs on npm ships with a production copy of the library for the supported platform

Usage

For users who want to to interface using JavaScript

const wat4h = require("wat4hjs")
const path = require("path")

const emitter = wat4h.init(path.normalize("/"))
wat4h.observer(emitter, wat4h.callback) // Inform the observer
wat4h.monitor(emitter) // Start monitoring

Using destructured assignments

const {init, observer, monitor, callback} = require("wat4hjs")
const path = require("path")

const emitter = wat4h.init(path.normalize("/"))
wat4h.observer(emitter, wat4h.callback) // Inform the observer
wat4h.monitor(emitter) // Start monitoring

If you want to use the C library natively

#include "consts.h"

int main()
{
    const char *defaultPath = ""; // Adjust the default path as needed
    EventEmitter *emitter = init(defaultPath);
    observer(emitter, tagDirEvent); // Inform the observer
    monitor(emitter); // Start monitoring

    return 0;
}

History

Other packages

  1. Chokidar
  2. libuv

Contributors

Readme

Keywords

none

Package Sidebar

Install

npm i wat4hjs

Weekly Downloads

1

Version

1.1.0

License

MIT

Unpacked Size

1.03 MB

Total Files

71

Last publish

Collaborators

  • hasansultan92