mwn.toolforge.org

mwn

Hierarchy

Index

Constructors

constructor

  • Parameters

    Returns mwn

Properties

Category

Category: MwnCategoryStatic = ...

Date

Date: MwnDateStatic = ...

File

File: MwnFileStatic = ...

Page

Page: MwnPageStatic = ...

Title

Title: MwnTitleStatic = ...

User

User: MwnUserStatic = ...

Wikitext

category

category: MwnCategoryStatic = ...

cookieJar

cookieJar: CookieJar = ...

csrfToken

csrfToken: string = '%notoken%'

date

date: MwnDateStatic = ...

Readonly defaultOptions

file

file: MwnFileStatic = ...

hasApiHighLimit

hasApiHighLimit: boolean = false

loggedIn

loggedIn: boolean = false

oauth

oauth: OAuth

options

page

page: MwnPageStatic = ...

requestOptions

requestOptions: RawRequestParams = ...

shutoff

shutoff: { hook: Timeout; state: boolean } = ...

Type declaration

  • hook: Timeout
  • state: boolean

sleep

sleep: (duration: number) => Promise<void> = ...

Type declaration

    • (duration: number): Promise<void>
    • Parameters

      • duration: number

      Returns Promise<void>

state

state: any = {}

title

title: MwnTitleStatic = ...

user

user: MwnUserStatic = ...

usingOAuth

usingOAuth: boolean

usingOAuth2

usingOAuth2: boolean

wikitext

Static Error

Error: typeof MwnError = ...

Static Table

Table: typeof Table = ...

Static link

link: (target: string | MwnTitle, displaytext?: string) => string = ...

Type declaration

    • (target: string | MwnTitle, displaytext?: string): string
    • Parameters

      • target: string | MwnTitle
      • Optional displaytext: string

      Returns string

Static log

log: (obj: item) => void = ...

Type declaration

    • (obj: item): void
    • Parameters

      • obj: item

      Returns void

Static requestDefaults

requestDefaults: RawRequestParams = ...

Static setLoggingConfig

setLoggingConfig: (options: Partial<typeof logConfig>) => void = ...

Type declaration

    • (options: Partial<typeof logConfig>): void
    • Parameters

      • options: Partial<typeof logConfig>

      Returns void

Static table

table: typeof Table = ...

Static template

template: (title: string | MwnTitle, parameters?: {}) => string = ...

Type declaration

    • (title: string | MwnTitle, parameters?: {}): string
    • Parameters

      • title: string | MwnTitle
      • parameters: {} = {}
        • [parameter: string]: string

      Returns string

Static util

util: { escapeHtml: (s: string) => string; escapeRegExp: (str: string) => string; isIPAddress: (address: string, allowBlock?: boolean) => boolean; isIPv4Address: (address: string, allowBlock?: boolean) => boolean; isIPv6Address: (address: string, allowBlock?: boolean) => boolean; rawurlencode: (str: string) => string; wikiUrlencode: (str: string) => string } = ...

Type declaration

  • escapeHtml: (s: string) => string
      • (s: string): string
      • Parameters

        • s: string

        Returns string

        HTML

  • escapeRegExp: (str: string) => string
      • (str: string): string
      • Parameters

        • str: string

        Returns string

        Escaped string

  • isIPAddress: (address: string, allowBlock?: boolean) => boolean
      • (address: string, allowBlock?: boolean): boolean
      • Parameters

        • address: string
        • Optional allowBlock: boolean

        Returns boolean

  • isIPv4Address: (address: string, allowBlock?: boolean) => boolean
      • (address: string, allowBlock?: boolean): boolean
      • Parameters

        • address: string
        • Optional allowBlock: boolean

        Returns boolean

  • isIPv6Address: (address: string, allowBlock?: boolean) => boolean
      • (address: string, allowBlock?: boolean): boolean
      • Parameters

        • address: string
        • Optional allowBlock: boolean

        Returns boolean

  • rawurlencode: (str: string) => string
      • (str: string): string
      • Parameters

        • str: string

        Returns string

        Encoded string

  • wikiUrlencode: (str: string) => string
      • (str: string): string
      • Parameters

        • str: string

        Returns string

        Encoded string

