deno_mod
A collection of modules written in TypeScript for common Deno programming tasks.
Why Create More Deno Modules?
The use of Deno Standard Library or
Deno API Runtime is preferable - but I
was unable to find specific functions I needed. So I created the following as
deno_mod
modules instead. These functions are frequently used in many of my
programs. To ensure I only write them once, and maintain them in one place as
modules, made sense for many reasons.
You are welcome to use them as well if you wish.
Import Usage
Below describes two approaches to including the deno_mod
into a project using
import
.
Versions tags
Link to the mod.ts
file using the module tag for the version that is to be
used. In the example below the version tag 0.8.0
is specified.
The recommended approach is to choose a version so you are not impacted by any
future changes unexpectedly. The example below explicitly states the version
tag 0.8.0
which is the current version.
Import from Deno.Land/X
deno.land/x
is a hosting service for Deno scripts that can be access and
searched from the Deno main web site under
Deno Third Party Modules link. The deno.land/x
site
caches releases of open source modules stored on GitHub and serves them at one
easy to remember domain. Below are the names to use to access deno_mod
modules
from the deno.land/x
site:
https://deno.land/x/deno_mod@0.8.0/mod.ts
The import url for the current version is always:
https://deno.land/x/deno_mod/mod.ts
Import from GitHub
Alternatively, if you prefer to import the Deno modules directly from this
GitHub repo, the following import
syntax can be used. JUst replace the link
syntax shown below with any examples shown for deno.land/x/deno_mod/
:
https://raw.githubusercontent.com/wiremoons/deno_mod/0.8.0/mod.ts
The import
url for the current version is always:
https://raw.githubusercontent.com/wiremoons/deno_mod/main/mod.ts
Import Specific Modules
Import the specific modules to be used. For example, to only use the modules:
existsFile
, existsDir
, and isString
the follow import statement would be
used:
import {
existsDir,
existsFile,
isString,
} from "https://deno.land/x/deno_mod@0.8.0/mod.ts";
Any of the modules can then be accessed using their name as follows:
if (existsFile("/some/file/path.txt")) {
console.log("File exists!");
} else {
console.error("File not found.");
}
Import All Modules
Alternatively it is possible to import all the available modules:
import * as my_deno_mod from "https://deno.land/x/deno_mod@0.8.0/mod.ts";
Any module can then be accessed using the name you stated (ie my_deno_mod
in
the example above) as follows:
if (my_deno_mod.existsFile("/some/file/path.txt")) {
console.log("File exists!");
} else {
console.error("File not found.");
}
Modules Overview
The current modules included, and a brief description of their purpose is below. For more extensive information on each module, see the source code itself, as that includes additional comments. The tests for each module also provide examples of usage. Current modules included are:
- β
exists_dir.ts
β : contains the functionexistDir
that checks if the provided file system path is for a directory that exists. The function returns aboolean
to confirm if the directory provided exists. - β
exists_file.ts
β : contains the functionexistFile
that checks if the provided file system path is for a file that exists. The function returns aboolean
to confirm if the filename provided exists. - β
file_mod_time.ts
β : contains the functiongetFileModTime
that returns a string with the date and time the file was last modified, orundefined
otherwise. type_guard.ts
: contains a number of type guard functions including:isNumber
andisString
. These check for specific TypeScript types (ie string, number, etc) and affirm that the type is correct.to_title_case.ts
: contains functiontoTitleCaseFirst
used to capitalise the first character of a string.cli_version.ts
: contains functioncliVersion
used to display basic version information for any command line application.
Tests
All modules have associated tests. These can be run with the command:
deno test --allow-read
License
The code provided in the modules and their useage is covered by the MIT License. See http://opensource.org/licenses/mit. A copy of the applications license is here deno_mod MIT License.