Add live field provenance for React components
This commit is contained in:
+95
-21
File diff suppressed because one or more lines are too long
+168
-8
@@ -12,7 +12,7 @@ import type { Message } from "@bufbuild/protobuf";
|
|||||||
* Describes the file camino/schema.proto.
|
* Describes the file camino/schema.proto.
|
||||||
*/
|
*/
|
||||||
export const file_camino_schema: GenFile = /*@__PURE__*/
|
export const file_camino_schema: GenFile = /*@__PURE__*/
|
||||||
fileDesc("ChNjYW1pbm8vc2NoZW1hLnByb3RvEgZjYW1pbm8iSwoJU3ltYm9sUmVmEhEKCW5hbWVzcGFjZRgBIAEoCRIMCgRuYW1lGAIgASgJEg8KB3ZlcnNpb24YAyABKAkSDAoEaGFzaBgEIAEoCSIYCgNSZWYSEQoJb2JqZWN0X2lkGAEgASgJIg0KC0N1c3RvbUZpZWxkIiQKEFdhdGNoU3RhcnRSZXN1bHQSEAoId2F0Y2hfaWQYASABKAkiJAoQV2F0Y2hTdG9wUmVxdWVzdBIQCgh3YXRjaF9pZBgBIAEoCSIRCg9XYXRjaFN0b3BSZXN1bHQiGwoIQ3JkdFRleHQSDwoHcGF5bG9hZBgBIAEoDCIfCgxDcmR0UmljaFRleHQSDwoHcGF5bG9hZBgBIAEoDCIbCghDcmR0SnNvbhIPCgdwYXlsb2FkGAEgASgMIr8CCgtDbGFzc1NjaGVtYRIdCgJpZBgBIAEoCzIRLmNhbWluby5TeW1ib2xSZWYSDwoHdmVyc2lvbhgCIAEoDRIjCgZmaWVsZHMYAyADKAsyEy5jYW1pbm8uRmllbGRTY2hlbWESIQoFZWRnZXMYBCADKAsyEi5jYW1pbm8uRWRnZVNjaGVtYRIlCgdtZXRob2RzGAUgAygLMhQuY2FtaW5vLk1ldGhvZFNjaGVtYRIpCgptaWdyYXRpb25zGAYgAygLMhUuY2FtaW5vLk1pZ3JhdGlvblNwZWMSEwoLc291cmNlX2ZpbGUYByABKAkSFQoNcHJvdG9fbWVzc2FnZRgIIAEoCRI6ChJvcGVyYXRpb25fc2VydmljZXMYCSADKAsyHi5jYW1pbm8uT3BlcmF0aW9uU2VydmljZVNjaGVtYSLdAQoLRmllbGRTY2hlbWESDAoEbmFtZRgBIAEoCRILCgN0YWcYAiABKA0SHQoEdHlwZRgDIAEoCzIPLmNhbWluby5UeXBlUmVmEioKCGNvbmZsaWN0GAQgASgOMhguY2FtaW5vLkNvbmZsaWN0U3RyYXRlZ3kSEAoIcmVwZWF0ZWQYBSABKAgSEAoIb3B0aW9uYWwYBiABKAgSJQoHc3RvcmFnZRgHIAEoCzIULmNhbWluby5GaWVsZFN0b3JhZ2USHQoDb3BzGAggASgLMhAuY2FtaW5vLkZpZWxkT3BzImwKDEZpZWxkU3RvcmFnZRImCgRraW5kGAEgASgOMhguY2FtaW5vLkZpZWxkU3RvcmFnZUtpbmQSJQoIcmVzb2x2ZXIYAiABKAsyEy5xdWl4b3MuRnVuY3Rpb25SZWYSDQoFY2FjaGUYAyABKAgiQAoHVHlwZVJlZhISCgpwcm90b190eXBlGAEgASgJEiEKBnN5bWJvbBgCIAEoCzIRLmNhbWluby5TeW1ib2xSZWYiUAoIRmllbGRPcHMSMwoOaW1wbGVtZW50YXRpb24YASABKA4yGy5jYW1pbm8uRmllbGRJbXBsZW1lbnRhdGlvbhIPCgdzZXJ2aWNlGAIgASgJIu0BCgpFZGdlU2NoZW1hEh0KAmlkGAEgASgLMhEuY2FtaW5vLlN5bWJvbFJlZhIUCgxzb3VyY2VfZmllbGQYAiABKAkSJQoKZnJvbV9jbGFzcxgDIAEoCzIRLmNhbWluby5TeW1ib2xSZWYSIwoIdG9fY2xhc3MYBCABKAsyES5jYW1pbm8uU3ltYm9sUmVmEigKC2NhcmRpbmFsaXR5GAUgASgOMhMuY2FtaW5vLkNhcmRpbmFsaXR5Eg8KB2ludmVyc2UYBiABKAkSIwoGZmllbGRzGAcgAygLMhMuY2FtaW5vLkZpZWxkU2NoZW1hIkMKDE1ldGhvZFNjaGVtYRIMCgRuYW1lGAEgASgJEiUKCGZ1bmN0aW9uGAIgASgLMhMucXVpeG9zLkZ1bmN0aW9uUmVmImAKDU1pZ3JhdGlvblNwZWMSFAoMZnJvbV92ZXJzaW9uGAEgASgNEhIKCnRvX3ZlcnNpb24YAiABKA0SJQoIZnVuY3Rpb24YAyABKAsyEy5xdWl4b3MuRnVuY3Rpb25SZWYikQEKD09wZXJhdGlvblNjaGVtYRIMCgRuYW1lGAEgASgJEiMKCmlucHV0X3R5cGUYAiABKAsyDy5jYW1pbm8uVHlwZVJlZhIkCgtvdXRwdXRfdHlwZRgDIAEoCzIPLmNhbWluby5UeXBlUmVmEiUKCGZ1bmN0aW9uGAQgASgLMhMucXVpeG9zLkZ1bmN0aW9uUmVmImYKFk9wZXJhdGlvblNlcnZpY2VTY2hlbWESDAoEbmFtZRgBIAEoCRIRCglmdWxsX25hbWUYAiABKAkSKwoKb3BlcmF0aW9ucxgDIAMoCzIXLmNhbWluby5PcGVyYXRpb25TY2hlbWEimwEKEURvY1JlZkRlY2xhcmF0aW9uEhIKCmxvY2FsX25hbWUYASABKAkSHwoEdHlwZRgCIAEoCzIRLmNhbWluby5TeW1ib2xSZWYSJwoMdGFyZ2V0X2NsYXNzGAMgASgLMhEuY2FtaW5vLlN5bWJvbFJlZhIoCghzdHJlbmd0aBgEIAEoDjIWLmNhbWluby5Eb2NSZWZTdHJlbmd0aCpkChBDb25mbGljdFN0cmF0ZWd5EiEKHUNPTkZMSUNUX1NUUkFURUdZX1VOU1BFQ0lGSUVEEAASCwoHUkVQTEFDRRABEhYKElBSRVNFUlZFX0NPTkZMSUNUUxACEggKBENSRFQQAyp6CgtDYXJkaW5hbGl0eRIbChdDQVJESU5BTElUWV9VTlNQRUNJRklFRBAAEhAKDE9QVElPTkFMX09ORRABEg8KC0VYQUNUTFlfT05FEAISCAoETUFOWRADEg8KC01BTllfVU5JUVVFEAQSEAoMTUFOWV9PUkRFUkVEEAUqVAoORG9jUmVmU3RyZW5ndGgSIAocRE9DX1JFRl9TVFJFTkdUSF9VTlNQRUNJRklFRBAAEgwKCFNPRlRfUkVGEAESEgoOUFJPSkVDVEVEX0VER0UQAipnChBGaWVsZFN0b3JhZ2VLaW5kEiIKHkZJRUxEX1NUT1JBR0VfS0lORF9VTlNQRUNJRklFRBAAEgoKBlNUT1JFRBABEgsKB0RFUklWRUQQAhIICgRMQVpZEAMSDAoIRVhURVJOQUwQBCpIChNGaWVsZEltcGxlbWVudGF0aW9uEiQKIEZJRUxEX0lNUExFTUVOVEFUSU9OX1VOU1BFQ0lGSUVEEAASCwoHU0VSVklDRRABYgZwcm90bzM", [file_quixos_refs]);
|
fileDesc("ChNjYW1pbm8vc2NoZW1hLnByb3RvEgZjYW1pbm8iSwoJU3ltYm9sUmVmEhEKCW5hbWVzcGFjZRgBIAEoCRIMCgRuYW1lGAIgASgJEg8KB3ZlcnNpb24YAyABKAkSDAoEaGFzaBgEIAEoCSIYCgNSZWYSEQoJb2JqZWN0X2lkGAEgASgJIg0KC0N1c3RvbUZpZWxkIiQKEFdhdGNoU3RhcnRSZXN1bHQSEAoId2F0Y2hfaWQYASABKAkiJAoQV2F0Y2hTdG9wUmVxdWVzdBIQCgh3YXRjaF9pZBgBIAEoCSIRCg9XYXRjaFN0b3BSZXN1bHQiGwoIQ3JkdFRleHQSDwoHcGF5bG9hZBgBIAEoDCIfCgxDcmR0UmljaFRleHQSDwoHcGF5bG9hZBgBIAEoDCIbCghDcmR0SnNvbhIPCgdwYXlsb2FkGAEgASgMIqgDCgtDbGFzc1NjaGVtYRIdCgJpZBgBIAEoCzIRLmNhbWluby5TeW1ib2xSZWYSDwoHdmVyc2lvbhgCIAEoDRIjCgZmaWVsZHMYAyADKAsyEy5jYW1pbm8uRmllbGRTY2hlbWESIQoFZWRnZXMYBCADKAsyEi5jYW1pbm8uRWRnZVNjaGVtYRIlCgdtZXRob2RzGAUgAygLMhQuY2FtaW5vLk1ldGhvZFNjaGVtYRIpCgptaWdyYXRpb25zGAYgAygLMhUuY2FtaW5vLk1pZ3JhdGlvblNwZWMSEwoLc291cmNlX2ZpbGUYByABKAkSFQoNcHJvdG9fbWVzc2FnZRgIIAEoCRI6ChJvcGVyYXRpb25fc2VydmljZXMYCSADKAsyHi5jYW1pbm8uT3BlcmF0aW9uU2VydmljZVNjaGVtYRI5CgppbXBsZW1lbnRzGAogAygLMiUuY2FtaW5vLkludGVyZmFjZUltcGxlbWVudGF0aW9uU2NoZW1hEiwKC2NvbnN0cnVjdG9yGAsgASgLMhcuY2FtaW5vLkNvbnN0cnVjdG9yU3BlYyKZAgoLRmllbGRTY2hlbWESDAoEbmFtZRgBIAEoCRILCgN0YWcYAiABKA0SHQoEdHlwZRgDIAEoCzIPLmNhbWluby5UeXBlUmVmEioKCGNvbmZsaWN0GAQgASgOMhguY2FtaW5vLkNvbmZsaWN0U3RyYXRlZ3kSEAoIcmVwZWF0ZWQYBSABKAgSEAoIb3B0aW9uYWwYBiABKAgSJQoHc3RvcmFnZRgHIAEoCzIULmNhbWluby5GaWVsZFN0b3JhZ2USHQoDb3BzGAggASgLMhAuY2FtaW5vLkZpZWxkT3BzEjoKEmludGVyZmFjZV9jb250cmFjdBgJIAEoCzIeLmNhbWluby5JbnRlcmZhY2VGaWVsZENvbnRyYWN0ImwKDEZpZWxkU3RvcmFnZRImCgRraW5kGAEgASgOMhguY2FtaW5vLkZpZWxkU3RvcmFnZUtpbmQSJQoIcmVzb2x2ZXIYAiABKAsyEy5xdWl4b3MuRnVuY3Rpb25SZWYSDQoFY2FjaGUYAyABKAgiQAoHVHlwZVJlZhISCgpwcm90b190eXBlGAEgASgJEiEKBnN5bWJvbBgCIAEoCzIRLmNhbWluby5TeW1ib2xSZWYiOgoLVHlwZUJpbmRpbmcSDAoEbmFtZRgBIAEoCRIdCgR0eXBlGAIgASgLMg8uY2FtaW5vLlR5cGVSZWYilAEKFkludGVyZmFjZUZpZWxkQ29udHJhY3QSEAoIcmVxdWlyZWQYASABKAgSEAoIcmVhZGFibGUYAiABKAgSEAoId3JpdGFibGUYAyABKAgSEQoJd2F0Y2hhYmxlGAQgASgIEhIKCnR5cGVfcGFyYW0YBSABKAkSHQoEdHlwZRgGIAEoCzIPLmNhbWluby5UeXBlUmVmInEKHUludGVyZmFjZUltcGxlbWVudGF0aW9uU2NoZW1hEiQKCWludGVyZmFjZRgBIAEoCzIRLmNhbWluby5TeW1ib2xSZWYSKgoNdHlwZV9iaW5kaW5ncxgCIAMoCzITLmNhbWluby5UeXBlQmluZGluZyKSAQoPSW50ZXJmYWNlU2NoZW1hEh0KAmlkGAEgASgLMhEuY2FtaW5vLlN5bWJvbFJlZhIPCgd2ZXJzaW9uGAIgASgNEiMKBmZpZWxkcxgDIAMoCzITLmNhbWluby5GaWVsZFNjaGVtYRITCgtzb3VyY2VfZmlsZRgEIAEoCRIVCg1wcm90b19tZXNzYWdlGAUgASgJIlAKCEZpZWxkT3BzEjMKDmltcGxlbWVudGF0aW9uGAEgASgOMhsuY2FtaW5vLkZpZWxkSW1wbGVtZW50YXRpb24SDwoHc2VydmljZRgCIAEoCSLtAQoKRWRnZVNjaGVtYRIdCgJpZBgBIAEoCzIRLmNhbWluby5TeW1ib2xSZWYSFAoMc291cmNlX2ZpZWxkGAIgASgJEiUKCmZyb21fY2xhc3MYAyABKAsyES5jYW1pbm8uU3ltYm9sUmVmEiMKCHRvX2NsYXNzGAQgASgLMhEuY2FtaW5vLlN5bWJvbFJlZhIoCgtjYXJkaW5hbGl0eRgFIAEoDjITLmNhbWluby5DYXJkaW5hbGl0eRIPCgdpbnZlcnNlGAYgASgJEiMKBmZpZWxkcxgHIAMoCzITLmNhbWluby5GaWVsZFNjaGVtYSJDCgxNZXRob2RTY2hlbWESDAoEbmFtZRgBIAEoCRIlCghmdW5jdGlvbhgCIAEoCzITLnF1aXhvcy5GdW5jdGlvblJlZiJgCg1NaWdyYXRpb25TcGVjEhQKDGZyb21fdmVyc2lvbhgBIAEoDRISCgp0b192ZXJzaW9uGAIgASgNEiUKCGZ1bmN0aW9uGAMgASgLMhMucXVpeG9zLkZ1bmN0aW9uUmVmIjgKD0NvbnN0cnVjdG9yU3BlYxIlCghmdW5jdGlvbhgBIAEoCzITLnF1aXhvcy5GdW5jdGlvblJlZiKRAQoPT3BlcmF0aW9uU2NoZW1hEgwKBG5hbWUYASABKAkSIwoKaW5wdXRfdHlwZRgCIAEoCzIPLmNhbWluby5UeXBlUmVmEiQKC291dHB1dF90eXBlGAMgASgLMg8uY2FtaW5vLlR5cGVSZWYSJQoIZnVuY3Rpb24YBCABKAsyEy5xdWl4b3MuRnVuY3Rpb25SZWYiZgoWT3BlcmF0aW9uU2VydmljZVNjaGVtYRIMCgRuYW1lGAEgASgJEhEKCWZ1bGxfbmFtZRgCIAEoCRIrCgpvcGVyYXRpb25zGAMgAygLMhcuY2FtaW5vLk9wZXJhdGlvblNjaGVtYSKbAQoRRG9jUmVmRGVjbGFyYXRpb24SEgoKbG9jYWxfbmFtZRgBIAEoCRIfCgR0eXBlGAIgASgLMhEuY2FtaW5vLlN5bWJvbFJlZhInCgx0YXJnZXRfY2xhc3MYAyABKAsyES5jYW1pbm8uU3ltYm9sUmVmEigKCHN0cmVuZ3RoGAQgASgOMhYuY2FtaW5vLkRvY1JlZlN0cmVuZ3RoKmQKEENvbmZsaWN0U3RyYXRlZ3kSIQodQ09ORkxJQ1RfU1RSQVRFR1lfVU5TUEVDSUZJRUQQABILCgdSRVBMQUNFEAESFgoSUFJFU0VSVkVfQ09ORkxJQ1RTEAISCAoEQ1JEVBADKnoKC0NhcmRpbmFsaXR5EhsKF0NBUkRJTkFMSVRZX1VOU1BFQ0lGSUVEEAASEAoMT1BUSU9OQUxfT05FEAESDwoLRVhBQ1RMWV9PTkUQAhIICgRNQU5ZEAMSDwoLTUFOWV9VTklRVUUQBBIQCgxNQU5ZX09SREVSRUQQBSpUCg5Eb2NSZWZTdHJlbmd0aBIgChxET0NfUkVGX1NUUkVOR1RIX1VOU1BFQ0lGSUVEEAASDAoIU09GVF9SRUYQARISCg5QUk9KRUNURURfRURHRRACKnkKEEZpZWxkU3RvcmFnZUtpbmQSIgoeRklFTERfU1RPUkFHRV9LSU5EX1VOU1BFQ0lGSUVEEAASCgoGU1RPUkVEEAESCwoHREVSSVZFRBACEggKBExBWlkQAxIMCghFWFRFUk5BTBAEEhAKDFNUQVRJQ19GSU5BTBAFKkgKE0ZpZWxkSW1wbGVtZW50YXRpb24SJAogRklFTERfSU1QTEVNRU5UQVRJT05fVU5TUEVDSUZJRUQQABILCgdTRVJWSUNFEAFiBnByb3RvMw", [file_quixos_refs]);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @generated from message camino.SymbolRef
|
* @generated from message camino.SymbolRef
|
||||||
@@ -222,6 +222,16 @@ export type ClassSchema = Message<"camino.ClassSchema"> & {
|
|||||||
* @generated from field: repeated camino.OperationServiceSchema operation_services = 9;
|
* @generated from field: repeated camino.OperationServiceSchema operation_services = 9;
|
||||||
*/
|
*/
|
||||||
operationServices: OperationServiceSchema[];
|
operationServices: OperationServiceSchema[];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @generated from field: repeated camino.InterfaceImplementationSchema implements = 10;
|
||||||
|
*/
|
||||||
|
implements: InterfaceImplementationSchema[];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @generated from field: camino.ConstructorSpec constructor = 11;
|
||||||
|
*/
|
||||||
|
constructor$?: ConstructorSpec | undefined;
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -274,6 +284,11 @@ export type FieldSchema = Message<"camino.FieldSchema"> & {
|
|||||||
* @generated from field: camino.FieldOps ops = 8;
|
* @generated from field: camino.FieldOps ops = 8;
|
||||||
*/
|
*/
|
||||||
ops?: FieldOps | undefined;
|
ops?: FieldOps | undefined;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @generated from field: camino.InterfaceFieldContract interface_contract = 9;
|
||||||
|
*/
|
||||||
|
interfaceContract?: InterfaceFieldContract | undefined;
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -332,6 +347,129 @@ export type TypeRef = Message<"camino.TypeRef"> & {
|
|||||||
export const TypeRefSchema: GenMessage<TypeRef> = /*@__PURE__*/
|
export const TypeRefSchema: GenMessage<TypeRef> = /*@__PURE__*/
|
||||||
messageDesc(file_camino_schema, 12);
|
messageDesc(file_camino_schema, 12);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @generated from message camino.TypeBinding
|
||||||
|
*/
|
||||||
|
export type TypeBinding = Message<"camino.TypeBinding"> & {
|
||||||
|
/**
|
||||||
|
* @generated from field: string name = 1;
|
||||||
|
*/
|
||||||
|
name: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @generated from field: camino.TypeRef type = 2;
|
||||||
|
*/
|
||||||
|
type?: TypeRef | undefined;
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Describes the message camino.TypeBinding.
|
||||||
|
* Use `create(TypeBindingSchema)` to create a new message.
|
||||||
|
*/
|
||||||
|
export const TypeBindingSchema: GenMessage<TypeBinding> = /*@__PURE__*/
|
||||||
|
messageDesc(file_camino_schema, 13);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @generated from message camino.InterfaceFieldContract
|
||||||
|
*/
|
||||||
|
export type InterfaceFieldContract = Message<"camino.InterfaceFieldContract"> & {
|
||||||
|
/**
|
||||||
|
* @generated from field: bool required = 1;
|
||||||
|
*/
|
||||||
|
required: boolean;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @generated from field: bool readable = 2;
|
||||||
|
*/
|
||||||
|
readable: boolean;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @generated from field: bool writable = 3;
|
||||||
|
*/
|
||||||
|
writable: boolean;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @generated from field: bool watchable = 4;
|
||||||
|
*/
|
||||||
|
watchable: boolean;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @generated from field: string type_param = 5;
|
||||||
|
*/
|
||||||
|
typeParam: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @generated from field: camino.TypeRef type = 6;
|
||||||
|
*/
|
||||||
|
type?: TypeRef | undefined;
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Describes the message camino.InterfaceFieldContract.
|
||||||
|
* Use `create(InterfaceFieldContractSchema)` to create a new message.
|
||||||
|
*/
|
||||||
|
export const InterfaceFieldContractSchema: GenMessage<InterfaceFieldContract> = /*@__PURE__*/
|
||||||
|
messageDesc(file_camino_schema, 14);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @generated from message camino.InterfaceImplementationSchema
|
||||||
|
*/
|
||||||
|
export type InterfaceImplementationSchema = Message<"camino.InterfaceImplementationSchema"> & {
|
||||||
|
/**
|
||||||
|
* @generated from field: camino.SymbolRef interface = 1;
|
||||||
|
*/
|
||||||
|
interface?: SymbolRef | undefined;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @generated from field: repeated camino.TypeBinding type_bindings = 2;
|
||||||
|
*/
|
||||||
|
typeBindings: TypeBinding[];
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Describes the message camino.InterfaceImplementationSchema.
|
||||||
|
* Use `create(InterfaceImplementationSchemaSchema)` to create a new message.
|
||||||
|
*/
|
||||||
|
export const InterfaceImplementationSchemaSchema: GenMessage<InterfaceImplementationSchema> = /*@__PURE__*/
|
||||||
|
messageDesc(file_camino_schema, 15);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @generated from message camino.InterfaceSchema
|
||||||
|
*/
|
||||||
|
export type InterfaceSchema = Message<"camino.InterfaceSchema"> & {
|
||||||
|
/**
|
||||||
|
* @generated from field: camino.SymbolRef id = 1;
|
||||||
|
*/
|
||||||
|
id?: SymbolRef | undefined;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @generated from field: uint32 version = 2;
|
||||||
|
*/
|
||||||
|
version: number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @generated from field: repeated camino.FieldSchema fields = 3;
|
||||||
|
*/
|
||||||
|
fields: FieldSchema[];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @generated from field: string source_file = 4;
|
||||||
|
*/
|
||||||
|
sourceFile: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @generated from field: string proto_message = 5;
|
||||||
|
*/
|
||||||
|
protoMessage: string;
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Describes the message camino.InterfaceSchema.
|
||||||
|
* Use `create(InterfaceSchemaSchema)` to create a new message.
|
||||||
|
*/
|
||||||
|
export const InterfaceSchemaSchema: GenMessage<InterfaceSchema> = /*@__PURE__*/
|
||||||
|
messageDesc(file_camino_schema, 16);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @generated from message camino.FieldOps
|
* @generated from message camino.FieldOps
|
||||||
*/
|
*/
|
||||||
@@ -352,7 +490,7 @@ export type FieldOps = Message<"camino.FieldOps"> & {
|
|||||||
* Use `create(FieldOpsSchema)` to create a new message.
|
* Use `create(FieldOpsSchema)` to create a new message.
|
||||||
*/
|
*/
|
||||||
export const FieldOpsSchema: GenMessage<FieldOps> = /*@__PURE__*/
|
export const FieldOpsSchema: GenMessage<FieldOps> = /*@__PURE__*/
|
||||||
messageDesc(file_camino_schema, 13);
|
messageDesc(file_camino_schema, 17);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @generated from message camino.EdgeSchema
|
* @generated from message camino.EdgeSchema
|
||||||
@@ -399,7 +537,7 @@ export type EdgeSchema = Message<"camino.EdgeSchema"> & {
|
|||||||
* Use `create(EdgeSchemaSchema)` to create a new message.
|
* Use `create(EdgeSchemaSchema)` to create a new message.
|
||||||
*/
|
*/
|
||||||
export const EdgeSchemaSchema: GenMessage<EdgeSchema> = /*@__PURE__*/
|
export const EdgeSchemaSchema: GenMessage<EdgeSchema> = /*@__PURE__*/
|
||||||
messageDesc(file_camino_schema, 14);
|
messageDesc(file_camino_schema, 18);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @generated from message camino.MethodSchema
|
* @generated from message camino.MethodSchema
|
||||||
@@ -421,7 +559,7 @@ export type MethodSchema = Message<"camino.MethodSchema"> & {
|
|||||||
* Use `create(MethodSchemaSchema)` to create a new message.
|
* Use `create(MethodSchemaSchema)` to create a new message.
|
||||||
*/
|
*/
|
||||||
export const MethodSchemaSchema: GenMessage<MethodSchema> = /*@__PURE__*/
|
export const MethodSchemaSchema: GenMessage<MethodSchema> = /*@__PURE__*/
|
||||||
messageDesc(file_camino_schema, 15);
|
messageDesc(file_camino_schema, 19);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @generated from message camino.MigrationSpec
|
* @generated from message camino.MigrationSpec
|
||||||
@@ -448,7 +586,24 @@ export type MigrationSpec = Message<"camino.MigrationSpec"> & {
|
|||||||
* Use `create(MigrationSpecSchema)` to create a new message.
|
* Use `create(MigrationSpecSchema)` to create a new message.
|
||||||
*/
|
*/
|
||||||
export const MigrationSpecSchema: GenMessage<MigrationSpec> = /*@__PURE__*/
|
export const MigrationSpecSchema: GenMessage<MigrationSpec> = /*@__PURE__*/
|
||||||
messageDesc(file_camino_schema, 16);
|
messageDesc(file_camino_schema, 20);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @generated from message camino.ConstructorSpec
|
||||||
|
*/
|
||||||
|
export type ConstructorSpec = Message<"camino.ConstructorSpec"> & {
|
||||||
|
/**
|
||||||
|
* @generated from field: quixos.FunctionRef function = 1;
|
||||||
|
*/
|
||||||
|
function?: FunctionRef | undefined;
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Describes the message camino.ConstructorSpec.
|
||||||
|
* Use `create(ConstructorSpecSchema)` to create a new message.
|
||||||
|
*/
|
||||||
|
export const ConstructorSpecSchema: GenMessage<ConstructorSpec> = /*@__PURE__*/
|
||||||
|
messageDesc(file_camino_schema, 21);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @generated from message camino.OperationSchema
|
* @generated from message camino.OperationSchema
|
||||||
@@ -480,7 +635,7 @@ export type OperationSchema = Message<"camino.OperationSchema"> & {
|
|||||||
* Use `create(OperationSchemaSchema)` to create a new message.
|
* Use `create(OperationSchemaSchema)` to create a new message.
|
||||||
*/
|
*/
|
||||||
export const OperationSchemaSchema: GenMessage<OperationSchema> = /*@__PURE__*/
|
export const OperationSchemaSchema: GenMessage<OperationSchema> = /*@__PURE__*/
|
||||||
messageDesc(file_camino_schema, 17);
|
messageDesc(file_camino_schema, 22);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @generated from message camino.OperationServiceSchema
|
* @generated from message camino.OperationServiceSchema
|
||||||
@@ -507,7 +662,7 @@ export type OperationServiceSchema = Message<"camino.OperationServiceSchema"> &
|
|||||||
* Use `create(OperationServiceSchemaSchema)` to create a new message.
|
* Use `create(OperationServiceSchemaSchema)` to create a new message.
|
||||||
*/
|
*/
|
||||||
export const OperationServiceSchemaSchema: GenMessage<OperationServiceSchema> = /*@__PURE__*/
|
export const OperationServiceSchemaSchema: GenMessage<OperationServiceSchema> = /*@__PURE__*/
|
||||||
messageDesc(file_camino_schema, 18);
|
messageDesc(file_camino_schema, 23);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @generated from message camino.DocRefDeclaration
|
* @generated from message camino.DocRefDeclaration
|
||||||
@@ -539,7 +694,7 @@ export type DocRefDeclaration = Message<"camino.DocRefDeclaration"> & {
|
|||||||
* Use `create(DocRefDeclarationSchema)` to create a new message.
|
* Use `create(DocRefDeclarationSchema)` to create a new message.
|
||||||
*/
|
*/
|
||||||
export const DocRefDeclarationSchema: GenMessage<DocRefDeclaration> = /*@__PURE__*/
|
export const DocRefDeclarationSchema: GenMessage<DocRefDeclaration> = /*@__PURE__*/
|
||||||
messageDesc(file_camino_schema, 19);
|
messageDesc(file_camino_schema, 24);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @generated from enum camino.ConflictStrategy
|
* @generated from enum camino.ConflictStrategy
|
||||||
@@ -667,6 +822,11 @@ export enum FieldStorageKind {
|
|||||||
* @generated from enum value: EXTERNAL = 4;
|
* @generated from enum value: EXTERNAL = 4;
|
||||||
*/
|
*/
|
||||||
EXTERNAL = 4,
|
EXTERNAL = 4,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @generated from enum value: STATIC_FINAL = 5;
|
||||||
|
*/
|
||||||
|
STATIC_FINAL = 5,
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -15,11 +15,13 @@ import {
|
|||||||
import {
|
import {
|
||||||
CaminoService,
|
CaminoService,
|
||||||
CrdtValueSchema,
|
CrdtValueSchema,
|
||||||
|
FieldValueSourceSchema,
|
||||||
ListValueSchema,
|
ListValueSchema,
|
||||||
NullValueSchema,
|
NullValueSchema,
|
||||||
ObjectValueSchema,
|
ObjectValueSchema,
|
||||||
RefValueSchema,
|
RefValueSchema,
|
||||||
ValueSchema,
|
ValueSchema,
|
||||||
|
ValueSourceSchema,
|
||||||
type Value,
|
type Value,
|
||||||
} from "./camino/api_pb.js";
|
} from "./camino/api_pb.js";
|
||||||
import {
|
import {
|
||||||
@@ -181,6 +183,44 @@ export type Field<T> = {
|
|||||||
set(value: T): Promise<void>;
|
set(value: T): Promise<void>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export type LiveFieldValue<T> = {
|
||||||
|
$caminoValue: T;
|
||||||
|
$caminoSource: {
|
||||||
|
field: {
|
||||||
|
objectId: string;
|
||||||
|
fieldName: string;
|
||||||
|
fieldType?: string;
|
||||||
|
fieldStorage?: string;
|
||||||
|
conflictStrategy?: string;
|
||||||
|
revision?: number | string | bigint;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
export const liveFieldValue = <T>(params: {
|
||||||
|
value: T;
|
||||||
|
objectId: string;
|
||||||
|
fieldName: string;
|
||||||
|
fieldType?: string;
|
||||||
|
fieldStorage?: string;
|
||||||
|
conflictStrategy?: string;
|
||||||
|
revision?: number | string | bigint;
|
||||||
|
}): LiveFieldValue<T> => ({
|
||||||
|
$caminoValue: params.value,
|
||||||
|
$caminoSource: {
|
||||||
|
field: {
|
||||||
|
objectId: params.objectId,
|
||||||
|
fieldName: params.fieldName,
|
||||||
|
...(params.fieldType ? { fieldType: params.fieldType } : {}),
|
||||||
|
...(params.fieldStorage ? { fieldStorage: params.fieldStorage } : {}),
|
||||||
|
...(params.conflictStrategy
|
||||||
|
? { conflictStrategy: params.conflictStrategy }
|
||||||
|
: {}),
|
||||||
|
...(params.revision !== undefined ? { revision: params.revision } : {}),
|
||||||
|
},
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
export type RuntimeHandler<Context> = (
|
export type RuntimeHandler<Context> = (
|
||||||
context: Context,
|
context: Context,
|
||||||
) => Promise<unknown> | unknown;
|
) => Promise<unknown> | unknown;
|
||||||
@@ -429,6 +469,43 @@ const bytesToBase64 = (value: Uint8Array) =>
|
|||||||
|
|
||||||
const base64ToBytes = (value: string) => Buffer.from(value, "base64");
|
const base64ToBytes = (value: string) => Buffer.from(value, "base64");
|
||||||
|
|
||||||
|
const sourceToProto = (value: unknown) => {
|
||||||
|
if (!isRecord(value) || !isRecord(value.field)) {
|
||||||
|
return undefined;
|
||||||
|
}
|
||||||
|
const field = value.field;
|
||||||
|
if (
|
||||||
|
typeof field.objectId !== "string" ||
|
||||||
|
typeof field.fieldName !== "string"
|
||||||
|
) {
|
||||||
|
return undefined;
|
||||||
|
}
|
||||||
|
return create(ValueSourceSchema, {
|
||||||
|
field: create(FieldValueSourceSchema, {
|
||||||
|
objectId: field.objectId,
|
||||||
|
fieldName: field.fieldName,
|
||||||
|
fieldType: typeof field.fieldType === "string" ? field.fieldType : "",
|
||||||
|
fieldStorage:
|
||||||
|
typeof field.fieldStorage === "string" ? field.fieldStorage : "",
|
||||||
|
conflictStrategy:
|
||||||
|
typeof field.conflictStrategy === "string" ? field.conflictStrategy : "",
|
||||||
|
revision:
|
||||||
|
typeof field.revision === "bigint"
|
||||||
|
? field.revision
|
||||||
|
: typeof field.revision === "number"
|
||||||
|
? BigInt(field.revision)
|
||||||
|
: typeof field.revision === "string" && /^\d+$/.test(field.revision)
|
||||||
|
? BigInt(field.revision)
|
||||||
|
: 0n,
|
||||||
|
}),
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
const withSource = (value: Value, source: unknown): Value => {
|
||||||
|
const sourceValue = sourceToProto(source);
|
||||||
|
return sourceValue ? create(ValueSchema, { ...value, source: sourceValue }) : value;
|
||||||
|
};
|
||||||
|
|
||||||
export const jsToProtoValue = (value: unknown): Value => {
|
export const jsToProtoValue = (value: unknown): Value => {
|
||||||
if (value === null || value === undefined) {
|
if (value === null || value === undefined) {
|
||||||
return create(ValueSchema, {
|
return create(ValueSchema, {
|
||||||
@@ -474,6 +551,9 @@ export const jsToProtoValue = (value: unknown): Value => {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
if (isRecord(value)) {
|
if (isRecord(value)) {
|
||||||
|
if (Object.hasOwn(value, "$caminoValue") && isRecord(value.$caminoSource)) {
|
||||||
|
return withSource(jsToProtoValue(value.$caminoValue), value.$caminoSource);
|
||||||
|
}
|
||||||
if (typeof value.$caminoRef === "string") {
|
if (typeof value.$caminoRef === "string") {
|
||||||
return create(ValueSchema, {
|
return create(ValueSchema, {
|
||||||
kind: {
|
kind: {
|
||||||
|
|||||||
Reference in New Issue
Block a user