Methods

askQuery

  • askQuery(query: string, apiUrl: string, customRequestOptions?: RawRequestParams): Promise<any>
  • Parameters

    • query: string
    • apiUrl: string
    • Optional customRequestOptions: RawRequestParams

    Returns Promise<any>

batchOperation

  • batchOperation<T>(list: T[], worker: (item: T, index: number) => Promise<any>, concurrency?: number, retries?: number): Promise<{ failures: {} }>
  • Type parameters

    • T

    Parameters

    • list: T[]
    • worker: (item: T, index: number) => Promise<any>
        • (item: T, index: number): Promise<any>
        • Parameters

          • item: T
          • index: number

          Returns Promise<any>

    • concurrency: number = 5
    • retries: number = 0

    Returns Promise<{ failures: {} }>

    • resolved when all API calls have finished, with object { failures: [ ...list of failed items... ] }

continuedQuery

  • Parameters

    • Optional query: ApiParams
    • limit: number = 10

    Returns Promise<ApiResponse[]>

    • resolved with an array of responses of individual calls.

continuedQueryGen

  • Parameters

    • Optional query: ApiParams
    • limit: number = ...

    Returns AsyncGenerator<ApiResponse, any, unknown>

create

  • create(title: string, content: string, summary?: string, options?: ApiEditPageParams): Promise<ApiEditResponse>
  • Parameters

    • title: string
    • content: string
    • Optional summary: string
    • Optional options: ApiEditPageParams

    Returns Promise<ApiEditResponse>

createAccount

  • createAccount(username: string, password: string): Promise<any>
  • Parameters

    • username: string
    • password: string

    Returns Promise<any>

delete

  • delete(title: string | number, summary: string, options?: ApiDeleteParams): Promise<ApiResponse>
  • Parameters

    • title: string | number
    • summary: string
    • Optional options: ApiDeleteParams

    Returns Promise<ApiResponse>

disableEmergencyShutoff

  • disableEmergencyShutoff(): void
  • Returns void

download

  • download(file: string | number, localname: string): Promise<void>
  • Parameters

    • file: string | number
    • localname: string

    Returns Promise<void>

downloadFromUrl

  • downloadFromUrl(url: string, localname: string): Promise<void>
  • Parameters

    • url: string
    • localname: string

    Returns Promise<void>

edit

enableEmergencyShutoff

  • enableEmergencyShutoff(shutoffOptions?: { condition?: RegExp | ((text: string) => boolean); intervalDuration?: number; onShutoff?: (text: string) => void; page?: string }): void
  • Parameters

    • Optional shutoffOptions: { condition?: RegExp | ((text: string) => boolean); intervalDuration?: number; onShutoff?: (text: string) => void; page?: string }
      • Optional condition?: RegExp | ((text: string) => boolean)
      • Optional intervalDuration?: number
      • Optional onShutoff?: (text: string) => void
          • (text: string): void
          • Parameters

            • text: string

            Returns void

      • Optional page?: string

    Returns void

getCsrfToken

  • getCsrfToken(): Promise<string>
  • Returns Promise<string>

getMessages

  • getMessages(messages: string | string[], options?: ApiQueryAllMessagesParams): Promise<Record<string, string>>
  • Parameters

    • messages: string | string[]
    • options: ApiQueryAllMessagesParams = {}

    Returns Promise<Record<string, string>>

getPagesByPrefix

  • getPagesByPrefix(prefix: string, otherParams?: ApiQueryAllPagesParams): Promise<string[]>
  • Parameters

    • prefix: string
    • Optional otherParams: ApiQueryAllPagesParams

    Returns Promise<string[]>

    • array of page titles (upto 5000 or 500)

getPagesInCategory

  • getPagesInCategory(category: string, otherParams?: ApiQueryCategoryMembersParams): Promise<string[]>
  • Parameters

    • category: string
    • Optional otherParams: ApiQueryCategoryMembersParams

    Returns Promise<string[]>

getServerTime

  • getServerTime(): Promise<string>
  • Returns Promise<string>

