From 7815a84362cc53a6074e606fbca35c9f0ce89c98 Mon Sep 17 00:00:00 2001 From: "Nikola R. Hristov" Date: Tue, 13 Feb 2024 15:23:14 +0200 Subject: [PATCH] squash! --- Documentation/assets/highlight.css | 8 ++++---- Documentation/index.html | 14 +++++++------- package.json | 2 +- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/Documentation/assets/highlight.css b/Documentation/assets/highlight.css index a4df245..a390d83 100644 --- a/Documentation/assets/highlight.css +++ b/Documentation/assets/highlight.css @@ -9,10 +9,10 @@ --dark-hl-3: #569CD6; --light-hl-4: #AF00DB; --dark-hl-4: #C586C0; - --light-hl-5: #001080; - --dark-hl-5: #9CDCFE; - --light-hl-6: #008000; - --dark-hl-6: #6A9955; + --light-hl-5: #008000; + --dark-hl-5: #6A9955; + --light-hl-6: #001080; + --dark-hl-6: #9CDCFE; --light-hl-7: #000000FF; --dark-hl-7: #D4D4D4; --light-hl-8: #098658; diff --git a/Documentation/index.html b/Documentation/index.html index 437641b..97dff40 100644 --- a/Documentation/index.html +++ b/Documentation/index.html @@ -6,37 +6,37 @@

Create a new pipe instance using the following code in your Index.ts file:

Index.ts

-
import Files from "files-pipe";

await new Files().In("./Input"); +
await new (await import("files-pipe")).default().In("./Input");
 

Getting started

With FilesPipe, you can use the Pipe method to perform actions on files within the pipe. Here's an example of how to use it in your Index.ts:

Index.ts

-
import Files from "files-pipe";

await (
await (await new Files().In("./Input")).By("**/*.md")
).Pipe({
// Append some content to all of the text files
Wrote: (On) => (On.Buffer += "LICENSE [MIT]"),
}); +
await(
await(await new (await import("files-pipe")).default().In("./Input")).By(
"**/*.md"
)
).Pipe({
// Append some content to all of the text files
Wrote: (On) => (On.Buffer += "LICENSE [MIT]"),
});

Default Callbacks

FilesPipe provides default callbacks for file processing. These callbacks can be customized to suit your specific needs. Here are the default callbacks:

-
import Files from "files-pipe";

await new Files().Pipe({
// Reads the file into a buffer
Read: async (On) => await fs.promises.readFile(On.Input, "utf-8"),

// Writes the buffer into a file
Wrote: async (On) => On.Buffer,

// Checks if the file has passed any checks
Passed: async (On) => On && true,

// When the file cannot be processed
Failed: async (Input) => `Error: Cannot process file ${Input}!`,

// When the file is processed
Accomplished: async (On) => `Processed ${On.Input} in ${On.Output}.`,

// When the whole plan is fulfilled
Fulfilled: async (Plan) =>
`Successfully processed a total of ${Plan.Files} ${
Plan.Files === 1 ? "file" : "files"
}.`,

// When the plan has changed
Changed: async (Plan) => Plan,
}); +
await new (await import("files-pipe")).default().Pipe({
// Reads the file into a buffer
Read: async (On) => await fs.promises.readFile(On.Input, "utf-8"),

// Writes the buffer into a file
Wrote: async (On) => On.Buffer,

// Checks if the file has passed any checks
Passed: async (On) => On && true,

// When the file cannot be processed
Failed: async (Input) => `Error: Cannot process file ${Input}!`,

// When the file is processed
Accomplished: async (On) => `Processed ${On.Input} in ${On.Output}.`,

// When the whole plan is fulfilled
Fulfilled: async (Plan) =>
`Successfully processed a total of ${Plan.Files} ${
Plan.Files === 1 ? "file" : "files"
}.`,

// When the plan has changed
Changed: async (Plan) => Plan,
});

Adding Multiple Paths

You can add multiple paths to your pipe by specifying an array as the Path variable:

Index.ts

-
import Files from "files-pipe";

await new Files().In(["./Input", "./Input2"]); +
await new (await import("files-pipe")).default().In(["./Input", "./Input2"]);
 

Input-Output Mapping

FilesPipe allows you to provide a map of paths for different input and output directories, making it easy to control where files are read from and written to:

Index.ts

-
import Files from "files-pipe";

await new Files().In(new Map([["./Input", "./Output"]])); +
await new (await import("files-pipe")).default().In(
new Map([["./Input", "./Output"]])
);

File Filtering

You can filter files to exclude specific ones from your FilesPipe. Filters can be an array of regular expressions or a single match. You can also use functions to match on file names:

Index.ts

-
import Files from "files-pipe";

await new Files().Not([
"File.txt",
(File: string) => File === "./Input/File.txt",
]); +
await new (await import("files-pipe")).default().Not([
"File.txt",
(File: string) => File === "./Input/File.txt",
]);

Controlling Logging

You can control the logging level by setting the Logger parameter. The default value is 2, but you can set it to 0 if you don't want to see debug messages:

Index.ts

-
import Files from "files-pipe";

new Files(0); +
new (await import("files-pipe")).default(0);
 

Changelog

See CHANGELOG.md for a history of changes to this component.

Generated using TypeDoc

\ No newline at end of file diff --git a/package.json b/package.json index 85e7d60..930ec0b 100644 --- a/package.json +++ b/package.json @@ -19,7 +19,7 @@ }, "license": "SEE LICENSE IN LICENSE", "author": { - "name": "Nikola Hristov", + "name": "Nikola R. Hristov", "email": "nikola@nikolahristov.tech", "url": "https://nikolahristov.tech" },