@packfile/packfile-ts
v0.1.0
Published
The Packfile implementation for JavaScript and TypeScript
Downloads
7
Maintainers
Readme
packfile-ts
The official Packfile implementation for JavaScript and TypeScript
Installation
This packages requires Node.js version 18
or above, due to the global fetch API required.
Use your favourite package manager to install!
npm install --save @packfile/packfile-ts
yarn add @packfile/packfile-ts
pnpm add @packfile/packfile-ts
If you are using TypeScript, you do not have to install types from @types
because type declarations are already bundled with this package.
Usage
It is HIGHLY recommended that you use TypeScript instead of JavaScript for additional type safety less runtime errors.
ES Modules (recommended)
In TypeScript, you do not have to use esModuleInterop
, since it is already an ES module.
import packfile from "@packfile/packfile-ts";
// ...
CommonJS / require
const packfile = require("@packfile/packfile-ts");
// ...
Notice
You should always import from index.js
or the root of the package, because it requires reflect-metadata
to load first. If you do not do that, you might get an error like this:
TypeError: Reflect.getMetadata is not a function
at ... (...:12:34)
// ...
If you want other files however, there are 2 ways to fix this issue:
- side-effect only importing
@packfile/packfile-ts
in yourindex.ts
file (TypeScript only)
import "@packfile/packfile-ts";
// other imports come BELOW this import
- if you want to use the default export, just importing will work fine as well
import packfile from "@packfile/packfile-ts";
// other imports
Reference
objectToPackfile(...): Promise<Packfile>
- Signatures:
objectToPackfile(obj: any): Promise<Packfile>
objectToPackfile(json: string): Promise<Packfile>
This function converts a plain object or a json string to an instance of Packfile
.
Throws: ValidationError
when the validation failed, for example due to missing or bad types on properties
fetchPackfileFromURL(urlstr: string): Promise<Packfile>
This function fetches a Packfile from an URL specified, then returns an instance of Packfile
Throws:
ValidationError
when the validation failed, for example due to missing or bad types on propertiesHttpResponseError
if the HTTP request failed with a status code.
fetchPackfileFromPath(fpath: string): Promise<Packfile>
Reads the packfile from the file path specified, then returns an instance of Packfile
Note: opens the file with flag r
(read-only)
Throws: ValidationError
when the validation failed, for example due to missing or bad types on properties