UNPKG

@dbs-portal/tool-mock

Version:

API mocking toolkit using MSW for DBS Portal development workflows

67 lines 2.63 kB
/** * Base factory functions for creating mock data */ import type { MockDataFactory, MockListFactory, DataGeneratorOptions } from './types'; /** * Create a data factory function */ export declare function createDataFactory<T>(template: (overrides?: Partial<T>) => T, options?: DataGeneratorOptions): MockDataFactory<T>; /** * Create a list factory function */ export declare function createListFactory<T>(itemFactory: MockDataFactory<T>, defaultCount?: number): MockListFactory<T>; /** * Create a typed factory with TypeScript support */ export declare function createTypedFactory<T>(template: (overrides?: Partial<T>) => T): MockDataFactory<T>; /** * Combine multiple factories into one */ export declare function combineFactories<T>(...factories: MockDataFactory<Partial<T>>[]): MockDataFactory<T>; /** * Create a factory that extends another factory */ export declare function extendFactory<T, U extends T>(baseFactory: MockDataFactory<T>, extension: (base: T, overrides?: Partial<U>) => U): MockDataFactory<U>; /** * Create a conditional factory */ export declare function conditionalFactory<T>(condition: () => boolean, trueFactory: MockDataFactory<T>, falseFactory: MockDataFactory<T>): MockDataFactory<T>; /** * Create a weighted factory (randomly selects from multiple factories) */ export declare function weightedFactory<T>(factories: Array<{ factory: MockDataFactory<T>; weight: number; }>): MockDataFactory<T>; /** * Create a sequence factory (cycles through values) */ export declare function sequenceFactory<T>(values: T[], startIndex?: number): () => T; /** * Create a unique factory (ensures unique values) */ export declare function uniqueFactory<T>(factory: MockDataFactory<T>, keyExtractor?: (item: T) => string | number, maxAttempts?: number): MockDataFactory<T>; /** * Create a cached factory (caches results) */ export declare function cachedFactory<T>(factory: MockDataFactory<T>, cacheSize?: number): MockDataFactory<T>; /** * Create a factory with validation */ export declare function validatedFactory<T>(factory: MockDataFactory<T>, validator: (item: T) => boolean, maxAttempts?: number): MockDataFactory<T>; /** * Create a factory that tracks generation statistics */ export declare function instrumentedFactory<T>(factory: MockDataFactory<T>, onGenerate?: (item: T, stats: { count: number; totalTime: number; }) => void): MockDataFactory<T>; /** * Get seeded random number (if seed was set) */ export declare function getRandom(): number; /** * Reset random seed */ export declare function resetRandomSeed(): void; //# sourceMappingURL=base.d.ts.map