Skip to content

Commit 5606cb1

Browse files
committed
Refactoring; Removed the need for triple-slash references in .d.ts by providing a minimal Long interface, see #527, see #530
1 parent 228a202 commit 5606cb1

12 files changed

+54
-31
lines changed

.zuul.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ browsers:
1717
- name: iphone
1818
version: [8.1, 9.0, latest]
1919
scripts:
20-
- scripts/polyfill.js
20+
- lib/polyfill.js
2121
- node_modules/long/dist/long.js
2222
tunnel:
2323
type: ngrok

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -185,7 +185,7 @@ message HelloReply {
185185
```js
186186
...
187187
var Greeter = root.lookup("Greeter");
188-
var greeter = Greeter.create(rpcImpl);
188+
var greeter = Greeter.create(rpcImpl, false, false); // rpcImpl (see below), requestDelimited?, responseDelimited?
189189

190190
greeter.sayHello({ name: 'you' }, function(err, response) {
191191
console.log('Greeting:', response.message);

dist/protobuf.js

+15-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/protobuf.js.map

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/protobuf.min.js

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/protobuf.min.js.gz

-1 Bytes
Binary file not shown.

dist/protobuf.min.js.map

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
File renamed without changes.

runtime.js

+6-16
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,6 @@
1-
"use strict";
2-
3-
/**
4-
* Minimal static codegen runtime.
5-
* @namespace
6-
*/
7-
var runtime = exports;
8-
9-
/** @alias Reader */
10-
runtime.Reader = require("./src/reader");
11-
12-
/** @alias Writer */
13-
runtime.Writer = require("./src/writer");
14-
15-
/** @alias util */
16-
runtime.util = require("./src/util/runtime");
1+
// This file exports just the bare minimum required to work with statically generated code.
2+
// Can be used as a drop-in replacement for the full library as it has the same general structure.
3+
var protobuf_rt = exports;
4+
protobuf_rt.Reader = require("./src/reader");
5+
protobuf_rt.Writer = require("./src/writer");
6+
protobuf_rt.util = require("./src/util/runtime");

scripts/types.js

+2-3
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,8 @@ var fs = require("fs"),
44
var dir = path.join(__dirname, "..", "types");
55

66
var header = [
7-
'/// <reference types="node" />',
8-
'/// <reference types="long" />',
9-
"",
7+
// '/// <reference types="long" />',
8+
// "",
109
"/*",
1110
" * protobuf.js v" + pkg.version + " TypeScript definitions",
1211
" * Generated " + (new Date()).toUTCString().replace(/GMT/, "UTC"),

src/util/longbits.js

+9
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,15 @@ module.exports = LongBits;
44

55
var util = require("../util");
66

7+
/**
8+
* Any compatible Long instance.
9+
* @typedef Long
10+
* @type {Object}
11+
* @property {number} low Low bits
12+
* @property {number} high High bits
13+
* @property {boolean} unsigned Whether unsigned or not
14+
*/
15+
716
/**
817
* Constructs new long bits.
918
* @classdesc Helper class for working with the low and high bits of a 64 bit value.

types/protobuf.js.d.ts

+17-5
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,6 @@
1-
/// <reference types="node" />
2-
/// <reference types="long" />
3-
41
/*
52
* protobuf.js v6.1.0 TypeScript definitions
6-
* Generated Wed, 07 Dec 2016 22:34:16 UTC
3+
* Generated Thu, 08 Dec 2016 13:22:46 UTC
74
*/
85
declare module "protobufjs" {
96

@@ -826,7 +823,7 @@ declare module "protobufjs" {
826823

827824
/**
828825
* Field names that belong to this oneof.
829-
* @type {Array.<string>}
826+
* @type {string[]}
830827
*/
831828
oneof: string[];
832829

@@ -1497,6 +1494,21 @@ declare module "protobufjs" {
14971494

14981495
}
14991496

1497+
/**
1498+
* Any compatible Long instance.
1499+
* @typedef Long
1500+
* @type {Object}
1501+
* @property {number} low Low bits
1502+
* @property {number} high High bits
1503+
* @property {boolean} unsigned Whether unsigned or not
1504+
*/
1505+
interface Long {
1506+
low: number;
1507+
high: number;
1508+
unsigned: boolean;
1509+
}
1510+
1511+
15001512
/**
15011513
* Utility functions.
15021514
* @namespace

0 commit comments

Comments
 (0)