Files
SnowLuma/.pnpm-store/v11/files/71/b2bb5d8f9bd04c4525e9d884312d20a390643b3fa860f1bcfb6576ba97ae34a79b6086a4bc06dab80d418d14088319a9e9c8c0c97bdcd6774485013df0269a
T
TanTan 2a69b23b47
Dev Build / cleanup (push) Waiting to run
Dev Build / typecheck (push) Waiting to run
docs: 仓库链接指向本镜像仓库
2026-11-13 09:27:07 +08:00

110 lines
3.0 KiB
Plaintext

import MockAgent from './mock-agent'
declare class SnapshotRecorder {
constructor (options?: SnapshotRecorder.Options)
record (requestOpts: any, response: any): Promise<void>
findSnapshot (requestOpts: any): SnapshotRecorder.Snapshot | undefined
loadSnapshots (filePath?: string): Promise<void>
saveSnapshots (filePath?: string): Promise<void>
clear (): void
getSnapshots (): SnapshotRecorder.Snapshot[]
size (): number
resetCallCounts (): void
deleteSnapshot (requestOpts: any): boolean
getSnapshotInfo (requestOpts: any): SnapshotRecorder.SnapshotInfo | null
replaceSnapshots (snapshotData: SnapshotRecorder.SnapshotData[]): void
destroy (): void
}
declare namespace SnapshotRecorder {
type SnapshotRecorderMode = 'record' | 'playback' | 'update'
export interface Options {
snapshotPath?: string
mode?: SnapshotRecorderMode
maxSnapshots?: number
autoFlush?: boolean
flushInterval?: number
matchHeaders?: string[]
ignoreHeaders?: string[]
excludeHeaders?: string[]
matchBody?: boolean
matchQuery?: boolean
caseSensitive?: boolean
shouldRecord?: (requestOpts: any) => boolean
shouldPlayback?: (requestOpts: any) => boolean
excludeUrls?: (string | RegExp)[]
}
export interface Snapshot {
request: {
method: string
url: string
headers: Record<string, string>
body?: string
}
responses: {
statusCode: number
headers: Record<string, string>
body: string
trailers: Record<string, string>
}[]
callCount: number
timestamp: string
}
export interface SnapshotInfo {
hash: string
request: {
method: string
url: string
headers: Record<string, string>
body?: string
}
responseCount: number
callCount: number
timestamp: string
}
export interface SnapshotData {
hash: string
snapshot: Snapshot
}
}
declare class SnapshotAgent extends MockAgent {
constructor (options?: SnapshotAgent.Options)
saveSnapshots (filePath?: string): Promise<void>
loadSnapshots (filePath?: string): Promise<void>
getRecorder (): SnapshotRecorder
getMode (): SnapshotRecorder.SnapshotRecorderMode
clearSnapshots (): void
resetCallCounts (): void
deleteSnapshot (requestOpts: any): boolean
getSnapshotInfo (requestOpts: any): SnapshotRecorder.SnapshotInfo | null
replaceSnapshots (snapshotData: SnapshotRecorder.SnapshotData[]): void
}
declare namespace SnapshotAgent {
export interface Options extends MockAgent.Options {
mode?: SnapshotRecorder.SnapshotRecorderMode
snapshotPath?: string
maxSnapshots?: number
autoFlush?: boolean
flushInterval?: number
matchHeaders?: string[]
ignoreHeaders?: string[]
excludeHeaders?: string[]
matchBody?: boolean
matchQuery?: boolean
caseSensitive?: boolean
shouldRecord?: (requestOpts: any) => boolean
shouldPlayback?: (requestOpts: any) => boolean
excludeUrls?: (string | RegExp)[]
}
}
export { SnapshotAgent, SnapshotRecorder }