From ada8420cd1d4bf621858d59cb2c5ab1811d862cd Mon Sep 17 00:00:00 2001 From: Alexander T Date: Mon, 18 Nov 2019 23:50:53 +0200 Subject: [PATCH] vexdb: Provides its own types (#39561) --- notNeededPackages.json | 6 + types/vexdb/index.d.ts | 595 ------------------------------------- types/vexdb/tsconfig.json | 16 - types/vexdb/tslint.json | 1 - types/vexdb/vexdb-tests.ts | 99 ------ 5 files changed, 6 insertions(+), 711 deletions(-) delete mode 100644 types/vexdb/index.d.ts delete mode 100644 types/vexdb/tsconfig.json delete mode 100644 types/vexdb/tslint.json delete mode 100644 types/vexdb/vexdb-tests.ts diff --git a/notNeededPackages.json b/notNeededPackages.json index 052e6246b5..5504df0ae6 100644 --- a/notNeededPackages.json +++ b/notNeededPackages.json @@ -5088,6 +5088,12 @@ "sourceRepoURL": "https://github.com/vega/vega", "asOfVersion": "3.2.0" }, + { + "libraryName": "vexdb", + "typingsPackageName": "vexdb", + "sourceRepoURL": "https://github.com/MayorMonty/vexdb#readme", + "asOfVersion": "1.7.1" + }, { "libraryName": "velocity-animate", "typingsPackageName": "velocity-animate", diff --git a/types/vexdb/index.d.ts b/types/vexdb/index.d.ts deleted file mode 100644 index 974b203fd8..0000000000 --- a/types/vexdb/index.d.ts +++ /dev/null @@ -1,595 +0,0 @@ -// Type definitions for vexdb 1.7 -// Project: https://github.com/MayorMonty/vexdb#readme -// Definitions by: Brendan McGuire -// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -// TypeScript Version: 2.2 - -import { EventEmitter } from "events"; - -export type Endpoint = - | "events" - | "teams" - | "matches" - | "rankings" - | "season_rankings" - | "awards" - | "skills"; - -/** - * Parameter Objects - */ -export type StringRequest = - | string - | string[] - | RegExp - | StringRequestValidatorFunction; -export type StringRequestValidatorFunction = ( - itemValue: string, - item: ResponseObject -) => Promise | boolean; - -export type NumberRequest = number | number[] | NumberRequestValidatorFunction; -export type NumberRequestValidatorFunction = ( - itemValue: number, - item: ResponseObject -) => Promise | boolean; - -/** - * Request Objects - */ - -export type RequestObject = - | TeamsRequestObject - | EventsRequestObject - | MatchesRequestObject - | RankingsRequestObject - | SeasonRankingsRequestObject - | AwardsRequestObject - | SkillsRequestObject; - -export interface TeamsRequestObject { - team?: StringRequest; - number?: StringRequest; - team_name?: StringRequest; - robot_name?: StringRequest; - program?: StringRequest; - organisation?: StringRequest; - city?: StringRequest; - region?: StringRequest; - country?: StringRequest; - grade?: StringRequest; - is_registered?: NumberRequest; - sku?: StringRequest; - limit_number?: number; - limit_start?: number; -} - -export interface EventsRequestObject { - sku?: StringRequest; - program?: StringRequest; - date?: StringRequest; - season?: StringRequest; - city?: StringRequest; - region?: StringRequest; - country?: StringRequest; - status?: StringRequest; - limit_number?: number; - limit_start?: number; - - key?: StringRequest; - name?: StringRequest; - loc_venue?: StringRequest; - loc_address1?: StringRequest; - loc_address2?: StringRequest; - loc_city?: StringRequest; - loc_region?: StringRequest; - loc_postcode?: StringRequest; - loc_country?: StringRequest; - start?: StringRequest; - end?: StringRequest; -} - -export interface MatchesRequestObject { - sku?: StringRequest; - division?: StringRequest; - team?: StringRequest; - round?: NumberRequest; - instance?: NumberRequest; - matchnum?: NumberRequest; - scheduled?: NumberRequest; - field?: StringRequest; - scored?: NumberRequest; - season?: StringRequest; - limit_number?: number; - limit_start?: number; - - red1?: StringRequest; - red2?: StringRequest; - red3?: StringRequest; - redsit?: StringRequest; - blue1?: StringRequest; - blue2?: StringRequest; - blue3?: StringRequest; - bluesit?: StringRequest; - redscore?: NumberRequest; - bluescore?: NumberRequest; -} - -export interface RankingsRequestObject { - sku?: StringRequest; - division?: StringRequest; - team?: StringRequest; - rank?: StringRequest; - season?: StringRequest; - limit_number?: number; - limit_start?: number; - - wins?: NumberRequest; - losses?: NumberRequest; - ties?: NumberRequest; - wp?: NumberRequest; - ap?: NumberRequest; - sp?: NumberRequest; - trsp?: NumberRequest; - max_score?: NumberRequest; - opr?: NumberRequest; - dpr?: NumberRequest; - ccwm?: NumberRequest; -} - -export interface SeasonRankingsRequestObject { - program?: StringRequest; - season?: StringRequest; - team?: StringRequest; - vrating_rank?: NumberRequest; - limit_number?: number; - limit_start?: number; - - vrating?: NumberRequest; -} - -export interface AwardsRequestObject { - sku?: StringRequest; - name?: StringRequest; - team?: StringRequest; - season?: StringRequest; - limit_number?: number; - limit_start?: number; - - order?: NumberRequest; -} - -export interface SkillsRequestObject { - sku?: StringRequest; - program?: StringRequest; - type?: NumberRequest; - team?: StringRequest; - season?: StringRequest; - rank?: NumberRequest; - season_rank?: NumberRequest; - limit_number?: number; - limit_start?: number; - - attempts?: NumberRequest; - score?: NumberRequest; -} - -/** - * Response Objects - */ - -export type ResponseObject = - | TeamsResponseObject - | EventsResponseObject - | MatchesResponseObject - | RankingsResponseObject - | SeasonRankingsResponseObject - | AwardsResponseObject - | SkillsResponseObject; - -export interface TeamsResponseObject { - number: string; - program: string; - team_name: string; - robot_name: string; - organisation: string; - city: string; - region: string; - country: string; - grade: string; - is_registered: 0 | 1; -} - -export interface EventsResponseObject { - sku: string; - key: string; - program: string; - name: string; - loc_venue: string; - loc_address1: string; - loc_address2: string; - loc_city: string; - loc_region: string; - loc_postcode: string; - loc_country: string; - season: string; - start: string; - end: string; - divisions: string[]; -} - -export interface MatchesResponseObject { - sku: string; - division: string; - round: 1 | 2 | 3 | 4 | 5 | 6 | 16; - instance: number; - matchnum: number; - field: string; - red1: string; - red2: string; - red3: string; - redsit: string; - blue1: string; - blue2: string; - blue3: string; - bluesit: string; - redscore: number; - bluescore: number; - scored: 0 | 1; - scheduled: string; -} - -export interface RankingsResponseObject { - sku: string; - division: string; - rank: number; - team: string; - wins: number; - losses: number; - ties: number; - wp: number; - ap: number; - sp: number; - trsp: number; - max_score: number; - opr: number; - dpr: number; - ccwm: number; -} - -export interface SeasonRankingsResponseObject { - team: string; - season: string; - program: string; - vrating_rank: number; - vrating: number; -} - -export interface AwardsResponseObject { - sku: string; - name: string; - team: string; - qualifies: string[]; - order: number; -} - -export interface SkillsResponseObject { - sku: string; - type: number; - rank: number; - team: string; - program: string; - attempts: number; - score: number; -} - -/** - * GET - */ -export function get( - endpoint: "teams", - params: TeamsRequestObject -): Promise; - -export function get( - endpoint: "events", - params: EventsRequestObject -): Promise; - -export function get( - endpoint: "matches", - params: MatchesRequestObject -): Promise; - -export function get( - endpoint: "rankings", - params: RankingsRequestObject -): Promise; - -export function get( - endpoint: "season_rankings", - params: SeasonRankingsRequestObject -): Promise; - -export function get( - endpoint: "awards", - params: AwardsRequestObject -): Promise; - -export function get( - endpoint: "skills", - params: SkillsRequestObject -): Promise; - -/** - * SIZE - */ -export function size( - endpoint: "teams", - params: TeamsRequestObject -): Promise; - -export function size( - endpoint: "events", - params: EventsRequestObject -): Promise; - -export function size( - endpoint: "matches", - params: MatchesRequestObject -): Promise; - -export function size( - endpoint: "rankings", - params: RankingsRequestObject -): Promise; - -export function size( - endpoint: "season_rankings", - params: SeasonRankingsRequestObject -): Promise; - -export function size( - endpoint: "awards", - params: AwardsRequestObject -): Promise; - -export function size( - endpoint: "skills", - params: SkillsRequestObject -): Promise; - -/** - * LIVE - */ -export interface LiveEventEmitter extends EventEmitter { - close(): void; - params(updateParameters: Q): Q; - current(): R[]; - - // Update Events - on(event: "item", callback: (item: R) => void): this; - on(event: "fetch", callback: (newItems: R[]) => void): this; - on(event: "prefetch", callback: (results: R[]) => void): this; -} - -export type LiveRequestObject = T & { prefetch?: boolean }; - -export function live( - endpoint: "teams", - params: LiveRequestObject -): LiveEventEmitter; - -export function live( - endpoint: "events", - params: LiveRequestObject -): LiveEventEmitter; - -export function live( - endpoint: "matches", - params: LiveRequestObject -): LiveEventEmitter; - -export function live( - endpoint: "rankings", - params: LiveRequestObject -): LiveEventEmitter; - -export function live( - endpoint: "season_rankings", - params: LiveRequestObject -): LiveEventEmitter; - -export function live( - endpoint: "awards", - params: LiveRequestObject -): LiveEventEmitter; - -export function live( - endpoint: "skills", - params: LiveRequestObject -): LiveEventEmitter; - -export function live( - endpoint: Endpoint, - params: LiveRequestObject -): LiveEventEmitter; - -/** - * CACHE - */ -export interface CacheEntry { - expiry: number; - value: { - status: 0 | 1; - size: number; - result: T[]; - }; -} - -export function cache( - endpoint: "teams", - params: TeamsRequestObject, - value: TeamsResponseObject[] -): Promise>; - -export function cache( - endpoint: "events", - params: EventsRequestObject, - value: EventsResponseObject[] -): Promise>; - -export function cache( - endpoint: "matches", - params: MatchesRequestObject, - value: MatchesResponseObject[] -): Promise>; - -export function cache( - endpoint: "rankings", - params: RankingsRequestObject, - value: RankingsResponseObject[] -): Promise>; - -export function cache( - endpoint: "season_rankings", - params: SeasonRankingsRequestObject, - value: SeasonRankingsResponseObject[] -): Promise>; - -export function cache( - endpoint: "awards", - params: AwardsRequestObject, - value: AwardsResponseObject[] -): Promise>; - -export function cache( - endpoint: "skills", - params: SkillsRequestObject, - value: SkillsResponseObject[] -): Promise>; - -export function cache( - endpoint: Endpoint, - params: RequestObject, - value: ResponseObject[] -): Promise>; - -export namespace cache { - const ttl: number; - - function clear(): void; - - function has(endpoint: "teams", params: TeamsRequestObject): Promise; - - function has( - endpoint: "events", - params: EventsRequestObject - ): Promise; - - function has( - endpoint: "matches", - params: MatchesRequestObject - ): Promise; - - function has( - endpoint: "rankings", - params: RankingsRequestObject - ): Promise; - - function has( - endpoint: "season_rankings", - params: SeasonRankingsRequestObject - ): Promise; - - function has( - endpoint: "awards", - params: AwardsRequestObject - ): Promise; - - function has( - endpoint: "skills", - params: SkillsRequestObject - ): Promise; - - function resolve( - endpoint: "teams", - params: TeamsRequestObject - ): Promise>; - - function resolve( - endpoint: "events", - params: EventsRequestObject - ): Promise>; - - function resolve( - endpoint: "matches", - params: MatchesRequestObject - ): Promise>; - - function resolve( - endpoint: "rankings", - params: RankingsRequestObject - ): Promise>; - - function resolve( - endpoint: "season_rankings", - params: SeasonRankingsRequestObject - ): Promise>; - - function resolve( - endpoint: "awards", - params: AwardsRequestObject - ): Promise>; - - function resolve( - endpoint: "skills", - params: SkillsRequestObject - ): Promise>; - - function sanitize(endpoint: Endpoint, params: object): object; - - function serialize(url: any, params: object): object; - - function setTTL(ttl: number): object; -} - -/** - * CONSTANT - */ -export namespace constant { - const endpoints: string[]; - - const settings: { - baseURL: string; - cache: { - ttl: number; - }; - headers: {}; - live: { - pollTime: number; - }; - params: {}; - }; - - const uniques: { - events: string; - teams: string; - }; - - const validParams: { - awards: string[]; - events: string[]; - matches: string[]; - rankings: string[]; - season_rankings: string[]; - skills: string[]; - teams: string[]; - }; - - function header(headers: object): void; - - function isBrowser(): boolean; - - function param(params: RequestObject): void; -} diff --git a/types/vexdb/tsconfig.json b/types/vexdb/tsconfig.json deleted file mode 100644 index b71d12c433..0000000000 --- a/types/vexdb/tsconfig.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "compilerOptions": { - "module": "commonjs", - "lib": ["es6"], - "noImplicitAny": true, - "noImplicitThis": true, - "strictNullChecks": true, - "strictFunctionTypes": true, - "baseUrl": "../", - "typeRoots": ["../"], - "types": [], - "noEmit": true, - "forceConsistentCasingInFileNames": true - }, - "files": ["index.d.ts", "vexdb-tests.ts"] -} diff --git a/types/vexdb/tslint.json b/types/vexdb/tslint.json deleted file mode 100644 index 3db14f85ea..0000000000 --- a/types/vexdb/tslint.json +++ /dev/null @@ -1 +0,0 @@ -{ "extends": "dtslint/dt.json" } diff --git a/types/vexdb/vexdb-tests.ts b/types/vexdb/vexdb-tests.ts deleted file mode 100644 index 28e2dceb8e..0000000000 --- a/types/vexdb/vexdb-tests.ts +++ /dev/null @@ -1,99 +0,0 @@ -/** - * Requests - */ -import { - get, - live, - TeamsRequestObject, - AwardsRequestObject, - EventsRequestObject, - RankingsRequestObject, - SeasonRankingsRequestObject, - SkillsRequestObject, - MatchesRequestObject, - TeamsResponseObject, - AwardsResponseObject, - EventsResponseObject, - RankingsResponseObject, - SeasonRankingsResponseObject, - SkillsResponseObject, - MatchesResponseObject, - size -} from "vexdb"; - -get("teams", { number: "3796B" }); -get("awards", { order: 1 }); -get("events", { loc_venue: "J.L. Mann High School" }); -get("matches", { redscore: 23 }); -get("rankings", { wp: 23 }); -get("season_rankings", { vrating: 1 }); -get("skills", { attempts: 1 }); - -size("teams", { number: "3796B" }); -size("awards", { order: 1 }); -size("events", { loc_venue: "J.L. Mann High School" }); -size("matches", { redscore: 23 }); -size("rankings", { wp: 23 }); -size("season_rankings", { vrating: 1 }); -size("skills", { attempts: 1 }); - -const teams = live("teams", { number: "3796B" }); -const teams_params: TeamsRequestObject = {}; -const teams_current: TeamsResponseObject[] = teams.current(); -teams.params(teams_params); -teams.on("fetch", (item: TeamsResponseObject[]) => {}); -teams.on("prefetch", (results: TeamsResponseObject[]) => {}); -teams.on("item", (item: TeamsResponseObject) => {}); -teams.close(); - -const awards = live("awards", { order: 1 }); -const awards_params: AwardsRequestObject = {}; -const awards_current: AwardsResponseObject[] = awards.current(); -awards.params(awards_params); -awards.on("fetch", (item: AwardsResponseObject[]) => {}); -awards.on("prefetch", (results: AwardsResponseObject[]) => {}); -awards.on("item", (item: AwardsResponseObject) => {}); -awards.close(); - -const events = live("events", { loc_venue: "J.L. Mann High School" }); -const events_params: EventsRequestObject = {}; -const events_current: EventsResponseObject[] = events.current(); -events.params(events_params); -events.on("fetch", (item: EventsResponseObject[]) => {}); -events.close(); - -const matches = live("matches", { team: "3796B" }); -const matches_params: MatchesRequestObject = {}; -const matches_current: MatchesResponseObject[] = matches.current(); -matches.params(matches_params); -matches.on("fetch", (item: MatchesResponseObject[]) => {}); -matches.on("prefetch", (results: MatchesResponseObject[]) => {}); -matches.on("item", (item: MatchesResponseObject) => {}); -matches.close(); - -const skills = live("skills", { rank: 23 }); -const skills_params: SkillsRequestObject = {}; -const skills_current: SkillsResponseObject[] = skills.current(); -skills.params(skills_params); -skills.on("fetch", (item: SkillsResponseObject[]) => {}); -skills.on("prefetch", (results: SkillsResponseObject[]) => {}); -skills.on("item", (item: SkillsResponseObject) => {}); -skills.close(); - -const rankings = live("rankings", { team: "3796N" }); -const rankings_params: RankingsRequestObject = {}; -const rankings_current: RankingsResponseObject[] = rankings.current(); -rankings.params(rankings_params); -rankings.on("fetch", (item: RankingsResponseObject[]) => {}); -rankings.on("prefetch", (results: RankingsResponseObject[]) => {}); -rankings.on("item", (item: RankingsResponseObject) => {}); -rankings.close(); - -const season_rankings = live("season_rankings", { team: "3796N" }); -const season_rankings_params: SeasonRankingsRequestObject = {}; -const season_rankings_current: SeasonRankingsResponseObject[] = season_rankings.current(); -season_rankings.params(season_rankings_params); -season_rankings.on("fetch", (item: SeasonRankingsResponseObject[]) => {}); -season_rankings.on("prefetch", (results: SeasonRankingsResponseObject[]) => {}); -season_rankings.on("item", (item: SeasonRankingsResponseObject) => {}); -season_rankings.close();