getSiteInfo

  • getSiteInfo(): Promise<void>
  • Returns Promise<void>

getTokenType

  • getTokenType(action: string): Promise<string>
  • Parameters

    • action: string

    Returns Promise<string>

getTokens

  • getTokens(): Promise<void>
  • Returns Promise<void>

getTokensAndSiteInfo

  • getTokensAndSiteInfo(): Promise<void>
  • Returns Promise<void>

initOAuth

  • initOAuth(): void
  • Returns void

login

  • login(loginOptions?: { apiUrl?: string; password?: string; username?: string }): Promise<ApiResponse>
  • Parameters

    • Optional loginOptions: { apiUrl?: string; password?: string; username?: string }
      • Optional apiUrl?: string
      • Optional password?: string
      • Optional username?: string

    Returns Promise<ApiResponse>

loginGetToken

  • loginGetToken(loginOptions?: MwnOptions): Promise<void>
  • Parameters

    Returns Promise<void>

logout

  • logout(): Promise<void>
  • Returns Promise<void>

massQuery

  • Parameters

    • Optional query: ApiParams
    • batchFieldName: string = 'titles'

    Returns Promise<ApiResponse[]>

    • promise resolved when all the API queries have settled, with the array of responses.

massQueryGen

  • massQueryGen(query: ApiParams, batchFieldName?: string, batchSize?: number): AsyncGenerator<ApiResponse, any, unknown>
  • Parameters

    • query: ApiParams
    • batchFieldName: string = 'titles'
    • Optional batchSize: number

    Returns AsyncGenerator<ApiResponse, any, unknown>

move

  • move(fromtitle: string, totitle: string, summary: string, options?: ApiMoveParams): Promise<ApiResponse>
  • Parameters

    • fromtitle: string
    • totitle: string
    • summary: string
    • Optional options: ApiMoveParams

    Returns Promise<ApiResponse>

newSection

  • newSection(title: string | number, header: string, message: string, additionalParams?: ApiEditPageParams): Promise<ApiEditResponse>
  • Parameters

    • title: string | number
    • header: string
    • message: string
    • Optional additionalParams: ApiEditPageParams

    Returns Promise<ApiEditResponse>

oresQueryRevisions

  • oresQueryRevisions(endpointUrl: string, models: string[], revisions: string | number | string[] | number[]): Promise<any>
  • Parameters

    • endpointUrl: string
    • models: string[]
    • revisions: string | number | string[] | number[]

    Returns Promise<any>

parseJsonPage

  • parseJsonPage(title: string): Promise<any>
  • Parameters

    • title: string

    Returns Promise<any>

    parsed JSON object

parseTitle

  • parseTitle(title: string, additionalParams?: ApiParseParams): Promise<string>
  • Parameters

    • title: string
    • Optional additionalParams: ApiParseParams

    Returns Promise<string>

parseWikitext

  • parseWikitext(content: string, additionalParams?: ApiParseParams): Promise<string>
  • Parameters

    • content: string
    • Optional additionalParams: ApiParseParams

    Returns Promise<string>

purge

  • purge(titles: string | number | string[] | number[], options?: ApiPurgeParams): Promise<ApiResponse>
  • Parameters

    • titles: string | number | string[] | number[]
    • Optional options: ApiPurgeParams

    Returns Promise<ApiResponse>

query

rawRequest

  • rawRequest(requestOptions: RawRequestParams): Promise<AxiosResponse<any, any>>
  • Parameters

    • requestOptions: RawRequestParams

    Returns Promise<AxiosResponse<any, any>>

read

readGen

  • readGen(titles: string[], options?: ApiParams, batchSize?: number): AsyncGenerator<ApiPage, any, unknown>
  • Parameters

    • titles: string[]
    • Optional options: ApiParams
    • Optional batchSize: number

    Returns AsyncGenerator<ApiPage, any, unknown>

request

  • Parameters

    • params: ApiParams
    • customRequestOptions: RawRequestParams = {}

    Returns Promise<ApiResponse>

