Add TypeScript integrations package

This commit is contained in:
2026-05-05 12:01:30 +00:00
commit e91176fb9b
5889 changed files with 53433 additions and 0 deletions
+47
View File
@@ -0,0 +1,47 @@
import type {
IDiscoveryDescriptorOptions,
IDiscoveryMatcher,
IDiscoveryProbe,
IDiscoveryValidator,
} from './types.js';
export class DiscoveryDescriptor {
public readonly integrationDomain: string;
public readonly displayName: string;
private readonly probes: IDiscoveryProbe[] = [];
private readonly matchers: IDiscoveryMatcher[] = [];
private readonly validators: IDiscoveryValidator[] = [];
constructor(optionsArg: IDiscoveryDescriptorOptions) {
this.integrationDomain = optionsArg.integrationDomain;
this.displayName = optionsArg.displayName;
}
public addProbe(probeArg: IDiscoveryProbe): this {
this.probes.push(probeArg);
return this;
}
public addMatcher<TInput>(matcherArg: IDiscoveryMatcher<TInput>): this {
this.matchers.push(matcherArg as IDiscoveryMatcher);
return this;
}
public addValidator(validatorArg: IDiscoveryValidator): this {
this.validators.push(validatorArg);
return this;
}
public getProbes(): IDiscoveryProbe[] {
return [...this.probes];
}
public getMatchers(): IDiscoveryMatcher[] {
return [...this.matchers];
}
public getValidators(): IDiscoveryValidator[] {
return [...this.validators];
}
}