{"version":3,"sources":["jsdelivr-header.js","/npm/node-novel-info@3.0.18/index.ts"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,sTCFA,QAAA,QAAA,eAkBS,OAAA,eAAA,QAAA,oBAAA,YAAA,EAAA,IAAA,kBAlBA,QAAA,gBAAgB,IACzB,MAAA,UAAA,QAAA,WAgBS,OAAA,eAAA,QAAA,UAAA,YAAA,EAAA,IAAA,kBAhBqD,UAAA,MAAM,IACpE,MAAA,iBAAA,QAAA,kBACA,iBAAA,QAAA,gBAAA,QAAA,mBACA,qBAAA,QAAA,sBACA,OAAA,QAAA,gBAAA,QAAA,WACA,WAAA,QAAA,YAaS,OAAA,eAAA,QAAA,UAAA,YAAA,EAAA,IAAA,kBAbA,WAAA,MAAM,IAaE,OAAA,eAAA,QAAA,WAAA,YAAA,EAAA,IAAA,kBAbA,WAAA,OAAO,IACxB,MAAA,UAAA,QAAA,WACA,OAAA,QAAA,QACA,OAAA,QAAA,cAiBA,SAAgB,UAAU,EAAM,KAAQ,GAIvC,OAFA,EAAO,wBAAwB,EAAM,KAAO,IAErC,EAAA,UAAA,WAAW,GAAQ,iBAAA,GAAG,OAAO,EACrC,CAMA,SAAgB,MAA6B,EAAM,EAAyB,I,MAEvE,EAAQ,gBAEX,EAAQ,YAAc,EAAQ,eAGM,MAAjC,EAAQ,wBAEX,EAAQ,uBAAwB,GAGjC,IAAI,GAAM,EAAA,UAAA,QAAO,EAAA,iBAAA,MAAK,EAAK,YAAa,GAExC,KAEc,QAAT,EAAA,EAAI,aAAK,IAAA,OAAA,EAAA,EAAE,WAEd,EAAI,MAAM,QAAW,MAAM,QAAQ,EAAI,MAAM,SAAY,EAAI,MAAM,QAAQ,KAAK,iBAAA,IAAM,EAAI,MAAM,SAI5F,EAAQ,gBAAiB,EAAI,UAEjC,EAAI,SAAU,EAAA,iBAAA,SAAU,EAAI,SAAW,GAAI,CAE1C,WAAY,IAEV,QAAA,kBAEL,CACA,MAAO,GAEN,QAAQ,MAAM,EAAE,WACjB,CAOA,IALI,EAAQ,KAAsB,MAAf,EAAQ,OAE1B,GAAM,EAAA,OAAA,SAAQ,EAAK,KAGhB,EAAQ,OAA0B,MAAjB,EAAQ,SAE5B,GAAM,EAAA,OAAA,SAAQ,EAAK,IACf,EACH,OAAO,KAGH,GAEJ,MAAM,IAAI,MAAM,sCAYlB,OARI,IAEH,GAAM,EAAA,OAAA,UAAS,IAMT,CACR,CAEA,SAAgB,YAAmC,EAAM,KAAQ,GAchE,OAXA,EAAO,OAAA,QAAO,YAAY,EAAM,GAAM,GAAI,CACzC,MAAO,CACN,KAAM,QAEF,IAEN,GAAO,EAAA,OAAA,UAAS,IACX,MAAM,KAAK,QAAQ,cACxB,EAAK,MAAM,MAAO,EAAA,qBAAA,cAAa,EAAK,MAAM,MAGnC,CACR,CAEA,SAAgB,wBAA+C,EAAM,KAAQ,G,MAiB5E,MAbkC,iBAAb,QAAV,GAFX,EAAO,YAAY,EAAM,KAAO,IAEhB,aAAK,IAAA,OAAA,EAAA,EAAE,WAEtB,EAAK,MAAM,QAAU,IAAI,UAAA,UAAU,EAAK,MAAM,QAAS,KAGpD,iBAAkB,EAAK,SAAU,EAAA,OAAA,YAAW,EAAK,MAAM,iBAE1D,EAAA,OAAA,QAAO,EAAK,MAAM,cAAc,EAAE,UAElC,EAAK,MAAM,cAAe,EAAA,UAAA,OAAM,EAAK,MAAM,aAAc,IAInD,CACR,CA7HA,QAAA,aAAA,QAAA,cAAA,SACA,QAAA,aAAA,QAAA,eAAA,SAEA,QAAA,aAAA,QAAA,aAAA,SAMa,QAAA,oBAAqC,CACjD,eAAe,EACf,uBAAuB,GAGxB,QAAA,oBAWA,QAAA,YAiEA,QAAA,wBAiBA,QAAA,gDAoBa,QAAA,aAAe,MAE5B,QAAA,QAAe","file":"/npm/node-novel-info@3.0.18/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/node-novel-info@3.0.18/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","/**\n * Created by user on 2018/1/27/027.\n */\n\nimport { deepmergeOptions } from './lib/const';\nimport { parse as _parse, stringify as _stringify, RawObject, mdconf } from 'mdconf2';\nimport { crlf, LF } from 'crlf-normalize';\nimport deepmerge from 'deepmerge-plus';\nimport { array_unique } from 'array-hyper-unique';\nimport JsonMd from './json';\nimport { envVal, envBool } from 'env-bool';\nimport { toHex } from 'hex-lib';\nimport { expect } from 'chai';\nimport { chkInfo, sortKeys, isHexValue } from './lib/util';\nimport { IOptionsParse, IMdconfMeta } from './lib/types';\n\nexport * from './lib/util';\nexport * from './lib/types';\nexport { IMdconfMeta, IOptionsParse } from './lib/types';\nexport * from './version';\n\nexport { mdconf }\nexport { deepmergeOptions }\nexport { envVal, envBool }\n\nexport const defaultOptionsParse: IOptionsParse = {\n\tremoveRawData: true,\n\tdisableKeyToLowerCase: true,\n};\n\nexport function stringify(data, d2?, ...argv): string\n{\n\tdata = _handleDataForStringify(data, d2, ...argv);\n\n\treturn _stringify(data) + LF.repeat(2);\n}\n\nexport function parse<T = IMdconfMeta>(data: {\n\ttoString(): string,\n}, options?: IOptionsParse): T\nexport function parse<T = IMdconfMeta>(data: string, options?: IOptionsParse): T\nexport function parse<T extends IMdconfMeta>(data, options: IOptionsParse = {}): T\n{\n\tif (options.removeRawData)\n\t{\n\t\toptions.oldParseApi = options.removeRawData;\n\t}\n\n\tif (options.disableKeyToLowerCase == null)\n\t{\n\t\toptions.disableKeyToLowerCase = true;\n\t}\n\n\tlet ret = _parse(crlf(data.toString()), options) as IMdconfMeta;\n\n\ttry\n\t{\n\t\tif (ret.novel?.preface)\n\t\t{\n\t\t\tret.novel.preface = (Array.isArray(ret.novel.preface)) ? ret.novel.preface.join(LF) : ret.novel.preface\n\t\t\t;\n\t\t}\n\n\t\tif (!options.lowCheckLevel || ret.options)\n\t\t{\n\t\t\tret.options = deepmerge(ret.options || {}, {\n\n\t\t\t\ttextlayout: {},\n\n\t\t\t}, deepmergeOptions);\n\t\t}\n\t}\n\tcatch (e)\n\t{\n\t\tconsole.error(e.toString());\n\t}\n\n\tif (options.chk || options.chk == null)\n\t{\n\t\tret = chkInfo(ret, options);\n\t}\n\n\tif (options.throw || options.throw == null)\n\t{\n\t\tret = chkInfo(ret, {\n\t\t\t...options,\n\t\t\tthrow: true,\n\t\t});\n\n\t\tif (!ret)\n\t\t{\n\t\t\tthrow new Error('not a valid node-novel-info mdconf');\n\t\t}\n\t}\n\n\tif (ret)\n\t{\n\t\tret = sortKeys(ret);\n\n\t\t//console.log(777);\n\t}\n\n\t// @ts-ignore\n\treturn ret;\n}\n\nexport function _handleData<T extends IMdconfMeta>(data, d2?, ...argv): T\n{\n\t// @ts-ignore\n\tdata = JsonMd.toNovelInfo(data, d2 || {}, {\n\t\tnovel: {\n\t\t\ttags: [],\n\t\t},\n\t}, ...argv);\n\n\tdata = sortKeys(data);\n\tdata.novel.tags.unshift('node-novel');\n\tdata.novel.tags = array_unique(data.novel.tags);\n\n\t// @ts-ignore\n\treturn data;\n}\n\nexport function _handleDataForStringify<T extends IMdconfMeta>(data, d2?, ...argv): T\n{\n\tdata = _handleData(data, d2, ...argv);\n\n\tif (typeof data.novel?.preface == 'string')\n\t{\n\t\tdata.novel.preface = new RawObject(data.novel.preface, {} as any);\n\t}\n\n\tif ('novel_status' in data.novel && !isHexValue(data.novel.novel_status))\n\t{\n\t\texpect(data.novel.novel_status).a('number');\n\n\t\tdata.novel.novel_status = toHex(data.novel.novel_status, 4);\n\t}\n\n\t// @ts-ignore\n\treturn data;\n}\n\nexport const mdconf_parse = parse;\n\nexport default exports as typeof import('./index');\n"]}