JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 138236
  • Score
    100M100P100Q199295F

UUE decoder and encoder for Node.js

Package Exports

  • uue

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (uue) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

The UUE module is able to perform uuencoding of a file (or Node.js Buffer) to a text message.

The module is named after a common .UUE suffix for Fidonet echomail areas spreading uuencoded files (sometimes the results of such encoding are also known as “UUE codes”).

The module is written in JavaScript and requires Node.js to run.

Installing the UUE module

(npm package version)

  • Latest packaged version: npm install uue

  • Latest githubbed version: npm install https://github.com/Mithgol/node-uue/tarball/master

The npm package does not contain the tests, they're published on GitHub only.

You may visit https://github.com/Mithgol/node-uue#readme occasionally to read the latest README because the package's version is not planned to grow after changes when they happen in README only. (And npm publish --force is forbidden nowadays.)

Using the UUE module

When you require() the installed module, you get an object that has the following method:

encode(encodeSource, encodeOptions)

Returns a string of UUE codes that represent the given source.

  • If encodeSource is a string, it is interpreted as a path of some file, and that file is uuencoded.

  • If encodeSource is a Node.js Buffer, the contents of that buffer become uuencoded.

The optional encodeOptions parameter is an object with the following optional properties:

  • mode — read/write/execute permissions for the file. If this property is omitted, three last octal digits of the mode property of the given file's fs.Stats object are used (or '644' if a Buffer is given in encodeSource instead of a file). The mode property may be given as a string (of octal digits) or as a number (for example, '666' and 438 are equivalent).

  • filename — a file's name to be given in UUE codes. (For example, if encodeOptions is {mode:'664', filename:'filename.ext'}, then the first line of UUE codes is begin 664 filename.ext.) If this property is omitted, then path.basename(encodeSource) is used (or 'buffer.bin' if a Buffer is given in encodeSource instead of a file).

  • eol — end-of-line character(s). If this property is omitted, \n (\x0A) is used (as in Web or UN*X applications). You may want to set encodeOptions.eol equal to os.EOL on other systems. The value of encodeOptions.eol is used only as a separator between lines of UUE codes, but neither in the beginning nor at the end of the returned string.

Locking files

The module does not lock any files and does not create any “lock files” (flag files, semaphore files). The module's caller should control the access to the file being encoded.

Testing the UUE module

(build testing status)

The tests are not included in the npm package of the module (to keep it small). Use the version from GitHub.

It is necessary to install Mocha and JSHint for testing.

  • You may install Mocha globally (npm install mocha -g) or locally (npm install mocha in the directory of the UUE module).

  • You may install JSHint globally (npm install jshint -g) or locally (npm install jshint in the directory of the UUE module).

After that you may run npm test (in the directory of the UUE module).

License

MIT license (see the LICENSE file).