From d11a8560e7b9bacda887febe41f261c3e4e59d09 Mon Sep 17 00:00:00 2001 From: Rishi Ghan Date: Thu, 6 May 2021 13:45:30 -0700 Subject: [PATCH] changes --- .../route/routes/importComics.routes.ts | 25 ++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/src/server/route/routes/importComics.routes.ts b/src/server/route/routes/importComics.routes.ts index 8f7382e..1ad6e12 100644 --- a/src/server/route/routes/importComics.routes.ts +++ b/src/server/route/routes/importComics.routes.ts @@ -2,8 +2,15 @@ import router from "../router"; import { default as paginate } from "express-paginate"; import { walkFolder, extractArchive, getCovers } from "../../utils/fs.utils"; import _ from "lodash"; -import { IExtractionOptions } from "../../interfaces/folder.interface"; import { Request, Response } from "express"; +import fs from "fs"; + +import { IExtractionOptions } from "../../interfaces/folder.interface"; +const { chain } = require("stream-chain"); +const { parser } = require("stream-json"); +const { pick } = require("stream-json/filters/Pick"); +const { ignore } = require("stream-json/filters/Ignore"); +const { streamValues } = require("stream-json/streamers/StreamValues"); router.route("/getComicCovers").post(async (req: Request, res: Response) => { typeof req.body.extractionOptions === "object" @@ -13,6 +20,22 @@ router.route("/getComicCovers").post(async (req: Request, res: Response) => { req.body.extractionOptions, req.body.walkedFolders, ); + const pipeline = chain([ + fs.createReadStream(foo), + parser(), + // pick({ filter: "data" }), + streamValues(), + (data) => { + const value = data.value; + return value; + }, + ]); + + let counter = 0; + pipeline.on("data", () => ++counter); + pipeline.on("end", () => + console.log(`The accounting department has ${counter} employees.`), + ); return res.json(foo); // if ( // _.isArray(foo) &&