Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit9d1d514

Browse files
committed
init client analytics
1 parent5bf0b53 commit9d1d514

File tree

10 files changed

+819
-10
lines changed

10 files changed

+819
-10
lines changed

‎peer/package.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
}
2020
},
2121
"scripts": {
22-
"gen":"protoc --ts_out=. --experimental_allow_proto3_optional --ts_opt=client_generic --proto_path proto/v1 ./proto/v1/signaling.proto && node ./scripts/patch.cjs",
22+
"gen":"protoc --ts_out=src --experimental_allow_proto3_optional --ts_opt=client_generic --proto_path proto/v1 ./proto/v1/signaling.proto && node ./scripts/patch.cjs",
2323
"dev":"vite",
2424
"build":"tsup src/index.ts --format esm,cjs --dts --minify",
2525
"clean":"rm -rf dist",

‎peer/proto‎

Lines changed: 290 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,290 @@
1+
//@generated by protobuf-ts 2.9.4 with parameter client_generic
2+
//@generated from protobuf file "google/protobuf/timestamp.proto" (package "google.protobuf", syntax proto3)
3+
// tslint:disable
4+
//
5+
// Protocol Buffers - Google's data interchange format
6+
// Copyright 2008 Google Inc. All rights reserved.
7+
// https://developers.google.com/protocol-buffers/
8+
//
9+
// Redistribution and use in source and binary forms, with or without
10+
// modification, are permitted provided that the following conditions are
11+
// met:
12+
//
13+
// * Redistributions of source code must retain the above copyright
14+
// notice, this list of conditions and the following disclaimer.
15+
// * Redistributions in binary form must reproduce the above
16+
// copyright notice, this list of conditions and the following disclaimer
17+
// in the documentation and/or other materials provided with the
18+
// distribution.
19+
// * Neither the name of Google Inc. nor the names of its
20+
// contributors may be used to endorse or promote products derived from
21+
// this software without specific prior written permission.
22+
//
23+
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
24+
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
25+
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
26+
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
27+
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
28+
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
29+
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
30+
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
31+
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
32+
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
33+
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
34+
//
35+
importtype{BinaryWriteOptions}from"@protobuf-ts/runtime";
36+
importtype{IBinaryWriter}from"@protobuf-ts/runtime";
37+
import{WireType}from"@protobuf-ts/runtime";
38+
importtype{BinaryReadOptions}from"@protobuf-ts/runtime";
39+
importtype{IBinaryReader}from"@protobuf-ts/runtime";
40+
import{UnknownFieldHandler}from"@protobuf-ts/runtime";
41+
importtype{PartialMessage}from"@protobuf-ts/runtime";
42+
import{reflectionMergePartial}from"@protobuf-ts/runtime";
43+
import{typeofJsonValue}from"@protobuf-ts/runtime";
44+
importtype{JsonValue}from"@protobuf-ts/runtime";
45+
importtype{JsonReadOptions}from"@protobuf-ts/runtime";
46+
importtype{JsonWriteOptions}from"@protobuf-ts/runtime";
47+
import{PbLong}from"@protobuf-ts/runtime";
48+
import{MessageType}from"@protobuf-ts/runtime";
49+
/**
50+
* A Timestamp represents a point in time independent of any time zone or local
51+
* calendar, encoded as a count of seconds and fractions of seconds at
52+
* nanosecond resolution. The count is relative to an epoch at UTC midnight on
53+
* January 1, 1970, in the proleptic Gregorian calendar which extends the
54+
* Gregorian calendar backwards to year one.
55+
*
56+
* All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap
57+
* second table is needed for interpretation, using a [24-hour linear
58+
* smear](https://developers.google.com/time/smear).
59+
*
60+
* The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By
61+
* restricting to that range, we ensure that we can convert to and from [RFC
62+
* 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.
63+
*
64+
* # Examples
65+
*
66+
* Example 1: Compute Timestamp from POSIX `time()`.
67+
*
68+
* Timestamp timestamp;
69+
* timestamp.set_seconds(time(NULL));
70+
* timestamp.set_nanos(0);
71+
*
72+
* Example 2: Compute Timestamp from POSIX `gettimeofday()`.
73+
*
74+
* struct timeval tv;
75+
* gettimeofday(&tv, NULL);
76+
*
77+
* Timestamp timestamp;
78+
* timestamp.set_seconds(tv.tv_sec);
79+
* timestamp.set_nanos(tv.tv_usec * 1000);
80+
*
81+
* Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
82+
*
83+
* FILETIME ft;
84+
* GetSystemTimeAsFileTime(&ft);
85+
* UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
86+
*
87+
* // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z
88+
* // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.
89+
* Timestamp timestamp;
90+
* timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
91+
* timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
92+
*
93+
* Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
94+
*
95+
* long millis = System.currentTimeMillis();
96+
*
97+
* Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)
98+
* .setNanos((int) ((millis % 1000) * 1000000)).build();
99+
*
100+
*
101+
* Example 5: Compute Timestamp from Java `Instant.now()`.
102+
*
103+
* Instant now = Instant.now();
104+
*
105+
* Timestamp timestamp =
106+
* Timestamp.newBuilder().setSeconds(now.getEpochSecond())
107+
* .setNanos(now.getNano()).build();
108+
*
109+
*
110+
* Example 6: Compute Timestamp from current time in Python.
111+
*
112+
* timestamp = Timestamp()
113+
* timestamp.GetCurrentTime()
114+
*
115+
* # JSON Mapping
116+
*
117+
* In JSON format, the Timestamp type is encoded as a string in the
118+
* [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the
119+
* format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z"
120+
* where {year} is always expressed using four digits while {month}, {day},
121+
* {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional
122+
* seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),
123+
* are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone
124+
* is required. A proto3 JSON serializer should always use UTC (as indicated by
125+
* "Z") when printing the Timestamp type and a proto3 JSON parser should be
126+
* able to accept both UTC and other timezones (as indicated by an offset).
127+
*
128+
* For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past
129+
* 01:30 UTC on January 15, 2017.
130+
*
131+
* In JavaScript, one can convert a Date object to this format using the
132+
* standard
133+
* [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)
134+
* method. In Python, a standard `datetime.datetime` object can be converted
135+
* to this format using
136+
* [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with
137+
* the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use
138+
* the Joda Time's [`ISODateTimeFormat.dateTime()`](
139+
* http://www.joda.org/joda-time/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime%2D%2D
140+
* ) to obtain a formatter capable of generating timestamps in this format.
141+
*
142+
*
143+
*
144+
*@generated from protobuf message google.protobuf.Timestamp
145+
*/
146+
exportinterfaceTimestamp{
147+
/**
148+
* Represents seconds of UTC time since Unix epoch
149+
* 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to
150+
* 9999-12-31T23:59:59Z inclusive.
151+
*
152+
*@generated from protobuf field: int64 seconds = 1;
153+
*/
154+
seconds:bigint;
155+
/**
156+
* Non-negative fractions of a second at nanosecond resolution. Negative
157+
* second values with fractions must still have non-negative nanos values
158+
* that count forward in time. Must be from 0 to 999,999,999
159+
* inclusive.
160+
*
161+
*@generated from protobuf field: int32 nanos = 2;
162+
*/
163+
nanos:number;
164+
}
165+
//@generated message type with reflection information, may provide speed optimized methods
166+
classTimestamp$TypeextendsMessageType<Timestamp>{
167+
constructor(){
168+
super("google.protobuf.Timestamp",[
169+
{no:1,name:"seconds",kind:"scalar",T:3/*ScalarType.INT64*/,L:0/*LongType.BIGINT*/},
170+
{no:2,name:"nanos",kind:"scalar",T:5/*ScalarType.INT32*/}
171+
]);
172+
}
173+
/**
174+
* Creates a new `Timestamp` for the current time.
175+
*/
176+
now():Timestamp{
177+
constmsg=this.create();
178+
constms=Date.now();
179+
msg.seconds=PbLong.from(Math.floor(ms/1000)).toBigInt();
180+
msg.nanos=(ms%1000)*1000000;
181+
returnmsg;
182+
}
183+
/**
184+
* Converts a `Timestamp` to a JavaScript Date.
185+
*/
186+
toDate(message:Timestamp):Date{
187+
returnnewDate(PbLong.from(message.seconds).toNumber()*1000+Math.ceil(message.nanos/1000000));
188+
}
189+
/**
190+
* Converts a JavaScript Date to a `Timestamp`.
191+
*/
192+
fromDate(date:Date):Timestamp{
193+
constmsg=this.create();
194+
constms=date.getTime();
195+
msg.seconds=PbLong.from(Math.floor(ms/1000)).toBigInt();
196+
msg.nanos=(ms%1000)*1000000;
197+
returnmsg;
198+
}
199+
/**
200+
* In JSON format, the `Timestamp` type is encoded as a string
201+
* in the RFC 3339 format.
202+
*/
203+
internalJsonWrite(message:Timestamp,options:JsonWriteOptions):JsonValue{
204+
letms=PbLong.from(message.seconds).toNumber()*1000;
205+
if(ms<Date.parse("0001-01-01T00:00:00Z")||ms>Date.parse("9999-12-31T23:59:59Z"))
206+
thrownewError("Unable to encode Timestamp to JSON. Must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.");
207+
if(message.nanos<0)
208+
thrownewError("Unable to encode invalid Timestamp to JSON. Nanos must not be negative.");
209+
letz="Z";
210+
if(message.nanos>0){
211+
letnanosStr=(message.nanos+1000000000).toString().substring(1);
212+
if(nanosStr.substring(3)==="000000")
213+
z="."+nanosStr.substring(0,3)+"Z";
214+
elseif(nanosStr.substring(6)==="000")
215+
z="."+nanosStr.substring(0,6)+"Z";
216+
else
217+
z="."+nanosStr+"Z";
218+
}
219+
returnnewDate(ms).toISOString().replace(".000Z",z);
220+
}
221+
/**
222+
* In JSON format, the `Timestamp` type is encoded as a string
223+
* in the RFC 3339 format.
224+
*/
225+
internalJsonRead(json:JsonValue,options:JsonReadOptions,target?:Timestamp):Timestamp{
226+
if(typeofjson!=="string")
227+
thrownewError("Unable to parse Timestamp from JSON "+typeofJsonValue(json)+".");
228+
letmatches=json.match(/^([0-9]{4})-([0-9]{2})-([0-9]{2})T([0-9]{2}):([0-9]{2}):([0-9]{2})(?:Z|\.([0-9]{3,9})Z|([+-][0-9][0-9]:[0-9][0-9]))$/);
229+
if(!matches)
230+
thrownewError("Unable to parse Timestamp from JSON. Invalid format.");
231+
letms=Date.parse(matches[1]+"-"+matches[2]+"-"+matches[3]+"T"+matches[4]+":"+matches[5]+":"+matches[6]+(matches[8] ?matches[8] :"Z"));
232+
if(Number.isNaN(ms))
233+
thrownewError("Unable to parse Timestamp from JSON. Invalid value.");
234+
if(ms<Date.parse("0001-01-01T00:00:00Z")||ms>Date.parse("9999-12-31T23:59:59Z"))
235+
thrownewglobalThis.Error("Unable to parse Timestamp from JSON. Must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive.");
236+
if(!target)
237+
target=this.create();
238+
target.seconds=PbLong.from(ms/1000).toBigInt();
239+
target.nanos=0;
240+
if(matches[7])
241+
target.nanos=(parseInt("1"+matches[7]+"0".repeat(9-matches[7].length))-1000000000);
242+
returntarget;
243+
}
244+
create(value?:PartialMessage<Timestamp>):Timestamp{
245+
constmessage=globalThis.Object.create((this.messagePrototype!));
246+
message.seconds=0n;
247+
message.nanos=0;
248+
if(value!==undefined)
249+
reflectionMergePartial<Timestamp>(this,message,value);
250+
returnmessage;
251+
}
252+
internalBinaryRead(reader:IBinaryReader,length:number,options:BinaryReadOptions,target?:Timestamp):Timestamp{
253+
letmessage=target??this.create(),end=reader.pos+length;
254+
while(reader.pos<end){
255+
let[fieldNo,wireType]=reader.tag();
256+
switch(fieldNo){
257+
case/* int64 seconds */1:
258+
message.seconds=reader.int64().toBigInt();
259+
break;
260+
case/* int32 nanos */2:
261+
message.nanos=reader.int32();
262+
break;
263+
default:
264+
letu=options.readUnknownField;
265+
if(u==="throw")
266+
thrownewglobalThis.Error(`Unknown field${fieldNo} (wire type${wireType}) for${this.typeName}`);
267+
letd=reader.skip(wireType);
268+
if(u!==false)
269+
(u===true ?UnknownFieldHandler.onRead :u)(this.typeName,message,fieldNo,wireType,d);
270+
}
271+
}
272+
returnmessage;
273+
}
274+
internalBinaryWrite(message:Timestamp,writer:IBinaryWriter,options:BinaryWriteOptions):IBinaryWriter{
275+
/* int64 seconds = 1; */
276+
if(message.seconds!==0n)
277+
writer.tag(1,WireType.Varint).int64(message.seconds);
278+
/* int32 nanos = 2; */
279+
if(message.nanos!==0)
280+
writer.tag(2,WireType.Varint).int32(message.nanos);
281+
letu=options.writeUnknownFields;
282+
if(u!==false)
283+
(u==true ?UnknownFieldHandler.onWrite :u)(this.typeName,message,writer);
284+
returnwriter;
285+
}
286+
}
287+
/**
288+
*@generated MessageType for protobuf message google.protobuf.Timestamp
289+
*/
290+
exportconstTimestamp=newTimestamp$Type();

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp