UNPKG

@atomist/automation-client

Version:

Atomist API for software low-level client

28 lines 1.13 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); /** * Pass through validating something. Used to assert invariants in editors. * Reject if invariant isn't satisfied. * @param {Project} p * @param {string} path * @param assertion to satisfy invariant * @param err custom error message, if supplied * @return {Promise<Project>} */ function assertContent(p, path, assertion, err) { return p.findFile(path) .then(f => f.getContent() .then(content => assertion(content) ? Promise.resolve(p) : Promise.reject(err ? err : `Assertion failed about project ${p.name}: ${assertion}`))); } exports.assertContent = assertContent; function assertContentIncludes(p, path, what) { return assertContent(p, path, content => content.includes(what), `File at [${path}] does not contain [${what}]`); } exports.assertContentIncludes = assertContentIncludes; function assertFileExists(p, path) { return assertContent(p, path, content => true, `File at [${path}] does not exist`); } exports.assertFileExists = assertFileExists; //# sourceMappingURL=projectInvariants.js.map