novel-globby

globby with sort id/chinese/fullwidth number for node-novel

Usage no npm install needed!

<script type="module">
  import novelGlobby from 'https://cdn.skypack.dev/novel-globby';
</script>

README

node-novel-globby

globby with sort id/chinese/fullwidth number for node-novel

npm install node-novel-globby

options

  • useDefaultPatternsExclude: true
  • disableAutoHandle: false
  • disableSort: false
  • libPromise: Promise from bluebird
  • throwEmpty: true - throw error when list is empty
  • checkRoman: false - if true will sort roman as number
  • sortCallback - sort compare function

defaultPatternsExclude

[
    '!**/*.raw.*',
    '!**/*.new.*',
    '!**/out/**/*',
    '!**/raw/**/*',
    '!**/*_out/**/*',
    '!**/待修正屏蔽字.txt',
    '!**/英語.txt',
    '!**/node_modules/**/*',
    '!**/.*/**/*',
    '!**/~*/**/*',
    '!**/~*',
    '!**/.*',
]

demo

import novelGlobby from 'node-novel-globby';
import { globbyASync, globbySync, returnGlobList } from 'node-novel-globby';
const globbyASync = require('node-novel-globby').globbyASync;
globbyASync(patterns: string[], options: IOptions)
    .tap(function (ls)
    {
        console.log(ls);
    })
    .then(returnGlobList)
    .tap(function (ls)
    {
        console.log(ls);
    })
;

console.log(globbySync());

output

{ temp: 
   [ { path: 'temp/00000_序曲.txt',
       path_dir: 'temp',
       dir: 'temp',
       file: '00000_序曲',
       ext: '.txt',
       volume_title: 'temp',
       chapter_title: '序曲',
       val_file: '00000_序曲',
       val_dir: 'temp' },
     { path: 'temp/0000_转载信息.64849.txt',
       path_dir: 'temp',
       dir: 'temp',
       file: '0000_转载信息.64849',
       ext: '.txt',
       volume_title: 'temp',
       chapter_title: '转载信息',
       val_file: '0000_転載信息.64849',
       val_dir: 'temp' },
     { path: 'temp/六話 練級 経験值来源都多虧了山賊.txt',
       path_dir: 'temp',
       dir: 'temp',
       file: '六話 練級 経験值来源都多虧了山賊',
       ext: '.txt',
       volume_title: 'temp',
       chapter_title: '六話 練級 経験值来源都多虧了山賊',
       val_file: '0006_練級_経験值来源都多虧了山賊',
       val_dir: 'temp' },
     { path: 'temp/123.txt',
       path_dir: 'temp',
       dir: 'temp',
       file: '123',
       ext: '.txt',
       volume_title: 'temp',
       chapter_title: '123',
       val_file: '0123',
       val_dir: 'temp' } ] }

with returnGlobList

[ 'temp/00000_序曲.txt',
  'temp/0000_转载信息.64849.txt',
  'temp/六話 練級 経験值来源都多虧了山賊.txt',
  'temp/123.txt' ]

getOptions(patterns, options)

1

let ret = getOptions(patterns, options);
[patterns, options] = [ret.patterns, ret.options];

2

[patterns, options] = getOptions(patterns, options);

use like globby

import globby, { globbyASync, globbySync } from 'node-novel-globby/g';
globby(patterns, options)
globby.sync(patterns, options)
globby.async(patterns, options)

globbyASync(patterns, options)
globbySync(patterns, options)