forked from sheetjs/sheetjs
		
	
		
			
	
	
		
			40 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
		
		
			
		
	
	
			40 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| 
								 | 
							
								/* codepage.js (C) 2013-present SheetJS -- http://sheetjs.com */
							 | 
						||
| 
								 | 
							
								// TypeScript Version: 2.2
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/** Codepage index type (integer or string representation) */
							 | 
						||
| 
								 | 
							
								export type CP$Index = number | string;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/* Individual codepage converter */
							 | 
						||
| 
								 | 
							
								export interface CP$Conv {
							 | 
						||
| 
								 | 
							
									enc: {[n: string]: number; };
							 | 
						||
| 
								 | 
							
									dec: {[n: number]: string; };
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/** Encode input type (string, array of characters, Buffer) */
							 | 
						||
| 
								 | 
							
								export type CP$String = string | string[] | Uint8Array;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/** Encode output / decode input type */
							 | 
						||
| 
								 | 
							
								export type CP$Data = string | number[] | Uint8Array;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/** General utilities */
							 | 
						||
| 
								 | 
							
								export interface CP$Utils {
							 | 
						||
| 
								 | 
							
									decode(cp: CP$Index, data: CP$Data): string;
							 | 
						||
| 
								 | 
							
									encode(cp: CP$Index, data: CP$String, opts?: any): CP$Data;
							 | 
						||
| 
								 | 
							
									hascp(n: number): boolean;
							 | 
						||
| 
								 | 
							
									magic: {[cp: string]: string};
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/* note: TS cannot export top-level indexer, hence default workaround */
							 | 
						||
| 
								 | 
							
								export interface CP$Module {
							 | 
						||
| 
								 | 
							
									/** Version string */
							 | 
						||
| 
								 | 
							
									version: string;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/** Utility Functions */
							 | 
						||
| 
								 | 
							
									utils: CP$Utils;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/** Codepage Converters */
							 | 
						||
| 
								 | 
							
									[cp: number]: CP$Conv;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								export const cptable: CP$Module;
							 | 
						||
| 
								 | 
							
								export default cptable;
							 |