@ddunigma/node
Version:
76 lines (72 loc) • 4.03 kB
text/typescript
import { D as Ddu64Core, a as DduSecureConstructorOptions, b as DduOptions, c as DduEncodeStats } from './core-ihIEWmI5.cjs';
export { C as CharSetConfig, d as CharSetInfo, e as CharsetBuilder, f as Ddu64AdapterError, g as Ddu64CharsetError, h as Ddu64ChecksumError, i as Ddu64CompressionError, j as Ddu64DecodeError, k as Ddu64DecompressionError, l as Ddu64DecryptionError, m as Ddu64EncodeError, n as Ddu64EncryptionError, o as Ddu64Error, p as Ddu64ErrorCode, q as Ddu64ErrorOptions, r as Ddu64InvalidInputError, s as Ddu64LimitError, t as Ddu64ObfuscationError, u as Ddu64Operation, v as Ddu64StreamError, w as DduBaseConstructorOptions, x as DduBaseOptions, y as DduProgressInfo, z as DduSetSymbol, A as DduSetSymbolInput, E as EncodingProfile, O as ObfuscationLayer, B as isDdu64Error } from './core-ihIEWmI5.cjs';
export { H as HangulObfuscationLayer, c as createEncoderObfuscationLayer, d as detectRuntime } from './ObfuscationLayer-CK0ptcW-.cjs';
/**
* Node.js 전용 기본 Ddu64 래퍼.
*
* Ddu64Core를 확장하여 인코딩 + 한글 난독화(라이브러리 주목적: 재미 + 시각적 난독화)와
* Node.js Buffer 디코드를 제공합니다:
* - HangulObfuscationLayer 자동 주입 → 키 없는 한글 난독화 사용 가능
* - Node.js Buffer를 반환하는 `decodeToBuffer` 및 `decodeToBufferAsync` 제공
* - encode()에 Buffer 입력 허용 (Buffer는 Uint8Array를 확장)
*
* 기본 경로는 어댑터(zlib/crypto)를 주입하지 않습니다. 압축/암호화가 명시된 비동기 호출만
* secure 래퍼를 동적 import하여 NodeAdapter를 지연 주입합니다. 동기 secure 작업이 필요하면
* secure 진입점(`@ddunigma/node/secure`)의 `Ddu64Secure`를 사용하세요.
*
* @module Ddu64Node
*/
/**
* Node.js 전용 기본 Ddu64 인코더/디코더.
*
* Ddu64Core를 래핑하여 한글 난독화 레이어를 자동 주입하고,
* 하위 호환성을 위한 Buffer 반환 디코드 메서드를 제공합니다.
*
* @example
* ```ts
* import { Ddu64 } from '@ddunigma/node';
*
* const encoder = new Ddu64();
* const encoded = encoder.encode(Buffer.from('Hello'), { obfuscate: true });
* const decoded = encoder.decodeToBuffer(encoded); // Buffer 반환
* ```
*/
declare class Ddu64Node extends Ddu64Core {
#private;
constructor(dduChar?: string[] | string | DduSecureConstructorOptions, paddingChar?: string, dduOptions?: DduSecureConstructorOptions);
/** @group Sync */
encode(input: Uint8Array | string, options?: DduOptions): string;
/**
* @group Sync
* `decode`/`decodeToBuffer`는 코어에서 `this.decodeToUint8Array`를 경유하므로 이 가드 하나가
* sync 디코드 3종을 모두 덮습니다(중복 override 불필요).
*/
decodeToUint8Array(input: string, options?: DduOptions): Uint8Array;
/** @group Async */
encodeAsync(input: Uint8Array | string, options?: DduOptions): Promise<string>;
/** @group Async */
decodeToUint8ArrayAsync(input: string, options?: DduOptions): Promise<Uint8Array>;
/** @group Introspection */
getStats(input: Uint8Array | string, options?: DduOptions): DduEncodeStats;
/** @group Introspection */
getStatsAsync(input: Uint8Array | string, options?: DduOptions): Promise<DduEncodeStats>;
/**
* 인코딩된 문자열을 Node.js Buffer로 디코딩합니다.
*
* @param input - 디코딩할 인코딩된 문자열
* @param options - 디코딩 옵션
* @returns 디코딩된 Buffer
* @group Sync
*/
decodeToBuffer(input: string, options?: DduOptions): Buffer;
/**
* 비동기적으로 Node.js Buffer로 디코딩합니다.
*
* @param input - 디코딩할 인코딩된 문자열
* @param options - 디코딩 옵션
* @returns 디코딩된 Buffer로 resolve되는 Promise
* @group Async
*/
decodeToBufferAsync(input: string, options?: DduOptions): Promise<Buffer>;
}
export { Ddu64Node as Ddu64, Ddu64Core, Ddu64Node, DduEncodeStats };