UNPKG

@deployport/specular-runtime

Version:

Runtime for Specular API clients with support for Node.js and Browser

219 lines (218 loc) 6.74 kB
// JS gen package import { Runtime, Metadata, } from '../../lib/index.js'; const _pkg = new Metadata.Package("specularjs", "testpackage"); // BodyType entity export const BodyTypeMeta = new Metadata.Enum(_pkg, "BodyType", [ "normal", "special", ]); export var BodyType; (function (BodyType) { BodyType["Normal"] = "normal"; BodyType["Special"] = "special"; })(BodyType || (BodyType = {})); export const BodyMeta = new Metadata.Struct(_pkg, "Body"); new Metadata.Property(BodyMeta, "bodyType", { NonNullable: true, SubType: "userDefined", Type: SpecularPackage().requireTypeByName("BodyType") }); new Metadata.Property(BodyMeta, "bodyTypeNullable", { NonNullable: false, SubType: "userDefined", Type: SpecularPackage().requireTypeByName("BodyType") }); new Metadata.Property(BodyMeta, "contentLengthFloat32", { NonNullable: true, SubType: "builtin", Builtin: "float32" }); new Metadata.Property(BodyMeta, "contentLengthFloat64", { NonNullable: true, SubType: "builtin", Builtin: "float64" }); new Metadata.Property(BodyMeta, "contentLengthFloat64Nullable", { NonNullable: false, SubType: "builtin", Builtin: "float64" }); new Metadata.Property(BodyMeta, "contentLengthInt32", { NonNullable: true, SubType: "builtin", Builtin: "int32" }); new Metadata.Property(BodyMeta, "contentLengthInt64", { NonNullable: true, SubType: "builtin", Builtin: "int64" }); new Metadata.Property(BodyMeta, "contentLengthUint32", { NonNullable: true, SubType: "builtin", Builtin: "uint32" }); new Metadata.Property(BodyMeta, "contentLengthUint64", { NonNullable: true, SubType: "builtin", Builtin: "uint64" }); new Metadata.Property(BodyMeta, "contentLengthUint64Nullable", { NonNullable: true, SubType: "builtin", Builtin: "uint64" }); new Metadata.Property(BodyMeta, "createdAt", { NonNullable: true, SubType: "builtin", Builtin: "time" }); new Metadata.Property(BodyMeta, "createdAtNullable", { NonNullable: false, SubType: "builtin", Builtin: "time" }); new Metadata.Property(BodyMeta, "fileData", { NonNullable: true, SubType: "builtin", Builtin: "binary" }); new Metadata.Property(BodyMeta, "fileDataNullable", { NonNullable: false, SubType: "builtin", Builtin: "binary" }); new Metadata.Property(BodyMeta, "messageString", { NonNullable: true, SubType: "builtin", Builtin: "string" }); new Metadata.Property(BodyMeta, "messageStringNullable", { NonNullable: false, SubType: "builtin", Builtin: "string" }); export const ResponseMeta = new Metadata.Struct(_pkg, "Response"); new Metadata.Property(ResponseMeta, "body", { NonNullable: false, SubType: "userDefined", Type: SpecularPackage().requireTypeByName("Body") }); export const NotFoundProblemMeta = new Metadata.Struct(_pkg, "NotFoundProblem"); new Metadata.Property(NotFoundProblemMeta, "detail", { NonNullable: true, SubType: "builtin", Builtin: "string" }); new Metadata.Property(NotFoundProblemMeta, "status", { NonNullable: true, SubType: "builtin", Builtin: "int32" }); new Metadata.Property(NotFoundProblemMeta, "title", { NonNullable: true, SubType: "builtin", Builtin: "string" }); new Metadata.Property(NotFoundProblemMeta, "message", { NonNullable: true, SubType: "builtin", Builtin: "string" }); export class NotFoundProblem extends Error { detail = ''; status = 0; title = ''; message = ''; get __structPath() { return NotFoundProblemMeta.path; } } NotFoundProblemMeta.problemInstantiate = (msg) => new NotFoundProblem(msg); export const TestHTTPGetInputMeta = new Metadata.Struct(_pkg, "TestHTTPGetInput"); export const TestHTTPGetOutputMeta = new Metadata.Struct(_pkg, "TestHTTPGetOutput"); new Metadata.Property(TestHTTPGetOutputMeta, "response", { NonNullable: false, SubType: "userDefined", Type: SpecularPackage().requireTypeByName("Response") }); export const TestHTTPOtherInputMeta = new Metadata.Struct(_pkg, "TestHTTPOtherInput"); export const TestHTTPOtherOutputMeta = new Metadata.Struct(_pkg, "TestHTTPOtherOutput"); export const TestHTTPWatchChangesInputMeta = new Metadata.Struct(_pkg, "TestHTTPWatchChangesInput"); export const TestHTTPWatchChangesOutputMeta = new Metadata.Struct(_pkg, "TestHTTPWatchChangesOutput"); new Metadata.Property(TestHTTPWatchChangesOutputMeta, "response", { NonNullable: false, SubType: "userDefined", Type: SpecularPackage().requireTypeByName("Response") }); export function SpecularPackage() { return _pkg; } const _testHTTPResourceMeta = new Metadata.Resource(_pkg, "TestHTTP", null); const _testHTTPGetOperationMeta = new Metadata.Operation({ resource: _testHTTPResourceMeta, name: "Get", input: TestHTTPGetInputMeta, output: TestHTTPGetOutputMeta, }); const _testHTTPOtherOperationMeta = new Metadata.Operation({ resource: _testHTTPResourceMeta, name: "Other", input: TestHTTPOtherInputMeta, output: TestHTTPOtherOutputMeta, }); const _testHTTPWatchChangesOperationMeta = new Metadata.Operation({ resource: _testHTTPResourceMeta, name: "WatchChanges", input: TestHTTPWatchChangesInputMeta, output: TestHTTPWatchChangesOutputMeta, }); // TestHTTPResource is the TestHTTPResource resource client class TestHTTPResource { client; constructor(client) { this.client = client; } async Get(inputProps) { const res = await this.client.execute(_testHTTPGetOperationMeta, inputProps); return res; } async Other(inputProps) { const res = await this.client.execute(_testHTTPOtherOperationMeta, inputProps); return res; } async WatchChanges(inputProps, outputCallback) { await this.client.stream(_testHTTPWatchChangesOperationMeta, inputProps, async (output) => { await outputCallback(output); }); } } export function defaultRuntimeConfig() { return { endpoint: "http://localhost:8080", }; } export function createRuntimeClientConfig(config) { const c = Runtime.MergeClientConfig(defaultRuntimeConfig(), config); return c; } export function createRuntimeClient(config) { return new Runtime.Client(createRuntimeClientConfig(config)); } /** * @class Client class for package testpackage */ export class Client { client; TestHTTP; constructor(config) { if (config?.client) { this.client = config.client; } else { this.client = createRuntimeClient(config); } console.log("client initialized from allow"); this.TestHTTP = new TestHTTPResource(this.client); } }