rollback

  • rollback(page: string | number, user: string, params?: ApiRollbackParams): Promise<ApiResponse>
  • Parameters

    • page: string | number
    • user: string
    • Optional params: ApiRollbackParams

    Returns Promise<ApiResponse>

save

  • save(title: string | number, content: string, summary?: string, options?: ApiEditPageParams): Promise<ApiEditResponse>
  • Parameters

    • title: string | number
    • content: string
    • Optional summary: string
    • Optional options: ApiEditPageParams

    Returns Promise<ApiEditResponse>

saveOption

  • saveOption(option: string, value: string): Promise<ApiResponse>
  • Parameters

    • option: string
    • value: string

    Returns Promise<ApiResponse>

saveOptions

  • saveOptions(options: Record<string, string>): Promise<ApiResponse>
  • Parameters

    • options: Record<string, string>

    Returns Promise<ApiResponse>

search

  • search(searchTerm: string, limit?: number | "max", props?: OneOrMore<"categorysnippet" | "extensiondata" | "isfilematch" | "redirectsnippet" | "redirecttitle" | "sectionsnippet" | "sectiontitle" | "size" | "snippet" | "timestamp" | "titlesnippet" | "wordcount" | "hasrelated" | "score">, otherParams?: ApiQuerySearchParams): Promise<ApiSearchResult[]>
  • Parameters

    • searchTerm: string
    • limit: number | "max" = 50
    • Optional props: OneOrMore<"categorysnippet" | "extensiondata" | "isfilematch" | "redirectsnippet" | "redirecttitle" | "sectionsnippet" | "sectiontitle" | "size" | "snippet" | "timestamp" | "titlesnippet" | "wordcount" | "hasrelated" | "score">
    • Optional otherParams: ApiQuerySearchParams

    Returns Promise<ApiSearchResult[]>

seriesBatchOperation

  • seriesBatchOperation<T>(list: T[], worker: (item: T, index: number) => Promise<any>, delay?: number, retries?: number): Promise<{ failures: {} }>
  • Type parameters

    • T

    Parameters

    • list: T[]
    • worker: (item: T, index: number) => Promise<any>
        • (item: T, index: number): Promise<any>
        • Parameters

          • item: T
          • index: number

          Returns Promise<any>

    • delay: number = 5000
    • retries: number = 0

    Returns Promise<{ failures: {} }>

    • resolved when all API calls have finished, with object { failures: { failed item: error, failed item2: error2, ... } }

setApiUrl

  • setApiUrl(apiUrl: string): void
  • Parameters

    • apiUrl: string

    Returns void

setDefaultParams

setOptions

  • Parameters

    Returns void

setRequestOptions

  • setRequestOptions(customRequestOptions: RawRequestParams): any
  • Parameters

    • customRequestOptions: RawRequestParams

    Returns any

setUserAgent

  • setUserAgent(userAgent: string): void
  • Parameters

    • userAgent: string

    Returns void

sparqlQuery

  • sparqlQuery(query: string, endpointUrl: string, customRequestOptions?: RawRequestParams): Promise<any>
  • Parameters

    • query: string
    • endpointUrl: string
    • Optional customRequestOptions: RawRequestParams

    Returns Promise<any>

undelete

  • undelete(title: string, summary: string, options?: ApiUndeleteParams): Promise<ApiResponse>
  • Parameters

    • title: string
    • summary: string
    • Optional options: ApiUndeleteParams

    Returns Promise<ApiResponse>

upload

  • upload(filepath: string, title: string, text: string, options?: ApiUploadParams): Promise<ApiResponse>
  • Parameters

    • filepath: string
    • title: string
    • text: string
    • Optional options: ApiUploadParams

    Returns Promise<ApiResponse>

uploadFromUrl

  • uploadFromUrl(url: string, title: string, text: string, options?: ApiUploadParams): Promise<ApiResponse>
  • Parameters

    • url: string
    • title: string
    • text: string
    • Optional options: ApiUploadParams

    Returns Promise<ApiResponse>

userinfo

  • userinfo(options?: ApiQueryUserInfoParams): Promise<any>
  • Parameters

    • options: ApiQueryUserInfoParams = {}

    Returns Promise<any>

Static init