@tokenizer/range
Advanced tools
Comparing version 0.3.2 to 0.3.3
/// <reference types="node" /> | ||
export interface IChunk { | ||
offset: number; | ||
data: ArrayBuffer; | ||
data: Uint8Array; | ||
} | ||
@@ -17,5 +17,5 @@ /** | ||
*/ | ||
addData(offset: number, data: ArrayBuffer): void; | ||
addData(offset: number, data: Uint8Array): void; | ||
hasDataRange(offsetStart: number, offsetEnd: number): boolean; | ||
readToBuffer(buffer: Buffer, offset: number, position: number, length: number): any; | ||
readToBuffer(buffer: Buffer, offset: number, position: number, length: number): number; | ||
private _concatData; | ||
@@ -22,0 +22,0 @@ /** |
@@ -72,16 +72,17 @@ "use strict"; | ||
const chunkOffset = _pos_offset - dataChunkStart; | ||
const chunkLength = Math.min(length, dataChunk.data.byteLength - chunkOffset); | ||
let chunkLength = Math.min(length, dataChunk.data.byteLength - chunkOffset); | ||
Buffer.from(dataChunk.data).copy(buffer, offset, chunkOffset, chunkOffset + chunkLength); | ||
if (chunkLength < length) { | ||
return this.readToBuffer(buffer, offset + chunkLength, position + chunkLength, length - chunkLength); | ||
chunkLength += this.readToBuffer(buffer, offset + chunkLength, position + chunkLength, length - chunkLength); | ||
} | ||
return; | ||
return chunkLength; | ||
} | ||
} | ||
return 0; | ||
} | ||
_concatData(buffer1, buffer2) { | ||
const tmp = new Uint8Array(buffer1.byteLength + buffer2.byteLength); | ||
const tmp = new Buffer(buffer1.byteLength + buffer2.byteLength); | ||
tmp.set(new Uint8Array(buffer1), 0); | ||
tmp.set(new Uint8Array(buffer2), buffer1.byteLength); | ||
return tmp.buffer; | ||
return tmp; | ||
} | ||
@@ -88,0 +89,0 @@ /** |
@@ -8,5 +8,5 @@ import { IRangeRequestClient, IRangeRequestConfig } from './types'; | ||
* @param rangeRequestClient - HTTP range request client | ||
* @param config - Cpnfiguration | ||
* @param config - Configuration | ||
* @return Tokenizer | ||
*/ | ||
export declare function tokenizer(rangeRequestClient: IRangeRequestClient, config?: IRangeRequestConfig): Promise<ITokenizer>; |
@@ -10,3 +10,3 @@ "use strict"; | ||
* @param rangeRequestClient - HTTP range request client | ||
* @param config - Cpnfiguration | ||
* @param config - Configuration | ||
* @return Tokenizer | ||
@@ -13,0 +13,0 @@ */ |
{ | ||
"name": "@tokenizer/range", | ||
"version": "0.3.2", | ||
"version": "0.3.3", | ||
"description": "Range-request tokenizer adapter", | ||
@@ -41,3 +41,3 @@ "main": "lib/index.js", | ||
"scripts": { | ||
"clean": "del-cli lib/**/*.js lib/**/*.js.map lib/**/*.d.ts test-data/**/*.js test-data/**/*.js.map coverage", | ||
"clean": "del-cli lib/**/*.js lib/**/*.js.map lib/**/*.d.ts test/**/*.js test/**/*.js.map coverage", | ||
"compile-lib": "tsc -p lib/tsconfig.json", | ||
@@ -49,3 +49,3 @@ "compile-test": "tsc -p test/tsconfig.json", | ||
"lint": "tslint 'lib/**/*.ts' --exclude 'lib/**/*.d.ts' 'test/**/*.ts' --exclude 'test/**/*.d.ts'", | ||
"test": "mocha --require ts-node/register --require source-map-support/register --full-trace test/test.ts", | ||
"test": "mocha --require ts-node/register --require source-map-support/register --full-trace test/*.test.ts", | ||
"test-node": "cd node && yarn install && yarn test-data", | ||
@@ -58,4 +58,4 @@ "test-coverage": "nyc npm run test", | ||
"@types/fs-extra": "^9.0.1", | ||
"@types/mocha": "^8.0.2", | ||
"@types/node": "^14.0.27", | ||
"@types/mocha": "^8.0.3", | ||
"@types/node": "^14.6.0", | ||
"chai": "^4.2.0", | ||
@@ -66,3 +66,3 @@ "coveralls": "^3.1.0", | ||
"mocha": "^8.1.1", | ||
"music-metadata": "^7.0.1", | ||
"music-metadata": "^7.0.2", | ||
"nyc": "^15.1.0", | ||
@@ -69,0 +69,0 @@ "ts-loader": "^8.0.2", |
[![Build Status](https://travis-ci.org/Borewit/tokenizer-range.svg?branch=master)](https://travis-ci.org/Borewit/tokenizer-range) | ||
[![NPM version](https://badge.fury.io/js/%40tokenizer%2Frange.svg)](https://badge.fury.io/js/%40tokenizer%2Frange) | ||
[![npm downloads](http://img.shields.io/npm/dm/@tokenizer/range.svg)](https://npmcharts.com/compare/@tokenizer/range?interval=30) | ||
[![dependencies Status](https://david-dm.org/Borewit/tokenizer-range/status.svg)](https://david-dm.org/Borewit/tokenizer-range) | ||
[![Known Vulnerabilities](https://snyk.io/test/github/Borewit/tokenizer-range/badge.svg?targetFile=package.json)](https://snyk.io/test/github/Borewit/tokenizer-range?targetFile=package.json) | ||
@@ -6,0 +5,0 @@ [![Total alerts](https://img.shields.io/lgtm/alerts/g/Borewit/tokenizer-range.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/Borewit/tokenizer-range/alerts/) |
508
27578
88