@ng-doc/builder
Version:
<!-- PROJECT LOGO --> <br /> <div align="center"> <a href="https://github.com/ng-doc/ng-doc"> <img src="https://ng-doc.com/assets/images/ng-doc.svg?raw=true" alt="Logo" height="150px"> </a>
19 lines • 1.29 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.onDependenciesChange = onDependenciesChange;
const rxjs_1 = require("rxjs");
const operators_1 = require("rxjs/operators");
const watcher_1 = require("../watcher");
/**
* Function to trigger an action when any of the provided dependencies changes.
*
* This function returns an Observable that emits a void value whenever any of the files in the provided dependencies set changes.
* The Observable is created by merging Observables that emit on file changes for each dependency.
* When a file changes, the function filters out events that are not updates, maps the event to a void value, and emits the void value.
* @param {ObservableSet<string>} dependencies - An ObservableSet of file paths to watch for changes.
* @returns {Observable<void>} - An Observable that emits a void value whenever any of the files in the provided dependencies set changes.
*/
function onDependenciesChange(dependencies) {
return dependencies.changes().pipe((0, operators_1.startWith)(dependencies.asArray()), (0, operators_1.switchMap)((deps) => (0, rxjs_1.merge)(...deps.map((dep) => (0, watcher_1.watchFile)(dep, 'update').pipe((0, rxjs_1.map)(() => void 0))))));
}
//# sourceMappingURL=on-dependencies-change.js.map
;