diff options
| author | altaf-creator <dev@altafcreator.com> | 2025-11-16 19:08:29 +0800 |
|---|---|---|
| committer | altaf-creator <dev@altafcreator.com> | 2025-11-16 19:08:29 +0800 |
| commit | 434aa8343fdcbb4d5002f934979913c099489bee (patch) | |
| tree | 55bab4ec5a6151be57797d34f61faf5ea744471b /frontend-old/node_modules/@grpc/proto-loader/README.md | |
| parent | 893c388d4e99442a36005e5971a87730623f946e (diff) | |
sdk, del
Diffstat (limited to 'frontend-old/node_modules/@grpc/proto-loader/README.md')
| -rw-r--r-- | frontend-old/node_modules/@grpc/proto-loader/README.md | 140 |
1 files changed, 0 insertions, 140 deletions
diff --git a/frontend-old/node_modules/@grpc/proto-loader/README.md b/frontend-old/node_modules/@grpc/proto-loader/README.md deleted file mode 100644 index 935c100..0000000 --- a/frontend-old/node_modules/@grpc/proto-loader/README.md +++ /dev/null @@ -1,140 +0,0 @@ -# gRPC Protobuf Loader - -A utility package for loading `.proto` files for use with gRPC, using the latest Protobuf.js package. -Please refer to [protobuf.js' documentation](https://github.com/dcodeIO/protobuf.js/blob/master/README.md) -to understands its features and limitations. - -## Installation - -```sh -npm install @grpc/proto-loader -``` - -## Usage - -```js -const protoLoader = require('@grpc/proto-loader'); -const grpcLibrary = require('grpc'); -// OR -const grpcLibrary = require('@grpc/grpc-js'); - -protoLoader.load(protoFileName, options).then(packageDefinition => { - const packageObject = grpcLibrary.loadPackageDefinition(packageDefinition); -}); -// OR -const packageDefinition = protoLoader.loadSync(protoFileName, options); -const packageObject = grpcLibrary.loadPackageDefinition(packageDefinition); -``` - -The options parameter is an object that can have the following optional properties: - -| Field name | Valid values | Description -|------------|--------------|------------ -| `keepCase` | `true` or `false` | Preserve field names. The default is to change them to camel case. -| `longs` | `String` or `Number` | The type to use to represent `long` values. Defaults to a `Long` object type. -| `enums` | `String` | The type to use to represent `enum` values. Defaults to the numeric value. -| `bytes` | `Array` or `String` | The type to use to represent `bytes` values. Defaults to `Buffer`. -| `defaults` | `true` or `false` | Set default values on output objects. Defaults to `false`. -| `arrays` | `true` or `false` | Set empty arrays for missing array values even if `defaults` is `false` Defaults to `false`. -| `objects` | `true` or `false` | Set empty objects for missing object values even if `defaults` is `false` Defaults to `false`. -| `oneofs` | `true` or `false` | Set virtual oneof properties to the present field's name. Defaults to `false`. -| `json` | `true` or `false` | Represent `Infinity` and `NaN` as strings in `float` fields, and automatically decode `google.protobuf.Any` values. Defaults to `false` -| `includeDirs` | An array of strings | A list of search paths for imported `.proto` files. - -The following options object closely approximates the existing behavior of `grpc.load`: - -```js -const options = { - keepCase: true, - longs: String, - enums: String, - defaults: true, - oneofs: true -} -``` - -## Generating TypeScript types - -The `proto-loader-gen-types` script distributed with this package can be used to generate TypeScript type information for the objects loaded at runtime. More information about how to use it can be found in [the *@grpc/proto-loader TypeScript Type Generator CLI Tool* proposal document](https://github.com/grpc/proposal/blob/master/L70-node-proto-loader-type-generator.md). The arguments mostly match the `load` function's options; the full usage information is as follows: - -```console -proto-loader-gen-types.js [options] filenames... - -Options: - --help Show help [boolean] - --version Show version number [boolean] - --keepCase Preserve the case of field names - [boolean] [default: false] - --longs The type that should be used to output 64 bit - integer values. Can be String, Number - [string] [default: "Long"] - --enums The type that should be used to output enum fields. - Can be String [string] [default: "number"] - --bytes The type that should be used to output bytes - fields. Can be String, Array - [string] [default: "Buffer"] - --defaults Output default values for omitted fields - [boolean] [default: false] - --arrays Output default values for omitted repeated fields - even if --defaults is not set - [boolean] [default: false] - --objects Output default values for omitted message fields - even if --defaults is not set - [boolean] [default: false] - --oneofs Output virtual oneof fields set to the present - field's name [boolean] [default: false] - --json Represent Infinity and NaN as strings in float - fields. Also decode google.protobuf.Any - automatically [boolean] [default: false] - --includeComments Generate doc comments from comments in the original - files [boolean] [default: false] - -I, --includeDirs Directories to search for included files [array] - -O, --outDir Directory in which to output files - [string] [required] - --grpcLib The gRPC implementation library that these types - will be used with. If not provided, some types will - not be generated [string] - --inputTemplate Template for mapping input or "permissive" type - names [string] [default: "%s"] - --outputTemplate Template for mapping output or "restricted" type - names [string] [default: "%s__Output"] - --inputBranded Output property for branded type for "permissive" - types with fullName of the Message as its value - [boolean] [default: false] - --outputBranded Output property for branded type for "restricted" - types with fullName of the Message as its value - [boolean] [default: false] - --targetFileExtension File extension for generated files. - [string] [default: ".ts"] - --importFileExtension File extension for import specifiers in generated - code. [string] [default: ""] -``` - -### Example Usage - -Generate the types: - -```sh -$(npm bin)/proto-loader-gen-types --longs=String --enums=String --defaults --oneofs --grpcLib=@grpc/grpc-js --outDir=proto/ proto/*.proto -``` - -Consume the types: - -```ts -import * as grpc from '@grpc/grpc-js'; -import * as protoLoader from '@grpc/proto-loader'; -import type { ProtoGrpcType } from './proto/example.ts'; -import type { ExampleHandlers } from './proto/example_package/Example.ts'; - -const exampleServer: ExampleHandlers = { - // server handlers implementation... -}; - -const packageDefinition = protoLoader.loadSync('./proto/example.proto'); -const proto = (grpc.loadPackageDefinition( - packageDefinition -) as unknown) as ProtoGrpcType; - -const server = new grpc.Server(); -server.addService(proto.example_package.Example.service, exampleServer); -``` |
