Socket
Socket
Sign inDemoInstall

automutate

Package Overview
Dependencies
Maintainers
1
Versions
20
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

automutate - npm Package Compare versions

Comparing version 0.5.1 to 0.5.2

.vscode/settings.json

14

docs/mutators.md

@@ -13,3 +13,3 @@ # Mutators

```typescript
import { IMutation } from "automutate/lib/mutation";
import { IMutation } from "automutate";

@@ -25,3 +25,3 @@ export interface ITextInsertSmileyMutation extends IMutation {

```javascript
import { Mutator } from "automutate/lib/mutator";
import { Mutator } from "automutate";

@@ -35,3 +35,3 @@ const smiley = ":)";

smiley,
fileContents.substring(mutation.range.begin)
fileContents.substring(mutation.range.begin),
].join("");

@@ -49,3 +49,3 @@ }

},
type: "text-insert-smiley"
type: "text-insert-smiley",
}

@@ -62,3 +62,3 @@ ```

```typescript
import { IMutation, IMutationRange } from "automutate/lib/mutation";
import { IMutation, IMutationRange } from "automutate";

@@ -86,3 +86,3 @@ export interface INodeRenameMutation extends IMutation {

```javascript
import { Mutator } from "automutate/lib/mutator";
import { Mutator } from "automutate";
import { AbstractSyntaxTree } from "your/language";

@@ -108,3 +108,3 @@

this.ast.stringifyBetween(mutation.range.begin, mutation.range.end),
fileContents.substring(mutation.range.end || mutation.range.begin)
fileContents.substring(mutation.range.end || mutation.range.begin),
].join("");

@@ -111,0 +111,0 @@ }

@@ -45,12 +45,10 @@ # Onboarding

```javascript
import { AutoMutator } from "automutate/lib/automutator";
import { AutoMutator } from "automutate";
import { SmileyMutationsProvider } from "./smileyMutationsProvider";
export class MyAutoMutator extends AutoMutator {
public constructor() {
super({
mutationsProvider: new SmileyMutationsProvider()
});
}
export function createMyAutomutator() {
return new AutoMutator({
mutationsProvider: new SmileyMutationsProvider(),
});
}

@@ -62,3 +60,3 @@ ```

An `IMutationsProvider` must implement a `provide()` method that returns a `Promise` for an `IMutationsWave`.
See [Internals](internals.md) for documentation and [`mutationsProvider.ts`](../src/mutationsProvider.ts) for the interface definitions.
See [`mutationsProvider.ts`](../src/mutationsProvider.ts) for the interface definitions.

@@ -76,5 +74,6 @@ `provide` will be called continuously until its result doesn't contain a `fileMutations` member.

export class SmileyMutationsProvider {
provide() {
return fs.readFile("my-file.txt")
.then(data => this.generateMutations(data.toString()));
async provide() {
const data = await fs.readFile("my-file.txt");
return this.generateMutations(data.toString());
}

@@ -94,5 +93,5 @@

},
type: "text-insert"
}
]
type: "text-insert",
},
],
};

@@ -99,0 +98,0 @@ }

@@ -1,2 +0,1 @@

/// <reference types="es6-promise" />
import { ILogger } from "./logger";

@@ -10,2 +9,6 @@ import { IMutationsApplier } from "./mutationsApplier";

/**
* Generates output messages for significant operations.
*/
logger?: ILogger;
/**
* Applies individual waves of file mutations.

@@ -18,6 +21,2 @@ */

mutationsProvider: IMutationsProvider;
/**
* Generates output messages for significant operations.
*/
logger?: ILogger;
}

@@ -40,2 +39,6 @@ /**

/**
* Generates output messages for significant operations.
*/
private readonly logger;
/**
* Applies individual waves of file mutations.

@@ -49,6 +52,2 @@ */

/**
* Generates output messages for significant operations.
*/
private readonly logger;
/**
* Initializes a new instance of the AutoMutator class.

@@ -55,0 +54,0 @@ *

@@ -11,4 +11,4 @@ "use strict";

var __generator = (this && this.__generator) || function (thisArg, body) {
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t;
return { next: verb(0), "throw": verb(1), "return": verb(2) };
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
function verb(n) { return function (v) { return step([n, v]); }; }

@@ -38,2 +38,3 @@ function step(op) {

};
exports.__esModule = true;
var consoleLogger_1 = require("./loggers/consoleLogger");

@@ -44,3 +45,3 @@ var fileMutationsApplier_1 = require("./mutationsAppliers/fileMutationsApplier");

*/
var AutoMutator = (function () {
var AutoMutator = /** @class */ (function () {
/**

@@ -90,3 +91,2 @@ * Initializes a new instance of the AutoMutator class.

exports.AutoMutator = AutoMutator;
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9hdXRvTXV0YXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQSx5REFBd0Q7QUFFeEQsaUZBQWdGO0FBbUNoRjs7R0FFRztBQUNIO0lBZ0JJOzs7O09BSUc7SUFDSCxxQkFBWSxRQUE4QjtRQUN0QyxJQUFJLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxNQUFNLElBQUksSUFBSSw2QkFBYSxFQUFFLENBQUM7UUFDckQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLFFBQVEsQ0FBQyxnQkFBZ0IsSUFBSSxJQUFJLDJDQUFvQixDQUFDO1lBQzFFLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtTQUN0QixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsUUFBUSxDQUFDLGlCQUFpQixDQUFDO0lBQ3hELENBQUM7SUFFRDs7OztPQUlHO0lBQ1UseUJBQUcsR0FBaEI7Ozs7Ozs2QkFDVyxJQUFJO3dCQUMrQixxQkFBTSxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxFQUFFLEVBQUE7O3dDQUF0QyxTQUFzQzt3QkFDNUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQzs0QkFDL0IsTUFBTSxrQkFBQTt3QkFDVixDQUFDO3dCQUVELElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxDQUFDO3dCQUN2QyxxQkFBTSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsRUFBQTs7d0JBQTlELFNBQThELENBQUM7d0JBQy9ELElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxDQUFDOzs7Ozs7S0FFNUM7SUFDTCxrQkFBQztBQUFELENBOUNBLEFBOENDLElBQUE7QUE5Q1ksa0NBQVciLCJmaWxlIjoiYXV0b011dGF0b3IuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJTG9nZ2VyIH0gZnJvbSBcIi4vbG9nZ2VyXCI7XHJcbmltcG9ydCB7IENvbnNvbGVMb2dnZXIgfSBmcm9tIFwiLi9sb2dnZXJzL2NvbnNvbGVMb2dnZXJcIjtcclxuaW1wb3J0IHsgSU11dGF0aW9uc0FwcGxpZXIgfSBmcm9tIFwiLi9tdXRhdGlvbnNBcHBsaWVyXCI7XHJcbmltcG9ydCB7IEZpbGVNdXRhdGlvbnNBcHBsaWVyIH0gZnJvbSBcIi4vbXV0YXRpb25zQXBwbGllcnMvZmlsZU11dGF0aW9uc0FwcGxpZXJcIjtcclxuaW1wb3J0IHsgSU11dGF0aW9uc1Byb3ZpZGVyLCBJTXV0YXRpb25zV2F2ZSB9IGZyb20gXCIuL211dGF0aW9uc1Byb3ZpZGVyXCI7XHJcblxyXG4vKipcclxuICogU2V0dGluZ3MgdG8gaW5pdGlhbGl6ZSBhIG5ldyBJQXV0b011dGF0b3IuXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIElBdXRvTXV0YXRvclNldHRpbmdzIHtcclxuICAgIC8qKlxyXG4gICAgICogQXBwbGllcyBpbmRpdmlkdWFsIHdhdmVzIG9mIGZpbGUgbXV0YXRpb25zLlxyXG4gICAgICovXHJcbiAgICBtdXRhdGlvbnNBcHBsaWVyPzogSU11dGF0aW9uc0FwcGxpZXI7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBQcm92aWRlcyB3YXZlcyBvZiBmaWxlIG11dGF0aW9ucy5cclxuICAgICAqL1xyXG4gICAgbXV0YXRpb25zUHJvdmlkZXI6IElNdXRhdGlvbnNQcm92aWRlcjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEdlbmVyYXRlcyBvdXRwdXQgbWVzc2FnZXMgZm9yIHNpZ25pZmljYW50IG9wZXJhdGlvbnMuXHJcbiAgICAgKi9cclxuICAgIGxvZ2dlcj86IElMb2dnZXI7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSdW5zIHdhdmVzIG9mIGZpbGUgbXV0YXRpb25zLlxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBJQXV0b011dGF0b3Ige1xyXG4gICAgLyoqXHJcbiAgICAgKiBSdW5zIHdhdmVzIG9mIGZpbGUgbXV0YXRpb25zLlxyXG4gICAgICogXHJcbiAgICAgKiBAcmV0dXJucyBBIFByb21pc2UgZm9yIHRoZSB3YXZlcyBjb21wbGV0aW5nLlxyXG4gICAgICovXHJcbiAgICBydW4oKTogUHJvbWlzZTx2b2lkPjtcclxufVxyXG5cclxuLyoqXHJcbiAqIFJ1bnMgd2F2ZXMgb2YgZmlsZSBtdXRhdGlvbnMuXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgQXV0b011dGF0b3IgaW1wbGVtZW50cyBJQXV0b011dGF0b3Ige1xyXG4gICAgLyoqXHJcbiAgICAgKiBBcHBsaWVzIGluZGl2aWR1YWwgd2F2ZXMgb2YgZmlsZSBtdXRhdGlvbnMuXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgcmVhZG9ubHkgbXV0YXRpb25zQXBwbGllcjogSU11dGF0aW9uc0FwcGxpZXI7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBQcm92aWRlcyB3YXZlcyBvZiBmaWxlIG11dGF0aW9ucy5cclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSByZWFkb25seSBtdXRhdGlvbnNQcm92aWRlcjogSU11dGF0aW9uc1Byb3ZpZGVyO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogR2VuZXJhdGVzIG91dHB1dCBtZXNzYWdlcyBmb3Igc2lnbmlmaWNhbnQgb3BlcmF0aW9ucy5cclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSByZWFkb25seSBsb2dnZXI6IElMb2dnZXI7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbml0aWFsaXplcyBhIG5ldyBpbnN0YW5jZSBvZiB0aGUgQXV0b011dGF0b3IgY2xhc3MuXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSBzZXR0aW5ncyAgIFNldHRpbmdzIHRvIGJlIHVzZWQgZm9yIGluaXRpYWxpemF0aW9uLlxyXG4gICAgICovXHJcbiAgICBjb25zdHJ1Y3RvcihzZXR0aW5nczogSUF1dG9NdXRhdG9yU2V0dGluZ3MpIHtcclxuICAgICAgICB0aGlzLmxvZ2dlciA9IHNldHRpbmdzLmxvZ2dlciB8fCBuZXcgQ29uc29sZUxvZ2dlcigpO1xyXG4gICAgICAgIHRoaXMubXV0YXRpb25zQXBwbGllciA9IHNldHRpbmdzLm11dGF0aW9uc0FwcGxpZXIgfHwgbmV3IEZpbGVNdXRhdGlvbnNBcHBsaWVyKHtcclxuICAgICAgICAgICAgbG9nZ2VyOiB0aGlzLmxvZ2dlclxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMubXV0YXRpb25zUHJvdmlkZXIgPSBzZXR0aW5ncy5tdXRhdGlvbnNQcm92aWRlcjtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJ1bnMgd2F2ZXMgb2YgZmlsZSBtdXRhdGlvbnMuXHJcbiAgICAgKiBcclxuICAgICAqIEByZXR1cm5zIEEgUHJvbWlzZSBmb3IgdGhlIHdhdmVzIGNvbXBsZXRpbmcuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBhc3luYyBydW4oKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAgICAgd2hpbGUgKHRydWUpIHtcclxuICAgICAgICAgICAgY29uc3QgbXV0YXRpb25zV2F2ZTogSU11dGF0aW9uc1dhdmUgPSBhd2FpdCB0aGlzLm11dGF0aW9uc1Byb3ZpZGVyLnByb3ZpZGUoKTtcclxuICAgICAgICAgICAgaWYgKCFtdXRhdGlvbnNXYXZlLmZpbGVNdXRhdGlvbnMpIHtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB0aGlzLmxvZ2dlci5vbldhdmVCZWdpbihtdXRhdGlvbnNXYXZlKTtcclxuICAgICAgICAgICAgYXdhaXQgdGhpcy5tdXRhdGlvbnNBcHBsaWVyLmFwcGx5KG11dGF0aW9uc1dhdmUuZmlsZU11dGF0aW9ucyk7XHJcbiAgICAgICAgICAgIHRoaXMubG9nZ2VyLm9uV2F2ZUVuZChtdXRhdGlvbnNXYXZlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIl19
//# sourceMappingURL=autoMutator.js.map

@@ -1,2 +0,1 @@

/// <reference types="es6-promise" />
/**

@@ -3,0 +2,0 @@ * Provides read-write operations on a file.

"use strict";
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJmaWxlUHJvdmlkZXIuanMiLCJzb3VyY2VzQ29udGVudCI6W119
exports.__esModule = true;
//# sourceMappingURL=fileProvider.js.map

@@ -0,0 +0,0 @@ import { IFileProvider } from "./fileProvider";

"use strict";
exports.__esModule = true;
/**
* Generates file providers for files.
*/
var FileProviderFactory = (function () {
var FileProviderFactory = /** @class */ (function () {
/**

@@ -33,3 +34,2 @@ * Initializes a new instance of the FileProviderFactory class.

exports.FileProviderFactory = FileProviderFactory;
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9maWxlUHJvdmlkZXJGYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFnQ0E7O0dBRUc7QUFDSDtJQVdJOzs7O09BSUc7SUFDSCw2QkFBbUIsa0JBQXVDO1FBVjFEOztXQUVHO1FBQ2Msa0JBQWEsR0FBbUIsRUFBRSxDQUFDO1FBUWhELElBQUksQ0FBQyxrQkFBa0IsR0FBRyxrQkFBa0IsQ0FBQztJQUNqRCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxzQ0FBUSxHQUFmLFVBQWdCLFFBQWdCO1FBQzVCLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDaEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDckUsQ0FBQztRQUVELE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFDTCwwQkFBQztBQUFELENBakNBLEFBaUNDLElBQUE7QUFqQ1ksa0RBQW1CIiwiZmlsZSI6ImZpbGVQcm92aWRlckZhY3RvcnkuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJRmlsZVByb3ZpZGVyIH0gZnJvbSBcIi4vZmlsZVByb3ZpZGVyXCI7XHJcblxyXG4vKipcclxuICogRmlsZSBwcm92aWRlcnMsIGtleWVkIGJ5IGZpbGUgbmFtZS5cclxuICovXHJcbmludGVyZmFjZSBJRmlsZVByb3ZpZGVycyB7XHJcbiAgICBbaTogc3RyaW5nXTogSUZpbGVQcm92aWRlcjtcclxufVxyXG5cclxuLyoqXHJcbiAqIENyZWF0ZXMgbmV3IGZpbGUgcHJvdmlkZXJzIGZvciBmaWxlcy5cclxuICogXHJcbiAqIEBwYXJhbSBmaWxlTmFtZSAgIE5hbWUgb2YgdGhlIGZpbGUuXHJcbiAqIEByZXR1cm5zIEEgZmlsZSBwcm92aWRlciBmb3IgdGhlIGZpbGUuXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIElDcmVhdGVGaWxlUHJvdmlkZXIge1xyXG4gICAgKGZpbGVOYW1lOiBzdHJpbmcpOiBJRmlsZVByb3ZpZGVyO1xyXG59XHJcblxyXG4vKipcclxuICogR2VuZXJhdGVzIGZpbGUgcHJvdmlkZXJzIGZvciBmaWxlcy5cclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUZpbGVQcm92aWRlckZhY3Rvcnkge1xyXG4gICAgLyoqXHJcbiAgICAgKiBSZXRyaWV2ZXMgdGhlIGZpbGUgcHJvdmlkZXIgZm9yIGEgZmlsZS5cclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIGZpbGVOYW1lICAgTmFtZSBvZiB0aGUgZmlsZS5cclxuICAgICAqIEByZXR1cm5zIFRoZSBmaWxlIHByb3ZpZGVyIGZvciB0aGUgZmlsZS5cclxuICAgICAqL1xyXG4gICAgZ2VuZXJhdGUoZmlsZU5hbWU6IHN0cmluZyk6IElGaWxlUHJvdmlkZXI7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBHZW5lcmF0ZXMgZmlsZSBwcm92aWRlcnMgZm9yIGZpbGVzLlxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIEZpbGVQcm92aWRlckZhY3RvcnkgaW1wbGVtZW50cyBJRmlsZVByb3ZpZGVyRmFjdG9yeSB7XHJcbiAgICAvKipcclxuICAgICAqIENyZWF0ZXMgbmV3IGZpbGUgcHJvdmlkZXJzIGZvciBmaWxlcy5cclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSByZWFkb25seSBjcmVhdGVGaWxlUHJvdmlkZXI6IElDcmVhdGVGaWxlUHJvdmlkZXI7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBGaWxlIHByb3ZpZGVycywga2V5ZWQgYnkgZmlsZSBuYW1lLlxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZpbGVQcm92aWRlcnM6IElGaWxlUHJvdmlkZXJzID0ge307XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbml0aWFsaXplcyBhIG5ldyBpbnN0YW5jZSBvZiB0aGUgRmlsZVByb3ZpZGVyRmFjdG9yeSBjbGFzcy5cclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIGNyZWF0ZUZpbGVQcm92aWRlciAgIENyZWF0ZXMgbmV3IGZpbGUgcHJvdmlkZXJzIGZvciBmaWxlcy5cclxuICAgICAqL1xyXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKGNyZWF0ZUZpbGVQcm92aWRlcjogSUNyZWF0ZUZpbGVQcm92aWRlcikge1xyXG4gICAgICAgIHRoaXMuY3JlYXRlRmlsZVByb3ZpZGVyID0gY3JlYXRlRmlsZVByb3ZpZGVyO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV0cmlldmVzIHRoZSBmaWxlIHByb3ZpZGVyIGZvciBhIGZpbGUuXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSBmaWxlTmFtZSAgIE5hbWUgb2YgdGhlIGZpbGUuXHJcbiAgICAgKiBAcmV0dXJucyBUaGUgZmlsZSBwcm92aWRlciBmb3IgdGhlIGZpbGUuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBnZW5lcmF0ZShmaWxlTmFtZTogc3RyaW5nKTogSUZpbGVQcm92aWRlciB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmZpbGVQcm92aWRlcnNbZmlsZU5hbWVdKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZmlsZVByb3ZpZGVyc1tmaWxlTmFtZV0gPSB0aGlzLmNyZWF0ZUZpbGVQcm92aWRlcihmaWxlTmFtZSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5maWxlUHJvdmlkZXJzW2ZpbGVOYW1lXTtcclxuICAgIH1cclxufSJdfQ==
//# sourceMappingURL=fileProviderFactory.js.map

@@ -1,2 +0,1 @@

/// <reference types="es6-promise" />
import { IFileProvider } from "../fileProvider";

@@ -3,0 +2,0 @@ /**

@@ -11,4 +11,4 @@ "use strict";

var __generator = (this && this.__generator) || function (thisArg, body) {
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t;
return { next: verb(0), "throw": verb(1), "return": verb(2) };
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
function verb(n) { return function (v) { return step([n, v]); }; }

@@ -38,2 +38,3 @@ function step(op) {

};
exports.__esModule = true;
var fs = require("fs");

@@ -43,3 +44,3 @@ /**

*/
var LocalFileProvider = (function () {
var LocalFileProvider = /** @class */ (function () {
/**

@@ -60,6 +61,15 @@ * Initializes a new instance of the LocalFileProvider class.

LocalFileProvider.prototype.read = function () {
var _this = this;
return new Promise(function (resolve, reject) {
fs.readFile(_this.fileName, function (error, data) {
error ? reject(error) : resolve(data.toString());
return __awaiter(this, void 0, void 0, function () {
var _this = this;
return __generator(this, function (_a) {
switch (_a.label) {
case 0: return [4 /*yield*/, new Promise(function (resolve, reject) {
fs.readFile(_this.fileName, function (error, data) {
error
? reject(error)
: resolve(data.toString());
});
})];
case 1: return [2 /*return*/, _a.sent()];
}
});

@@ -81,3 +91,5 @@ });

fs.writeFile(_this.fileName, contents, function (error) {
error ? reject(error) : resolve();
error
? reject(error)
: resolve();
});

@@ -95,3 +107,2 @@ })];

exports.LocalFileProvider = LocalFileProvider;
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9maWxlUHJvdmlkZXJzL2xvY2FsRmlsZVByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHVCQUF5QjtBQUl6Qjs7R0FFRztBQUNIO0lBTUk7Ozs7O09BS0c7SUFDSCwyQkFBbUIsUUFBZ0I7UUFDL0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFDN0IsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxnQ0FBSSxHQUFYO1FBQUEsaUJBTUM7UUFMRyxNQUFNLENBQUMsSUFBSSxPQUFPLENBQUMsVUFBQyxPQUFPLEVBQUUsTUFBTTtZQUMvQixFQUFFLENBQUMsUUFBUSxDQUFDLEtBQUksQ0FBQyxRQUFRLEVBQUUsVUFBQyxLQUFZLEVBQUUsSUFBWTtnQkFDbEQsS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7WUFDckQsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNVLGlDQUFLLEdBQWxCLFVBQW1CLFFBQWdCOzs7Ozs0QkFDL0IscUJBQU0sSUFBSSxPQUFPLENBQUMsVUFBQyxPQUFPLEVBQUUsTUFBTTs0QkFDOUIsRUFBRSxDQUFDLFNBQVMsQ0FBQyxLQUFJLENBQUMsUUFBUSxFQUFFLFFBQVEsRUFBRSxVQUFDLEtBQVk7Z0NBQy9DLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsT0FBTyxFQUFFLENBQUM7NEJBQ3RDLENBQUMsQ0FBQyxDQUFDO3dCQUNQLENBQUMsQ0FBQyxFQUFBOzt3QkFKRixTQUlFLENBQUM7Ozs7O0tBQ047SUFDTCx3QkFBQztBQUFELENBMUNBLEFBMENDLElBQUE7QUExQ1ksOENBQWlCIiwiZmlsZSI6ImZpbGVQcm92aWRlcnMvbG9jYWxGaWxlUHJvdmlkZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBmcyBmcm9tIFwiZnNcIjtcclxuXHJcbmltcG9ydCB7IElGaWxlUHJvdmlkZXIgfSBmcm9tIFwiLi4vZmlsZVByb3ZpZGVyXCI7XHJcblxyXG4vKipcclxuICogUHJvdmlkZXMgcmVhZC13cml0ZSBvcGVyYXRpb25zIG9uIGEgbG9jYWwgZmlsZS5cclxuICovXHJcbmV4cG9ydCBjbGFzcyBMb2NhbEZpbGVQcm92aWRlciBpbXBsZW1lbnRzIElGaWxlUHJvdmlkZXIge1xyXG4gICAgLyoqXHJcbiAgICAgKiBOYW1lIG9mIHRoZSBmaWxlLlxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZpbGVOYW1lOiBzdHJpbmc7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbml0aWFsaXplcyBhIG5ldyBpbnN0YW5jZSBvZiB0aGUgTG9jYWxGaWxlUHJvdmlkZXIgY2xhc3MuXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSBmaWxlTmFtZSAgIE5hbWUgb2YgdGhlIGZpbGUuXHJcbiAgICAgKiBAcGFyYW0gZmlsZVNldHRpbmdzICAgU2V0dGluZ3MgZm9yIG1hbmlwdWxhdGluZyBsb2NhbCBmaWxlcy5cclxuICAgICAqL1xyXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKGZpbGVOYW1lOiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLmZpbGVOYW1lID0gZmlsZU5hbWU7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZWFkcyBmcm9tIHRoZSBmaWxlLlxyXG4gICAgICogXHJcbiAgICAgKiBAcmV0dXJucyBBIFByb21pc2UgZm9yIHRoZSBjb250ZW50cyBvZiB0aGUgZmlsZS5cclxuICAgICAqL1xyXG4gICAgcHVibGljIHJlYWQoKTogUHJvbWlzZTxzdHJpbmc+IHtcclxuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCk6IHZvaWQgPT4ge1xyXG4gICAgICAgICAgICBmcy5yZWFkRmlsZSh0aGlzLmZpbGVOYW1lLCAoZXJyb3I6IEVycm9yLCBkYXRhOiBCdWZmZXIpOiB2b2lkID0+IHtcclxuICAgICAgICAgICAgICAgIGVycm9yID8gcmVqZWN0KGVycm9yKSA6IHJlc29sdmUoZGF0YS50b1N0cmluZygpKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBXcml0ZXMgdG8gdGhlIGZpbGUuXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSBjb250ZW50cyAgIE5ldyBjb250ZW50cyBvZiB0aGUgZmlsZS5cclxuICAgICAqIEByZXR1cm5zIEEgUHJvbWlzZSBmb3Igd3JpdGluZyB0byB0aGUgZmlsZS5cclxuICAgICAqL1xyXG4gICAgcHVibGljIGFzeW5jIHdyaXRlKGNvbnRlbnRzOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgICAgICBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KTogdm9pZCA9PiB7XHJcbiAgICAgICAgICAgIGZzLndyaXRlRmlsZSh0aGlzLmZpbGVOYW1lLCBjb250ZW50cywgKGVycm9yOiBFcnJvcik6IHZvaWQgPT4ge1xyXG4gICAgICAgICAgICAgICAgZXJyb3IgPyByZWplY3QoZXJyb3IpIDogcmVzb2x2ZSgpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxufVxyXG4iXX0=
//# sourceMappingURL=localFileProvider.js.map

@@ -1,2 +0,1 @@

/// <reference types="es6-promise" />
import { IFileProvider } from "../fileProvider";

@@ -3,0 +2,0 @@ /**

"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __generator = (this && this.__generator) || function (thisArg, body) {
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
function verb(n) { return function (v) { return step([n, v]); }; }
function step(op) {
if (f) throw new TypeError("Generator is already executing.");
while (_) try {
if (f = 1, y && (t = y[op[0] & 2 ? "return" : op[0] ? "throw" : "next"]) && !(t = t.call(y, op[1])).done) return t;
if (y = 0, t) op = [0, t.value];
switch (op[0]) {
case 0: case 1: t = op; break;
case 4: _.label++; return { value: op[1], done: false };
case 5: _.label++; y = op[1]; op = [0]; continue;
case 7: op = _.ops.pop(); _.trys.pop(); continue;
default:
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
if (t[2]) _.ops.pop();
_.trys.pop(); continue;
}
op = body.call(thisArg, _);
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
}
};
exports.__esModule = true;
/**
* Pretends to be a file.
*/
var StubFileProvider = (function () {
var StubFileProvider = /** @class */ (function () {
/**

@@ -20,3 +56,7 @@ * Initializes a new instance of the StubFileProvider class.

StubFileProvider.prototype.read = function () {
return Promise.resolve(this.contents);
return __awaiter(this, void 0, void 0, function () {
return __generator(this, function (_a) {
return [2 /*return*/, this.contents];
});
});
};

@@ -30,4 +70,8 @@ /**

StubFileProvider.prototype.write = function (contents) {
this.contents = contents;
return Promise.resolve();
return __awaiter(this, void 0, void 0, function () {
return __generator(this, function (_a) {
this.contents = contents;
return [2 /*return*/];
});
});
};

@@ -37,3 +81,2 @@ return StubFileProvider;

exports.StubFileProvider = StubFileProvider;
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9maWxlUHJvdmlkZXJzL3N0dWJGaWxlUHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUVBOztHQUVHO0FBQ0g7SUFNSTs7OztPQUlHO0lBQ0gsMEJBQW1CLFFBQWdCO1FBQy9CLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO0lBQzdCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksK0JBQUksR0FBWDtRQUNJLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxnQ0FBSyxHQUFaLFVBQWEsUUFBZ0I7UUFDekIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDekIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQVEsQ0FBQztJQUNuQyxDQUFDO0lBQ0wsdUJBQUM7QUFBRCxDQWxDQSxBQWtDQyxJQUFBO0FBbENZLDRDQUFnQiIsImZpbGUiOiJmaWxlUHJvdmlkZXJzL3N0dWJGaWxlUHJvdmlkZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJRmlsZVByb3ZpZGVyIH0gZnJvbSBcIi4uL2ZpbGVQcm92aWRlclwiO1xyXG5cclxuLyoqXHJcbiAqIFByZXRlbmRzIHRvIGJlIGEgZmlsZS5cclxuICovXHJcbmV4cG9ydCBjbGFzcyBTdHViRmlsZVByb3ZpZGVyIGltcGxlbWVudHMgSUZpbGVQcm92aWRlciB7XHJcbiAgICAvKipcclxuICAgICAqIENvbnRlbnRzIG9mIHRoZSBmaWxlLlxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIGNvbnRlbnRzOiBzdHJpbmc7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbml0aWFsaXplcyBhIG5ldyBpbnN0YW5jZSBvZiB0aGUgU3R1YkZpbGVQcm92aWRlciBjbGFzcy5cclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIGNvbnRlbnRzICAgSW5pdGlhbCBjb250ZW50cyBvZiB0aGUgZmlsZS5cclxuICAgICAqL1xyXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKGNvbnRlbnRzOiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLmNvbnRlbnRzID0gY29udGVudHM7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZWFkcyBmcm9tIHRoZSBmaWxlLlxyXG4gICAgICogXHJcbiAgICAgKiBAcmV0dXJucyBBIFByb21pc2UgZm9yIHRoZSBjb250ZW50cyBvZiB0aGUgZmlsZS5cclxuICAgICAqL1xyXG4gICAgcHVibGljIHJlYWQoKTogUHJvbWlzZTxzdHJpbmc+IHtcclxuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHRoaXMuY29udGVudHMpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogV3JpdGVzIHRvIHRoZSBmaWxlLlxyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0gY29udGVudHMgICBOZXcgY29udGVudHMgb2YgdGhlIGZpbGUuXHJcbiAgICAgKiBAcmV0dXJucyBBIFByb21pc2UgZm9yIHdyaXRpbmcgdG8gdGhlIGZpbGUuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyB3cml0ZShjb250ZW50czogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAgICAgdGhpcy5jb250ZW50cyA9IGNvbnRlbnRzO1xyXG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmU8dm9pZD4oKTtcclxuICAgIH1cclxufVxyXG4iXX0=
//# sourceMappingURL=stubFileProvider.js.map

@@ -85,2 +85,4 @@ import { IMutation } from "./mutation";

/**
* Gets file mutations for each file.
*
* @returns Mutations applied to each file, keyed by file name.

@@ -90,2 +92,4 @@ */

/**
* Gets waves of file mutations.
*
* @returns Waves of file mutations.

@@ -92,0 +96,0 @@ */

"use strict";
exports.__esModule = true;
/**
* Default no-op class to generate output messages for significant operations.
*/
var Logger = (function () {
var Logger = /** @class */ (function () {
function Logger() {

@@ -55,2 +56,4 @@ /**

/**
* Gets file mutations for each file.
*
* @returns Mutations applied to each file, keyed by file name.

@@ -62,2 +65,4 @@ */

/**
* Gets waves of file mutations.
*
* @returns Waves of file mutations.

@@ -71,3 +76,2 @@ */

exports.Logger = Logger;
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9sb2dnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQWlEQTs7R0FFRztBQUNIO0lBQUE7UUFDSTs7V0FFRztRQUNLLGtCQUFhLEdBQW1CLEVBQUUsQ0FBQztRQUUzQzs7V0FFRztRQUNLLG1CQUFjLEdBQXFCLEVBQUUsQ0FBQztJQXlEbEQsQ0FBQztJQXZERzs7T0FFRztJQUNJLDJCQUFVLEdBQWpCLGNBQTRCLENBQUM7SUFFN0I7Ozs7O09BS0c7SUFDSSwyQkFBVSxHQUFqQixVQUFrQixRQUFnQixFQUFFLFFBQW1CO1FBQ25ELEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQy9CLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2hELENBQUM7UUFBQyxJQUFJLENBQUMsQ0FBQztZQUNKLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM5QyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxzQ0FBcUIsR0FBNUIsVUFBNkIsU0FBb0IsSUFBVSxDQUFDO0lBRTVEOzs7O09BSUc7SUFDSSw0QkFBVyxHQUFsQixVQUFtQixhQUE2QjtRQUM1QyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLDBCQUFTLEdBQWhCLFVBQWlCLGNBQThCLElBQVUsQ0FBQztJQUUxRDs7T0FFRztJQUNPLGlDQUFnQixHQUExQjtRQUNJLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzlCLENBQUM7SUFFRDs7T0FFRztJQUNPLGtDQUFpQixHQUEzQjtRQUNJLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQy9CLENBQUM7SUFDTCxhQUFDO0FBQUQsQ0FsRUEsQUFrRUMsSUFBQTtBQWxFWSx3QkFBTSIsImZpbGUiOiJsb2dnZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJTXV0YXRpb24gfSBmcm9tIFwiLi9tdXRhdGlvblwiO1xyXG5pbXBvcnQgeyBJTXV0YXRpb25zV2F2ZSB9IGZyb20gXCIuL211dGF0aW9uc1Byb3ZpZGVyXCI7XHJcblxyXG4vKipcclxuICogTXV0YXRpb25zIGFwcGxpZWQgdG8gZWFjaCBmaWxlLCBrZXllZCBieSBmaWxlIG5hbWUuXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIElGaWxlTXV0YXRpb25zIHtcclxuICAgIFtpOiBzdHJpbmddOiBJTXV0YXRpb25bXTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEdlbmVyYXRlcyBvdXRwdXQgbWVzc2FnZXMgZm9yIHNpZ25pZmljYW50IG9wZXJhdGlvbnMuXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIElMb2dnZXIge1xyXG4gICAgLyoqXHJcbiAgICAgKiBMb2dzIHRoYXQgbXV0YXRpb25zIGhhdmUgY29tcGxldGVkLlxyXG4gICAgICovXHJcbiAgICBvbkNvbXBsZXRlKCk6IHZvaWQ7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBMb2dzIHRoYXQgYSBtdXRhdGlvbiB3YXMgYXBwbGllZC5cclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIGZpbGVOYW1lICAgTmFtZSBvZiB0aGUgZmlsZSB0byBiZSBtdXRhdGVkLlxyXG4gICAgICogQHBhcmFtIG11dGF0aW9uICAgVGhlIHJlcXVlc3RpbmcgbXV0YXRpb24uXHJcbiAgICAgKi9cclxuICAgIG9uTXV0YXRpb24oZmlsZU5hbWU6IHN0cmluZywgbXV0YXRpb246IElNdXRhdGlvbik6IHZvaWQ7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBMb2dzIHRoYXQgYW4gdW5rbm93biBtdXRhdG9yIHdhcyByZXF1ZXN0ZWQuXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSBtdXRhdGlvbiAgIFRoZSByZXF1ZXN0aW5nIG11dGF0aW9uIG9mIHVua25vd24gdHlwZS5cclxuICAgICAqL1xyXG4gICAgb25Vbmtub3duTXV0YXRpb25UeXBlKG11dGF0aW9uOiBJTXV0YXRpb24pOiB2b2lkO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogTG9ncyB0aGF0IGEgbXVhdGlvbnMgd2F2ZSBpcyBhYm91dCB0byBzdGFydC5cclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIG11dGF0aW9uc1dhdmUgICBBIHdhdmUgb2YgZmlsZSBtdXRhdGlvbnMuXHJcbiAgICAgKi9cclxuICAgIG9uV2F2ZUJlZ2luKG11dGF0aW9uc1dhdmU6IElNdXRhdGlvbnNXYXZlKTogdm9pZDtcclxuXHJcbiAgICAvKipcclxuICAgICAqIExvZ3MgdGhhdCBhIG11YXRpb25zIHdhdmUgZmluaXNoZWQuXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSBtdXRhdGlvbnNXYXZlICAgQSB3YXZlIG9mIGZpbGUgbXV0YXRpb25zLlxyXG4gICAgICovXHJcbiAgICBvbldhdmVFbmQobXV0YXRpb25zV2F2ZTogSU11dGF0aW9uc1dhdmUpOiB2b2lkO1xyXG59XHJcblxyXG4vKipcclxuICogRGVmYXVsdCBuby1vcCBjbGFzcyB0byBnZW5lcmF0ZSBvdXRwdXQgbWVzc2FnZXMgZm9yIHNpZ25pZmljYW50IG9wZXJhdGlvbnMuXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgTG9nZ2VyIGltcGxlbWVudHMgSUxvZ2dlciB7XHJcbiAgICAvKipcclxuICAgICAqIE11dGF0aW9ucyBhcHBsaWVkIHRvIGVhY2ggZmlsZSwga2V5ZWQgYnkgZmlsZSBuYW1lLlxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIGZpbGVNdXRhdGlvbnM6IElGaWxlTXV0YXRpb25zID0ge307XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBXYXZlcyBvZiBmaWxlIG11dGF0aW9ucy5cclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBtdXRhdGlvbnNXYXZlczogSU11dGF0aW9uc1dhdmVbXSA9IFtdO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogTG9ncyB0aGF0IG11dGF0aW9ucyBoYXZlIGNvbXBsZXRlZC5cclxuICAgICAqL1xyXG4gICAgcHVibGljIG9uQ29tcGxldGUoKTogdm9pZCB7IH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIExvZ3MgdGhhdCBhIG11dGF0aW9uIHdhcyBhcHBsaWVkLlxyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0gZmlsZU5hbWUgICBOYW1lIG9mIHRoZSBmaWxlIHRvIGJlIG11dGF0ZWQuXHJcbiAgICAgKiBAcGFyYW0gbXV0YXRpb24gICBUaGUgcmVxdWVzdGluZyBtdXRhdGlvbi5cclxuICAgICAqL1xyXG4gICAgcHVibGljIG9uTXV0YXRpb24oZmlsZU5hbWU6IHN0cmluZywgbXV0YXRpb246IElNdXRhdGlvbik6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLmZpbGVNdXRhdGlvbnNbZmlsZU5hbWVdKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZmlsZU11dGF0aW9uc1tmaWxlTmFtZV0ucHVzaChtdXRhdGlvbik7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5maWxlTXV0YXRpb25zW2ZpbGVOYW1lXSA9IFttdXRhdGlvbl07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogTG9ncyB0aGF0IGFuIHVua25vd24gbXV0YXRvciB3YXMgcmVxdWVzdGVkLlxyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0gX211dGF0aW9uICAgVGhlIHJlcXVlc3RpbmcgbXV0YXRpb24uXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBvblVua25vd25NdXRhdGlvblR5cGUoX211dGF0aW9uOiBJTXV0YXRpb24pOiB2b2lkIHsgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogTG9ncyB0aGF0IGEgbXVhdGlvbnMgd2F2ZSBpcyBhYm91dCB0byBzdGFydC5cclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIG11dGF0aW9uc1dhdmUgICBBIHdhdmUgb2YgZmlsZSBtdXRhdGlvbnMuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBvbldhdmVCZWdpbihtdXRhdGlvbnNXYXZlOiBJTXV0YXRpb25zV2F2ZSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMubXV0YXRpb25zV2F2ZXMucHVzaChtdXRhdGlvbnNXYXZlKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIExvZ3MgdGhhdCBhIG11YXRpb25zIHdhdmUgZmluaXNoZWQuXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSBfbXV0YXRpb25zV2F2ZSAgIEEgd2F2ZSBvZiBmaWxlIG11dGF0aW9ucy5cclxuICAgICAqL1xyXG4gICAgcHVibGljIG9uV2F2ZUVuZChfbXV0YXRpb25zV2F2ZTogSU11dGF0aW9uc1dhdmUpOiB2b2lkIHsgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQHJldHVybnMgTXV0YXRpb25zIGFwcGxpZWQgdG8gZWFjaCBmaWxlLCBrZXllZCBieSBmaWxlIG5hbWUuXHJcbiAgICAgKi9cclxuICAgIHByb3RlY3RlZCBnZXRGaWxlTXV0YXRpb25zKCk6IElGaWxlTXV0YXRpb25zIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5maWxlTXV0YXRpb25zO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQHJldHVybnMgV2F2ZXMgb2YgZmlsZSBtdXRhdGlvbnMuXHJcbiAgICAgKi9cclxuICAgIHByb3RlY3RlZCBnZXRNdXRhdGlvbnNXYXZlcygpOiBJTXV0YXRpb25zV2F2ZVtdIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5tdXRhdGlvbnNXYXZlcztcclxuICAgIH1cclxufVxyXG4iXX0=
//# sourceMappingURL=logger.js.map

@@ -8,2 +8,6 @@ import { Logger } from "../logger";

/**
* Logs that mutations have completed.
*/
onComplete(): void;
/**
* Logs that an unknown mutator was requested.

@@ -15,6 +19,2 @@ *

/**
* Logs that mutations have completed.
*/
onComplete(): void;
/**
* Displays a word and number, accounting for pluralization.

@@ -21,0 +21,0 @@ *

"use strict";
var __extends = (this && this.__extends) || function (d, b) {
for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
var __extends = (this && this.__extends) || (function () {
var extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
exports.__esModule = true;
var logger_1 = require("../logger");
// tslint:disable:no-console
/**
* Generates console logs for significant operations.
*/
var ConsoleLogger = (function (_super) {
var ConsoleLogger = /** @class */ (function (_super) {
__extends(ConsoleLogger, _super);

@@ -17,11 +24,2 @@ function ConsoleLogger() {

/**
* Logs that an unknown mutator was requested.
*
* @param mutation The requesting mutation of unknown type.
*/
ConsoleLogger.prototype.onUnknownMutationType = function (mutation) {
_super.prototype.onUnknownMutationType.call(this, mutation);
console.error("Unknown mutator type: '" + mutation.type + "'");
};
/**
* Logs that mutations have completed.

@@ -44,6 +42,15 @@ */

this.pluralize(wavesCount, "wave"),
"."
".",
].join(""));
};
/**
* Logs that an unknown mutator was requested.
*
* @param mutation The requesting mutation of unknown type.
*/
ConsoleLogger.prototype.onUnknownMutationType = function (mutation) {
_super.prototype.onUnknownMutationType.call(this, mutation);
console.error("Unknown mutator type: '" + mutation.type + "'");
};
/**
* Displays a word and number, accounting for pluralization.

@@ -62,3 +69,3 @@ *

exports.ConsoleLogger = ConsoleLogger;
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9sb2dnZXJzL2NvbnNvbGVMb2dnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsb0NBQW1EO0FBR25EOztHQUVHO0FBQ0g7SUFBbUMsaUNBQU07SUFBekM7O0lBK0NBLENBQUM7SUE5Q0c7Ozs7T0FJRztJQUNILDZDQUFxQixHQUFyQixVQUFzQixRQUFtQjtRQUNyQyxpQkFBTSxxQkFBcUIsWUFBQyxRQUFRLENBQUMsQ0FBQztRQUV0QyxPQUFPLENBQUMsS0FBSyxDQUFDLDRCQUEwQixRQUFRLENBQUMsSUFBSSxNQUFHLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxrQ0FBVSxHQUFqQjtRQUNJLGlCQUFNLFVBQVUsV0FBRSxDQUFDO1FBRW5CLElBQU0sYUFBYSxHQUFtQixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUM5RCxJQUFNLFVBQVUsR0FBVyxNQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUM3RCxJQUFNLGNBQWMsR0FBVyxNQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQzthQUNwRCxHQUFHLENBQUMsVUFBQyxRQUFnQixJQUFhLE9BQUEsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sRUFBOUIsQ0FBOEIsQ0FBQzthQUNqRSxNQUFNLENBQUMsVUFBQyxDQUFTLEVBQUUsQ0FBUyxJQUFhLE9BQUEsQ0FBQyxHQUFHLENBQUMsRUFBTCxDQUFLLENBQUMsQ0FBQztRQUNyRCxJQUFNLFVBQVUsR0FBVyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxNQUFNLENBQUM7UUFFM0QsT0FBTyxDQUFDLEdBQUcsQ0FBQztZQUNSLFlBQVk7WUFDWixJQUFJLENBQUMsU0FBUyxDQUFDLGNBQWMsRUFBRSxVQUFVLENBQUM7WUFDMUMsVUFBVTtZQUNWLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQztZQUNsQyxNQUFNO1lBQ04sSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDO1lBQ2xDLEdBQUc7U0FDTixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2hCLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNLLGlDQUFTLEdBQWpCLFVBQWtCLEtBQWEsRUFBRSxJQUFZO1FBQ3pDLE1BQU0sQ0FBQyxLQUFLLEtBQUssQ0FBQztjQUNULEtBQUssU0FBSSxJQUFNO2NBQ2YsS0FBSyxTQUFJLElBQUksTUFBRyxDQUFDO0lBQzlCLENBQUM7SUFDTCxvQkFBQztBQUFELENBL0NBLEFBK0NDLENBL0NrQyxlQUFNLEdBK0N4QztBQS9DWSxzQ0FBYSIsImZpbGUiOiJsb2dnZXJzL2NvbnNvbGVMb2dnZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJRmlsZU11dGF0aW9ucywgTG9nZ2VyIH0gZnJvbSBcIi4uL2xvZ2dlclwiO1xyXG5pbXBvcnQgeyBJTXV0YXRpb24gfSBmcm9tIFwiLi4vbXV0YXRpb25cIjtcclxuXHJcbi8qKlxyXG4gKiBHZW5lcmF0ZXMgY29uc29sZSBsb2dzIGZvciBzaWduaWZpY2FudCBvcGVyYXRpb25zLlxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIENvbnNvbGVMb2dnZXIgZXh0ZW5kcyBMb2dnZXIge1xyXG4gICAgLyoqXHJcbiAgICAgKiBMb2dzIHRoYXQgYW4gdW5rbm93biBtdXRhdG9yIHdhcyByZXF1ZXN0ZWQuXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSBtdXRhdGlvbiAgIFRoZSByZXF1ZXN0aW5nIG11dGF0aW9uIG9mIHVua25vd24gdHlwZS5cclxuICAgICAqL1xyXG4gICAgb25Vbmtub3duTXV0YXRpb25UeXBlKG11dGF0aW9uOiBJTXV0YXRpb24pOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5vblVua25vd25NdXRhdGlvblR5cGUobXV0YXRpb24pO1xyXG5cclxuICAgICAgICBjb25zb2xlLmVycm9yKGBVbmtub3duIG11dGF0b3IgdHlwZTogJyR7bXV0YXRpb24udHlwZX0nYCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBMb2dzIHRoYXQgbXV0YXRpb25zIGhhdmUgY29tcGxldGVkLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgb25Db21wbGV0ZSgpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5vbkNvbXBsZXRlKCk7XHJcblxyXG4gICAgICAgIGNvbnN0IGZpbGVNdXRhdGlvbnM6IElGaWxlTXV0YXRpb25zID0gdGhpcy5nZXRGaWxlTXV0YXRpb25zKCk7XHJcbiAgICAgICAgY29uc3QgZmlsZXNDb3VudDogbnVtYmVyID0gT2JqZWN0LmtleXMoZmlsZU11dGF0aW9ucykubGVuZ3RoO1xyXG4gICAgICAgIGNvbnN0IG11dGF0aW9uc0NvdW50OiBudW1iZXIgPSBPYmplY3Qua2V5cyhmaWxlTXV0YXRpb25zKVxyXG4gICAgICAgICAgICAubWFwKChmaWxlTmFtZTogc3RyaW5nKTogbnVtYmVyID0+IGZpbGVNdXRhdGlvbnNbZmlsZU5hbWVdLmxlbmd0aClcclxuICAgICAgICAgICAgLnJlZHVjZSgoYTogbnVtYmVyLCBiOiBudW1iZXIpOiBudW1iZXIgPT4gYSArIGIpO1xyXG4gICAgICAgIGNvbnN0IHdhdmVzQ291bnQ6IG51bWJlciA9IHRoaXMuZ2V0TXV0YXRpb25zV2F2ZXMoKS5sZW5ndGg7XHJcblxyXG4gICAgICAgIGNvbnNvbGUubG9nKFtcclxuICAgICAgICAgICAgXCJDb21wbGV0ZWQgXCIsXHJcbiAgICAgICAgICAgIHRoaXMucGx1cmFsaXplKG11dGF0aW9uc0NvdW50LCBcIm11dGF0aW9uXCIpLFxyXG4gICAgICAgICAgICBcIiBhY3Jvc3MgXCIsXHJcbiAgICAgICAgICAgIHRoaXMucGx1cmFsaXplKGZpbGVzQ291bnQsIFwiZmlsZVwiKSxcclxuICAgICAgICAgICAgXCIgaW4gXCIsXHJcbiAgICAgICAgICAgIHRoaXMucGx1cmFsaXplKHdhdmVzQ291bnQsIFwid2F2ZVwiKSxcclxuICAgICAgICAgICAgXCIuXCJcclxuICAgICAgICBdLmpvaW4oXCJcIikpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogRGlzcGxheXMgYSB3b3JkIGFuZCBudW1iZXIsIGFjY291bnRpbmcgZm9yIHBsdXJhbGl6YXRpb24uXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSBjb3VudCAgIEhvdyBtYW55IG9mIHRoZSB3b3JkIHRoZXJlIGFyZS5cclxuICAgICAqIEBwYXJhbSB3b3JkICAgQSB3b3JkIHRvIGRpc3BsYXkuXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgcGx1cmFsaXplKGNvdW50OiBudW1iZXIsIHdvcmQ6IHN0cmluZykge1xyXG4gICAgICAgIHJldHVybiBjb3VudCA9PT0gMVxyXG4gICAgICAgICAgICA/IGAke2NvdW50fSAke3dvcmR9YFxyXG4gICAgICAgICAgICA6IGAke2NvdW50fSAke3dvcmR9c2A7XHJcbiAgICB9XHJcbn1cclxuIl19
// tslint:enable:no-console
//# sourceMappingURL=consoleLogger.js.map

@@ -0,0 +0,0 @@ /**

"use strict";
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJtdXRhdGlvbi5qcyIsInNvdXJjZXNDb250ZW50IjpbXX0=
exports.__esModule = true;
//# sourceMappingURL=mutation.js.map

@@ -1,2 +0,1 @@

/// <reference types="es6-promise" />
import { IFileProviderFactory } from "./fileProviderFactory";

@@ -12,2 +11,6 @@ import { ILogger } from "./logger";

/**
* Creates file providers for files.
*/
fileProviderFactory: IFileProviderFactory;
/**
* Generates output messages for significant operations.

@@ -17,6 +20,2 @@ */

/**
* Creates file providers for files.
*/
fileProviderFactory: IFileProviderFactory;
/**
* Creates mutators for mutations.

@@ -51,2 +50,6 @@ */

/**
* Creates file providers for files.
*/
private readonly fileProviderFactory;
/**
* Generates output messages for significant operations.

@@ -56,6 +59,2 @@ */

/**
* Creates file providers for files.
*/
private readonly fileProviderFactory;
/**
* Creates mutators for mutations.

@@ -62,0 +61,0 @@ */

@@ -11,4 +11,4 @@ "use strict";

var __generator = (this && this.__generator) || function (thisArg, body) {
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t;
return { next: verb(0), "throw": verb(1), "return": verb(2) };
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
function verb(n) { return function (v) { return step([n, v]); }; }

@@ -38,6 +38,7 @@ function step(op) {

};
exports.__esModule = true;
/**
* Applies individual waves of file mutations.
*/
var MutationsApplier = (function () {
var MutationsApplier = /** @class */ (function () {
/**

@@ -138,3 +139,2 @@ * Initializes a new instance of the MutationsApplier class.

exports.MutationsApplier = MutationsApplier;
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tdXRhdGlvbnNBcHBsaWVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWlEQTs7R0FFRztBQUNIO0lBZ0JJOzs7O09BSUc7SUFDSCwwQkFBbUIsUUFBbUM7UUFDbEQsSUFBSSxDQUFDLE1BQU0sR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDO1FBQzlCLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxRQUFRLENBQUMsbUJBQW1CLENBQUM7UUFDeEQsSUFBSSxDQUFDLGNBQWMsR0FBRyxRQUFRLENBQUMsY0FBYyxDQUFDO0lBQ2xELENBQUM7SUFFRDs7Ozs7T0FLRztJQUNVLGdDQUFLLEdBQWxCLFVBQW1CLFNBQXlCOzs7Ozs0QkFDeEMscUJBQU0sT0FBTyxDQUFDLEdBQUcsQ0FDYixNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQzs2QkFDakIsR0FBRyxDQUFDLFVBQU8sUUFBZ0I7Ozs0Q0FDeEIscUJBQU0sSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBQTs7d0NBQTVELFNBQTRELENBQUM7Ozs7NkJBQ2hFLENBQUMsQ0FBQyxFQUFBOzt3QkFKWCxTQUlXLENBQUM7d0JBRVosSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQzs7Ozs7S0FDNUI7SUFFRDs7Ozs7O09BTUc7SUFDVSw2Q0FBa0IsR0FBL0IsVUFBZ0MsUUFBZ0IsRUFBRSxTQUFzQjs7Z0JBQzlELGdCQUFnQixFQUNoQixZQUFZLHdDQUdQLFFBQVE7Ozs7MkNBSm1CLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDO3VDQUNoQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQzt3QkFDcEQscUJBQU0sWUFBWSxDQUFDLElBQUksRUFBRSxFQUFBOzt1Q0FBekIsU0FBeUI7d0JBRXBELEdBQUcsQ0FBQyxnREFBbUIsOEJBQWdCLEVBQWhCLElBQWdCOzs0QkFDbkMsWUFBWSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxFQUFFLFFBQVEsQ0FBQyxDQUFDOzRCQUM1RSxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7eUJBQzlDO3dCQUVELHFCQUFNLFlBQVksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLEVBQUE7O3dCQUF0QyxTQUFzQyxDQUFDO3dCQUN2QyxzQkFBTyxZQUFZLEVBQUM7Ozs7S0FDdkI7SUFFRDs7Ozs7T0FLRztJQUNLLHlDQUFjLEdBQXRCLFVBQXVCLFNBQXNCO1FBQ3pDLElBQU0sT0FBTyxHQUFnQixFQUFFLENBQUM7UUFDaEMsSUFBSSxTQUFTLEdBQVcsUUFBUSxDQUFDO1FBRWpDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFXLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ3hELElBQU0sUUFBUSxHQUFjLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN6QyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLFFBQVEsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQztnQkFDM0QsUUFBUSxDQUFDO1lBQ2IsQ0FBQztZQUVELFNBQVMsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztZQUNqQyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzNCLENBQUM7UUFFRCxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFDLENBQVksRUFBRSxDQUFZO1lBQzNDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNFLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUNMLHVCQUFDO0FBQUQsQ0F4RkEsQUF3RkMsSUFBQTtBQXhGWSw0Q0FBZ0IiLCJmaWxlIjoibXV0YXRpb25zQXBwbGllci5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElGaWxlUHJvdmlkZXIgfSBmcm9tIFwiLi9maWxlUHJvdmlkZXJcIjtcclxuaW1wb3J0IHsgSUZpbGVQcm92aWRlckZhY3RvcnkgfSBmcm9tIFwiLi9maWxlUHJvdmlkZXJGYWN0b3J5XCI7XHJcbmltcG9ydCB7IElMb2dnZXIgfSBmcm9tIFwiLi9sb2dnZXJcIjtcclxuaW1wb3J0IHsgSU11dGF0aW9uIH0gZnJvbSBcIi4vbXV0YXRpb25cIjtcclxuaW1wb3J0IHsgSUZpbGVNdXRhdGlvbnMgfSBmcm9tIFwiLi9tdXRhdGlvbnNQcm92aWRlclwiO1xyXG5pbXBvcnQgeyBJTXV0YXRvckZhY3RvcnkgfSBmcm9tIFwiLi9tdXRhdG9yRmFjdG9yeVwiO1xyXG5cclxuLyoqXHJcbiAqIFNldHRpbmdzIHRvIGluaXRpYWxpemUgYSBuZXcgSU11dGF0aW9uc0FwcGxpZXIuXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIElNdXRhdGlvbnNBcHBsaWVyU2V0dGluZ3Mge1xyXG4gICAgLyoqXHJcbiAgICAgKiBHZW5lcmF0ZXMgb3V0cHV0IG1lc3NhZ2VzIGZvciBzaWduaWZpY2FudCBvcGVyYXRpb25zLlxyXG4gICAgICovXHJcbiAgICBsb2dnZXI6IElMb2dnZXI7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDcmVhdGVzIGZpbGUgcHJvdmlkZXJzIGZvciBmaWxlcy5cclxuICAgICAqL1xyXG4gICAgZmlsZVByb3ZpZGVyRmFjdG9yeTogSUZpbGVQcm92aWRlckZhY3Rvcnk7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDcmVhdGVzIG11dGF0b3JzIGZvciBtdXRhdGlvbnMuXHJcbiAgICAgKi9cclxuICAgIG11dGF0b3JGYWN0b3J5OiBJTXV0YXRvckZhY3Rvcnk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBBcHBsaWVzIGluZGl2aWR1YWwgd2F2ZXMgb2YgZmlsZSBtdXRhdGlvbnMuXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIElNdXRhdGlvbnNBcHBsaWVyIHtcclxuICAgIC8qKlxyXG4gICAgICogQXBwbGllcyBhbiBpdGVyYXRpb24gb2YgZmlsZSBtdXRhdGlvbnMuXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSBtdXRhdGlvbnMgICBNdXRhdGlvbnMgdG8gYmUgYXBwbGllZCB0byBmaWxlcy5cclxuICAgICAqIEByZXR1cm5zIEEgUHJvbWlzZSBmb3IgdGhlIGZpbGUgbXV0YXRpb25zIGJlaW5nIGFwcGxpZWQuXHJcbiAgICAgKi9cclxuICAgIGFwcGx5KG11dGF0aW9uczogSUZpbGVNdXRhdGlvbnMpOiBQcm9taXNlPHZvaWQ+O1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQXBwbGllcyBhIGZpbGUncyBtdXRhdGlvbnMuXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSBmaWxlTmFtZSAgIE5hbWUgb2YgdGhlIGZpbGUuXHJcbiAgICAgKiBAcGFyYW0gbXV0YXRpb25zICAgTXV0YXRpb25zIHRvIGJlIGFwcGxpZWQgdG8gdGhlIGZpbGUuXHJcbiAgICAgKiBAcmV0dXJucyBBIFByb21pc2UgZm9yIHRoZSByZXN1bHQgb2YgdGhlIGZpbGUncyBtdXRhdGlvbnMuXHJcbiAgICAgKi9cclxuICAgIGFwcGx5RmlsZU11dGF0aW9ucyhmaWxlTmFtZTogc3RyaW5nLCBtdXRhdGlvbnM6IElNdXRhdGlvbltdKTogUHJvbWlzZTxzdHJpbmc+O1xyXG59XHJcblxyXG4vKipcclxuICogQXBwbGllcyBpbmRpdmlkdWFsIHdhdmVzIG9mIGZpbGUgbXV0YXRpb25zLlxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIE11dGF0aW9uc0FwcGxpZXIgaW1wbGVtZW50cyBJTXV0YXRpb25zQXBwbGllciB7XHJcbiAgICAvKipcclxuICAgICAqIEdlbmVyYXRlcyBvdXRwdXQgbWVzc2FnZXMgZm9yIHNpZ25pZmljYW50IG9wZXJhdGlvbnMuXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgcmVhZG9ubHkgbG9nZ2VyOiBJTG9nZ2VyO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ3JlYXRlcyBmaWxlIHByb3ZpZGVycyBmb3IgZmlsZXMuXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgcmVhZG9ubHkgZmlsZVByb3ZpZGVyRmFjdG9yeTogSUZpbGVQcm92aWRlckZhY3Rvcnk7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDcmVhdGVzIG11dGF0b3JzIGZvciBtdXRhdGlvbnMuXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgcmVhZG9ubHkgbXV0YXRvckZhY3Rvcnk6IElNdXRhdG9yRmFjdG9yeTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEluaXRpYWxpemVzIGEgbmV3IGluc3RhbmNlIG9mIHRoZSBNdXRhdGlvbnNBcHBsaWVyIGNsYXNzLlxyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0gc2V0dGluZ3MgICBTZXR0aW5ncyB0byBiZSB1c2VkIGZvciBpbml0aWFsaXphdGlvbi5cclxuICAgICAqL1xyXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKHNldHRpbmdzOiBJTXV0YXRpb25zQXBwbGllclNldHRpbmdzKSB7XHJcbiAgICAgICAgdGhpcy5sb2dnZXIgPSBzZXR0aW5ncy5sb2dnZXI7XHJcbiAgICAgICAgdGhpcy5maWxlUHJvdmlkZXJGYWN0b3J5ID0gc2V0dGluZ3MuZmlsZVByb3ZpZGVyRmFjdG9yeTtcclxuICAgICAgICB0aGlzLm11dGF0b3JGYWN0b3J5ID0gc2V0dGluZ3MubXV0YXRvckZhY3Rvcnk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBBcHBsaWVzIGFuIGl0ZXJhdGlvbiBvZiBmaWxlIG11dGF0aW9ucy5cclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIG11dGF0aW9ucyAgIE11dGF0aW9ucyB0byBiZSBhcHBsaWVkIHRvIGZpbGVzLlxyXG4gICAgICogQHJldHVybnMgQSBQcm9taXNlIGZvciB0aGUgZmlsZSBtdXRhdGlvbnMgYmVpbmcgYXBwbGllZC5cclxuICAgICAqL1xyXG4gICAgcHVibGljIGFzeW5jIGFwcGx5KG11dGF0aW9uczogSUZpbGVNdXRhdGlvbnMpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgICAgICBhd2FpdCBQcm9taXNlLmFsbChcclxuICAgICAgICAgICAgT2JqZWN0LmtleXMobXV0YXRpb25zKVxyXG4gICAgICAgICAgICAgICAgLm1hcChhc3luYyAoZmlsZU5hbWU6IHN0cmluZyk6IFByb21pc2U8dm9pZD4gPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMuYXBwbHlGaWxlTXV0YXRpb25zKGZpbGVOYW1lLCBtdXRhdGlvbnNbZmlsZU5hbWVdKTtcclxuICAgICAgICAgICAgICAgIH0pKTtcclxuXHJcbiAgICAgICAgdGhpcy5sb2dnZXIub25Db21wbGV0ZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQXBwbGllcyBhIGZpbGUncyBtdXRhdGlvbnMuXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSBmaWxlTmFtZSAgIE5hbWUgb2YgdGhlIGZpbGUuXHJcbiAgICAgKiBAcGFyYW0gbXV0YXRpb25zICAgTXV0YXRpb25zIHRvIGJlIGFwcGxpZWQgdG8gdGhlIGZpbGUuXHJcbiAgICAgKiBAcmV0dXJucyBBIFByb21pc2UgZm9yIHRoZSByZXN1bHQgb2YgdGhlIGZpbGUncyBtdXRhdGlvbnMuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBhc3luYyBhcHBseUZpbGVNdXRhdGlvbnMoZmlsZU5hbWU6IHN0cmluZywgbXV0YXRpb25zOiBJTXV0YXRpb25bXSk6IFByb21pc2U8c3RyaW5nPiB7XHJcbiAgICAgICAgY29uc3QgbXV0YXRpb25zT3JkZXJlZDogSU11dGF0aW9uW10gPSB0aGlzLm9yZGVyTXV0YXRpb25zKG11dGF0aW9ucyk7XHJcbiAgICAgICAgY29uc3QgZmlsZVByb3ZpZGVyOiBJRmlsZVByb3ZpZGVyID0gdGhpcy5maWxlUHJvdmlkZXJGYWN0b3J5LmdlbmVyYXRlKGZpbGVOYW1lKTtcclxuICAgICAgICBsZXQgZmlsZUNvbnRlbnRzOiBzdHJpbmcgPSBhd2FpdCBmaWxlUHJvdmlkZXIucmVhZCgpO1xyXG5cclxuICAgICAgICBmb3IgKGNvbnN0IG11dGF0aW9uIG9mIG11dGF0aW9uc09yZGVyZWQpIHtcclxuICAgICAgICAgICAgZmlsZUNvbnRlbnRzID0gdGhpcy5tdXRhdG9yRmFjdG9yeS5nZW5lcmF0ZUFuZEFwcGx5KGZpbGVDb250ZW50cywgbXV0YXRpb24pO1xyXG4gICAgICAgICAgICB0aGlzLmxvZ2dlci5vbk11dGF0aW9uKGZpbGVOYW1lLCBtdXRhdGlvbik7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBhd2FpdCBmaWxlUHJvdmlkZXIud3JpdGUoZmlsZUNvbnRlbnRzKTtcclxuICAgICAgICByZXR1cm4gZmlsZUNvbnRlbnRzO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogT3JkZXJzIGEgc2V0IG9mIG11dGF0aW9ucyBsYXN0LXRvLWZpcnN0LCB3aXRob3V0IG92ZXJsYXBzLlxyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0gbXV0YXRpb25zICAgTXV0YXRpb25zIHRvIGJlIGFwcGxpZWQgdG8gYSBmaWxlLlxyXG4gICAgICogQHJldHVybnMgVGhlIG11dGF0aW9ucyBpbiBsYXN0LXRvLWZpcnN0IG9yZGVyLCB3aXRob3V0IG92ZXJsYXBzLlxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIG9yZGVyTXV0YXRpb25zKG11dGF0aW9uczogSU11dGF0aW9uW10pOiBJTXV0YXRpb25bXSB7XHJcbiAgICAgICAgY29uc3Qgb3JkZXJlZDogSU11dGF0aW9uW10gPSBbXTtcclxuICAgICAgICBsZXQgbGFzdFN0YXJ0OiBudW1iZXIgPSBJbmZpbml0eTtcclxuXHJcbiAgICAgICAgZm9yIChsZXQgaTogbnVtYmVyID0gbXV0YXRpb25zLmxlbmd0aCAtIDE7IGkgPj0gMDsgaSAtPSAxKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG11dGF0aW9uOiBJTXV0YXRpb24gPSBtdXRhdGlvbnNbaV07XHJcbiAgICAgICAgICAgIGlmICgobXV0YXRpb24ucmFuZ2UuZW5kIHx8IG11dGF0aW9uLnJhbmdlLmJlZ2luKSA+IGxhc3RTdGFydCkge1xyXG4gICAgICAgICAgICAgICAgY29udGludWU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGxhc3RTdGFydCA9IG11dGF0aW9uLnJhbmdlLmJlZ2luO1xyXG4gICAgICAgICAgICBvcmRlcmVkLnB1c2gobXV0YXRpb24pO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIG9yZGVyZWQuc29ydCgoYTogSU11dGF0aW9uLCBiOiBJTXV0YXRpb24pOiBudW1iZXIgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4gKGIucmFuZ2UuZW5kIHx8IGIucmFuZ2UuYmVnaW4pIC0gKGEucmFuZ2UuZW5kIHx8IGEucmFuZ2UuYmVnaW4pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
//# sourceMappingURL=mutationsApplier.js.map

@@ -0,0 +0,0 @@ import { ILogger } from "../logger";

"use strict";
var __extends = (this && this.__extends) || function (d, b) {
for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
var __extends = (this && this.__extends) || (function () {
var extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
exports.__esModule = true;
var path = require("path");

@@ -16,3 +22,3 @@ var fileProviderFactory_1 = require("../fileProviderFactory");

*/
var FileMutationsApplier = (function (_super) {
var FileMutationsApplier = /** @class */ (function (_super) {
__extends(FileMutationsApplier, _super);

@@ -26,4 +32,4 @@ /**

return _super.call(this, {
fileProviderFactory: new fileProviderFactory_1.FileProviderFactory(function (fileName) { return new localFileProvider_1.LocalFileProvider(fileName); }),
logger: settings.logger,
fileProviderFactory: new fileProviderFactory_1.FileProviderFactory(function (fileName) { return new localFileProvider_1.LocalFileProvider(fileName); }),
mutatorFactory: new mutatorFactory_1.MutatorFactory(new mutatorSearcher_1.MutatorSearcher([

@@ -37,3 +43,2 @@ path.join(__dirname, "../../lib/mutators")

exports.FileMutationsApplier = FileMutationsApplier;
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tdXRhdGlvbnNBcHBsaWVycy9maWxlTXV0YXRpb25zQXBwbGllci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSwyQkFBNkI7QUFHN0IsOERBQTZEO0FBRTdELHdFQUF1RTtBQUN2RSx3REFBdUQ7QUFDdkQsb0RBQW1EO0FBQ25ELHNEQUFxRDtBQWlCckQ7O0dBRUc7QUFDSDtJQUEwQyx3Q0FBZ0I7SUFDdEQ7Ozs7T0FJRztJQUNILDhCQUFtQixRQUF1QztlQUN0RCxrQkFBTTtZQUNGLE1BQU0sRUFBRSxRQUFRLENBQUMsTUFBTTtZQUN2QixtQkFBbUIsRUFBRSxJQUFJLHlDQUFtQixDQUN4QyxVQUFDLFFBQWdCLElBQW9CLE9BQUEsSUFBSSxxQ0FBaUIsQ0FBQyxRQUFRLENBQUMsRUFBL0IsQ0FBK0IsQ0FBQztZQUN6RSxjQUFjLEVBQUUsSUFBSSwrQkFBYyxDQUM5QixJQUFJLGlDQUFlO2dCQUNmLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLG9CQUFvQixDQUFDO3FCQUN2QyxDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsSUFBSSxFQUFFLENBQUMsRUFDeEMsRUFDRixRQUFRLENBQUMsTUFBTSxDQUFDO1NBQ3ZCLENBQUM7SUFDTixDQUFDO0lBQ0wsMkJBQUM7QUFBRCxDQW5CQSxBQW1CQyxDQW5CeUMsbUNBQWdCLEdBbUJ6RDtBQW5CWSxvREFBb0IiLCJmaWxlIjoibXV0YXRpb25zQXBwbGllcnMvZmlsZU11dGF0aW9uc0FwcGxpZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJwYXRoXCI7XHJcblxyXG5pbXBvcnQgeyBJTG9nZ2VyIH0gZnJvbSBcIi4uL2xvZ2dlclwiO1xyXG5pbXBvcnQgeyBGaWxlUHJvdmlkZXJGYWN0b3J5IH0gZnJvbSBcIi4uL2ZpbGVQcm92aWRlckZhY3RvcnlcIjtcclxuaW1wb3J0IHsgSUZpbGVQcm92aWRlciB9IGZyb20gXCIuLi9maWxlUHJvdmlkZXJcIjtcclxuaW1wb3J0IHsgTG9jYWxGaWxlUHJvdmlkZXIgfSBmcm9tIFwiLi4vZmlsZVByb3ZpZGVycy9sb2NhbEZpbGVQcm92aWRlclwiO1xyXG5pbXBvcnQgeyBNdXRhdGlvbnNBcHBsaWVyIH0gZnJvbSBcIi4uL211dGF0aW9uc0FwcGxpZXJcIjtcclxuaW1wb3J0IHsgTXV0YXRvckZhY3RvcnkgfSBmcm9tIFwiLi4vbXV0YXRvckZhY3RvcnlcIjtcclxuaW1wb3J0IHsgTXV0YXRvclNlYXJjaGVyIH0gZnJvbSBcIi4uL211dGF0b3JTZWFyY2hlclwiO1xyXG5cclxuLyoqXHJcbiAqIFNldHRpbmdzIHRvIGFwcGx5IGluZGl2aWR1YWwgd2F2ZXMgb2YgZmlsZSBtdXRhdGlvbnMgdG8gbG9jYWwgZmlsZXMuXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIElGaWxlTXV0YXRpb25zQXBwbGllclNldHRpbmdzIHtcclxuICAgIC8qKlxyXG4gICAgICogR2VuZXJhdGVzIG91dHB1dCBtZXNzYWdlcyBmb3Igc2lnbmlmaWNhbnQgb3BlcmF0aW9ucy5cclxuICAgICAqL1xyXG4gICAgbG9nZ2VyOiBJTG9nZ2VyO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQWRkaXRpb25hbCBkaXJlY3RvcmllcyB0byBzZWFyY2ggZm9yIG11dGF0b3JzIHdpdGhpbi5cclxuICAgICAqL1xyXG4gICAgbXV0YXRvckRpcmVjdG9yaWVzPzogc3RyaW5nW107XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBBcHBsaWVzIGluZGl2aWR1YWwgd2F2ZXMgb2YgZmlsZSBtdXRhdGlvbnMgdG8gbG9jYWwgZmlsZXMuXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgRmlsZU11dGF0aW9uc0FwcGxpZXIgZXh0ZW5kcyBNdXRhdGlvbnNBcHBsaWVyIHtcclxuICAgIC8qKlxyXG4gICAgICogSW5pdGlhbGl6ZXMgYSBuZXcgaW5zdGFuY2Ugb2YgdGhlIEZpbGVNdXRhdGlvbnNBcHBsaWVyIGNsYXNzLlxyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0gc2V0dGluZ3MgICBTZXR0aW5ncyB0byBiZSB1c2VkIGZvciBpbml0aWFsaXphdGlvbi5cclxuICAgICAqL1xyXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKHNldHRpbmdzOiBJRmlsZU11dGF0aW9uc0FwcGxpZXJTZXR0aW5ncykge1xyXG4gICAgICAgIHN1cGVyKHtcclxuICAgICAgICAgICAgbG9nZ2VyOiBzZXR0aW5ncy5sb2dnZXIsXHJcbiAgICAgICAgICAgIGZpbGVQcm92aWRlckZhY3Rvcnk6IG5ldyBGaWxlUHJvdmlkZXJGYWN0b3J5KFxyXG4gICAgICAgICAgICAgICAgKGZpbGVOYW1lOiBzdHJpbmcpOiBJRmlsZVByb3ZpZGVyID0+IG5ldyBMb2NhbEZpbGVQcm92aWRlcihmaWxlTmFtZSkpLFxyXG4gICAgICAgICAgICBtdXRhdG9yRmFjdG9yeTogbmV3IE11dGF0b3JGYWN0b3J5KFxyXG4gICAgICAgICAgICAgICAgbmV3IE11dGF0b3JTZWFyY2hlcihbXHJcbiAgICAgICAgICAgICAgICAgICAgcGF0aC5qb2luKF9fZGlybmFtZSwgXCIuLi8uLi9saWIvbXV0YXRvcnNcIiksXHJcbiAgICAgICAgICAgICAgICAgICAgLi4uKHNldHRpbmdzLm11dGF0b3JEaXJlY3RvcmllcyB8fCBbXSlcclxuICAgICAgICAgICAgICAgIF0pLFxyXG4gICAgICAgICAgICAgICAgc2V0dGluZ3MubG9nZ2VyKVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
//# sourceMappingURL=fileMutationsApplier.js.map

@@ -1,2 +0,1 @@

/// <reference types="es6-promise" />
import { IMutation } from "./mutation";

@@ -3,0 +2,0 @@ /**

"use strict";
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJtdXRhdGlvbnNQcm92aWRlci5qcyIsInNvdXJjZXNDb250ZW50IjpbXX0=
exports.__esModule = true;
//# sourceMappingURL=mutationsProvider.js.map

@@ -27,2 +27,4 @@ import { IMutation } from "./mutation";

/**
* Gets the original contents of the file.
*
* @returns Original contents of the file.

@@ -29,0 +31,0 @@ */

"use strict";
exports.__esModule = true;
/**
* Applies a type of mutation to a file.
*/
var Mutator = (function () {
var Mutator = /** @class */ (function () {
/**

@@ -15,2 +16,4 @@ * Initializes a new instance of the Mutator class.

/**
* Gets the original contents of the file.
*
* @returns Original contents of the file.

@@ -24,3 +27,2 @@ */

exports.Mutator = Mutator;
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tdXRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFHQTs7R0FFRztBQUNIO0lBTUk7Ozs7T0FJRztJQUNILGlCQUFtQixvQkFBNEI7UUFDM0MsSUFBSSxDQUFDLG9CQUFvQixHQUFHLG9CQUFvQixDQUFDO0lBQ3JELENBQUM7SUFZRDs7T0FFRztJQUNPLHlDQUF1QixHQUFqQztRQUNJLE1BQU0sQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUM7SUFDckMsQ0FBQztJQUNMLGNBQUM7QUFBRCxDQS9CQSxBQStCQyxJQUFBO0FBL0JxQiwwQkFBTyIsImZpbGUiOiJtdXRhdG9yLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSU11dGF0aW9uIH0gZnJvbSBcIi4vbXV0YXRpb25cIjtcclxuaW1wb3J0IHsgSU11dGF0b3JGYWN0b3J5IH0gZnJvbSBcIi4vbXV0YXRvckZhY3RvcnlcIjtcclxuXHJcbi8qKlxyXG4gKiBBcHBsaWVzIGEgdHlwZSBvZiBtdXRhdGlvbiB0byBhIGZpbGUuXHJcbiAqL1xyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgTXV0YXRvciB7XHJcbiAgICAvKipcclxuICAgICAqIE9yaWdpbmFsIGNvbnRlbnRzIG9mIHRoZSBmaWxlLlxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IG9yaWdpbmFsRmlsZUNvbnRlbnRzOiBzdHJpbmc7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbml0aWFsaXplcyBhIG5ldyBpbnN0YW5jZSBvZiB0aGUgTXV0YXRvciBjbGFzcy5cclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIG9yaWdpbmFsRmlsZUNvbnRlbnRzICAgT3JpZ2luYWwgY29udGVudHMgb2YgdGhlIGZpbGUuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihvcmlnaW5hbEZpbGVDb250ZW50czogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy5vcmlnaW5hbEZpbGVDb250ZW50cyA9IG9yaWdpbmFsRmlsZUNvbnRlbnRzO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQXBwbGllcyBhIG11dGF0aW9uLlxyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0gZmlsZUNvbnRlbnRzICAgQ3VycmVudCBjb250ZW50cyBvZiB0aGUgZmlsZS5cclxuICAgICAqIEBwYXJhbSBtdXRhdGlvbiAgIE11dGF0aW9uIHRvIGFwcGx5LlxyXG4gICAgICogQHBhcmFtIG11dGF0b3JGYWN0b3J5ICAgQ3JlYXRlcyBtdXRhdG9ycyBmb3IgbXV0YXRpb25zLlxyXG4gICAgICogQHJldHVybnMgRmlsZSBjb250ZW50cyBhZnRlciBhcHBseWluZyB0aGUgbXV0YXRpb24uXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBhYnN0cmFjdCBtdXRhdGUoZmlsZUNvbnRlbnRzOiBzdHJpbmcsIG11dGF0aW9uOiBJTXV0YXRpb24sIG11dGF0b3JGYWN0b3J5OiBJTXV0YXRvckZhY3RvcnkpOiBzdHJpbmc7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAcmV0dXJucyBPcmlnaW5hbCBjb250ZW50cyBvZiB0aGUgZmlsZS5cclxuICAgICAqL1xyXG4gICAgcHJvdGVjdGVkIGdldE9yaWdpbmFsRmlsZUNvbnRlbnRzKCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMub3JpZ2luYWxGaWxlQ29udGVudHM7XHJcbiAgICB9XHJcbn1cclxuIl19
//# sourceMappingURL=mutator.js.map
import { ILogger } from "./logger";
import { IMutation } from "./mutation";
import { Mutator } from "./mutator";
import { IMutation } from "./mutation";
import { IMutatorSearcher } from "./mutatorSearcher";

@@ -35,2 +35,6 @@ /**

/**
* Generates output messages for significant operations.
*/
private readonly logger;
/**
* Searches for mutator classes.

@@ -40,6 +44,2 @@ */

/**
* Generates output messages for significant operations.
*/
private readonly logger;
/**
* Initializes a new instance of the MutatorFactory class.

@@ -46,0 +46,0 @@ *

"use strict";
exports.__esModule = true;
/**
* Creates mutators for mutations.
*/
var MutatorFactory = (function () {
var MutatorFactory = /** @class */ (function () {
/**

@@ -35,3 +36,3 @@ * Initializes a new instance of the MutatorFactory class.

// @todo Use some form of "implements" keyword when TypeScript supports it
return new this.classes[name](fileContents);
return new (this.classes[name])(fileContents);
};

@@ -56,3 +57,2 @@ /**

exports.MutatorFactory = MutatorFactory;
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tdXRhdG9yRmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBbUNBOztHQUVHO0FBQ0g7SUFnQkk7Ozs7T0FJRztJQUNILHdCQUFtQixlQUFpQyxFQUFFLE1BQWU7UUFwQnJFOztXQUVHO1FBQ2MsWUFBTyxHQUFvQixFQUFFLENBQUM7UUFrQjNDLElBQUksQ0FBQyxRQUFRLEdBQUcsZUFBZSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO0lBQ3pCLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxpQ0FBUSxHQUFmLFVBQTBDLElBQVksRUFBRSxZQUFvQjtRQUN4RSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3RCLElBQU0sWUFBWSxHQUF3QyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBVyxJQUFJLENBQUMsQ0FBQztZQUMvRixFQUFFLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7Z0JBQ2hCLE1BQU0sQ0FBQyxTQUFTLENBQUM7WUFDckIsQ0FBQztZQUVELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsWUFBWSxDQUFDO1FBQ3RDLENBQUM7UUFFRCwwRUFBMEU7UUFDMUUsTUFBTSxDQUFDLElBQUssSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQVMsQ0FBQyxZQUFZLENBQWEsQ0FBQztJQUNyRSxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0kseUNBQWdCLEdBQXZCLFVBQXdCLFlBQW9CLEVBQUUsUUFBbUI7UUFDN0QsSUFBTSxPQUFPLEdBQXdCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxZQUFZLENBQUMsQ0FBQztRQUNoRixFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFDWCxJQUFJLENBQUMsTUFBTSxDQUFDLHFCQUFxQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQzVDLE1BQU0sQ0FBQyxZQUFZLENBQUM7UUFDeEIsQ0FBQztRQUVELE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUNMLHFCQUFDO0FBQUQsQ0EvREEsQUErREMsSUFBQTtBQS9EWSx3Q0FBYyIsImZpbGUiOiJtdXRhdG9yRmFjdG9yeS5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElMb2dnZXIgfSBmcm9tIFwiLi9sb2dnZXJcIjtcclxuaW1wb3J0IHsgTXV0YXRvciB9IGZyb20gXCIuL211dGF0b3JcIjtcclxuaW1wb3J0IHsgSU11dGF0aW9uIH0gZnJvbSBcIi4vbXV0YXRpb25cIjtcclxuaW1wb3J0IHsgSU11dGF0b3JTZWFyY2hlciwgSU11dGF0b3JDbGFzcyB9IGZyb20gXCIuL211dGF0b3JTZWFyY2hlclwiO1xyXG5cclxuLyoqXHJcbiAqIE11dGF0b3Igc3ViLWNsYXNzZXMsIGtleWVkIGJ5IGRhc2hlZC1jYXNlIG5hbWUuXHJcbiAqL1xyXG5pbnRlcmZhY2UgSU11dGF0b3JDbGFzc2VzIHtcclxuICAgIFtpOiBzdHJpbmddOiBJTXV0YXRvckNsYXNzPE11dGF0b3I+O1xyXG59XHJcblxyXG4vKipcclxuICogQ3JlYXRlcyBtdXRhdG9ycyBmb3IgbXV0YXRpb25zLlxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBJTXV0YXRvckZhY3Rvcnkge1xyXG4gICAgLyoqXHJcbiAgICAgKiBBdHRlbXB0cyB0byBmaW5kIGFuZCBpbnN0YW50aWF0ZSBhIG11dGF0b3Igc3ViLWNsYXNzIGZvciBhIGZpbGUuXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSBuYW1lICAgRGFzaGVkLWNhc2UgbmFtZSBvZiB0aGUgbXV0YXRvciBzdWItY2xhc3MuXHJcbiAgICAgKiBAcGFyYW0gZmlsZUNvbnRlbnRzICAgQ29udGVudHMgb2YgdGhlIGZpbGUuXHJcbiAgICAgKiBAcmV0dXJucyBBbiBpbnN0YW5jZSBvZiB0aGUgbXV0YXRvciBzdWItY2xhc3MsIGlmIHRoZSBzdWItY2xhc3MgY2FuIGJlIGZvdW5kLlxyXG4gICAgICovXHJcbiAgICBnZW5lcmF0ZTxUTXV0YXRvciBleHRlbmRzIE11dGF0b3I+KG5hbWU6IHN0cmluZywgZmlsZUNvbnRlbnRzOiBzdHJpbmcpOiBUTXV0YXRvciB8IHVuZGVmaW5lZDtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEdlbmVyYXRlcyBhbmQgYXBwbGllcyBhIG11dGF0b3IsIGlmIHBvc3NpYmxlLlxyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0gZmlsZUNvbnRlbnRzICAgQ29udGVudHMgb2YgdGhlIGZpbGUuXHJcbiAgICAgKiBAcGFyYW0gbXV0YXRpb24gICBNdXRhdGlvbiB0byBiZSBhcHBsaWVkIHRvIHRoZSBmaWxlLlxyXG4gICAgICogQHJldHVybnMgVGhlIG11dGF0ZWQgZmlsZSBjb250ZW50cy5cclxuICAgICAqL1xyXG4gICAgZ2VuZXJhdGVBbmRBcHBseShmaWxlQ29udGVudHM6IHN0cmluZywgbXV0YXRpb246IElNdXRhdGlvbik6IHN0cmluZztcclxufVxyXG5cclxuLyoqXHJcbiAqIENyZWF0ZXMgbXV0YXRvcnMgZm9yIG11dGF0aW9ucy5cclxuICovXHJcbmV4cG9ydCBjbGFzcyBNdXRhdG9yRmFjdG9yeSBpbXBsZW1lbnRzIElNdXRhdG9yRmFjdG9yeSB7XHJcbiAgICAvKipcclxuICAgICAqIE11dGF0b3Igc3ViLWNsYXNzZXMsIGtleWVkIGJ5IGRhc2hlZC1jYXNlIG5hbWUuXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2xhc3NlczogSU11dGF0b3JDbGFzc2VzID0ge307XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTZWFyY2hlcyBmb3IgbXV0YXRvciBjbGFzc2VzLlxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNlYXJjaGVyOiBJTXV0YXRvclNlYXJjaGVyO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogR2VuZXJhdGVzIG91dHB1dCBtZXNzYWdlcyBmb3Igc2lnbmlmaWNhbnQgb3BlcmF0aW9ucy5cclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSByZWFkb25seSBsb2dnZXI6IElMb2dnZXI7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbml0aWFsaXplcyBhIG5ldyBpbnN0YW5jZSBvZiB0aGUgTXV0YXRvckZhY3RvcnkgY2xhc3MuXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSBzZWFyY2hlciAgIFNlYXJjaGVzIGZvciBtdXRhdG9yIGNsYXNzZXMuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihtdXRhdG9yU2VhcmNoZXI6IElNdXRhdG9yU2VhcmNoZXIsIGxvZ2dlcjogSUxvZ2dlcikge1xyXG4gICAgICAgIHRoaXMuc2VhcmNoZXIgPSBtdXRhdG9yU2VhcmNoZXI7XHJcbiAgICAgICAgdGhpcy5sb2dnZXIgPSBsb2dnZXI7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBBdHRlbXB0cyB0byBmaW5kIGFuZCBpbnN0YW50aWF0ZSBhIG11dGF0b3Igc3ViLWNsYXNzIGZvciBhIGZpbGUuXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSBuYW1lICAgRGFzaGVkLWNhc2UgbmFtZSBvZiB0aGUgbXV0YXRvciBzdWItY2xhc3MuXHJcbiAgICAgKiBAcGFyYW0gZmlsZUNvbnRlbnRzICAgQ29udGVudHMgb2YgdGhlIGZpbGUuXHJcbiAgICAgKiBAcmV0dXJucyBBbiBpbnN0YW5jZSBvZiB0aGUgbXV0YXRvciBzdWItY2xhc3MsIGlmIHRoZSBzdWItY2xhc3MgY2FuIGJlIGZvdW5kLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ2VuZXJhdGU8VE11dGF0b3IgZXh0ZW5kcyBNdXRhdG9yPihuYW1lOiBzdHJpbmcsIGZpbGVDb250ZW50czogc3RyaW5nKTogVE11dGF0b3IgfCB1bmRlZmluZWQge1xyXG4gICAgICAgIGlmICghdGhpcy5jbGFzc2VzW25hbWVdKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG11dGF0b3JDbGFzczogSU11dGF0b3JDbGFzczxUTXV0YXRvcj4gfCB1bmRlZmluZWQgPSB0aGlzLnNlYXJjaGVyLnNlYXJjaDxUTXV0YXRvcj4obmFtZSk7XHJcbiAgICAgICAgICAgIGlmICghbXV0YXRvckNsYXNzKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB0aGlzLmNsYXNzZXNbbmFtZV0gPSBtdXRhdG9yQ2xhc3M7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBAdG9kbyBVc2Ugc29tZSBmb3JtIG9mIFwiaW1wbGVtZW50c1wiIGtleXdvcmQgd2hlbiBUeXBlU2NyaXB0IHN1cHBvcnRzIGl0XHJcbiAgICAgICAgcmV0dXJuIG5ldyAodGhpcy5jbGFzc2VzW25hbWVdIGFzIGFueSkoZmlsZUNvbnRlbnRzKSBhcyBUTXV0YXRvcjtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEdlbmVyYXRlcyBhbmQgYXBwbGllZCBhIG11dGF0b3IsIGlmIHBvc3NpYmxlLlxyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0gZmlsZUNvbnRlbnRzICAgQ29udGVudHMgb2YgdGhlIGZpbGUuXHJcbiAgICAgKiBAcGFyYW0gbXV0YXRpb24gICBNdXRhdGlvbiB0byBiZSBhcHBsaWVkIHRvIHRoZSBmaWxlLlxyXG4gICAgICogQHJldHVybnMgVGhlIG11dGF0ZWQgZmlsZSBjb250ZW50cy5cclxuICAgICAqL1xyXG4gICAgcHVibGljIGdlbmVyYXRlQW5kQXBwbHkoZmlsZUNvbnRlbnRzOiBzdHJpbmcsIG11dGF0aW9uOiBJTXV0YXRpb24pOiBzdHJpbmcge1xyXG4gICAgICAgIGNvbnN0IG11dGF0b3I6IE11dGF0b3IgfCB1bmRlZmluZWQgPSB0aGlzLmdlbmVyYXRlKG11dGF0aW9uLnR5cGUsIGZpbGVDb250ZW50cyk7XHJcbiAgICAgICAgaWYgKCFtdXRhdG9yKSB7XHJcbiAgICAgICAgICAgIHRoaXMubG9nZ2VyLm9uVW5rbm93bk11dGF0aW9uVHlwZShtdXRhdGlvbik7XHJcbiAgICAgICAgICAgIHJldHVybiBmaWxlQ29udGVudHM7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gbXV0YXRvci5tdXRhdGUoZmlsZUNvbnRlbnRzLCBtdXRhdGlvbiwgdGhpcyk7XHJcbiAgICB9XHJcbn1cclxuIl19
//# sourceMappingURL=mutatorFactory.js.map

@@ -0,0 +0,0 @@ import { IMutation } from "../mutation";

"use strict";
var __extends = (this && this.__extends) || function (d, b) {
for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
var __extends = (this && this.__extends) || (function () {
var extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
exports.__esModule = true;
var mutator_1 = require("../mutator");

@@ -11,3 +17,3 @@ /**

*/
var MultipleMutator = (function (_super) {
var MultipleMutator = /** @class */ (function (_super) {
__extends(MultipleMutator, _super);

@@ -34,3 +40,2 @@ function MultipleMutator() {

exports.MultipleMutator = MultipleMutator;
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tdXRhdG9ycy9tdWx0aXBsZU11dGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0Esc0NBQXFDO0FBa0JyQzs7R0FFRztBQUNIO0lBQXFDLG1DQUFPO0lBQTVDOztJQWVBLENBQUM7SUFkRzs7Ozs7O09BTUc7SUFDSSxnQ0FBTSxHQUFiLFVBQWMsWUFBb0IsRUFBRSxRQUE0QixFQUFFLGNBQStCO1FBQzdGLEdBQUcsQ0FBQyxDQUF3QixVQUFrQixFQUFsQixLQUFBLFFBQVEsQ0FBQyxTQUFTLEVBQWxCLGNBQWtCLEVBQWxCLElBQWtCO1lBQXpDLElBQU0sYUFBYSxTQUFBO1lBQ3BCLFlBQVksR0FBRyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxFQUFFLGFBQWEsQ0FBQyxDQUFDO1NBQy9FO1FBRUQsTUFBTSxDQUFDLFlBQVksQ0FBQztJQUN4QixDQUFDO0lBQ0wsc0JBQUM7QUFBRCxDQWZBLEFBZUMsQ0Fmb0MsaUJBQU8sR0FlM0M7QUFmWSwwQ0FBZSIsImZpbGUiOiJtdXRhdG9ycy9tdWx0aXBsZU11dGF0b3IuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJTXV0YXRpb24gfSBmcm9tIFwiLi4vbXV0YXRpb25cIjtcclxuaW1wb3J0IHsgTXV0YXRvciB9IGZyb20gXCIuLi9tdXRhdG9yXCI7XHJcbmltcG9ydCB7IElNdXRhdG9yRmFjdG9yeSB9IGZyb20gXCIuLi9tdXRhdG9yRmFjdG9yeVwiO1xyXG5cclxuLyoqXHJcbiAqIE11bHRpcGxlIG11dGF0aW9ucyB0byBiZSBhcHBsaWVkIHRvZ2V0aGVyLlxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBJTXVsdGlwbGVNdXRhdGlvbnMgZXh0ZW5kcyBJTXV0YXRpb24ge1xyXG4gICAgLyoqXHJcbiAgICAgKiBNdXRhdGlvbnMgdG8gYmUgYXBwbGllZCB0b2dldGhlci5cclxuICAgICAqL1xyXG4gICAgbXV0YXRpb25zOiBJTXV0YXRpb25bXTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFVuaXF1ZSB0eXBlIG5hbWUgaWRlbnRpZnlpbmcgbXVsdGlwbGUgbXV0YXRpb25zLlxyXG4gICAgICovXHJcbiAgICB0eXBlOiBcIm11bHRpcGxlXCI7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBBcHBsaWVzIG11bHRpcGxlIG11dGF0aW9ucyB0byBhIGZpbGUuXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgTXVsdGlwbGVNdXRhdG9yIGV4dGVuZHMgTXV0YXRvciB7XHJcbiAgICAvKipcclxuICAgICAqIEFwcGxpZXMgYSBtdXRhdGlvbi5cclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIGZpbGVDb250ZW50cyAgIEN1cnJlbnQgY29udGVudHMgb2YgdGhlIGZpbGUuXHJcbiAgICAgKiBAcGFyYW0gbXV0YXRpb24gICBNdXRhdGlvbiB0byBhcHBseS5cclxuICAgICAqIEByZXR1cm5zIEZpbGUgY29udGVudHMgYWZ0ZXIgYXBwbHlpbmcgdGhlIG11dGF0aW9uLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgbXV0YXRlKGZpbGVDb250ZW50czogc3RyaW5nLCBtdXRhdGlvbjogSU11bHRpcGxlTXV0YXRpb25zLCBtdXRhdG9yRmFjdG9yeTogSU11dGF0b3JGYWN0b3J5KTogc3RyaW5nIHtcclxuICAgICAgICBmb3IgKGNvbnN0IGNoaWxkTXV0YXRpb24gb2YgbXV0YXRpb24ubXV0YXRpb25zKSB7XHJcbiAgICAgICAgICAgIGZpbGVDb250ZW50cyA9IG11dGF0b3JGYWN0b3J5LmdlbmVyYXRlQW5kQXBwbHkoZmlsZUNvbnRlbnRzLCBjaGlsZE11dGF0aW9uKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBmaWxlQ29udGVudHM7XHJcbiAgICB9XHJcbn1cclxuIl19
//# sourceMappingURL=multipleMutator.js.map

@@ -0,0 +0,0 @@ import { IMutation } from "../mutation";

"use strict";
var __extends = (this && this.__extends) || function (d, b) {
for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
var __extends = (this && this.__extends) || (function () {
var extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
exports.__esModule = true;
var mutator_1 = require("../mutator");

@@ -11,3 +17,3 @@ /**

*/
var TextDeleteMutator = (function (_super) {
var TextDeleteMutator = /** @class */ (function (_super) {
__extends(TextDeleteMutator, _super);

@@ -27,3 +33,3 @@ function TextDeleteMutator() {

fileContents.substring(0, mutation.range.begin),
fileContents.substring(mutation.range.end || mutation.range.begin)
fileContents.substring(mutation.range.end || mutation.range.begin),
].join("");

@@ -34,3 +40,2 @@ };

exports.TextDeleteMutator = TextDeleteMutator;
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tdXRhdG9ycy90ZXh0RGVsZXRlTXV0YXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFDQSxzQ0FBcUM7QUFZckM7O0dBRUc7QUFDSDtJQUF1QyxxQ0FBTztJQUE5Qzs7SUFjQSxDQUFDO0lBYkc7Ozs7OztPQU1HO0lBQ0ksa0NBQU0sR0FBYixVQUFjLFlBQW9CLEVBQUUsUUFBNkI7UUFDN0QsTUFBTSxDQUFDO1lBQ0gsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUM7WUFDL0MsWUFBWSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxRQUFRLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztTQUNyRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNmLENBQUM7SUFDTCx3QkFBQztBQUFELENBZEEsQUFjQyxDQWRzQyxpQkFBTyxHQWM3QztBQWRZLDhDQUFpQiIsImZpbGUiOiJtdXRhdG9ycy90ZXh0RGVsZXRlTXV0YXRvci5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElNdXRhdGlvbiB9IGZyb20gXCIuLi9tdXRhdGlvblwiO1xyXG5pbXBvcnQgeyBNdXRhdG9yIH0gZnJvbSBcIi4uL211dGF0b3JcIjtcclxuXHJcbi8qKlxyXG4gKiBEZXNjcmlwdGlvbiBvZiBkZWxldGluZyBhIHBhcnQgb2YgYSBmaWxlLlxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBJVGV4dERlbGV0ZU11dGF0aW9uIGV4dGVuZHMgSU11dGF0aW9uIHtcclxuICAgIC8qKlxyXG4gICAgICogVW5pcXVlIHR5cGUgbmFtZSBpZGVudGlmeWluZyB0ZXh0IGRlbGV0ZSBtdXRhdGlvbnMuXHJcbiAgICAgKi9cclxuICAgIHR5cGU6IFwidGV4dC1kZWxldGVcIjtcclxufVxyXG5cclxuLyoqXHJcbiAqIEFwcGxpZXMgdGV4dCBkZWxldGlvbiBtdXRhdGlvbnMgdG8gYSBmaWxlLlxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIFRleHREZWxldGVNdXRhdG9yIGV4dGVuZHMgTXV0YXRvciB7XHJcbiAgICAvKipcclxuICAgICAqIEFwcGxpZXMgYSBtdXRhdGlvbi5cclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIGZpbGVDb250ZW50cyAgIEN1cnJlbnQgY29udGVudHMgb2YgdGhlIGZpbGUuXHJcbiAgICAgKiBAcGFyYW0gbXV0YXRpb24gICBNdXRhdGlvbiB0byBhcHBseS5cclxuICAgICAqIEByZXR1cm5zIEZpbGUgY29udGVudHMgYWZ0ZXIgYXBwbHlpbmcgdGhlIG11dGF0aW9uLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgbXV0YXRlKGZpbGVDb250ZW50czogc3RyaW5nLCBtdXRhdGlvbjogSVRleHREZWxldGVNdXRhdGlvbik6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIFtcclxuICAgICAgICAgICAgZmlsZUNvbnRlbnRzLnN1YnN0cmluZygwLCBtdXRhdGlvbi5yYW5nZS5iZWdpbiksXHJcbiAgICAgICAgICAgIGZpbGVDb250ZW50cy5zdWJzdHJpbmcobXV0YXRpb24ucmFuZ2UuZW5kIHx8IG11dGF0aW9uLnJhbmdlLmJlZ2luKVxyXG4gICAgICAgIF0uam9pbihcIlwiKTtcclxuICAgIH1cclxufVxyXG4iXX0=
//# sourceMappingURL=textDeleteMutator.js.map

@@ -0,0 +0,0 @@ import { IMutation } from "../mutation";

"use strict";
var __extends = (this && this.__extends) || function (d, b) {
for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
var __extends = (this && this.__extends) || (function () {
var extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
exports.__esModule = true;
var mutator_1 = require("../mutator");

@@ -11,3 +17,3 @@ /**

*/
var TextInsertMutator = (function (_super) {
var TextInsertMutator = /** @class */ (function (_super) {
__extends(TextInsertMutator, _super);

@@ -28,3 +34,3 @@ function TextInsertMutator() {

mutation.insertion,
fileContents.substring(mutation.range.begin)
fileContents.substring(mutation.range.begin),
].join("");

@@ -35,3 +41,2 @@ };

exports.TextInsertMutator = TextInsertMutator;
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tdXRhdG9ycy90ZXh0SW5zZXJ0TXV0YXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFDQSxzQ0FBcUM7QUFpQnJDOztHQUVHO0FBQ0g7SUFBdUMscUNBQU87SUFBOUM7O0lBZUEsQ0FBQztJQWRHOzs7Ozs7T0FNRztJQUNJLGtDQUFNLEdBQWIsVUFBYyxZQUFvQixFQUFFLFFBQTZCO1FBQzdELE1BQU0sQ0FBQztZQUNILFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDO1lBQy9DLFFBQVEsQ0FBQyxTQUFTO1lBQ2xCLFlBQVksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUM7U0FDL0MsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDZixDQUFDO0lBQ0wsd0JBQUM7QUFBRCxDQWZBLEFBZUMsQ0Fmc0MsaUJBQU8sR0FlN0M7QUFmWSw4Q0FBaUIiLCJmaWxlIjoibXV0YXRvcnMvdGV4dEluc2VydE11dGF0b3IuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJTXV0YXRpb24gfSBmcm9tIFwiLi4vbXV0YXRpb25cIjtcclxuaW1wb3J0IHsgTXV0YXRvciB9IGZyb20gXCIuLi9tdXRhdG9yXCI7XHJcblxyXG4vKipcclxuICogRGVzY3JpcHRpb24gb2YgaW5zZXJ0aW5nIHRleHQgaW50byBhIGZpbGUuXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIElUZXh0SW5zZXJ0TXV0YXRpb24gZXh0ZW5kcyBJTXV0YXRpb24ge1xyXG4gICAgLyoqXHJcbiAgICAgKiBUZXh0IHRvIGJlIGluc2VydGVkLlxyXG4gICAgICovXHJcbiAgICBpbnNlcnRpb246IHN0cmluZztcclxuXHJcbiAgICAvKipcclxuICAgICAqIFVuaXF1ZSB0eXBlIG5hbWUgaWRlbnRpZnlpbmcgdGV4dCBpbnNlcnQgbXV0YXRpb25zLlxyXG4gICAgICovXHJcbiAgICB0eXBlOiBcInRleHQtaW5zZXJ0XCI7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBBcHBsaWVzIHRleHQgaW5zZXJ0aW9uIG11dGF0aW9ucyB0byBhIGZpbGUuXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgVGV4dEluc2VydE11dGF0b3IgZXh0ZW5kcyBNdXRhdG9yIHtcclxuICAgIC8qKlxyXG4gICAgICogQXBwbGllcyBhIG11dGF0aW9uLlxyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0gZmlsZUNvbnRlbnRzICAgQ3VycmVudCBjb250ZW50cyBvZiB0aGUgZmlsZS5cclxuICAgICAqIEBwYXJhbSBtdXRhdGlvbiAgIE11dGF0aW9uIHRvIGFwcGx5LlxyXG4gICAgICogQHJldHVybnMgRmlsZSBjb250ZW50cyBhZnRlciBhcHBseWluZyB0aGUgbXV0YXRpb24uXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBtdXRhdGUoZmlsZUNvbnRlbnRzOiBzdHJpbmcsIG11dGF0aW9uOiBJVGV4dEluc2VydE11dGF0aW9uKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gW1xyXG4gICAgICAgICAgICBmaWxlQ29udGVudHMuc3Vic3RyaW5nKDAsIG11dGF0aW9uLnJhbmdlLmJlZ2luKSxcclxuICAgICAgICAgICAgbXV0YXRpb24uaW5zZXJ0aW9uLFxyXG4gICAgICAgICAgICBmaWxlQ29udGVudHMuc3Vic3RyaW5nKG11dGF0aW9uLnJhbmdlLmJlZ2luKVxyXG4gICAgICAgIF0uam9pbihcIlwiKTtcclxuICAgIH1cclxufVxyXG4iXX0=
//# sourceMappingURL=textInsertMutator.js.map

@@ -0,0 +0,0 @@ import { IMutation } from "../mutation";

"use strict";
var __extends = (this && this.__extends) || function (d, b) {
for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
var __extends = (this && this.__extends) || (function () {
var extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
exports.__esModule = true;
var mutator_1 = require("../mutator");

@@ -11,3 +17,3 @@ /**

*/
var TextReplaceMutator = (function (_super) {
var TextReplaceMutator = /** @class */ (function (_super) {
__extends(TextReplaceMutator, _super);

@@ -30,3 +36,2 @@ function TextReplaceMutator() {

exports.TextReplaceMutator = TextReplaceMutator;
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tdXRhdG9ycy90ZXh0UmVwbGFjZU11dGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0Esc0NBQXFDO0FBc0JyQzs7R0FFRztBQUNIO0lBQXdDLHNDQUFPO0lBQS9DOztJQVdBLENBQUM7SUFWRzs7Ozs7O09BTUc7SUFDSSxtQ0FBTSxHQUFiLFVBQWMsWUFBb0IsRUFBRSxRQUE4QjtRQUM5RCxNQUFNLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNwRixDQUFDO0lBQ0wseUJBQUM7QUFBRCxDQVhBLEFBV0MsQ0FYdUMsaUJBQU8sR0FXOUM7QUFYWSxnREFBa0IiLCJmaWxlIjoibXV0YXRvcnMvdGV4dFJlcGxhY2VNdXRhdG9yLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSU11dGF0aW9uIH0gZnJvbSBcIi4uL211dGF0aW9uXCI7XHJcbmltcG9ydCB7IE11dGF0b3IgfSBmcm9tIFwiLi4vbXV0YXRvclwiO1xyXG5cclxuLyoqXHJcbiAqIERlc2NyaXB0aW9uIG9mIHJlcGxhY2luZyB0ZXh0IHN1YnN0cmluZ3MgaW4gYSBmaWxlLlxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBJVGV4dFJlcGxhY2VNdXRhdGlvbiBleHRlbmRzIElNdXRhdGlvbiB7XHJcbiAgICAvKipcclxuICAgICAqIFN0cmluZyB0byBiZSBpbnNlcnRlZC5cclxuICAgICAqL1xyXG4gICAgcmVwbGFjZTogc3RyaW5nO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogU3RyaW5nIHRvIGJlIHJlbW92ZWQuXHJcbiAgICAgKi9cclxuICAgIHNlYXJjaDogc3RyaW5nO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVW5pcXVlIHR5cGUgbmFtZSBpZGVudGlmeWluZyB0ZXh0IHJlcGxhY2UgbXV0YXRpb25zLlxyXG4gICAgICovXHJcbiAgICB0eXBlOiBcInRleHQtcmVwbGFjZVwiO1xyXG59XHJcblxyXG4vKipcclxuICogQXBwbGllcyB0ZXh0IHJlcGxhY2UgbXV0YXRpb25zIHRvIGEgZmlsZS5cclxuICovXHJcbmV4cG9ydCBjbGFzcyBUZXh0UmVwbGFjZU11dGF0b3IgZXh0ZW5kcyBNdXRhdG9yIHtcclxuICAgIC8qKlxyXG4gICAgICogQXBwbGllcyBhIG11dGF0aW9uLlxyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0gZmlsZUNvbnRlbnRzICAgQ3VycmVudCBjb250ZW50cyBvZiB0aGUgZmlsZS5cclxuICAgICAqIEBwYXJhbSBtdXRhdGlvbiAgIE11dGF0aW9uIHRvIGFwcGx5LlxyXG4gICAgICogQHJldHVybnMgRmlsZSBjb250ZW50cyBhZnRlciBhcHBseWluZyB0aGUgbXV0YXRpb24uXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBtdXRhdGUoZmlsZUNvbnRlbnRzOiBzdHJpbmcsIG11dGF0aW9uOiBJVGV4dFJlcGxhY2VNdXRhdGlvbik6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIGZpbGVDb250ZW50cy5yZXBsYWNlKG5ldyBSZWdFeHAobXV0YXRpb24uc2VhcmNoLCBcImdcIiksIG11dGF0aW9uLnJlcGxhY2UpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
//# sourceMappingURL=textReplaceMutator.js.map

@@ -0,0 +0,0 @@ import { IMutation } from "../mutation";

"use strict";
var __extends = (this && this.__extends) || function (d, b) {
for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
var __extends = (this && this.__extends) || (function () {
var extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
exports.__esModule = true;
var mutator_1 = require("../mutator");

@@ -11,3 +17,3 @@ /**

*/
var TextSwapMutator = (function (_super) {
var TextSwapMutator = /** @class */ (function (_super) {
__extends(TextSwapMutator, _super);

@@ -28,3 +34,3 @@ function TextSwapMutator() {

mutation.insertion,
fileContents.substring(mutation.range.end || mutation.range.begin)
fileContents.substring(mutation.range.end || mutation.range.begin),
].join("");

@@ -35,3 +41,2 @@ };

exports.TextSwapMutator = TextSwapMutator;
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tdXRhdG9ycy90ZXh0U3dhcE11dGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0Esc0NBQXFDO0FBaUJyQzs7R0FFRztBQUNIO0lBQXFDLG1DQUFPO0lBQTVDOztJQWVBLENBQUM7SUFkRzs7Ozs7O09BTUc7SUFDSSxnQ0FBTSxHQUFiLFVBQWMsWUFBb0IsRUFBRSxRQUEyQjtRQUMzRCxNQUFNLENBQUM7WUFDSCxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxRQUFRLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztZQUMvQyxRQUFRLENBQUMsU0FBUztZQUNsQixZQUFZLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLFFBQVEsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDO1NBQ3JFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2YsQ0FBQztJQUNMLHNCQUFDO0FBQUQsQ0FmQSxBQWVDLENBZm9DLGlCQUFPLEdBZTNDO0FBZlksMENBQWUiLCJmaWxlIjoibXV0YXRvcnMvdGV4dFN3YXBNdXRhdG9yLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSU11dGF0aW9uIH0gZnJvbSBcIi4uL211dGF0aW9uXCI7XHJcbmltcG9ydCB7IE11dGF0b3IgfSBmcm9tIFwiLi4vbXV0YXRvclwiO1xyXG5cclxuLyoqXHJcbiAqIERlc2NyaXB0aW9uIG9mIHN3YXBwaW5nIHRleHQgc2VjdGlvbnMgaW4gYSBmaWxlLlxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBJVGV4dFN3YXBNdXRhdGlvbiBleHRlbmRzIElNdXRhdGlvbiB7XHJcbiAgICAvKipcclxuICAgICAqIFRleHQgdG8gYmUgaW5zZXJ0ZWQuXHJcbiAgICAgKi9cclxuICAgIGluc2VydGlvbjogc3RyaW5nO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVW5pcXVlIHR5cGUgbmFtZSBpZGVudGlmeWluZyB0ZXh0IHN3YXAgbXV0YXRpb25zLlxyXG4gICAgICovXHJcbiAgICB0eXBlOiBcInRleHQtc3dhcFwiO1xyXG59XHJcblxyXG4vKipcclxuICogQXBwbGllcyB0ZXh0IHN3YXAgbXV0YXRpb25zIHRvIGEgZmlsZS5cclxuICovXHJcbmV4cG9ydCBjbGFzcyBUZXh0U3dhcE11dGF0b3IgZXh0ZW5kcyBNdXRhdG9yIHtcclxuICAgIC8qKlxyXG4gICAgICogQXBwbGllcyBhIG11dGF0aW9uLlxyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0gZmlsZUNvbnRlbnRzICAgQ3VycmVudCBjb250ZW50cyBvZiB0aGUgZmlsZS5cclxuICAgICAqIEBwYXJhbSBtdXRhdGlvbiAgIE11dGF0aW9uIHRvIGFwcGx5LlxyXG4gICAgICogQHJldHVybnMgRmlsZSBjb250ZW50cyBhZnRlciBhcHBseWluZyB0aGUgbXV0YXRpb24uXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBtdXRhdGUoZmlsZUNvbnRlbnRzOiBzdHJpbmcsIG11dGF0aW9uOiBJVGV4dFN3YXBNdXRhdGlvbik6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIFtcclxuICAgICAgICAgICAgZmlsZUNvbnRlbnRzLnN1YnN0cmluZygwLCBtdXRhdGlvbi5yYW5nZS5iZWdpbiksXHJcbiAgICAgICAgICAgIG11dGF0aW9uLmluc2VydGlvbixcclxuICAgICAgICAgICAgZmlsZUNvbnRlbnRzLnN1YnN0cmluZyhtdXRhdGlvbi5yYW5nZS5lbmQgfHwgbXV0YXRpb24ucmFuZ2UuYmVnaW4pXHJcbiAgICAgICAgXS5qb2luKFwiXCIpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
//# sourceMappingURL=textSwapMutator.js.map

@@ -21,4 +21,6 @@ import { Mutator } from "./mutator";

* Initializes a new instance of the TMutator class.
*
* @param originalFileContents Original contents of the file.
*/
new (): TMutator;
new (originalFileContents: string): TMutator;
}

@@ -25,0 +27,0 @@ /**

"use strict";
exports.__esModule = true;
var fs = require("fs");

@@ -12,3 +13,3 @@ var path = require("path");

*/
var MutatorSearcher = (function () {
var MutatorSearcher = /** @class */ (function () {
/**

@@ -35,4 +36,5 @@ * Initializes a new instance of the MutatorSearcher class.

var directory = _a[_i];
var joinedPath = path.join(directory, camelCaseName + mutatorClassSuffix + ".js");
var joinedPath = path.join(directory, "" + camelCaseName + mutatorClassSuffix + ".js");
if (fs.existsSync(joinedPath)) {
// tslint:disable-next-line no-require-imports no-unsafe-any
return require(joinedPath)[this.nameTransformer.toPascalCase(name) + mutatorClassSuffix];

@@ -46,3 +48,2 @@ }

exports.MutatorSearcher = MutatorSearcher;
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tdXRhdG9yU2VhcmNoZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLHVCQUF5QjtBQUN6QiwyQkFBNkI7QUFHN0IscURBQW9EO0FBRXBEOztHQUVHO0FBQ0gsSUFBTSxrQkFBa0IsR0FBVyxTQUFTLENBQUM7QUF5QjdDOztHQUVHO0FBQ0g7SUFXSTs7Ozs7T0FLRztJQUNILHlCQUFtQixXQUFxQixFQUFFLGVBQXdEO1FBQXhELGdDQUFBLEVBQUEsc0JBQXVDLGlDQUFlLEVBQUU7UUFDOUYsSUFBSSxDQUFDLGVBQWUsR0FBRyxlQUFlLENBQUM7UUFDdkMsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7SUFDbkMsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksZ0NBQU0sR0FBYixVQUF3QyxJQUFZO1FBQ2hELElBQU0sYUFBYSxHQUFXLElBQUksQ0FBQyxlQUFlLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXJFLEdBQUcsQ0FBQyxDQUFvQixVQUFnQixFQUFoQixLQUFBLElBQUksQ0FBQyxXQUFXLEVBQWhCLGNBQWdCLEVBQWhCLElBQWdCO1lBQW5DLElBQU0sU0FBUyxTQUFBO1lBQ2hCLElBQU0sVUFBVSxHQUFXLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLGFBQWEsR0FBRyxrQkFBa0IsR0FBRyxLQUFLLENBQUMsQ0FBQztZQUU1RixFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDNUIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsR0FBRyxrQkFBa0IsQ0FBQyxDQUFDO1lBQzdGLENBQUM7U0FDSjtRQUVELE1BQU0sQ0FBQyxTQUFTLENBQUM7SUFDckIsQ0FBQztJQUNMLHNCQUFDO0FBQUQsQ0F6Q0EsQUF5Q0MsSUFBQTtBQXpDWSwwQ0FBZSIsImZpbGUiOiJtdXRhdG9yU2VhcmNoZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBmcyBmcm9tIFwiZnNcIjtcclxuaW1wb3J0ICogYXMgcGF0aCBmcm9tIFwicGF0aFwiO1xyXG5cclxuaW1wb3J0IHsgTXV0YXRvciB9IGZyb20gXCIuL211dGF0b3JcIjtcclxuaW1wb3J0IHsgTmFtZVRyYW5zZm9ybWVyIH0gZnJvbSBcIi4vbmFtZVRyYW5zZm9ybWVyXCI7XHJcblxyXG4vKipcclxuICogU3VmZml4IGFwcGVuZGVkIHRvIGFsbCBtdXRhdG9yIGNsYXNzZXMuXHJcbiAqL1xyXG5jb25zdCBtdXRhdG9yQ2xhc3NTdWZmaXg6IHN0cmluZyA9IFwiTXV0YXRvclwiO1xyXG5cclxuLyoqXHJcbiAqIFNlYXJjaGVzIGZvciBtdXRhdG9yIGNsYXNzZXMuXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIElNdXRhdG9yU2VhcmNoZXIge1xyXG4gICAgLyoqXHJcbiAgICAgKiBTZWFyY2hlcyBmb3IgYSBtdXRhdG9yIHN1Yi1jbGFzcyB3aXRoaW4gdGhlIGRpcmVjdG9yaWVzLlxyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0gbmFtZSAgIERhc2hlZC1jYXNlIG5hbWUgb2YgdGhlIG11dGF0b3Igc3ViLWNsYXNzLlxyXG4gICAgICogQHJldHVybnMgVGhlIG11dGF0b3Igc3ViLWNsYXNzLCBpZiBpdCBjYW4gYmUgZm91bmQuXHJcbiAgICAgKi9cclxuICAgIHNlYXJjaDxUTXV0YXRvciBleHRlbmRzIE11dGF0b3I+KG5hbWU6IHN0cmluZyk6IElNdXRhdG9yQ2xhc3M8VE11dGF0b3I+IHwgdW5kZWZpbmVkO1xyXG59XHJcblxyXG4vKipcclxuICogSW1wbGVtZW50YXRpb24gb2YgdGhlIElNdXRhdG9yIGludGVyZmFjZS5cclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgSU11dGF0b3JDbGFzczxUTXV0YXRvciBleHRlbmRzIE11dGF0b3I+IHtcclxuICAgIC8qKlxyXG4gICAgICogSW5pdGlhbGl6ZXMgYSBuZXcgaW5zdGFuY2Ugb2YgdGhlIFRNdXRhdG9yIGNsYXNzLlxyXG4gICAgICovXHJcbiAgICBuZXcoKTogVE11dGF0b3I7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBTZWFyY2hlcyBmb3IgbXV0YXRvciBjbGFzc2VzLlxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIE11dGF0b3JTZWFyY2hlciBpbXBsZW1lbnRzIElNdXRhdG9yU2VhcmNoZXIge1xyXG4gICAgLyoqXHJcbiAgICAgKiBEaXJlY3RvcmllcyB0byBzZWFyY2ggd2l0aGluLlxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRpcmVjdG9yaWVzOiBzdHJpbmdbXTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFRyYW5zZm9ybXMgZGFzaGVkLWNhc2UgbmFtZXMgdG8gY2FtZWxDYXNlLlxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5hbWVUcmFuc2Zvcm1lcjogTmFtZVRyYW5zZm9ybWVyO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW5pdGlhbGl6ZXMgYSBuZXcgaW5zdGFuY2Ugb2YgdGhlIE11dGF0b3JTZWFyY2hlciBjbGFzcy5cclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIG5hbWVUcmFuc2Zvcm1lciAgVHJhbnNmb3JtcyBkYXNoZWQtY2FzZSBuYW1lcyB0byBjYW1lbENhc2UuXHJcbiAgICAgKiBAcGFyYW0gZGlyZWN0b3JpZXMgICBEaXJlY3RvcmllcyB0byBzZWFyY2ggd2l0aGluLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgY29uc3RydWN0b3IoZGlyZWN0b3JpZXM6IHN0cmluZ1tdLCBuYW1lVHJhbnNmb3JtZXI6IE5hbWVUcmFuc2Zvcm1lciA9IG5ldyBOYW1lVHJhbnNmb3JtZXIoKSkge1xyXG4gICAgICAgIHRoaXMubmFtZVRyYW5zZm9ybWVyID0gbmFtZVRyYW5zZm9ybWVyO1xyXG4gICAgICAgIHRoaXMuZGlyZWN0b3JpZXMgPSBkaXJlY3RvcmllcztcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFNlYXJjaGVzIGZvciBhIG11dGF0b3Igc3ViLWNsYXNzIHdpdGhpbiB0aGUgZGlyZWN0b3JpZXMuXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSBuYW1lICAgRGFzaGVkLWNhc2UgbmFtZSBvZiB0aGUgbXV0YXRvciBzdWItY2xhc3MuXHJcbiAgICAgKiBAcmV0dXJucyBUaGUgbXV0YXRvciBzdWItY2xhc3MsIGlmIGl0IGNhbiBiZSBmb3VuZC5cclxuICAgICAqL1xyXG4gICAgcHVibGljIHNlYXJjaDxUTXV0YXRvciBleHRlbmRzIE11dGF0b3I+KG5hbWU6IHN0cmluZyk6IElNdXRhdG9yQ2xhc3M8VE11dGF0b3I+IHwgdW5kZWZpbmVkIHtcclxuICAgICAgICBjb25zdCBjYW1lbENhc2VOYW1lOiBzdHJpbmcgPSB0aGlzLm5hbWVUcmFuc2Zvcm1lci50b0NhbWVsQ2FzZShuYW1lKTtcclxuXHJcbiAgICAgICAgZm9yIChjb25zdCBkaXJlY3Rvcnkgb2YgdGhpcy5kaXJlY3Rvcmllcykge1xyXG4gICAgICAgICAgICBjb25zdCBqb2luZWRQYXRoOiBzdHJpbmcgPSBwYXRoLmpvaW4oZGlyZWN0b3J5LCBjYW1lbENhc2VOYW1lICsgbXV0YXRvckNsYXNzU3VmZml4ICsgXCIuanNcIik7XHJcblxyXG4gICAgICAgICAgICBpZiAoZnMuZXhpc3RzU3luYyhqb2luZWRQYXRoKSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHJlcXVpcmUoam9pbmVkUGF0aClbdGhpcy5uYW1lVHJhbnNmb3JtZXIudG9QYXNjYWxDYXNlKG5hbWUpICsgbXV0YXRvckNsYXNzU3VmZml4XTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgIH1cclxufVxyXG4iXX0=
//# sourceMappingURL=mutatorSearcher.js.map

@@ -0,0 +0,0 @@ /**

"use strict";
exports.__esModule = true;
/**
* Transforms dashed-case names to cases.
*/
var NameTransformer = (function () {
var NameTransformer = /** @class */ (function () {
function NameTransformer() {

@@ -39,3 +40,2 @@ }

exports.NameTransformer = NameTransformer;
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9uYW1lVHJhbnNmb3JtZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQXFCQTs7R0FFRztBQUNIO0lBQUE7SUErQkEsQ0FBQztJQTlCRzs7Ozs7T0FLRztJQUNJLHFDQUFXLEdBQWxCLFVBQW1CLElBQVk7UUFDM0IsSUFBTSxLQUFLLEdBQWEsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUV4QyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxHQUFHLEtBQUs7YUFDaEMsS0FBSyxDQUFDLENBQUMsQ0FBQzthQUNSLEdBQUcsQ0FBQyxVQUFDLElBQVk7WUFDZCxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNoRixDQUFDLENBQUM7YUFDRCxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksc0NBQVksR0FBbkIsVUFBb0IsSUFBWTtRQUM1QixNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUM7YUFDakIsR0FBRyxDQUFDLFVBQUMsSUFBWTtZQUNkLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ2hGLENBQUMsQ0FBQzthQUNELElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBQ0wsc0JBQUM7QUFBRCxDQS9CQSxBQStCQyxJQUFBO0FBL0JZLDBDQUFlIiwiZmlsZSI6Im5hbWVUcmFuc2Zvcm1lci5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBUcmFuc2Zvcm1zIGRhc2hlZC1jYXNlIG5hbWVzIHRvIGNhc2VzLlxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBJTmFtZVRyYW5zZm9ybWVyIHtcclxuICAgIC8qKlxyXG4gICAgICogVHJhbnNmb3JtcyBhIGRhc2hlZC1jYXNlIG5hbWUgdG8gY2FtZWxDYXNlLlxyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0gbmFtZSAgIEEgZGFzaGVkLWNhc2UgbmFtZS5cclxuICAgICAqIEByZXR1cm5zIFRoZSBuYW1lIGFzIGNhbWVsQ2FzZS5cclxuICAgICAqL1xyXG4gICAgdG9DYW1lbENhc2UobmFtZTogc3RyaW5nKTogc3RyaW5nO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVHJhbnNmb3JtcyBhIGRhc2hlZC1jYXNlIG5hbWUgdG8gUGFtZWxDYXNlLlxyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0gbmFtZSAgIEEgZGFzaGVkLWNhc2UgbmFtZS5cclxuICAgICAqIEByZXR1cm5zIFRoZSBuYW1lIGFzIFBhc2NhbENhc2UuXHJcbiAgICAgKi9cclxuICAgIHRvUGFzY2FsQ2FzZShuYW1lOiBzdHJpbmcpOiBzdHJpbmc7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBUcmFuc2Zvcm1zIGRhc2hlZC1jYXNlIG5hbWVzIHRvIGNhc2VzLlxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIE5hbWVUcmFuc2Zvcm1lciBpbXBsZW1lbnRzIElOYW1lVHJhbnNmb3JtZXIge1xyXG4gICAgLyoqXHJcbiAgICAgKiBUcmFuc2Zvcm1zIGEgZGFzaGVkLWNhc2UgbmFtZSB0byBjYW1lbENhc2UuXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSBuYW1lICAgQSBkYXNoZWQtY2FzZSBuYW1lLlxyXG4gICAgICogQHJldHVybnMgVGhlIG5hbWUgYXMgY2FtZWxDYXNlLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgdG9DYW1lbENhc2UobmFtZTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgICAgICBjb25zdCBzcGxpdDogc3RyaW5nW10gPSBuYW1lLnNwbGl0KFwiLVwiKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHNwbGl0WzBdLnRvTG93ZXJDYXNlKCkgKyBzcGxpdFxyXG4gICAgICAgICAgICAuc2xpY2UoMSlcclxuICAgICAgICAgICAgLm1hcCgocGFydDogc3RyaW5nKTogc3RyaW5nID0+IHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBwYXJ0LnN1YnN0cmluZygwLCAxKS50b1VwcGVyQ2FzZSgpICsgcGFydC5zdWJzdHJpbmcoMSkudG9Mb3dlckNhc2UoKTtcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgLmpvaW4oXCJcIik7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUcmFuc2Zvcm1zIGEgZGFzaGVkLWNhc2UgbmFtZSB0byBQYW1lbENhc2UuXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSBuYW1lICAgQSBkYXNoZWQtY2FzZSBuYW1lLlxyXG4gICAgICogQHJldHVybnMgVGhlIG5hbWUgYXMgUGFzY2FsQ2FzZS5cclxuICAgICAqL1xyXG4gICAgcHVibGljIHRvUGFzY2FsQ2FzZShuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiBuYW1lLnNwbGl0KFwiLVwiKVxyXG4gICAgICAgICAgICAubWFwKChwYXJ0OiBzdHJpbmcpOiBzdHJpbmcgPT4ge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHBhcnQuc3Vic3RyaW5nKDAsIDEpLnRvVXBwZXJDYXNlKCkgKyBwYXJ0LnN1YnN0cmluZygxKS50b0xvd2VyQ2FzZSgpO1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAuam9pbihcIlwiKTtcclxuICAgIH1cclxufVxyXG4iXX0=
//# sourceMappingURL=nameTransformer.js.map
{
"name": "automutate",
"version": "0.5.1",
"version": "0.5.2",
"description": "Applies waves of mutations provided by other tools, such as linters.",
"index": "lib/index.js",
"types": "lib/idnex.d.ts",
"directories": {

@@ -10,29 +11,22 @@ "test": "test"

"devDependencies": {
"@types/chai": "^3.4.35",
"@types/es6-promise": "0.0.32",
"@types/glob": "^5.0.30",
"@types/glob-stream": "^3.1.30",
"@types/minimatch": "^2.0.29",
"@types/mocha": "^2.2.39",
"@types/sinon": "^1.16.35",
"@types/through2": "^2.0.32",
"@types/vinyl": "^2.0.0",
"chai": "^3.5.0",
"del": "^2.2.2",
"gulp": "^3.9.1",
"gulp-mocha": "^3.0.1",
"gulp-sourcemaps": "^2.4.1",
"gulp-tslint": "^7.1.0",
"gulp-typescript": "^3.1.5",
"merge2": "^1.0.3",
"mocha": "^3.2.0",
"run-sequence": "^1.2.2",
"sinon": "^1.17.7",
"tslint": "^4.4.2",
"tslint-eslint-rules": "^3.4.0",
"tslint-microsoft-contrib": "^4.0.0",
"typescript": "^2.1.6"
"@types/chai": "^4.1.2",
"@types/minimatch": "^3.0.3",
"@types/mocha": "^5.0.0",
"@types/sinon": "^4.3.0",
"@types/through2": "^2.0.33",
"chai": "^4.1.2",
"del": "^3.0.0",
"mocha": "^5.0.5",
"sinon": "^4.4.8",
"tslint": "^5.9.1",
"typescript": "^2.7.2"
},
"scripts": {
"test": "gulp test"
"src": "npm run src:tsc && npm run src:tslint",
"src:tsc": "tsc -p .",
"src:tslint": "tslint -c tslint.json -p tsconfig.json -t stylish",
"test": "npm run test:tsc && npm run test:run",
"test:tsc": "tsc -p test",
"test:run": "mocha test/**/*.js",
"verify": "npm run src && npm run test"
},

@@ -59,7 +53,3 @@ "repository": {

},
"homepage": "https://github.com/automutate/automutate#readme",
"dependencies": {
"gulp-typescript": "^3.1.5",
"typescript": "^2.1.6"
}
"homepage": "https://github.com/automutate/automutate#readme"
}

@@ -25,3 +25,3 @@ # automutate

```python
```swift
while mutationsWave = getMutationsWave():

@@ -83,2 +83,2 @@ for (file, fileMutations) of groupMutationsByFile(mutationsWave):

`automutate` requires NodeJS >= 5.
`automutate` requires NodeJS >= 4.

@@ -12,2 +12,7 @@ import { ILogger } from "./logger";

/**
* Generates output messages for significant operations.
*/
logger?: ILogger;
/**
* Applies individual waves of file mutations.

@@ -21,7 +26,2 @@ */

mutationsProvider: IMutationsProvider;
/**
* Generates output messages for significant operations.
*/
logger?: ILogger;
}

@@ -35,3 +35,3 @@

* Runs waves of file mutations.
*
*
* @returns A Promise for the waves completing.

@@ -47,2 +47,7 @@ */

/**
* Generates output messages for significant operations.
*/
private readonly logger: ILogger;
/**
* Applies individual waves of file mutations.

@@ -58,15 +63,10 @@ */

/**
* Generates output messages for significant operations.
*/
private readonly logger: ILogger;
/**
* Initializes a new instance of the AutoMutator class.
*
*
* @param settings Settings to be used for initialization.
*/
constructor(settings: IAutoMutatorSettings) {
public constructor(settings: IAutoMutatorSettings) {
this.logger = settings.logger || new ConsoleLogger();
this.mutationsApplier = settings.mutationsApplier || new FileMutationsApplier({
logger: this.logger
logger: this.logger,
});

@@ -78,3 +78,3 @@ this.mutationsProvider = settings.mutationsProvider;

* Runs waves of file mutations.
*
*
* @returns A Promise for the waves completing.

@@ -84,2 +84,3 @@ */

while (true) {
// tslint:disable:no-console
const mutationsWave: IMutationsWave = await this.mutationsProvider.provide();

@@ -86,0 +87,0 @@ if (!mutationsWave.fileMutations) {

@@ -7,3 +7,3 @@ /**

* Reads from the file.
*
*
* @returns A Promise for the contents of the file.

@@ -15,3 +15,3 @@ */

* Writes to the file.
*
*
* @param contents New contents of the file.

@@ -18,0 +18,0 @@ * @returns A Promise for writing to the file.

@@ -12,3 +12,3 @@ import { IFileProvider } from "./fileProvider";

* Creates new file providers for files.
*
*
* @param fileName Name of the file.

@@ -27,3 +27,3 @@ * @returns A file provider for the file.

* Retrieves the file provider for a file.
*
*
* @param fileName Name of the file.

@@ -51,3 +51,3 @@ * @returns The file provider for the file.

* Initializes a new instance of the FileProviderFactory class.
*
*
* @param createFileProvider Creates new file providers for files.

@@ -61,3 +61,3 @@ */

* Retrieves the file provider for a file.
*
*
* @param fileName Name of the file.

@@ -73,2 +73,2 @@ * @returns The file provider for the file.

}
}
}

@@ -16,3 +16,3 @@ import * as fs from "fs";

* Initializes a new instance of the LocalFileProvider class.
*
*
* @param fileName Name of the file.

@@ -27,9 +27,11 @@ * @param fileSettings Settings for manipulating local files.

* Reads from the file.
*
*
* @returns A Promise for the contents of the file.
*/
public read(): Promise<string> {
return new Promise((resolve, reject): void => {
public async read(): Promise<string> {
return await new Promise<string>((resolve, reject): void => {
fs.readFile(this.fileName, (error: Error, data: Buffer): void => {
error ? reject(error) : resolve(data.toString());
error
? reject(error)
: resolve(data.toString());
});

@@ -41,3 +43,3 @@ });

* Writes to the file.
*
*
* @param contents New contents of the file.

@@ -47,5 +49,7 @@ * @returns A Promise for writing to the file.

public async write(contents: string): Promise<void> {
await new Promise((resolve, reject): void => {
await new Promise<void>((resolve, reject): void => {
fs.writeFile(this.fileName, contents, (error: Error): void => {
error ? reject(error) : resolve();
error
? reject(error)
: resolve();
});

@@ -52,0 +56,0 @@ });

@@ -14,3 +14,3 @@ import { IFileProvider } from "../fileProvider";

* Initializes a new instance of the StubFileProvider class.
*
*
* @param contents Initial contents of the file.

@@ -24,7 +24,7 @@ */

* Reads from the file.
*
*
* @returns A Promise for the contents of the file.
*/
public read(): Promise<string> {
return Promise.resolve(this.contents);
public async read(): Promise<string> {
return this.contents;
}

@@ -34,10 +34,9 @@

* Writes to the file.
*
*
* @param contents New contents of the file.
* @returns A Promise for writing to the file.
*/
public write(contents: string): Promise<void> {
public async write(contents: string): Promise<void> {
this.contents = contents;
return Promise.resolve<void>();
}
}

@@ -22,3 +22,3 @@ import { IMutation } from "./mutation";

* Logs that a mutation was applied.
*
*
* @param fileName Name of the file to be mutated.

@@ -31,3 +31,3 @@ * @param mutation The requesting mutation.

* Logs that an unknown mutator was requested.
*
*
* @param mutation The requesting mutation of unknown type.

@@ -39,3 +39,3 @@ */

* Logs that a muations wave is about to start.
*
*
* @param mutationsWave A wave of file mutations.

@@ -47,3 +47,3 @@ */

* Logs that a muations wave finished.
*
*
* @param mutationsWave A wave of file mutations.

@@ -71,7 +71,7 @@ */

*/
public onComplete(): void { }
public onComplete(): void {/* ... */}
/**
* Logs that a mutation was applied.
*
*
* @param fileName Name of the file to be mutated.

@@ -90,10 +90,10 @@ * @param mutation The requesting mutation.

* Logs that an unknown mutator was requested.
*
*
* @param _mutation The requesting mutation.
*/
public onUnknownMutationType(_mutation: IMutation): void { }
public onUnknownMutationType(_mutation: IMutation): void {/* ... */}
/**
* Logs that a muations wave is about to start.
*
*
* @param mutationsWave A wave of file mutations.

@@ -107,8 +107,10 @@ */

* Logs that a muations wave finished.
*
*
* @param _mutationsWave A wave of file mutations.
*/
public onWaveEnd(_mutationsWave: IMutationsWave): void { }
public onWaveEnd(_mutationsWave: IMutationsWave): void {/* ... */}
/**
* Gets file mutations for each file.
*
* @returns Mutations applied to each file, keyed by file name.

@@ -121,2 +123,4 @@ */

/**
* Gets waves of file mutations.
*
* @returns Waves of file mutations.

@@ -123,0 +127,0 @@ */

import { IFileMutations, Logger } from "../logger";
import { IMutation } from "../mutation";
// tslint:disable:no-console
/**

@@ -9,13 +11,2 @@ * Generates console logs for significant operations.

/**
* Logs that an unknown mutator was requested.
*
* @param mutation The requesting mutation of unknown type.
*/
onUnknownMutationType(mutation: IMutation): void {
super.onUnknownMutationType(mutation);
console.error(`Unknown mutator type: '${mutation.type}'`);
}
/**
* Logs that mutations have completed.

@@ -40,3 +31,3 @@ */

this.pluralize(wavesCount, "wave"),
"."
".",
].join(""));

@@ -46,4 +37,15 @@ }

/**
* Logs that an unknown mutator was requested.
*
* @param mutation The requesting mutation of unknown type.
*/
public onUnknownMutationType(mutation: IMutation): void {
super.onUnknownMutationType(mutation);
console.error(`Unknown mutator type: '${mutation.type}'`);
}
/**
* Displays a word and number, accounting for pluralization.
*
*
* @param count How many of the word there are.

@@ -58,1 +60,3 @@ * @param word A word to display.

}
// tslint:enable:no-console

@@ -13,10 +13,10 @@ import { IFileProvider } from "./fileProvider";

/**
* Generates output messages for significant operations.
* Creates file providers for files.
*/
logger: ILogger;
fileProviderFactory: IFileProviderFactory;
/**
* Creates file providers for files.
* Generates output messages for significant operations.
*/
fileProviderFactory: IFileProviderFactory;
logger: ILogger;

@@ -35,3 +35,3 @@ /**

* Applies an iteration of file mutations.
*
*
* @param mutations Mutations to be applied to files.

@@ -44,3 +44,3 @@ * @returns A Promise for the file mutations being applied.

* Applies a file's mutations.
*
*
* @param fileName Name of the file.

@@ -58,10 +58,10 @@ * @param mutations Mutations to be applied to the file.

/**
* Generates output messages for significant operations.
* Creates file providers for files.
*/
private readonly logger: ILogger;
private readonly fileProviderFactory: IFileProviderFactory;
/**
* Creates file providers for files.
* Generates output messages for significant operations.
*/
private readonly fileProviderFactory: IFileProviderFactory;
private readonly logger: ILogger;

@@ -75,3 +75,3 @@ /**

* Initializes a new instance of the MutationsApplier class.
*
*
* @param settings Settings to be used for initialization.

@@ -87,3 +87,3 @@ */

* Applies an iteration of file mutations.
*
*
* @param mutations Mutations to be applied to files.

@@ -104,3 +104,3 @@ * @returns A Promise for the file mutations being applied.

* Applies a file's mutations.
*
*
* @param fileName Name of the file.

@@ -121,2 +121,3 @@ * @param mutations Mutations to be applied to the file.

await fileProvider.write(fileContents);
return fileContents;

@@ -127,3 +128,3 @@ }

* Orders a set of mutations last-to-first, without overlaps.
*
*
* @param mutations Mutations to be applied to a file.

@@ -134,3 +135,3 @@ * @returns The mutations in last-to-first order, without overlaps.

const ordered: IMutation[] = [];
let lastStart: number = Infinity;
let lastStart = Infinity;

@@ -147,6 +148,5 @@ for (let i: number = mutations.length - 1; i >= 0; i -= 1) {

return ordered.sort((a: IMutation, b: IMutation): number => {
return (b.range.end || b.range.begin) - (a.range.end || a.range.begin);
});
return ordered.sort((a: IMutation, b: IMutation): number =>
(b.range.end || b.range.begin) - (a.range.end || a.range.begin));
}
}
import * as path from "path";
import { ILogger } from "../logger";
import { IFileProvider } from "../fileProvider";
import { FileProviderFactory } from "../fileProviderFactory";
import { IFileProvider } from "../fileProvider";
import { LocalFileProvider } from "../fileProviders/localFileProvider";
import { ILogger } from "../logger";
import { MutationsApplier } from "../mutationsApplier";

@@ -32,3 +32,3 @@ import { MutatorFactory } from "../mutatorFactory";

* Initializes a new instance of the FileMutationsApplier class.
*
*
* @param settings Settings to be used for initialization.

@@ -38,13 +38,13 @@ */

super({
logger: settings.logger,
fileProviderFactory: new FileProviderFactory(
(fileName: string): IFileProvider => new LocalFileProvider(fileName)),
logger: settings.logger,
mutatorFactory: new MutatorFactory(
new MutatorSearcher([
path.join(__dirname, "../../lib/mutators"),
...(settings.mutatorDirectories || [])
...(settings.mutatorDirectories || []),
]),
settings.logger)
settings.logger),
});
}
}

@@ -15,3 +15,3 @@ import { IMutation } from "./mutation";

* Initializes a new instance of the Mutator class.
*
*
* @param originalFileContents Original contents of the file.

@@ -25,3 +25,3 @@ */

* Applies a mutation.
*
*
* @param fileContents Current contents of the file.

@@ -35,2 +35,4 @@ * @param mutation Mutation to apply.

/**
* Gets the original contents of the file.
*
* @returns Original contents of the file.

@@ -37,0 +39,0 @@ */

import { ILogger } from "./logger";
import { IMutation } from "./mutation";
import { Mutator } from "./mutator";
import { IMutation } from "./mutation";
import { IMutatorSearcher, IMutatorClass } from "./mutatorSearcher";
import { IMutatorClass, IMutatorSearcher } from "./mutatorSearcher";

@@ -19,3 +19,3 @@ /**

* Attempts to find and instantiate a mutator sub-class for a file.
*
*
* @param name Dashed-case name of the mutator sub-class.

@@ -29,3 +29,3 @@ * @param fileContents Contents of the file.

* Generates and applies a mutator, if possible.
*
*
* @param fileContents Contents of the file.

@@ -48,14 +48,14 @@ * @param mutation Mutation to be applied to the file.

/**
* Searches for mutator classes.
* Generates output messages for significant operations.
*/
private readonly searcher: IMutatorSearcher;
private readonly logger: ILogger;
/**
* Generates output messages for significant operations.
* Searches for mutator classes.
*/
private readonly logger: ILogger;
private readonly searcher: IMutatorSearcher;
/**
* Initializes a new instance of the MutatorFactory class.
*
*
* @param searcher Searches for mutator classes.

@@ -70,3 +70,3 @@ */

* Attempts to find and instantiate a mutator sub-class for a file.
*
*
* @param name Dashed-case name of the mutator sub-class.

@@ -87,3 +87,3 @@ * @param fileContents Contents of the file.

// @todo Use some form of "implements" keyword when TypeScript supports it
return new (this.classes[name] as any)(fileContents) as TMutator;
return new (this.classes[name])(fileContents) as TMutator;
}

@@ -93,3 +93,3 @@

* Generates and applied a mutator, if possible.
*
*
* @param fileContents Contents of the file.

@@ -103,2 +103,3 @@ * @param mutation Mutation to be applied to the file.

this.logger.onUnknownMutationType(mutation);
return fileContents;

@@ -105,0 +106,0 @@ }

@@ -26,3 +26,3 @@ import { IMutation } from "../mutation";

* Applies a mutation.
*
*
* @param fileContents Current contents of the file.

@@ -29,0 +29,0 @@ * @param mutation Mutation to apply.

@@ -20,3 +20,3 @@ import { IMutation } from "../mutation";

* Applies a mutation.
*
*
* @param fileContents Current contents of the file.

@@ -29,5 +29,5 @@ * @param mutation Mutation to apply.

fileContents.substring(0, mutation.range.begin),
fileContents.substring(mutation.range.end || mutation.range.begin)
fileContents.substring(mutation.range.end || mutation.range.begin),
].join("");
}
}

@@ -25,3 +25,3 @@ import { IMutation } from "../mutation";

* Applies a mutation.
*
*
* @param fileContents Current contents of the file.

@@ -35,5 +35,5 @@ * @param mutation Mutation to apply.

mutation.insertion,
fileContents.substring(mutation.range.begin)
fileContents.substring(mutation.range.begin),
].join("");
}
}

@@ -30,3 +30,3 @@ import { IMutation } from "../mutation";

* Applies a mutation.
*
*
* @param fileContents Current contents of the file.

@@ -33,0 +33,0 @@ * @param mutation Mutation to apply.

@@ -25,3 +25,3 @@ import { IMutation } from "../mutation";

* Applies a mutation.
*
*
* @param fileContents Current contents of the file.

@@ -35,5 +35,5 @@ * @param mutation Mutation to apply.

mutation.insertion,
fileContents.substring(mutation.range.end || mutation.range.begin)
fileContents.substring(mutation.range.end || mutation.range.begin),
].join("");
}
}

@@ -10,3 +10,3 @@ import * as fs from "fs";

*/
const mutatorClassSuffix: string = "Mutator";
const mutatorClassSuffix = "Mutator";

@@ -19,3 +19,3 @@ /**

* Searches for a mutator sub-class within the directories.
*
*
* @param name Dashed-case name of the mutator sub-class.

@@ -33,4 +33,6 @@ * @returns The mutator sub-class, if it can be found.

* Initializes a new instance of the TMutator class.
*
* @param originalFileContents Original contents of the file.
*/
new(): TMutator;
new(originalFileContents: string): TMutator;
}

@@ -54,3 +56,3 @@

* Initializes a new instance of the MutatorSearcher class.
*
*
* @param nameTransformer Transforms dashed-case names to camelCase.

@@ -66,3 +68,3 @@ * @param directories Directories to search within.

* Searches for a mutator sub-class within the directories.
*
*
* @param name Dashed-case name of the mutator sub-class.

@@ -75,5 +77,8 @@ * @returns The mutator sub-class, if it can be found.

for (const directory of this.directories) {
const joinedPath: string = path.join(directory, camelCaseName + mutatorClassSuffix + ".js");
const joinedPath: string = path.join(
directory,
`${camelCaseName}${mutatorClassSuffix}.js`);
if (fs.existsSync(joinedPath)) {
// tslint:disable-next-line no-require-imports no-unsafe-any
return require(joinedPath)[this.nameTransformer.toPascalCase(name) + mutatorClassSuffix];

@@ -80,0 +85,0 @@ }

@@ -7,3 +7,3 @@ /**

* Transforms a dashed-case name to camelCase.
*
*
* @param name A dashed-case name.

@@ -16,3 +16,3 @@ * @returns The name as camelCase.

* Transforms a dashed-case name to PamelCase.
*
*
* @param name A dashed-case name.

@@ -30,3 +30,3 @@ * @returns The name as PascalCase.

* Transforms a dashed-case name to camelCase.
*
*
* @param name A dashed-case name.

@@ -40,5 +40,4 @@ * @returns The name as camelCase.

.slice(1)
.map((part: string): string => {
return part.substring(0, 1).toUpperCase() + part.substring(1).toLowerCase();
})
.map((part: string): string =>
part.substring(0, 1).toUpperCase() + part.substring(1).toLowerCase())
.join("");

@@ -49,3 +48,3 @@ }

* Transforms a dashed-case name to PamelCase.
*
*
* @param name A dashed-case name.

@@ -56,7 +55,6 @@ * @returns The name as PascalCase.

return name.split("-")
.map((part: string): string => {
return part.substring(0, 1).toUpperCase() + part.substring(1).toLowerCase();
})
.map((part: string): string =>
part.substring(0, 1).toUpperCase() + part.substring(1).toLowerCase())
.join("");
}
}
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
/**
* Groups test cases into directories.
*/
var CaseGrouper = (function () {
var CaseGrouper = /** @class */ (function () {
function CaseGrouper() {

@@ -52,1 +53,2 @@ }

exports.CaseGrouper = CaseGrouper;
//# sourceMappingURL=caseGrouper.js.map

@@ -11,4 +11,4 @@ "use strict";

var __generator = (this && this.__generator) || function (thisArg, body) {
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t;
return { next: verb(0), "throw": verb(1), "return": verb(2) };
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
function verb(n) { return function (v) { return step([n, v]); }; }

@@ -38,7 +38,8 @@ function step(op) {

};
Object.defineProperty(exports, "__esModule", { value: true });
var path = require("path");
var mutationsApplier_1 = require("../../lib/mutationsApplier");
var fileProviderFactory_1 = require("../../lib/fileProviderFactory");
var stubFileProvider_1 = require("../../lib/fileProviders/stubFileProvider");
var logger_1 = require("../../lib/logger");
var mutationsApplier_1 = require("../../lib/mutationsApplier");
var mutatorFactory_1 = require("../../lib/mutatorFactory");

@@ -49,3 +50,3 @@ var mutatorSearcher_1 = require("../../lib/mutatorSearcher");

*/
var CaseRunner = (function () {
var CaseRunner = /** @class */ (function () {
/**

@@ -72,3 +73,3 @@ * Initializes a new instance of the CaseRunner class.

mutatorSearcher = new mutatorSearcher_1.MutatorSearcher([
path.join(__dirname, "../../lib/mutators")
path.join(__dirname, "../../lib/mutators"),
]);

@@ -78,5 +79,5 @@ stubLogger = new logger_1.Logger();

mutationsApplier = new mutationsApplier_1.MutationsApplier({
fileProviderFactory: new fileProviderFactory_1.FileProviderFactory(function () { return stubFileProvider; }),
logger: stubLogger,
fileProviderFactory: new fileProviderFactory_1.FileProviderFactory(function () { return stubFileProvider; }),
mutatorFactory: new mutatorFactory_1.MutatorFactory(mutatorSearcher, stubLogger)
mutatorFactory: new mutatorFactory_1.MutatorFactory(mutatorSearcher, stubLogger),
});

@@ -96,1 +97,2 @@ return [4 /*yield*/, mutationsApplier.applyFileMutations([testCase.directoryPath.join("/"), testCase.name].join("/"), testCase.mutations)];

exports.CaseRunner = CaseRunner;
//# sourceMappingURL=caseRunner.js.map
import * as path from "path";
import { IMutationsApplier, MutationsApplier } from "../../lib/mutationsApplier";
import { IFileProvider } from "../../lib/fileProvider";

@@ -8,2 +7,3 @@ import { FileProviderFactory } from "../../lib/fileProviderFactory";

import { ILogger, Logger } from "../../lib/logger";
import { IMutationsApplier, MutationsApplier } from "../../lib/mutationsApplier";
import { MutatorFactory } from "../../lib/mutatorFactory";

@@ -15,3 +15,3 @@ import { IMutatorSearcher, MutatorSearcher } from "../../lib/mutatorSearcher";

* Directs a test harness to expect two strings to be the same.
*
*
* @param actual Actual string value.

@@ -35,3 +35,3 @@ * @param extpected Expected string value.

* Initializes a new instance of the CaseRunner class.
*
*
* @param expect Directs a test harness to expect two strings to be the same.

@@ -45,3 +45,3 @@ */

* Runs a test case to validate its results.
*
*
* @param testCase Mutation test case to be verified.

@@ -53,3 +53,3 @@ * @returns A Promise for the test case completing.

const mutatorSearcher: IMutatorSearcher = new MutatorSearcher([
path.join(__dirname, "../../lib/mutators")
path.join(__dirname, "../../lib/mutators"),
]);

@@ -59,5 +59,5 @@ const stubLogger: ILogger = new Logger();

const mutationsApplier: IMutationsApplier = new MutationsApplier({
fileProviderFactory: new FileProviderFactory((): IFileProvider => stubFileProvider),
logger: stubLogger,
fileProviderFactory: new FileProviderFactory((): IFileProvider => stubFileProvider),
mutatorFactory: new MutatorFactory(mutatorSearcher, stubLogger)
mutatorFactory: new MutatorFactory(mutatorSearcher, stubLogger),
});

@@ -73,2 +73,2 @@

}
}
}

@@ -11,4 +11,4 @@ "use strict";

var __generator = (this && this.__generator) || function (thisArg, body) {
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t;
return { next: verb(0), "throw": verb(1), "return": verb(2) };
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
function verb(n) { return function (v) { return step([n, v]); }; }

@@ -38,2 +38,3 @@ function step(op) {

};
Object.defineProperty(exports, "__esModule", { value: true });
var fs = require("fs");

@@ -46,3 +47,3 @@ var glob = require("glob");

*/
var CaseSearcher = (function () {
var CaseSearcher = /** @class */ (function () {
/**

@@ -63,10 +64,10 @@ * Initializes a new instance of the CaseSearcher class.

return __awaiter(this, void 0, void 0, function () {
var _a, _b;
return __generator(this, function (_c) {
switch (_c.label) {
var _a;
return __generator(this, function (_b) {
switch (_b.label) {
case 0:
_a = this.readTestCases;
return [4 /*yield*/, this.findMutationFiles()];
case 1: return [4 /*yield*/, _a.apply(this, [_c.sent()])];
case 2: return [2 /*return*/, _c.sent()];
case 1: return [4 /*yield*/, _a.apply(this, [_b.sent()])];
case 2: return [2 /*return*/, _b.sent()];
}

@@ -154,1 +155,2 @@ });

exports.CaseSearcher = CaseSearcher;
//# sourceMappingURL=caseSearcher.js.map

@@ -11,4 +11,4 @@ "use strict";

var __generator = (this && this.__generator) || function (thisArg, body) {
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t;
return { next: verb(0), "throw": verb(1), "return": verb(2) };
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
function verb(n) { return function (v) { return step([n, v]); }; }

@@ -38,6 +38,7 @@ function step(op) {

};
Object.defineProperty(exports, "__esModule", { value: true });
/**
* Verifies that test cases match actual with expected output.
*/
var CaseVerifier = (function () {
var CaseVerifier = /** @class */ (function () {
/**

@@ -87,1 +88,2 @@ * Initializes a new instance of the CaseVerifier class.

exports.CaseVerifier = CaseVerifier;
//# sourceMappingURL=caseVerifier.js.map

@@ -0,3 +1,3 @@

"use strict";
/// <reference path="../../node_modules/@types/mocha/index.d.ts" />
"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {

@@ -12,4 +12,4 @@ return new (P || (P = Promise))(function (resolve, reject) {

var __generator = (this && this.__generator) || function (thisArg, body) {
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t;
return { next: verb(0), "throw": verb(1), "return": verb(2) };
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
function verb(n) { return function (v) { return step([n, v]); }; }

@@ -40,2 +40,3 @@ function step(op) {

var _this = this;
Object.defineProperty(exports, "__esModule", { value: true });
var chai_1 = require("chai");

@@ -69,1 +70,2 @@ var caseSearcher_1 = require("./caseSearcher");

}); })(run);
//# sourceMappingURL=runTests.js.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
/**

@@ -6,1 +7,2 @@ * Root directory name for cases.

exports.casesRoot = "mutations";
//# sourceMappingURL=testCase.js.map

@@ -11,4 +11,4 @@ "use strict";

var __generator = (this && this.__generator) || function (thisArg, body) {
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t;
return { next: verb(0), "throw": verb(1), "return": verb(2) };
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
function verb(n) { return function (v) { return step([n, v]); }; }

@@ -38,6 +38,7 @@ function step(op) {

};
Object.defineProperty(exports, "__esModule", { value: true });
/**
* Generates and runs tests validating mutations.
*/
var TestRunner = (function () {
var TestRunner = /** @class */ (function () {
/**

@@ -60,11 +61,11 @@ * Initializes a new instance of the TestRunner class.

return __awaiter(this, void 0, void 0, function () {
var _a, _b, _c, _d, _e, _f;
return __generator(this, function (_g) {
switch (_g.label) {
var _a, _b, _c, _d;
return __generator(this, function (_e) {
switch (_e.label) {
case 0:
_b = (_a = this.caseVerifier).verifyDirectories;
_e = (_d = this.caseGrouper).group;
_d = (_c = this.caseGrouper).group;
return [4 /*yield*/, this.caseSearcher.search()];
case 1:
_b.apply(_a, [_e.apply(_d, [_g.sent()])]);
_b.apply(_a, [_d.apply(_c, [_e.sent()])]);
return [2 /*return*/];

@@ -78,1 +79,2 @@ }

exports.TestRunner = TestRunner;
//# sourceMappingURL=testRunner.js.map

@@ -5,2 +5,3 @@ {

"declaration": false,
"outDir": ".",
"target": "es5"

@@ -7,0 +8,0 @@ },

@@ -0,4 +1,5 @@

"use strict";
/// <reference path="../../node_modules/@types/chai/index.d.ts" />
/// <reference path="../../node_modules/@types/mocha/index.d.ts" />
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var chai_1 = require("chai");

@@ -84,1 +85,2 @@ var nameTransformer_1 = require("../../lib/nameTransformer");

});
//# sourceMappingURL=nameTransformerTests.js.map

@@ -13,4 +13,5 @@ {

"outDir": "lib",
"pretty": true,
"sourceMap": true,
"strictNullChecks": true,
"strict": true,
"target": "es3"

@@ -17,0 +18,0 @@ },

{
"extends": "tslint:all",
"rules": {
"class-name": true,
"comment-format": [
true,
"check-space"
],
"indent": [
true,
"spaces"
],
"no-duplicate-variable": true,
"no-eval": true,
"no-internal-module": true,
"no-unsafe-finally": true,
"no-var-keyword": true,
"one-line": [
true,
"check-open-brace",
"check-whitespace"
],
"quotemark": [
true,
"double"
],
"semicolon": [
true,
"always"
],
"triple-equals": [
true,
"allow-null-check"
],
"typedef-whitespace": [
true,
{
"call-signature": "nospace",
"index-signature": "nospace",
"parameter": "nospace",
"property-declaration": "nospace",
"variable-declaration": "nospace"
}
],
"variable-name": [
true,
"ban-keywords"
],
"whitespace": [
true,
"check-branch",
"check-decl",
"check-operator",
"check-separator",
"check-type"
]
},
"rulesDirectory": [
"node_modules/tslint-eslint-rules",
"node_modules/tslint-microsoft-contrib"
]
}
"callable-types": false,
"linebreak-style": false,
"no-parameter-reassignment": false,
"no-submodule-imports": false,
"no-unused-variable": false,
"no-void-expression": false,
"prefer-function-over-method": false,
"strict-boolean-expressions": false,
"typedef": false,
"variable-name": false
}
}

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc