Initial working version

This commit is contained in:
Samuel Kent
2022-12-22 20:22:22 +11:00
parent ce9675a1cc
commit ced7fa5092
902 changed files with 150252 additions and 0 deletions
+16
View File
@@ -0,0 +1,16 @@
import { IChunkHeader } from '../iff';
import { IGetToken } from 'strtok3/lib/core';
export { IChunkHeader } from '../iff';
/**
* Common RIFF chunk header
*/
export declare const Header: IGetToken<IChunkHeader>;
/**
* Token to parse RIFF-INFO tag value
*/
export declare class ListInfoTagValue implements IGetToken<string> {
private tagHeader;
len: number;
constructor(tagHeader: IChunkHeader);
get(buf: any, off: any): string;
}
+32
View File
@@ -0,0 +1,32 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.ListInfoTagValue = exports.Header = void 0;
const Token = require("token-types");
/**
* Common RIFF chunk header
*/
exports.Header = {
len: 8,
get: (buf, off) => {
return {
// Group-ID
chunkID: buf.toString('binary', off, off + 4),
// Size
chunkSize: Token.UINT32_LE.get(buf, 4)
};
}
};
/**
* Token to parse RIFF-INFO tag value
*/
class ListInfoTagValue {
constructor(tagHeader) {
this.tagHeader = tagHeader;
this.len = tagHeader.chunkSize;
this.len += this.len & 1; // if it is an odd length, round up to even
}
get(buf, off) {
return new Token.StringType(this.tagHeader.chunkSize, 'ascii').get(buf, off);
}
}
exports.ListInfoTagValue = ListInfoTagValue;
+10
View File
@@ -0,0 +1,10 @@
import { INativeTagMap } from '../common/GenericTagTypes';
import { CommonTagMapper } from '../common/GenericTagMapper';
/**
* RIFF Info Tags; part of the EXIF 2.3
* Ref: http://owl.phy.queensu.ca/~phil/exiftool/TagNames/RIFF.html#Info
*/
export declare const riffInfoTagMap: INativeTagMap;
export declare class RiffInfoTagMapper extends CommonTagMapper {
constructor();
}
+37
View File
@@ -0,0 +1,37 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.RiffInfoTagMapper = exports.riffInfoTagMap = void 0;
const GenericTagMapper_1 = require("../common/GenericTagMapper");
/**
* RIFF Info Tags; part of the EXIF 2.3
* Ref: http://owl.phy.queensu.ca/~phil/exiftool/TagNames/RIFF.html#Info
*/
exports.riffInfoTagMap = {
IART: 'artist',
ICRD: 'date',
INAM: 'title',
TITL: 'title',
IPRD: 'album',
ITRK: 'track',
COMM: 'comment',
ICMT: 'comment',
ICNT: 'releasecountry',
GNRE: 'genre',
IWRI: 'writer',
RATE: 'rating',
YEAR: 'year',
ISFT: 'encodedby',
CODE: 'encodedby',
TURL: 'website',
IGNR: 'genre',
IENG: 'engineer',
ITCH: 'technician',
IMED: 'media',
IRPD: 'album' // Product, where the file was intended for
};
class RiffInfoTagMapper extends GenericTagMapper_1.CommonTagMapper {
constructor() {
super(['exif'], exports.riffInfoTagMap);
}
}
exports.RiffInfoTagMapper = RiffInfoTagMapper;