Merge scripts
							parent
							
								
									d16ee36fc1
								
							
						
					
					
						commit
						bc3ed3c11c
					
				| 
						 | 
					@ -1,40 +0,0 @@
 | 
				
			||||||
// Copyright (c) 2021 MillenniumEarl
 | 
					 | 
				
			||||||
//
 | 
					 | 
				
			||||||
// This software is released under the MIT License.
 | 
					 | 
				
			||||||
// https://opensource.org/licenses/MIT
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
"use strict";
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// Modules from files
 | 
					 | 
				
			||||||
import fetchHandiworkURLs from "./fetch-handiwork";
 | 
					 | 
				
			||||||
import fetchLatestHandiworkURLs from "./fetch-latest";
 | 
					 | 
				
			||||||
import fetchThreadHandiworkURLs from "./fetch-thread";
 | 
					 | 
				
			||||||
import HandiworkSearchQuery from "../classes/query/handiwork-search-query";
 | 
					 | 
				
			||||||
import LatestSearchQuery from "../classes/query/latest-search-query";
 | 
					 | 
				
			||||||
import ThreadSearchQuery from "../classes/query/thread-search-query";
 | 
					 | 
				
			||||||
import { IQuery } from "../interfaces";
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
//#region Public methods
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/**
 | 
					 | 
				
			||||||
 * @param query Query used for the search
 | 
					 | 
				
			||||||
 * @param limit Maximum number of items to get. Default: 30
 | 
					 | 
				
			||||||
 * @returns URLs of the fetched games
 | 
					 | 
				
			||||||
 */
 | 
					 | 
				
			||||||
export default async function getURLsFromQuery(
 | 
					 | 
				
			||||||
  query: IQuery,
 | 
					 | 
				
			||||||
  limit = 30
 | 
					 | 
				
			||||||
): Promise<string[]> {
 | 
					 | 
				
			||||||
  switch (query.itype) {
 | 
					 | 
				
			||||||
    case "HandiworkSearchQuery":
 | 
					 | 
				
			||||||
      return fetchHandiworkURLs(query as HandiworkSearchQuery, limit);
 | 
					 | 
				
			||||||
    case "LatestSearchQuery":
 | 
					 | 
				
			||||||
      return fetchLatestHandiworkURLs(query as LatestSearchQuery, limit);
 | 
					 | 
				
			||||||
    case "ThreadSearchQuery":
 | 
					 | 
				
			||||||
      return fetchThreadHandiworkURLs(query as ThreadSearchQuery, limit);
 | 
					 | 
				
			||||||
    default:
 | 
					 | 
				
			||||||
      throw Error(`Invalid query type: ${query.itype}`);
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
//#endregion
 | 
					 | 
				
			||||||
| 
						 | 
					@ -9,7 +9,10 @@
 | 
				
			||||||
// Modules from file
 | 
					// Modules from file
 | 
				
			||||||
import { IBasic, IQuery } from "./interfaces";
 | 
					import { IBasic, IQuery } from "./interfaces";
 | 
				
			||||||
import getHandiworkInformation from "./scrape-data/handiwork-parse";
 | 
					import getHandiworkInformation from "./scrape-data/handiwork-parse";
 | 
				
			||||||
import getURLsFromQuery from "./fetch-data/fetch-query";
 | 
					import { HandiworkSearchQuery, LatestSearchQuery, ThreadSearchQuery } from "..";
 | 
				
			||||||
 | 
					import fetchHandiworkURLs from "./fetch-data/fetch-handiwork";
 | 
				
			||||||
 | 
					import fetchLatestHandiworkURLs from "./fetch-data/fetch-latest";
 | 
				
			||||||
 | 
					import fetchThreadHandiworkURLs from "./fetch-data/fetch-thread";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * Gets the handiworks that match the passed parameters.
 | 
					 * Gets the handiworks that match the passed parameters.
 | 
				
			||||||
| 
						 | 
					@ -29,3 +32,25 @@ export default async function search<T extends IBasic>(
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  return Promise.all(results);
 | 
					  return Promise.all(results);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//#region Private methods
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * @param query Query used for the search
 | 
				
			||||||
 | 
					 * @param limit Maximum number of items to get. Default: 30
 | 
				
			||||||
 | 
					 * @returns URLs of the fetched games
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					async function getURLsFromQuery(query: IQuery, limit = 30): Promise<string[]> {
 | 
				
			||||||
 | 
					  switch (query.itype) {
 | 
				
			||||||
 | 
					    case "HandiworkSearchQuery":
 | 
				
			||||||
 | 
					      return fetchHandiworkURLs(query as HandiworkSearchQuery, limit);
 | 
				
			||||||
 | 
					    case "LatestSearchQuery":
 | 
				
			||||||
 | 
					      return fetchLatestHandiworkURLs(query as LatestSearchQuery, limit);
 | 
				
			||||||
 | 
					    case "ThreadSearchQuery":
 | 
				
			||||||
 | 
					      return fetchThreadHandiworkURLs(query as ThreadSearchQuery, limit);
 | 
				
			||||||
 | 
					    default:
 | 
				
			||||||
 | 
					      throw Error(`Invalid query type: ${query.itype}`);
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//#endregion Private methods
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue