Skip to content

Commit

Permalink
TypeScript declaration added
Browse files Browse the repository at this point in the history
  • Loading branch information
anthrax63 committed Jan 12, 2021
1 parent 69d4dee commit 00549e0
Show file tree
Hide file tree
Showing 3 changed files with 292 additions and 3 deletions.
196 changes: 196 additions & 0 deletions index.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,196 @@
/**
* Types of bundle attributes
* @enum {string}
*/
declare enum BundleAttributeType {
SYSTEM = 'System',
PUBLIC = 'Public',
PRIVATE = 'Private',
}

declare interface Options {
path: string;
readonly?: boolean;
}

/**
*
*/
declare interface AggregionBundle {

/**
*
* @param options
*/
new (options: Options);

/**
* Returns list of files in the bundle
* @return {Promise.<string[]>}
* @return
*/
getFiles(): Promise<string[]>;

/**
* Returns bundle info data
* @return {Promise.<Buffer>}
*/
getBundleInfoData(): Promise<Buffer>;

/**
* Sets bundle info data
* @param {Buffer|string} data
* @return {Promise}
* @param data
* @return
*/
setBundleInfoData(data : Buffer | string): Promise<void>;

/**
* Returns bundle properties data
* @return {Promise.<Buffer>}
*/
getBundlePropertiesData(): Promise<Buffer>;

/**
* Sets bundle properties data
* @param {Buffer|string} data
* @return {Promise}
* @param data
* @return
*/
setBundlePropertiesData(data : Buffer | string): Promise<void>;

/**
* Creates a new file
* @param {string} path Path to the file in the bundle
* @return {Promise.<number>} File descriptor
* @param path
* @return
*/
createFile(path : string): number;

/**
* Opens an existent file
* @param {string} path Path to the file in the bundle
* @return {number} File descriptor
* @param path
* @return
*/
openFile(path : string): number;

/**
* Deletes the file
* @param {string} path Path to the file in the bundle
* @param path
*/
deleteFile(path : string): void;

/**
* Returns size of the file
* @param {string} path Path to the file in the bundle
* @return {number}
* @param path
* @return
*/
getFileSize(path : string): number;

/**
* Move to position in the file
* @param {number} fd File descriptor
* @param {number} position Position in the file to seek (in bytes)
* @param fd
* @param position
*/
seekFile(fd : number, position : number): void;

/**
* Reads a block of data from the file
* @param {number} fd File descriptor
* @param {number} size Size of block to read
* @return {Promise.<Buffer>} Block data
* @param fd
* @param size
*/
readFileBlock(fd : number, size : number): void;

/**
* Reads attributes data from file
* @param {number} fd File descriptor
* @return {Promise.<Buffer>} Attributes data
* @param fd
*/
readFilePropertiesData(fd : number): void;

/**
* Writes block of data to the file
* @param {number} fd File descriptor
* @param {Buffer|string} data Data to write
* @return {Promise}
* @param fd
* @param data
* @return
*/
writeFileBlock(fd : number, data : Buffer | string): Promise<void>;

/**
* Writes file attributes
* @param {number} fd File descriptor
* @param {Buffer|string} data Data to write
* @return {Promise}
* @param fd
* @param data
* @return
*/
writeFilePropertiesData(fd : number, data : Buffer | string): Promise<void>;

/**
* Closes the bundle
*/
close(): void;

/**
* Opens file for read or write
* @param {string} path Path to file in the bundle
* @param {boolean} [create=false] If "true", then file will be created
* @return {number} File descriptor
* @private
* @param path
* @param create?
* @return
*/
_openFile(path : string, create? : boolean): number;

/**
* Writes attribute to bundle
* @param {BundleAttributeType} type Type of attribute
* @param {Buffer|string} data Data to write
* @return {Promise}
* @private
* @throws {Error} Will throw if invalid arguments passed
* @param type
* @param data
* @return
*/
_writeBundleAttribute(type : BundleAttributeType, data : Buffer | string): Promise<void>;

/**
* Reads attribute from bundle
* @param {BundleAttributeType} type
* @return {Promise.<Buffer>}
* @private
* @param type
*/
_readBundleAttribute(type : BundleAttributeType): Promise<Buffer>;

/**
* Checks that bundle is not closed
* @private
*/
_checkNotClosed(): void;
}

declare module '@aggregion/agg-bundle' {
const AggregionBundle:AggregionBundle;
export default AggregionBundle;
}
93 changes: 92 additions & 1 deletion package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 4 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@aggregion/agg-bundle",
"description": "Node.js module for reading and creating Aggregion binary bundles",
"version": "1.0.8",
"version": "1.0.9",
"main": "index.js",
"bin": {
"readbundle": "./utils/readbundle.js"
Expand All @@ -20,11 +20,13 @@
"v8": "^0.1.0"
},
"devDependencies": {
"@types/node": "^14.14.20",
"chai": "^3.5.0",
"fs-extra": "^2.0.0",
"mocha": "^3.2.0",
"mocha-bamboo-reporter": "^1.1.1",
"temp": "^0.8.3"
"temp": "^0.8.3",
"tern": "^0.24.3"
},
"repository": {
"type": "git",
Expand Down

0 comments on commit 00549e0

Please sign in to comment.