Shared types for OpenFrames implementations
npm install @open-frames/typesA shared set of types for all Open Frames implementations
``ts
import {
OpenFramesUntrustedData,
OpenFramesTrustedData,
OpenFramesRequest,
ValidationResponse,
RequestValidator,
} from "@open-frames/types";
type RequestType = {
clientProtocol: "test";
untrustedData: OpenFramesUntrustedData & { foo: string };
trustedData: OpenFramesTrustedData;
};
type ValidationResponseType = {
foo: string;
};
class ExampleValidator
implements RequestValidator
{
readonly protocolIdentifier = "test";
minProtocolVersion(): string {
return ${this.protocolIdentifier}@VNext;
}
isSupported(payload: OpenFramesRequest): payload is RequestType {
return true;
}
async validate(
payload: RequestType
): Promise<
ValidationResponse
> {
return {
isValid: true,
clientProtocol: payload.clientProtocol,
message: { foo: payload.untrustedData.foo },
};
}
}
``