# Copyright 2021 The Pigweed Authors # # Licensed under the Apache License, Version 2.0 (the "License"); you may not # use this file except in compliance with the License. You may obtain a copy of # the License at # # https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations under # the License. load("@build_bazel_rules_nodejs//:index.bzl", "js_library") load("@npm//@bazel/typescript:index.bzl", "ts_library", "ts_project") load("@npm//@bazel/jasmine:index.bzl", "jasmine_node_test") load("@rules_proto_grpc//js:defs.bzl", "js_proto_library") load("//pw_protobuf_compiler/ts:ts_proto_collection.bzl", "ts_proto_collection") package(default_visibility = ["//visibility:public"]) ts_project( name = "lib", srcs = [ "call.ts", "client.ts", "descriptors.ts", "hash.ts", "index.ts", "method.ts", "packets.ts", "rpc_classes.ts", ], declaration = True, source_map = True, deps = [ ":packet_proto_tspb", "//pw_protobuf_compiler/ts:pw_protobuf_compiler", "//pw_status/ts:pw_status", "@npm//@types/google-protobuf", "@npm//wait-queue", ], ) js_library( name = "pw_rpc", package_name = "@pigweed/pw_rpc", srcs = ["package.json"], deps = [":lib"], ) ts_proto_collection( name = "rpc_proto_collection", js_proto_library = "@pigweed//pw_rpc/ts:test_protos_tspb", proto_library = "@pigweed//pw_rpc/ts:test_protos", ) ts_library( name = "rpc_test_lib", srcs = [ "call_test.ts", "client_test.ts", "descriptors_test.ts", "packets_test.ts", ], data = [ ":test_protos", ], deps = [ ":lib", ":packet_proto_tspb", ":rpc_proto_collection", ":test_protos_tspb", "//pw_protobuf_compiler/ts:pw_protobuf_compiler", "//pw_status/ts:pw_status", "@npm//@types/google-protobuf", "@npm//@types/jasmine", "@npm//@types/node", ], ) jasmine_node_test( name = "rpc_test", srcs = [ ":rpc_test_lib", ], ) proto_library( name = "test_protos", srcs = [ "test.proto", "test2.proto", ], ) js_proto_library( name = "test_protos_tspb", protos = [":test_protos"], ) js_proto_library( name = "packet_proto_tspb", protos = ["//pw_rpc:internal_packet_proto"], )