Back | Home
الـ Path الحالي: /home/picotech/domains/instantly.picotech.app/public_html/public/uploads/../uploads/../../../../instantly.picotech.app/homes/../../wa.picotech.app/public_html/node_modules/escape-html/../././form-data/../methods/../lodash.clonedeep/../ws/../././cliui/../validator/./../pino/../socket.io-adapter/../music-metadata/lib/aiff/../.
الملفات الموجودة في هذا الـ Path:
.
..
ParserFactory.d.ts
ParserFactory.js
aiff
apev2
asf
common
core.d.ts
core.js
dsdiff
dsf
flac
id3v1
id3v2
iff
index.d.ts
index.js
lyrics3
matroska
mp4
mpeg
musepack
ogg
riff
type.d.ts
type.js
wav
wavpack
مشاهدة ملف: index.js
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.ratingToStars = exports.orderTags = exports.parseFile = exports.parseStream = exports.selectCover = exports.parseBuffer = exports.parseFromTokenizer = void 0;
const strtok3 = require("strtok3");
const Core = require("./core");
const ParserFactory_1 = require("./ParserFactory");
const debug_1 = require("debug");
const RandomFileReader_1 = require("./common/RandomFileReader");
const debug = (0, debug_1.default)("music-metadata:parser");
var core_1 = require("./core");
Object.defineProperty(exports, "parseFromTokenizer", { enumerable: true, get: function () { return core_1.parseFromTokenizer; } });
Object.defineProperty(exports, "parseBuffer", { enumerable: true, get: function () { return core_1.parseBuffer; } });
Object.defineProperty(exports, "selectCover", { enumerable: true, get: function () { return core_1.selectCover; } });
/**
* Parse audio from Node Stream.Readable
* @param stream - Stream to read the audio track from
* @param fileInfo - File information object or MIME-type, e.g.: 'audio/mpeg'
* @param options - Parsing options
* @returns Metadata
*/
async function parseStream(stream, fileInfo, options = {}) {
const tokenizer = await strtok3.fromStream(stream, typeof fileInfo === 'string' ? { mimeType: fileInfo } : fileInfo);
return Core.parseFromTokenizer(tokenizer, options);
}
exports.parseStream = parseStream;
/**
* Parse audio from Node file
* @param filePath - Media file to read meta-data from
* @param options - Parsing options
* @returns Metadata
*/
async function parseFile(filePath, options = {}) {
debug(`parseFile: ${filePath}`);
const fileTokenizer = await strtok3.fromFile(filePath);
const fileReader = await RandomFileReader_1.RandomFileReader.init(filePath, fileTokenizer.fileInfo.size);
try {
await Core.scanAppendingHeaders(fileReader, options);
}
finally {
await fileReader.close();
}
try {
const parserName = ParserFactory_1.ParserFactory.getParserIdForExtension(filePath);
if (!parserName)
debug(' Parser could not be determined by file extension');
return await ParserFactory_1.ParserFactory.parse(fileTokenizer, parserName, options);
}
finally {
await fileTokenizer.close();
}
}
exports.parseFile = parseFile;
/**
* Create a dictionary ordered by their tag id (key)
* @param nativeTags - List of tags
* @returns Tags indexed by id
*/
exports.orderTags = Core.orderTags;
/**
* Convert rating to 1-5 star rating
* @param rating - Normalized rating [0..1] (common.rating[n].rating)
* @returns Number of stars: 1, 2, 3, 4 or 5 stars
*/
exports.ratingToStars = Core.ratingToStars;
/**
* Define default module exports
*/
exports.default = {
parseStream,
parseFile,
parseFromTokenizer: Core.parseFromTokenizer,
parseBuffer: Core.parseBuffer,
selectCover: Core.selectCover
};