Bringing over stuff from the test files.
This commit is contained in:
17
src/module.json
Normal file
17
src/module.json
Normal file
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"id": "testmodule",
|
||||
"title": "Foundry TS",
|
||||
"description": "A simple module using Typescript",
|
||||
"authors": [
|
||||
{
|
||||
"name": "Josh Matthews",
|
||||
"email": "josh@bringingfire.com"
|
||||
}
|
||||
],
|
||||
"version": "1.0.0",
|
||||
"compatibility": {
|
||||
"minimum": "9",
|
||||
"verified": "10"
|
||||
},
|
||||
"esmodules": ["scripts/module.js"]
|
||||
}
|
||||
62
src/proto/character.client.ts
Normal file
62
src/proto/character.client.ts
Normal file
@@ -0,0 +1,62 @@
|
||||
// @generated by protobuf-ts 2.11.0
|
||||
// @generated from protobuf file "character.proto" (syntax proto3)
|
||||
// tslint:disable
|
||||
import type { RpcTransport } from "@protobuf-ts/runtime-rpc";
|
||||
import type { ServiceInfo } from "@protobuf-ts/runtime-rpc";
|
||||
import { CharacterManager } from "./character";
|
||||
import type { ListCharacterResponse } from "./character";
|
||||
import type { ListCharacterRequest } from "./character";
|
||||
import type { GetCharacterRequest } from "./character";
|
||||
import { stackIntercept } from "@protobuf-ts/runtime-rpc";
|
||||
import type { Character } from "./character";
|
||||
import type { CreateCharacterRequest } from "./character";
|
||||
import type { UnaryCall } from "@protobuf-ts/runtime-rpc";
|
||||
import type { RpcOptions } from "@protobuf-ts/runtime-rpc";
|
||||
/**
|
||||
* @generated from protobuf service CharacterManager
|
||||
*/
|
||||
export interface ICharacterManagerClient {
|
||||
/**
|
||||
* @generated from protobuf rpc: createCharacter
|
||||
*/
|
||||
createCharacter(input: CreateCharacterRequest, options?: RpcOptions): UnaryCall<CreateCharacterRequest, Character>;
|
||||
/**
|
||||
* @generated from protobuf rpc: getCharacter
|
||||
*/
|
||||
getCharacter(input: GetCharacterRequest, options?: RpcOptions): UnaryCall<GetCharacterRequest, Character>;
|
||||
/**
|
||||
* @generated from protobuf rpc: listCharacters
|
||||
*/
|
||||
listCharacters(input: ListCharacterRequest, options?: RpcOptions): UnaryCall<ListCharacterRequest, ListCharacterResponse>;
|
||||
}
|
||||
/**
|
||||
* @generated from protobuf service CharacterManager
|
||||
*/
|
||||
export class CharacterManagerClient implements ICharacterManagerClient, ServiceInfo {
|
||||
typeName = CharacterManager.typeName;
|
||||
methods = CharacterManager.methods;
|
||||
options = CharacterManager.options;
|
||||
constructor(private readonly _transport: RpcTransport) {
|
||||
}
|
||||
/**
|
||||
* @generated from protobuf rpc: createCharacter
|
||||
*/
|
||||
createCharacter(input: CreateCharacterRequest, options?: RpcOptions): UnaryCall<CreateCharacterRequest, Character> {
|
||||
const method = this.methods[0], opt = this._transport.mergeOptions(options);
|
||||
return stackIntercept<CreateCharacterRequest, Character>("unary", this._transport, method, opt, input);
|
||||
}
|
||||
/**
|
||||
* @generated from protobuf rpc: getCharacter
|
||||
*/
|
||||
getCharacter(input: GetCharacterRequest, options?: RpcOptions): UnaryCall<GetCharacterRequest, Character> {
|
||||
const method = this.methods[1], opt = this._transport.mergeOptions(options);
|
||||
return stackIntercept<GetCharacterRequest, Character>("unary", this._transport, method, opt, input);
|
||||
}
|
||||
/**
|
||||
* @generated from protobuf rpc: listCharacters
|
||||
*/
|
||||
listCharacters(input: ListCharacterRequest, options?: RpcOptions): UnaryCall<ListCharacterRequest, ListCharacterResponse> {
|
||||
const method = this.methods[2], opt = this._transport.mergeOptions(options);
|
||||
return stackIntercept<ListCharacterRequest, ListCharacterResponse>("unary", this._transport, method, opt, input);
|
||||
}
|
||||
}
|
||||
402
src/proto/character.ts
Normal file
402
src/proto/character.ts
Normal file
@@ -0,0 +1,402 @@
|
||||
// @generated by protobuf-ts 2.11.0
|
||||
// @generated from protobuf file "character.proto" (syntax proto3)
|
||||
// tslint:disable
|
||||
import { ServiceType } from "@protobuf-ts/runtime-rpc";
|
||||
import { WireType } from "@protobuf-ts/runtime";
|
||||
import type { BinaryWriteOptions } from "@protobuf-ts/runtime";
|
||||
import type { IBinaryWriter } from "@protobuf-ts/runtime";
|
||||
import type { BinaryReadOptions } from "@protobuf-ts/runtime";
|
||||
import type { IBinaryReader } from "@protobuf-ts/runtime";
|
||||
import { UnknownFieldHandler } from "@protobuf-ts/runtime";
|
||||
import type { PartialMessage } from "@protobuf-ts/runtime";
|
||||
import { reflectionMergePartial } from "@protobuf-ts/runtime";
|
||||
import { MessageType } from "@protobuf-ts/runtime";
|
||||
/**
|
||||
* @generated from protobuf message Empty
|
||||
*/
|
||||
export interface Empty {
|
||||
}
|
||||
/**
|
||||
* @generated from protobuf message Character
|
||||
*/
|
||||
export interface Character {
|
||||
/**
|
||||
* @generated from protobuf field: string PlayerName = 1
|
||||
*/
|
||||
playerName: string;
|
||||
/**
|
||||
* @generated from protobuf field: string CharacterName = 2
|
||||
*/
|
||||
characterName: string;
|
||||
/**
|
||||
* @generated from protobuf field: repeated string CharacterAlias = 3
|
||||
*/
|
||||
characterAlias: string[];
|
||||
/**
|
||||
* @generated from protobuf field: string Version = 4
|
||||
*/
|
||||
version: string;
|
||||
/**
|
||||
* @generated from protobuf field: string SourceTable = 5
|
||||
*/
|
||||
sourceTable: string;
|
||||
/**
|
||||
* @generated from protobuf field: string Json = 6
|
||||
*/
|
||||
json: string;
|
||||
}
|
||||
/**
|
||||
* @generated from protobuf message CreateCharacterRequest
|
||||
*/
|
||||
export interface CreateCharacterRequest {
|
||||
/**
|
||||
* @generated from protobuf field: Character characterData = 1
|
||||
*/
|
||||
characterData?: Character;
|
||||
}
|
||||
/**
|
||||
* @generated from protobuf message GetCharacterRequest
|
||||
*/
|
||||
export interface GetCharacterRequest {
|
||||
}
|
||||
/**
|
||||
* @generated from protobuf message ListCharacterRequest
|
||||
*/
|
||||
export interface ListCharacterRequest {
|
||||
/**
|
||||
* @generated from protobuf field: string PlayerName = 1
|
||||
*/
|
||||
playerName: string;
|
||||
/**
|
||||
* @generated from protobuf field: string CharacterName = 2
|
||||
*/
|
||||
characterName: string;
|
||||
}
|
||||
/**
|
||||
* @generated from protobuf message ListCharacterResponse
|
||||
*/
|
||||
export interface ListCharacterResponse {
|
||||
/**
|
||||
* @generated from protobuf field: repeated Character characters = 1
|
||||
*/
|
||||
characters: Character[];
|
||||
}
|
||||
// @generated message type with reflection information, may provide speed optimized methods
|
||||
class Empty$Type extends MessageType<Empty> {
|
||||
constructor() {
|
||||
super("Empty", []);
|
||||
}
|
||||
override create(value?: PartialMessage<Empty>): Empty {
|
||||
const message = globalThis.Object.create((this.messagePrototype!));
|
||||
if (value !== undefined)
|
||||
reflectionMergePartial<Empty>(this, message, value);
|
||||
return message;
|
||||
}
|
||||
override internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Empty): Empty {
|
||||
let message = target ?? this.create(), end = reader.pos + length;
|
||||
while (reader.pos < end) {
|
||||
let [fieldNo, wireType] = reader.tag();
|
||||
switch (fieldNo) {
|
||||
default:
|
||||
let u = options.readUnknownField;
|
||||
if (u === "throw")
|
||||
throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
|
||||
let d = reader.skip(wireType);
|
||||
if (u !== false)
|
||||
(u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
|
||||
}
|
||||
}
|
||||
return message;
|
||||
}
|
||||
override internalBinaryWrite(message: Empty, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
|
||||
let u = options.writeUnknownFields;
|
||||
if (u !== false)
|
||||
(u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
|
||||
return writer;
|
||||
}
|
||||
}
|
||||
/**
|
||||
* @generated MessageType for protobuf message Empty
|
||||
*/
|
||||
export const Empty = new Empty$Type();
|
||||
// @generated message type with reflection information, may provide speed optimized methods
|
||||
class Character$Type extends MessageType<Character> {
|
||||
constructor() {
|
||||
super("Character", [
|
||||
{ no: 1, name: "PlayerName", kind: "scalar", jsonName: "PlayerName", T: 9 /*ScalarType.STRING*/ },
|
||||
{ no: 2, name: "CharacterName", kind: "scalar", jsonName: "CharacterName", T: 9 /*ScalarType.STRING*/ },
|
||||
{ no: 3, name: "CharacterAlias", kind: "scalar", jsonName: "CharacterAlias", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ },
|
||||
{ no: 4, name: "Version", kind: "scalar", jsonName: "Version", T: 9 /*ScalarType.STRING*/ },
|
||||
{ no: 5, name: "SourceTable", kind: "scalar", jsonName: "SourceTable", T: 9 /*ScalarType.STRING*/ },
|
||||
{ no: 6, name: "Json", kind: "scalar", jsonName: "Json", T: 9 /*ScalarType.STRING*/ }
|
||||
]);
|
||||
}
|
||||
override create(value?: PartialMessage<Character>): Character {
|
||||
const message = globalThis.Object.create((this.messagePrototype!));
|
||||
message.playerName = "";
|
||||
message.characterName = "";
|
||||
message.characterAlias = [];
|
||||
message.version = "";
|
||||
message.sourceTable = "";
|
||||
message.json = "";
|
||||
if (value !== undefined)
|
||||
reflectionMergePartial<Character>(this, message, value);
|
||||
return message;
|
||||
}
|
||||
override internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Character): Character {
|
||||
let message = target ?? this.create(), end = reader.pos + length;
|
||||
while (reader.pos < end) {
|
||||
let [fieldNo, wireType] = reader.tag();
|
||||
switch (fieldNo) {
|
||||
case /* string PlayerName */ 1:
|
||||
message.playerName = reader.string();
|
||||
break;
|
||||
case /* string CharacterName */ 2:
|
||||
message.characterName = reader.string();
|
||||
break;
|
||||
case /* repeated string CharacterAlias */ 3:
|
||||
message.characterAlias.push(reader.string());
|
||||
break;
|
||||
case /* string Version */ 4:
|
||||
message.version = reader.string();
|
||||
break;
|
||||
case /* string SourceTable */ 5:
|
||||
message.sourceTable = reader.string();
|
||||
break;
|
||||
case /* string Json */ 6:
|
||||
message.json = reader.string();
|
||||
break;
|
||||
default:
|
||||
let u = options.readUnknownField;
|
||||
if (u === "throw")
|
||||
throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
|
||||
let d = reader.skip(wireType);
|
||||
if (u !== false)
|
||||
(u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
|
||||
}
|
||||
}
|
||||
return message;
|
||||
}
|
||||
override internalBinaryWrite(message: Character, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
|
||||
/* string PlayerName = 1; */
|
||||
if (message.playerName !== "")
|
||||
writer.tag(1, WireType.LengthDelimited).string(message.playerName);
|
||||
/* string CharacterName = 2; */
|
||||
if (message.characterName !== "")
|
||||
writer.tag(2, WireType.LengthDelimited).string(message.characterName);
|
||||
/* repeated string CharacterAlias = 3; */
|
||||
for (let i = 0; i < message.characterAlias.length; i++)
|
||||
writer.tag(3, WireType.LengthDelimited).string(message.characterAlias[i]);
|
||||
/* string Version = 4; */
|
||||
if (message.version !== "")
|
||||
writer.tag(4, WireType.LengthDelimited).string(message.version);
|
||||
/* string SourceTable = 5; */
|
||||
if (message.sourceTable !== "")
|
||||
writer.tag(5, WireType.LengthDelimited).string(message.sourceTable);
|
||||
/* string Json = 6; */
|
||||
if (message.json !== "")
|
||||
writer.tag(6, WireType.LengthDelimited).string(message.json);
|
||||
let u = options.writeUnknownFields;
|
||||
if (u !== false)
|
||||
(u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
|
||||
return writer;
|
||||
}
|
||||
}
|
||||
/**
|
||||
* @generated MessageType for protobuf message Character
|
||||
*/
|
||||
export const Character = new Character$Type();
|
||||
// @generated message type with reflection information, may provide speed optimized methods
|
||||
class CreateCharacterRequest$Type extends MessageType<CreateCharacterRequest> {
|
||||
constructor() {
|
||||
super("CreateCharacterRequest", [
|
||||
{ no: 1, name: "characterData", kind: "message", T: () => Character }
|
||||
]);
|
||||
}
|
||||
override create(value?: PartialMessage<CreateCharacterRequest>): CreateCharacterRequest {
|
||||
const message = globalThis.Object.create((this.messagePrototype!));
|
||||
if (value !== undefined)
|
||||
reflectionMergePartial<CreateCharacterRequest>(this, message, value);
|
||||
return message;
|
||||
}
|
||||
override internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: CreateCharacterRequest): CreateCharacterRequest {
|
||||
let message = target ?? this.create(), end = reader.pos + length;
|
||||
while (reader.pos < end) {
|
||||
let [fieldNo, wireType] = reader.tag();
|
||||
switch (fieldNo) {
|
||||
case /* Character characterData */ 1:
|
||||
message.characterData = Character.internalBinaryRead(reader, reader.uint32(), options, message.characterData);
|
||||
break;
|
||||
default:
|
||||
let u = options.readUnknownField;
|
||||
if (u === "throw")
|
||||
throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
|
||||
let d = reader.skip(wireType);
|
||||
if (u !== false)
|
||||
(u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
|
||||
}
|
||||
}
|
||||
return message;
|
||||
}
|
||||
override internalBinaryWrite(message: CreateCharacterRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
|
||||
/* Character characterData = 1; */
|
||||
if (message.characterData)
|
||||
Character.internalBinaryWrite(message.characterData, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
|
||||
let u = options.writeUnknownFields;
|
||||
if (u !== false)
|
||||
(u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
|
||||
return writer;
|
||||
}
|
||||
}
|
||||
/**
|
||||
* @generated MessageType for protobuf message CreateCharacterRequest
|
||||
*/
|
||||
export const CreateCharacterRequest = new CreateCharacterRequest$Type();
|
||||
// @generated message type with reflection information, may provide speed optimized methods
|
||||
class GetCharacterRequest$Type extends MessageType<GetCharacterRequest> {
|
||||
constructor() {
|
||||
super("GetCharacterRequest", []);
|
||||
}
|
||||
override create(value?: PartialMessage<GetCharacterRequest>): GetCharacterRequest {
|
||||
const message = globalThis.Object.create((this.messagePrototype!));
|
||||
if (value !== undefined)
|
||||
reflectionMergePartial<GetCharacterRequest>(this, message, value);
|
||||
return message;
|
||||
}
|
||||
override internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GetCharacterRequest): GetCharacterRequest {
|
||||
let message = target ?? this.create(), end = reader.pos + length;
|
||||
while (reader.pos < end) {
|
||||
let [fieldNo, wireType] = reader.tag();
|
||||
switch (fieldNo) {
|
||||
default:
|
||||
let u = options.readUnknownField;
|
||||
if (u === "throw")
|
||||
throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
|
||||
let d = reader.skip(wireType);
|
||||
if (u !== false)
|
||||
(u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
|
||||
}
|
||||
}
|
||||
return message;
|
||||
}
|
||||
override internalBinaryWrite(message: GetCharacterRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
|
||||
let u = options.writeUnknownFields;
|
||||
if (u !== false)
|
||||
(u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
|
||||
return writer;
|
||||
}
|
||||
}
|
||||
/**
|
||||
* @generated MessageType for protobuf message GetCharacterRequest
|
||||
*/
|
||||
export const GetCharacterRequest = new GetCharacterRequest$Type();
|
||||
// @generated message type with reflection information, may provide speed optimized methods
|
||||
class ListCharacterRequest$Type extends MessageType<ListCharacterRequest> {
|
||||
constructor() {
|
||||
super("ListCharacterRequest", [
|
||||
{ no: 1, name: "PlayerName", kind: "scalar", jsonName: "PlayerName", T: 9 /*ScalarType.STRING*/ },
|
||||
{ no: 2, name: "CharacterName", kind: "scalar", jsonName: "CharacterName", T: 9 /*ScalarType.STRING*/ }
|
||||
]);
|
||||
}
|
||||
override create(value?: PartialMessage<ListCharacterRequest>): ListCharacterRequest {
|
||||
const message = globalThis.Object.create((this.messagePrototype!));
|
||||
message.playerName = "";
|
||||
message.characterName = "";
|
||||
if (value !== undefined)
|
||||
reflectionMergePartial<ListCharacterRequest>(this, message, value);
|
||||
return message;
|
||||
}
|
||||
override internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ListCharacterRequest): ListCharacterRequest {
|
||||
let message = target ?? this.create(), end = reader.pos + length;
|
||||
while (reader.pos < end) {
|
||||
let [fieldNo, wireType] = reader.tag();
|
||||
switch (fieldNo) {
|
||||
case /* string PlayerName */ 1:
|
||||
message.playerName = reader.string();
|
||||
break;
|
||||
case /* string CharacterName */ 2:
|
||||
message.characterName = reader.string();
|
||||
break;
|
||||
default:
|
||||
let u = options.readUnknownField;
|
||||
if (u === "throw")
|
||||
throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
|
||||
let d = reader.skip(wireType);
|
||||
if (u !== false)
|
||||
(u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
|
||||
}
|
||||
}
|
||||
return message;
|
||||
}
|
||||
override internalBinaryWrite(message: ListCharacterRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
|
||||
/* string PlayerName = 1; */
|
||||
if (message.playerName !== "")
|
||||
writer.tag(1, WireType.LengthDelimited).string(message.playerName);
|
||||
/* string CharacterName = 2; */
|
||||
if (message.characterName !== "")
|
||||
writer.tag(2, WireType.LengthDelimited).string(message.characterName);
|
||||
let u = options.writeUnknownFields;
|
||||
if (u !== false)
|
||||
(u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
|
||||
return writer;
|
||||
}
|
||||
}
|
||||
/**
|
||||
* @generated MessageType for protobuf message ListCharacterRequest
|
||||
*/
|
||||
export const ListCharacterRequest = new ListCharacterRequest$Type();
|
||||
// @generated message type with reflection information, may provide speed optimized methods
|
||||
class ListCharacterResponse$Type extends MessageType<ListCharacterResponse> {
|
||||
constructor() {
|
||||
super("ListCharacterResponse", [
|
||||
{ no: 1, name: "characters", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => Character }
|
||||
]);
|
||||
}
|
||||
override create(value?: PartialMessage<ListCharacterResponse>): ListCharacterResponse {
|
||||
const message = globalThis.Object.create((this.messagePrototype!));
|
||||
message.characters = [];
|
||||
if (value !== undefined)
|
||||
reflectionMergePartial<ListCharacterResponse>(this, message, value);
|
||||
return message;
|
||||
}
|
||||
override internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ListCharacterResponse): ListCharacterResponse {
|
||||
let message = target ?? this.create(), end = reader.pos + length;
|
||||
while (reader.pos < end) {
|
||||
let [fieldNo, wireType] = reader.tag();
|
||||
switch (fieldNo) {
|
||||
case /* repeated Character characters */ 1:
|
||||
message.characters.push(Character.internalBinaryRead(reader, reader.uint32(), options));
|
||||
break;
|
||||
default:
|
||||
let u = options.readUnknownField;
|
||||
if (u === "throw")
|
||||
throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
|
||||
let d = reader.skip(wireType);
|
||||
if (u !== false)
|
||||
(u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
|
||||
}
|
||||
}
|
||||
return message;
|
||||
}
|
||||
override internalBinaryWrite(message: ListCharacterResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
|
||||
/* repeated Character characters = 1; */
|
||||
for (let i = 0; i < message.characters.length; i++)
|
||||
Character.internalBinaryWrite(message.characters[i], writer.tag(1, WireType.LengthDelimited).fork(), options).join();
|
||||
let u = options.writeUnknownFields;
|
||||
if (u !== false)
|
||||
(u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
|
||||
return writer;
|
||||
}
|
||||
}
|
||||
/**
|
||||
* @generated MessageType for protobuf message ListCharacterResponse
|
||||
*/
|
||||
export const ListCharacterResponse = new ListCharacterResponse$Type();
|
||||
/**
|
||||
* @generated ServiceType for protobuf service CharacterManager
|
||||
*/
|
||||
export const CharacterManager = new ServiceType("CharacterManager", [
|
||||
{ name: "createCharacter", options: {}, I: CreateCharacterRequest, O: Character },
|
||||
{ name: "getCharacter", options: {}, I: GetCharacterRequest, O: Character },
|
||||
{ name: "listCharacters", options: {}, I: ListCharacterRequest, O: ListCharacterResponse }
|
||||
]);
|
||||
20
src/templates/CharacterBrowser.hbs
Normal file
20
src/templates/CharacterBrowser.hbs
Normal file
@@ -0,0 +1,20 @@
|
||||
<section>
|
||||
<header class="flex-header">
|
||||
<h1>
|
||||
Dog Browser
|
||||
</h1>
|
||||
<button
|
||||
type="button"
|
||||
class="module-control"
|
||||
title="Fetch random dog photo"
|
||||
data-action="randomize-dog"
|
||||
>
|
||||
<i class="fas fa-random fa-fw"></i>
|
||||
</button>
|
||||
</header>
|
||||
</section>
|
||||
<section>
|
||||
<p>
|
||||
🐶
|
||||
</p>
|
||||
</section>
|
||||
21
src/templates/NewCharacter.hbs
Normal file
21
src/templates/NewCharacter.hbs
Normal file
@@ -0,0 +1,21 @@
|
||||
<section>
|
||||
<header class="flex-header">
|
||||
<h1>
|
||||
Create Character
|
||||
</h1>
|
||||
<input/>
|
||||
<button
|
||||
type="button"
|
||||
class="module-control"
|
||||
title="Fetch random dog photo"
|
||||
data-action="randomize-dog"
|
||||
>
|
||||
<i class="fas fa-random fa-fw"></i>
|
||||
</button>
|
||||
</header>
|
||||
</section>
|
||||
<section>
|
||||
<p>
|
||||
🐶
|
||||
</p>
|
||||
</section>
|
||||
13
src/ts/apps/CharacterBrowser.ts
Normal file
13
src/ts/apps/CharacterBrowser.ts
Normal file
@@ -0,0 +1,13 @@
|
||||
import { id as moduleId } from "../../module.json";
|
||||
|
||||
export default class DogBrowser extends Application {
|
||||
static override get defaultOptions(): ApplicationOptions {
|
||||
return foundry.utils.mergeObject(super.defaultOptions, {
|
||||
id: "dog-browser",
|
||||
title: "Dog Browser",
|
||||
template: `modules/${moduleId}/templates/CharacterBrowser.hbs`,
|
||||
width: 720,
|
||||
height: 720,
|
||||
}) as ApplicationOptions;
|
||||
}
|
||||
}
|
||||
13
src/ts/apps/NewCharacter.ts
Normal file
13
src/ts/apps/NewCharacter.ts
Normal file
@@ -0,0 +1,13 @@
|
||||
import { id as moduleId } from "../../module.json";
|
||||
|
||||
export default class DogBrowser extends Application {
|
||||
static override get defaultOptions(): ApplicationOptions {
|
||||
return foundry.utils.mergeObject(super.defaultOptions, {
|
||||
id: "dog-browser",
|
||||
title: "Dog Browser",
|
||||
template: `modules/${moduleId}/templates/NewCharacter.hbs`,
|
||||
width: 720,
|
||||
height: 720,
|
||||
}) as ApplicationOptions;
|
||||
}
|
||||
}
|
||||
45
src/ts/module.ts
Normal file
45
src/ts/module.ts
Normal file
@@ -0,0 +1,45 @@
|
||||
import { CharacterManagerClient } from "../proto/character.client";
|
||||
import { GetCharacterRequest } from '../proto/character'
|
||||
import { GrpcWebFetchTransport } from '@protobuf-ts/grpcweb-transport'
|
||||
|
||||
import { ModuleData } from "@league-of-foundry-developers/foundry-vtt-types/src/foundry/common/packages.mjs";
|
||||
import { id as moduleId } from "../module.json";
|
||||
import DogBrowser from "./apps/NewCharacter";
|
||||
|
||||
|
||||
interface MyModule extends Game.ModuleData<ModuleData> {
|
||||
dogBrowser: DogBrowser;
|
||||
}
|
||||
|
||||
let module: MyModule;
|
||||
|
||||
Hooks.once("init", async () => {
|
||||
console.log("hello world!");
|
||||
|
||||
|
||||
const client = new CharacterManagerClient(
|
||||
new GrpcWebFetchTransport({
|
||||
baseUrl: 'http://localhost/api',
|
||||
format: 'binary',
|
||||
}),
|
||||
);
|
||||
|
||||
console.log("Potato");
|
||||
let request = GetCharacterRequest.fromJson({
|
||||
})
|
||||
console.log("Potato");
|
||||
let a = await client.getCharacter(request).then((res) => {
|
||||
console.log(res)
|
||||
return res
|
||||
})
|
||||
|
||||
console.log(a.response)
|
||||
|
||||
console.log("Potato");
|
||||
|
||||
console.log(`Initializing ${moduleId}`);
|
||||
|
||||
module = (game as Game).modules.get(moduleId) as MyModule;
|
||||
module.dogBrowser = new DogBrowser();
|
||||
module.dogBrowser.render(true);
|
||||
});
|
||||
Reference in New Issue
Block a user