lazy-kit-fs
TypeScript icon, indicating that this package has built-in type declarations

1.0.7 • Public • Published

lazy-kit-fs

File system quick toolkit based on Nodejs

Functions

/**
 * 文件夹是否存在, 如果不存在则创建, 并返回创建后的绝对路径
 * @param path
 * @returns 绝对地址
 */
function inspect(path: string): string;

/**
   * 将指定文件移动到指定的目标地址
   * @param src 原文件
   * @param dest 目标文件夹
   * @param filename 可选 目标文件名, 未设置时同原文件名
   * @returns boolean
   */
  function moveTo(
    src_file: string,
    dest_dir: string,
    filename?: string
  ): boolean;

/**
   * 读取指定的文件后, 将文件内容转换为JSON对象
   * @param file_or_data 文件绝对地址 或者 JSON字符串
   * @param options 可选 {
   * isPath?:boolean 原文件参数是一个地址还是JSON字符串
   * path2buf: string[] 需要将指定字段设置的文件地址替换为读取之后的buffer, 字段可以是a.b.c深度指定
   * }
   * @returns JSON
   */
  function toJSON(
    file_or_data: string,
    options?: { isPath?: boolean; path2buf?: string[] }
  ): any;

  /**
   * 将键值对形式的文本转换为一个JSON对象
   * @param text 文本字符串
   * @param segSplit 键值对 与 键值对 之间的间隔符号, 默认是正则表达式/\r?\n/
   * @param kvSplit 键值对的 键与值之间的间隔符号, 默认是等号“=”
   * @returns 
   */
  function kv2Json(text:string, segSplit?:any, kvSplit?:any): {[field:string]:string} ;

/**
   * 检查给定文件, 判断文件的读写状态, 及其是否已经读写完毕, 可设置上一次检查的时间
   * 文件不存在时抛异常
   * @param file 文件地址
   * @param dura 间隔多少时间没有更新就表示文件写入已完成, 单位秒, 默认30s
   * @returns boolean
   */
  function isEOF(file:string, dura?:number): boolean;

/**
   * 监听文件, 直到文件完成全部更新
   * @param file 监听的文件地址
   * @param intv 监听的间隔时间, 单位秒, 默认5s
   * @param dura 间隔多少时间没有更新就表示文件写入已完成, 单位秒, 默认30s
   * @returns Promise<Stats> 文件完全全部更新之后的统计信息
   */
  function watchEOF(file:string, intv?:number, dura?:number): Promise<any>;
  /**
   * 按指定数据块参数, 解析二进制文件, 并按顺序返回解析后的数据块缓存
   * @param bin 原始二进制文件数据混存
   * @param blocks 按顺序指定的数据块参数
    {
      position: "fix"|"flex";
      start?: number; 起始位置; fix的时候必须(第一块不需要设置), flex的时候不需要;
      end?: number;   结束位置; fix的时候必须(末尾块不需要设置), flex的时候不需要;
      encoding?: any; 数据块的编码格式, UTF8 | ASCII | HEX 等等
    }
  * @returns 按顺序返回每个数据块(指定编码时返回解码后数据)
  */
  function parseBinary(bin:Buffer, blocks:{
    position: "fix"|"flex";
    start?: number; // 起始位置; fix的时候必须, flex的时候不需要
    end?: number; // 结束位置; fix的时候必须, flex的时候不需要
    encoding?: any; // 数据块的编码格式, UTF8 | ASCII | HEX 等等
  }[]): (string|Buffer)[];
  /**
   * 根据分块长度, 分隔给定的缓存
   * @param bin 
   * @param blocks 
   */
  function splitBinary(bin:Buffer, blocks:("flex" | number)[]): Buffer[];

Readme

Keywords

none

Package Sidebar

Install

npm i lazy-kit-fs

Weekly Downloads

0

Version

1.0.7

License

none

Unpacked Size

27.5 kB

Total Files

5

Last publish

Collaborators

  • geo.pan