Add some working typescript code that imports manually compiled protos.
This commit is contained in:
parent
3a250230df
commit
aa5fa59aab
|
@ -2,3 +2,5 @@
|
|||
todo.org
|
||||
*.sqlite*
|
||||
*.sqlite.*
|
||||
node_modules
|
||||
static/scripts/ts/build
|
||||
|
|
11
build.rs
11
build.rs
|
@ -1,14 +1,13 @@
|
|||
fn main() {
|
||||
//TODO
|
||||
// - invoke npm install?
|
||||
// - invoke protoc to build ts/js protos
|
||||
// - invoke npm run webpack from ts directory
|
||||
|
||||
let mut config = prost_build::Config::new();
|
||||
config.btree_map(&["."]);
|
||||
config.type_attribute(".", "#[derive(Serialize)]");
|
||||
config.type_attribute(".", "#[serde(rename_all = \"camelCase\")]");
|
||||
// config
|
||||
// .compile_protos(
|
||||
// &["proto/cofd.proto", "proto/cofd_api.proto"],
|
||||
// &["src/", "proto/"],
|
||||
// )
|
||||
// .unwrap();
|
||||
|
||||
tonic_build::configure()
|
||||
.build_server(true)
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,31 @@
|
|||
{
|
||||
"name": "tenebrous-sheets",
|
||||
"version": "0.1.0",
|
||||
"description": "An open source character sheet service for tabletop roleplaying games.",
|
||||
"main": "index.js",
|
||||
"scripts": {
|
||||
"test": "echo \"Error: no test specified\" && exit 1",
|
||||
"webpack-dev": "cd static/scripts/ts && webpack serve --watch --inline --port 8081 --host 0.0.0.0 --output-path=./build",
|
||||
"build:protobuf": "mkdir -p static/scripts/ts/_proto && protoc --plugin=protoc-gen-ts=./node_modules/.bin/protoc-gen-ts -I ./proto --js_out=import_style=commonjs,binary:./static/scripts/ts/_proto --ts_out=service=grpc-web:./static/scripts/ts/_proto ./proto/*.proto",
|
||||
"build:webpack": "cd static/scripts/ts && webpack"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "ssh://git@git.agnos.is:22022/projectmoon/tenebrous-sheets.git"
|
||||
},
|
||||
"author": "",
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"@improbable-eng/grpc-web": "^0.13.0",
|
||||
"google-protobuf": "^3.14.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/google-protobuf": "^3.7.4",
|
||||
"ts-loader": "^8.0.13",
|
||||
"ts-protoc-gen": "^0.14.0",
|
||||
"typescript": "^4.1.3",
|
||||
"webpack": "^5.11.1",
|
||||
"webpack-cli": "^4.3.1",
|
||||
"webpack-dev-server": "^3.11.1"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,264 @@
|
|||
// package: models.proto.cofd.api
|
||||
// file: cofd_api.proto
|
||||
|
||||
import * as jspb from "google-protobuf";
|
||||
import * as cofd_pb from "./cofd_pb";
|
||||
|
||||
export class BasicInfo extends jspb.Message {
|
||||
getName(): string;
|
||||
setName(value: string): void;
|
||||
|
||||
getGender(): string;
|
||||
setGender(value: string): void;
|
||||
|
||||
getConcept(): string;
|
||||
setConcept(value: string): void;
|
||||
|
||||
getChronicle(): string;
|
||||
setChronicle(value: string): void;
|
||||
|
||||
getAge(): number;
|
||||
setAge(value: number): void;
|
||||
|
||||
serializeBinary(): Uint8Array;
|
||||
toObject(includeInstance?: boolean): BasicInfo.AsObject;
|
||||
static toObject(includeInstance: boolean, msg: BasicInfo): BasicInfo.AsObject;
|
||||
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
|
||||
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
|
||||
static serializeBinaryToWriter(message: BasicInfo, writer: jspb.BinaryWriter): void;
|
||||
static deserializeBinary(bytes: Uint8Array): BasicInfo;
|
||||
static deserializeBinaryFromReader(message: BasicInfo, reader: jspb.BinaryReader): BasicInfo;
|
||||
}
|
||||
|
||||
export namespace BasicInfo {
|
||||
export type AsObject = {
|
||||
name: string,
|
||||
gender: string,
|
||||
concept: string,
|
||||
chronicle: string,
|
||||
age: number,
|
||||
}
|
||||
}
|
||||
|
||||
export class Attributes extends jspb.Message {
|
||||
getStrength(): number;
|
||||
setStrength(value: number): void;
|
||||
|
||||
getDexterity(): number;
|
||||
setDexterity(value: number): void;
|
||||
|
||||
getStamina(): number;
|
||||
setStamina(value: number): void;
|
||||
|
||||
getIntelligence(): number;
|
||||
setIntelligence(value: number): void;
|
||||
|
||||
getWits(): number;
|
||||
setWits(value: number): void;
|
||||
|
||||
getResolve(): number;
|
||||
setResolve(value: number): void;
|
||||
|
||||
getPresence(): number;
|
||||
setPresence(value: number): void;
|
||||
|
||||
getManipulation(): number;
|
||||
setManipulation(value: number): void;
|
||||
|
||||
getComposure(): number;
|
||||
setComposure(value: number): void;
|
||||
|
||||
serializeBinary(): Uint8Array;
|
||||
toObject(includeInstance?: boolean): Attributes.AsObject;
|
||||
static toObject(includeInstance: boolean, msg: Attributes): Attributes.AsObject;
|
||||
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
|
||||
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
|
||||
static serializeBinaryToWriter(message: Attributes, writer: jspb.BinaryWriter): void;
|
||||
static deserializeBinary(bytes: Uint8Array): Attributes;
|
||||
static deserializeBinaryFromReader(message: Attributes, reader: jspb.BinaryReader): Attributes;
|
||||
}
|
||||
|
||||
export namespace Attributes {
|
||||
export type AsObject = {
|
||||
strength: number,
|
||||
dexterity: number,
|
||||
stamina: number,
|
||||
intelligence: number,
|
||||
wits: number,
|
||||
resolve: number,
|
||||
presence: number,
|
||||
manipulation: number,
|
||||
composure: number,
|
||||
}
|
||||
}
|
||||
|
||||
export class UpdateAttributeRequest extends jspb.Message {
|
||||
getCharacterUsername(): string;
|
||||
setCharacterUsername(value: string): void;
|
||||
|
||||
getCharacterId(): number;
|
||||
setCharacterId(value: number): void;
|
||||
|
||||
getAttributeName(): string;
|
||||
setAttributeName(value: string): void;
|
||||
|
||||
getAttributeValue(): number;
|
||||
setAttributeValue(value: number): void;
|
||||
|
||||
serializeBinary(): Uint8Array;
|
||||
toObject(includeInstance?: boolean): UpdateAttributeRequest.AsObject;
|
||||
static toObject(includeInstance: boolean, msg: UpdateAttributeRequest): UpdateAttributeRequest.AsObject;
|
||||
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
|
||||
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
|
||||
static serializeBinaryToWriter(message: UpdateAttributeRequest, writer: jspb.BinaryWriter): void;
|
||||
static deserializeBinary(bytes: Uint8Array): UpdateAttributeRequest;
|
||||
static deserializeBinaryFromReader(message: UpdateAttributeRequest, reader: jspb.BinaryReader): UpdateAttributeRequest;
|
||||
}
|
||||
|
||||
export namespace UpdateAttributeRequest {
|
||||
export type AsObject = {
|
||||
characterUsername: string,
|
||||
characterId: number,
|
||||
attributeName: string,
|
||||
attributeValue: number,
|
||||
}
|
||||
}
|
||||
|
||||
export class Skills extends jspb.Message {
|
||||
clearPhysicalSkillsList(): void;
|
||||
getPhysicalSkillsList(): Array<cofd_pb.CofdSheet.Skill>;
|
||||
setPhysicalSkillsList(value: Array<cofd_pb.CofdSheet.Skill>): void;
|
||||
addPhysicalSkills(value?: cofd_pb.CofdSheet.Skill, index?: number): cofd_pb.CofdSheet.Skill;
|
||||
|
||||
clearMentalSkillsList(): void;
|
||||
getMentalSkillsList(): Array<cofd_pb.CofdSheet.Skill>;
|
||||
setMentalSkillsList(value: Array<cofd_pb.CofdSheet.Skill>): void;
|
||||
addMentalSkills(value?: cofd_pb.CofdSheet.Skill, index?: number): cofd_pb.CofdSheet.Skill;
|
||||
|
||||
clearSocialSkillsList(): void;
|
||||
getSocialSkillsList(): Array<cofd_pb.CofdSheet.Skill>;
|
||||
setSocialSkillsList(value: Array<cofd_pb.CofdSheet.Skill>): void;
|
||||
addSocialSkills(value?: cofd_pb.CofdSheet.Skill, index?: number): cofd_pb.CofdSheet.Skill;
|
||||
|
||||
serializeBinary(): Uint8Array;
|
||||
toObject(includeInstance?: boolean): Skills.AsObject;
|
||||
static toObject(includeInstance: boolean, msg: Skills): Skills.AsObject;
|
||||
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
|
||||
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
|
||||
static serializeBinaryToWriter(message: Skills, writer: jspb.BinaryWriter): void;
|
||||
static deserializeBinary(bytes: Uint8Array): Skills;
|
||||
static deserializeBinaryFromReader(message: Skills, reader: jspb.BinaryReader): Skills;
|
||||
}
|
||||
|
||||
export namespace Skills {
|
||||
export type AsObject = {
|
||||
physicalSkillsList: Array<cofd_pb.CofdSheet.Skill.AsObject>,
|
||||
mentalSkillsList: Array<cofd_pb.CofdSheet.Skill.AsObject>,
|
||||
socialSkillsList: Array<cofd_pb.CofdSheet.Skill.AsObject>,
|
||||
}
|
||||
}
|
||||
|
||||
export class SkillUpdate extends jspb.Message {
|
||||
getName(): string;
|
||||
setName(value: string): void;
|
||||
|
||||
hasSkill(): boolean;
|
||||
clearSkill(): void;
|
||||
getSkill(): cofd_pb.CofdSheet.Skill | undefined;
|
||||
setSkill(value?: cofd_pb.CofdSheet.Skill): void;
|
||||
|
||||
serializeBinary(): Uint8Array;
|
||||
toObject(includeInstance?: boolean): SkillUpdate.AsObject;
|
||||
static toObject(includeInstance: boolean, msg: SkillUpdate): SkillUpdate.AsObject;
|
||||
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
|
||||
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
|
||||
static serializeBinaryToWriter(message: SkillUpdate, writer: jspb.BinaryWriter): void;
|
||||
static deserializeBinary(bytes: Uint8Array): SkillUpdate;
|
||||
static deserializeBinaryFromReader(message: SkillUpdate, reader: jspb.BinaryReader): SkillUpdate;
|
||||
}
|
||||
|
||||
export namespace SkillUpdate {
|
||||
export type AsObject = {
|
||||
name: string,
|
||||
skill?: cofd_pb.CofdSheet.Skill.AsObject,
|
||||
}
|
||||
}
|
||||
|
||||
export class UpdateSkillValueRequest extends jspb.Message {
|
||||
getCharacterUsername(): string;
|
||||
setCharacterUsername(value: string): void;
|
||||
|
||||
getCharacterId(): number;
|
||||
setCharacterId(value: number): void;
|
||||
|
||||
getSkillName(): string;
|
||||
setSkillName(value: string): void;
|
||||
|
||||
getSkillValue(): number;
|
||||
setSkillValue(value: number): void;
|
||||
|
||||
serializeBinary(): Uint8Array;
|
||||
toObject(includeInstance?: boolean): UpdateSkillValueRequest.AsObject;
|
||||
static toObject(includeInstance: boolean, msg: UpdateSkillValueRequest): UpdateSkillValueRequest.AsObject;
|
||||
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
|
||||
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
|
||||
static serializeBinaryToWriter(message: UpdateSkillValueRequest, writer: jspb.BinaryWriter): void;
|
||||
static deserializeBinary(bytes: Uint8Array): UpdateSkillValueRequest;
|
||||
static deserializeBinaryFromReader(message: UpdateSkillValueRequest, reader: jspb.BinaryReader): UpdateSkillValueRequest;
|
||||
}
|
||||
|
||||
export namespace UpdateSkillValueRequest {
|
||||
export type AsObject = {
|
||||
characterUsername: string,
|
||||
characterId: number,
|
||||
skillName: string,
|
||||
skillValue: number,
|
||||
}
|
||||
}
|
||||
|
||||
export class SkillSpecializationsUpdate extends jspb.Message {
|
||||
getName(): string;
|
||||
setName(value: string): void;
|
||||
|
||||
clearSpecializationsList(): void;
|
||||
getSpecializationsList(): Array<string>;
|
||||
setSpecializationsList(value: Array<string>): void;
|
||||
addSpecializations(value: string, index?: number): string;
|
||||
|
||||
serializeBinary(): Uint8Array;
|
||||
toObject(includeInstance?: boolean): SkillSpecializationsUpdate.AsObject;
|
||||
static toObject(includeInstance: boolean, msg: SkillSpecializationsUpdate): SkillSpecializationsUpdate.AsObject;
|
||||
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
|
||||
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
|
||||
static serializeBinaryToWriter(message: SkillSpecializationsUpdate, writer: jspb.BinaryWriter): void;
|
||||
static deserializeBinary(bytes: Uint8Array): SkillSpecializationsUpdate;
|
||||
static deserializeBinaryFromReader(message: SkillSpecializationsUpdate, reader: jspb.BinaryReader): SkillSpecializationsUpdate;
|
||||
}
|
||||
|
||||
export namespace SkillSpecializationsUpdate {
|
||||
export type AsObject = {
|
||||
name: string,
|
||||
specializationsList: Array<string>,
|
||||
}
|
||||
}
|
||||
|
||||
export class Condition extends jspb.Message {
|
||||
getName(): string;
|
||||
setName(value: string): void;
|
||||
|
||||
serializeBinary(): Uint8Array;
|
||||
toObject(includeInstance?: boolean): Condition.AsObject;
|
||||
static toObject(includeInstance: boolean, msg: Condition): Condition.AsObject;
|
||||
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
|
||||
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
|
||||
static serializeBinaryToWriter(message: Condition, writer: jspb.BinaryWriter): void;
|
||||
static deserializeBinary(bytes: Uint8Array): Condition;
|
||||
static deserializeBinaryFromReader(message: Condition, reader: jspb.BinaryReader): Condition;
|
||||
}
|
||||
|
||||
export namespace Condition {
|
||||
export type AsObject = {
|
||||
name: string,
|
||||
}
|
||||
}
|
||||
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,64 @@
|
|||
// package: models.proto.cofd.api
|
||||
// file: cofd_api.proto
|
||||
|
||||
import * as cofd_api_pb from "./cofd_api_pb";
|
||||
import * as cofd_pb from "./cofd_pb";
|
||||
import {grpc} from "@improbable-eng/grpc-web";
|
||||
|
||||
type CofdApiUpdateSkillValue = {
|
||||
readonly methodName: string;
|
||||
readonly service: typeof CofdApi;
|
||||
readonly requestStream: false;
|
||||
readonly responseStream: false;
|
||||
readonly requestType: typeof cofd_api_pb.UpdateSkillValueRequest;
|
||||
readonly responseType: typeof cofd_pb.CofdSheet.Skill;
|
||||
};
|
||||
|
||||
export class CofdApi {
|
||||
static readonly serviceName: string;
|
||||
static readonly UpdateSkillValue: CofdApiUpdateSkillValue;
|
||||
}
|
||||
|
||||
export type ServiceError = { message: string, code: number; metadata: grpc.Metadata }
|
||||
export type Status = { details: string, code: number; metadata: grpc.Metadata }
|
||||
|
||||
interface UnaryResponse {
|
||||
cancel(): void;
|
||||
}
|
||||
interface ResponseStream<T> {
|
||||
cancel(): void;
|
||||
on(type: 'data', handler: (message: T) => void): ResponseStream<T>;
|
||||
on(type: 'end', handler: (status?: Status) => void): ResponseStream<T>;
|
||||
on(type: 'status', handler: (status: Status) => void): ResponseStream<T>;
|
||||
}
|
||||
interface RequestStream<T> {
|
||||
write(message: T): RequestStream<T>;
|
||||
end(): void;
|
||||
cancel(): void;
|
||||
on(type: 'end', handler: (status?: Status) => void): RequestStream<T>;
|
||||
on(type: 'status', handler: (status: Status) => void): RequestStream<T>;
|
||||
}
|
||||
interface BidirectionalStream<ReqT, ResT> {
|
||||
write(message: ReqT): BidirectionalStream<ReqT, ResT>;
|
||||
end(): void;
|
||||
cancel(): void;
|
||||
on(type: 'data', handler: (message: ResT) => void): BidirectionalStream<ReqT, ResT>;
|
||||
on(type: 'end', handler: (status?: Status) => void): BidirectionalStream<ReqT, ResT>;
|
||||
on(type: 'status', handler: (status: Status) => void): BidirectionalStream<ReqT, ResT>;
|
||||
}
|
||||
|
||||
export class CofdApiClient {
|
||||
readonly serviceHost: string;
|
||||
|
||||
constructor(serviceHost: string, options?: grpc.RpcOptions);
|
||||
updateSkillValue(
|
||||
requestMessage: cofd_api_pb.UpdateSkillValueRequest,
|
||||
metadata: grpc.Metadata,
|
||||
callback: (error: ServiceError|null, responseMessage: cofd_pb.CofdSheet.Skill|null) => void
|
||||
): UnaryResponse;
|
||||
updateSkillValue(
|
||||
requestMessage: cofd_api_pb.UpdateSkillValueRequest,
|
||||
callback: (error: ServiceError|null, responseMessage: cofd_pb.CofdSheet.Skill|null) => void
|
||||
): UnaryResponse;
|
||||
}
|
||||
|
|
@ -0,0 +1,62 @@
|
|||
// package: models.proto.cofd.api
|
||||
// file: cofd_api.proto
|
||||
|
||||
var cofd_api_pb = require("./cofd_api_pb");
|
||||
var cofd_pb = require("./cofd_pb");
|
||||
var grpc = require("@improbable-eng/grpc-web").grpc;
|
||||
|
||||
var CofdApi = (function () {
|
||||
function CofdApi() {}
|
||||
CofdApi.serviceName = "models.proto.cofd.api.CofdApi";
|
||||
return CofdApi;
|
||||
}());
|
||||
|
||||
CofdApi.UpdateSkillValue = {
|
||||
methodName: "UpdateSkillValue",
|
||||
service: CofdApi,
|
||||
requestStream: false,
|
||||
responseStream: false,
|
||||
requestType: cofd_api_pb.UpdateSkillValueRequest,
|
||||
responseType: cofd_pb.CofdSheet.Skill
|
||||
};
|
||||
|
||||
exports.CofdApi = CofdApi;
|
||||
|
||||
function CofdApiClient(serviceHost, options) {
|
||||
this.serviceHost = serviceHost;
|
||||
this.options = options || {};
|
||||
}
|
||||
|
||||
CofdApiClient.prototype.updateSkillValue = function updateSkillValue(requestMessage, metadata, callback) {
|
||||
if (arguments.length === 2) {
|
||||
callback = arguments[1];
|
||||
}
|
||||
var client = grpc.unary(CofdApi.UpdateSkillValue, {
|
||||
request: requestMessage,
|
||||
host: this.serviceHost,
|
||||
metadata: metadata,
|
||||
transport: this.options.transport,
|
||||
debug: this.options.debug,
|
||||
onEnd: function (response) {
|
||||
if (callback) {
|
||||
if (response.status !== grpc.Code.OK) {
|
||||
var err = new Error(response.statusMessage);
|
||||
err.code = response.status;
|
||||
err.metadata = response.trailers;
|
||||
callback(err, null);
|
||||
} else {
|
||||
callback(null, response.message);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
return {
|
||||
cancel: function () {
|
||||
callback = null;
|
||||
client.close();
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
exports.CofdApiClient = CofdApiClient;
|
||||
|
|
@ -0,0 +1,361 @@
|
|||
// package: models.proto.cofd
|
||||
// file: cofd.proto
|
||||
|
||||
import * as jspb from "google-protobuf";
|
||||
|
||||
export class CoreFields extends jspb.Message {
|
||||
getIntegrity(): number;
|
||||
setIntegrity(value: number): void;
|
||||
|
||||
serializeBinary(): Uint8Array;
|
||||
toObject(includeInstance?: boolean): CoreFields.AsObject;
|
||||
static toObject(includeInstance: boolean, msg: CoreFields): CoreFields.AsObject;
|
||||
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
|
||||
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
|
||||
static serializeBinaryToWriter(message: CoreFields, writer: jspb.BinaryWriter): void;
|
||||
static deserializeBinary(bytes: Uint8Array): CoreFields;
|
||||
static deserializeBinaryFromReader(message: CoreFields, reader: jspb.BinaryReader): CoreFields;
|
||||
}
|
||||
|
||||
export namespace CoreFields {
|
||||
export type AsObject = {
|
||||
integrity: number,
|
||||
}
|
||||
}
|
||||
|
||||
export class MageFields extends jspb.Message {
|
||||
getWidsom(): number;
|
||||
setWidsom(value: number): void;
|
||||
|
||||
serializeBinary(): Uint8Array;
|
||||
toObject(includeInstance?: boolean): MageFields.AsObject;
|
||||
static toObject(includeInstance: boolean, msg: MageFields): MageFields.AsObject;
|
||||
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
|
||||
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
|
||||
static serializeBinaryToWriter(message: MageFields, writer: jspb.BinaryWriter): void;
|
||||
static deserializeBinary(bytes: Uint8Array): MageFields;
|
||||
static deserializeBinaryFromReader(message: MageFields, reader: jspb.BinaryReader): MageFields;
|
||||
}
|
||||
|
||||
export namespace MageFields {
|
||||
export type AsObject = {
|
||||
widsom: number,
|
||||
}
|
||||
}
|
||||
|
||||
export class ChangelingFields extends jspb.Message {
|
||||
getClarity(): number;
|
||||
setClarity(value: number): void;
|
||||
|
||||
serializeBinary(): Uint8Array;
|
||||
toObject(includeInstance?: boolean): ChangelingFields.AsObject;
|
||||
static toObject(includeInstance: boolean, msg: ChangelingFields): ChangelingFields.AsObject;
|
||||
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
|
||||
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
|
||||
static serializeBinaryToWriter(message: ChangelingFields, writer: jspb.BinaryWriter): void;
|
||||
static deserializeBinary(bytes: Uint8Array): ChangelingFields;
|
||||
static deserializeBinaryFromReader(message: ChangelingFields, reader: jspb.BinaryReader): ChangelingFields;
|
||||
}
|
||||
|
||||
export namespace ChangelingFields {
|
||||
export type AsObject = {
|
||||
clarity: number,
|
||||
}
|
||||
}
|
||||
|
||||
export class CofdSheet extends jspb.Message {
|
||||
getName(): string;
|
||||
setName(value: string): void;
|
||||
|
||||
getPlayer(): string;
|
||||
setPlayer(value: string): void;
|
||||
|
||||
getCampaign(): string;
|
||||
setCampaign(value: string): void;
|
||||
|
||||
getDescription(): string;
|
||||
setDescription(value: string): void;
|
||||
|
||||
getStrength(): number;
|
||||
setStrength(value: number): void;
|
||||
|
||||
getDexterity(): number;
|
||||
setDexterity(value: number): void;
|
||||
|
||||
getStamina(): number;
|
||||
setStamina(value: number): void;
|
||||
|
||||
getIntelligence(): number;
|
||||
setIntelligence(value: number): void;
|
||||
|
||||
getWits(): number;
|
||||
setWits(value: number): void;
|
||||
|
||||
getResolve(): number;
|
||||
setResolve(value: number): void;
|
||||
|
||||
getPresence(): number;
|
||||
setPresence(value: number): void;
|
||||
|
||||
getManipulation(): number;
|
||||
setManipulation(value: number): void;
|
||||
|
||||
getComposure(): number;
|
||||
setComposure(value: number): void;
|
||||
|
||||
getPhysicalSkillsMap(): jspb.Map<string, CofdSheet.Skill>;
|
||||
clearPhysicalSkillsMap(): void;
|
||||
getMentalSkillsMap(): jspb.Map<string, CofdSheet.Skill>;
|
||||
clearMentalSkillsMap(): void;
|
||||
getSocialSkillsMap(): jspb.Map<string, CofdSheet.Skill>;
|
||||
clearSocialSkillsMap(): void;
|
||||
clearMeritsList(): void;
|
||||
getMeritsList(): Array<CofdSheet.Merit>;
|
||||
setMeritsList(value: Array<CofdSheet.Merit>): void;
|
||||
addMerits(value?: CofdSheet.Merit, index?: number): CofdSheet.Merit;
|
||||
|
||||
clearConditionsList(): void;
|
||||
getConditionsList(): Array<CofdSheet.Condition>;
|
||||
setConditionsList(value: Array<CofdSheet.Condition>): void;
|
||||
addConditions(value?: CofdSheet.Condition, index?: number): CofdSheet.Condition;
|
||||
|
||||
getSize(): number;
|
||||
setSize(value: number): void;
|
||||
|
||||
getHealth(): number;
|
||||
setHealth(value: number): void;
|
||||
|
||||
getWillpower(): number;
|
||||
setWillpower(value: number): void;
|
||||
|
||||
getExperiencePoints(): number;
|
||||
setExperiencePoints(value: number): void;
|
||||
|
||||
getBeats(): number;
|
||||
setBeats(value: number): void;
|
||||
|
||||
clearItemsList(): void;
|
||||
getItemsList(): Array<CofdSheet.Item>;
|
||||
setItemsList(value: Array<CofdSheet.Item>): void;
|
||||
addItems(value?: CofdSheet.Item, index?: number): CofdSheet.Item;
|
||||
|
||||
clearAttacksList(): void;
|
||||
getAttacksList(): Array<CofdSheet.Attack>;
|
||||
setAttacksList(value: Array<CofdSheet.Attack>): void;
|
||||
addAttacks(value?: CofdSheet.Attack, index?: number): CofdSheet.Attack;
|
||||
|
||||
getOtherDataMap(): jspb.Map<string, string>;
|
||||
clearOtherDataMap(): void;
|
||||
hasCore(): boolean;
|
||||
clearCore(): void;
|
||||
getCore(): CoreFields | undefined;
|
||||
setCore(value?: CoreFields): void;
|
||||
|
||||
hasMage(): boolean;
|
||||
clearMage(): void;
|
||||
getMage(): MageFields | undefined;
|
||||
setMage(value?: MageFields): void;
|
||||
|
||||
hasChangeling(): boolean;
|
||||
clearChangeling(): void;
|
||||
getChangeling(): ChangelingFields | undefined;
|
||||
setChangeling(value?: ChangelingFields): void;
|
||||
|
||||
getSystemFieldsCase(): CofdSheet.SystemFieldsCase;
|
||||
serializeBinary(): Uint8Array;
|
||||
toObject(includeInstance?: boolean): CofdSheet.AsObject;
|
||||
static toObject(includeInstance: boolean, msg: CofdSheet): CofdSheet.AsObject;
|
||||
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
|
||||
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
|
||||
static serializeBinaryToWriter(message: CofdSheet, writer: jspb.BinaryWriter): void;
|
||||
static deserializeBinary(bytes: Uint8Array): CofdSheet;
|
||||
static deserializeBinaryFromReader(message: CofdSheet, reader: jspb.BinaryReader): CofdSheet;
|
||||
}
|
||||
|
||||
export namespace CofdSheet {
|
||||
export type AsObject = {
|
||||
name: string,
|
||||
player: string,
|
||||
campaign: string,
|
||||
description: string,
|
||||
strength: number,
|
||||
dexterity: number,
|
||||
stamina: number,
|
||||
intelligence: number,
|
||||
wits: number,
|
||||
resolve: number,
|
||||
presence: number,
|
||||
manipulation: number,
|
||||
composure: number,
|
||||
physicalSkillsMap: Array<[string, CofdSheet.Skill.AsObject]>,
|
||||
mentalSkillsMap: Array<[string, CofdSheet.Skill.AsObject]>,
|
||||
socialSkillsMap: Array<[string, CofdSheet.Skill.AsObject]>,
|
||||
meritsList: Array<CofdSheet.Merit.AsObject>,
|
||||
conditionsList: Array<CofdSheet.Condition.AsObject>,
|
||||
size: number,
|
||||
health: number,
|
||||
willpower: number,
|
||||
experiencePoints: number,
|
||||
beats: number,
|
||||
itemsList: Array<CofdSheet.Item.AsObject>,
|
||||
attacksList: Array<CofdSheet.Attack.AsObject>,
|
||||
otherDataMap: Array<[string, string]>,
|
||||
core?: CoreFields.AsObject,
|
||||
mage?: MageFields.AsObject,
|
||||
changeling?: ChangelingFields.AsObject,
|
||||
}
|
||||
|
||||
export class Merit extends jspb.Message {
|
||||
getDots(): number;
|
||||
setDots(value: number): void;
|
||||
|
||||
getName(): string;
|
||||
setName(value: string): void;
|
||||
|
||||
serializeBinary(): Uint8Array;
|
||||
toObject(includeInstance?: boolean): Merit.AsObject;
|
||||
static toObject(includeInstance: boolean, msg: Merit): Merit.AsObject;
|
||||
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
|
||||
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
|
||||
static serializeBinaryToWriter(message: Merit, writer: jspb.BinaryWriter): void;
|
||||
static deserializeBinary(bytes: Uint8Array): Merit;
|
||||
static deserializeBinaryFromReader(message: Merit, reader: jspb.BinaryReader): Merit;
|
||||
}
|
||||
|
||||
export namespace Merit {
|
||||
export type AsObject = {
|
||||
dots: number,
|
||||
name: string,
|
||||
}
|
||||
}
|
||||
|
||||
export class Condition extends jspb.Message {
|
||||
getName(): string;
|
||||
setName(value: string): void;
|
||||
|
||||
serializeBinary(): Uint8Array;
|
||||
toObject(includeInstance?: boolean): Condition.AsObject;
|
||||
static toObject(includeInstance: boolean, msg: Condition): Condition.AsObject;
|
||||
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
|
||||
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
|
||||
static serializeBinaryToWriter(message: Condition, writer: jspb.BinaryWriter): void;
|
||||
static deserializeBinary(bytes: Uint8Array): Condition;
|
||||
static deserializeBinaryFromReader(message: Condition, reader: jspb.BinaryReader): Condition;
|
||||
}
|
||||
|
||||
export namespace Condition {
|
||||
export type AsObject = {
|
||||
name: string,
|
||||
}
|
||||
}
|
||||
|
||||
export class Skill extends jspb.Message {
|
||||
getDots(): number;
|
||||
setDots(value: number): void;
|
||||
|
||||
getName(): string;
|
||||
setName(value: string): void;
|
||||
|
||||
getUntrainedPenalty(): number;
|
||||
setUntrainedPenalty(value: number): void;
|
||||
|
||||
clearSpecializationsList(): void;
|
||||
getSpecializationsList(): Array<string>;
|
||||
setSpecializationsList(value: Array<string>): void;
|
||||
addSpecializations(value: string, index?: number): string;
|
||||
|
||||
serializeBinary(): Uint8Array;
|
||||
toObject(includeInstance?: boolean): Skill.AsObject;
|
||||
static toObject(includeInstance: boolean, msg: Skill): Skill.AsObject;
|
||||
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
|
||||
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
|
||||
static serializeBinaryToWriter(message: Skill, writer: jspb.BinaryWriter): void;
|
||||
static deserializeBinary(bytes: Uint8Array): Skill;
|
||||
static deserializeBinaryFromReader(message: Skill, reader: jspb.BinaryReader): Skill;
|
||||
}
|
||||
|
||||
export namespace Skill {
|
||||
export type AsObject = {
|
||||
dots: number,
|
||||
name: string,
|
||||
untrainedPenalty: number,
|
||||
specializationsList: Array<string>,
|
||||
}
|
||||
}
|
||||
|
||||
export class Item extends jspb.Message {
|
||||
getName(): string;
|
||||
setName(value: string): void;
|
||||
|
||||
getDescription(): string;
|
||||
setDescription(value: string): void;
|
||||
|
||||
getRules(): string;
|
||||
setRules(value: string): void;
|
||||
|
||||
serializeBinary(): Uint8Array;
|
||||
toObject(includeInstance?: boolean): Item.AsObject;
|
||||
static toObject(includeInstance: boolean, msg: Item): Item.AsObject;
|
||||
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
|
||||
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
|
||||
static serializeBinaryToWriter(message: Item, writer: jspb.BinaryWriter): void;
|
||||
static deserializeBinary(bytes: Uint8Array): Item;
|
||||
static deserializeBinaryFromReader(message: Item, reader: jspb.BinaryReader): Item;
|
||||
}
|
||||
|
||||
export namespace Item {
|
||||
export type AsObject = {
|
||||
name: string,
|
||||
description: string,
|
||||
rules: string,
|
||||
}
|
||||
}
|
||||
|
||||
export class Attack extends jspb.Message {
|
||||
getName(): string;
|
||||
setName(value: string): void;
|
||||
|
||||
getDicePool(): number;
|
||||
setDicePool(value: number): void;
|
||||
|
||||
getDamage(): number;
|
||||
setDamage(value: number): void;
|
||||
|
||||
getRange(): number;
|
||||
setRange(value: number): void;
|
||||
|
||||
getInitiativeModifier(): number;
|
||||
setInitiativeModifier(value: number): void;
|
||||
|
||||
getSize(): number;
|
||||
setSize(value: number): void;
|
||||
|
||||
serializeBinary(): Uint8Array;
|
||||
toObject(includeInstance?: boolean): Attack.AsObject;
|
||||
static toObject(includeInstance: boolean, msg: Attack): Attack.AsObject;
|
||||
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
|
||||
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
|
||||
static serializeBinaryToWriter(message: Attack, writer: jspb.BinaryWriter): void;
|
||||
static deserializeBinary(bytes: Uint8Array): Attack;
|
||||
static deserializeBinaryFromReader(message: Attack, reader: jspb.BinaryReader): Attack;
|
||||
}
|
||||
|
||||
export namespace Attack {
|
||||
export type AsObject = {
|
||||
name: string,
|
||||
dicePool: number,
|
||||
damage: number,
|
||||
range: number,
|
||||
initiativeModifier: number,
|
||||
size: number,
|
||||
}
|
||||
}
|
||||
|
||||
export enum SystemFieldsCase {
|
||||
SYSTEM_FIELDS_NOT_SET = 0,
|
||||
CORE = 28,
|
||||
MAGE = 29,
|
||||
CHANGELING = 30,
|
||||
}
|
||||
}
|
||||
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,3 @@
|
|||
// package: models.proto.cofd
|
||||
// file: cofd.proto
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
// package: models.proto.cofd
|
||||
// file: cofd.proto
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
import { grpc } from "@improbable-eng/grpc-web";
|
||||
import { CofdApi } from "../_proto/cofd_api_pb_service";
|
||||
import { UpdateSkillValueRequest } from "../_proto/cofd_api_pb";
|
||||
|
||||
let x = new UpdateSkillValueRequest();
|
||||
x.setCharacterId(1);
|
||||
x.setCharacterUsername("guy");
|
||||
console.log("hello", x);
|
|
@ -0,0 +1,15 @@
|
|||
{
|
||||
"compilerOptions": {
|
||||
"alwaysStrict": true,
|
||||
"sourceMap": true,
|
||||
"target": "es5",
|
||||
"removeComments": true,
|
||||
"noImplicitReturns": true,
|
||||
"noImplicitAny": true,
|
||||
"strictNullChecks": true,
|
||||
"stripInternal": true,
|
||||
"noFallthroughCasesInSwitch": true,
|
||||
"noEmitOnError": true
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
const webpack = require('webpack');
|
||||
const path = require('path');
|
||||
|
||||
module.exports = {
|
||||
entry: "./src/index.ts",
|
||||
mode: "development",
|
||||
output: {
|
||||
path: path.resolve(__dirname, 'build'),
|
||||
filename: 'bundle.js'
|
||||
},
|
||||
devtool: 'inline-source-map',
|
||||
module: {
|
||||
rules: [
|
||||
{
|
||||
test: /\.ts$/,
|
||||
include: /src|_proto/,
|
||||
exclude: /node_modules/,
|
||||
loader: "ts-loader"
|
||||
}
|
||||
]
|
||||
},
|
||||
resolve: {
|
||||
extensions: [".ts", ".js"]
|
||||
},
|
||||
// plugins: [
|
||||
// new webpack.DefinePlugin({
|
||||
// 'USE_TLS': process.env.USE_TLS !== undefined
|
||||
// })
|
||||
// ]
|
||||
};
|
|
@ -1,6 +1,7 @@
|
|||
{% extends "base" %}
|
||||
|
||||
{% block content %}
|
||||
<script type="text/javascript" src="/scripts/ts/build/bundle.js"></script>
|
||||
<div>
|
||||
<h1>Tenebrous: Login</h1>
|
||||
|
||||
|
|
Loading…
Reference in New Issue