livekit-server-sdk 0.5.9 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintrc.js +1 -1
- package/.github/workflows/test.yaml +3 -0
- package/.prettierignore +7 -0
- package/README.md +8 -8
- package/dist/AccessToken.js +1 -1
- package/dist/AccessToken.js.map +1 -1
- package/dist/EgressClient.d.ts +60 -0
- package/dist/EgressClient.js +183 -0
- package/dist/EgressClient.js.map +1 -0
- package/dist/RecordingServiceClient.js +5 -1
- package/dist/RecordingServiceClient.js.map +1 -1
- package/dist/RoomServiceClient.d.ts +1 -2
- package/dist/RoomServiceClient.js.map +1 -1
- package/dist/TwirpRPC.js.map +1 -1
- package/dist/WebhookReceiver.test.js.map +1 -1
- package/dist/index.d.ts +4 -2
- package/dist/index.js +12 -2
- package/dist/index.js.map +1 -1
- package/dist/proto/google/protobuf/empty.d.ts +6 -2
- package/dist/proto/google/protobuf/empty.js +32 -12
- package/dist/proto/google/protobuf/empty.js.map +1 -1
- package/dist/proto/google/protobuf/timestamp.d.ts +132 -0
- package/dist/proto/google/protobuf/timestamp.js +107 -0
- package/dist/proto/google/protobuf/timestamp.js.map +1 -0
- package/dist/proto/livekit_egress.d.ts +3146 -0
- package/dist/proto/livekit_egress.js +2102 -0
- package/dist/proto/livekit_egress.js.map +1 -0
- package/dist/proto/livekit_models.d.ts +971 -13
- package/dist/proto/livekit_models.js +1538 -801
- package/dist/proto/livekit_models.js.map +1 -1
- package/dist/proto/livekit_recording.d.ts +199 -17
- package/dist/proto/livekit_recording.js +284 -570
- package/dist/proto/livekit_recording.js.map +1 -1
- package/dist/proto/livekit_room.d.ts +800 -34
- package/dist/proto/livekit_room.js +302 -671
- package/dist/proto/livekit_room.js.map +1 -1
- package/dist/proto/livekit_webhook.d.ts +1512 -6
- package/dist/proto/livekit_webhook.js +106 -95
- package/dist/proto/livekit_webhook.js.map +1 -1
- package/package.json +12 -7
package/.eslintrc.js
CHANGED
package/.prettierignore
ADDED
package/README.md
CHANGED
|
@@ -98,16 +98,16 @@ const opts = {
|
|
|
98
98
|
name: 'myroom',
|
|
99
99
|
// timeout in seconds
|
|
100
100
|
emptyTimeout: 10 * 60,
|
|
101
|
-
maxParticipants: 20
|
|
102
|
-
}
|
|
101
|
+
maxParticipants: 20,
|
|
102
|
+
};
|
|
103
103
|
svc.createRoom(opts).then((room: Room) => {
|
|
104
|
-
console.log('room created', room)
|
|
105
|
-
})
|
|
104
|
+
console.log('room created', room);
|
|
105
|
+
});
|
|
106
106
|
|
|
107
107
|
// delete a room
|
|
108
108
|
svc.deleteRoom('myroom').then(() => {
|
|
109
|
-
console.log('room deleted')
|
|
110
|
-
})
|
|
109
|
+
console.log('room deleted');
|
|
110
|
+
});
|
|
111
111
|
```
|
|
112
112
|
|
|
113
113
|
## Webhooks
|
|
@@ -125,6 +125,6 @@ const receiver = new WebhookReceiver('apikey', 'apisecret');
|
|
|
125
125
|
|
|
126
126
|
app.post('/webhook-endpoint', (req, res) => {
|
|
127
127
|
// event is a WebhookEvent object
|
|
128
|
-
const event = receiver.receive(req.body, req.get('Authorization'))
|
|
129
|
-
})
|
|
128
|
+
const event = receiver.receive(req.body, req.get('Authorization'));
|
|
129
|
+
});
|
|
130
130
|
```
|
package/dist/AccessToken.js
CHANGED
|
@@ -22,7 +22,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
22
22
|
exports.TokenVerifier = exports.AccessToken = void 0;
|
|
23
23
|
const jwt = __importStar(require("jsonwebtoken"));
|
|
24
24
|
// 6 hours
|
|
25
|
-
const defaultTTL =
|
|
25
|
+
const defaultTTL = 6 * 60 * 60;
|
|
26
26
|
class AccessToken {
|
|
27
27
|
/**
|
|
28
28
|
* Creates a new AccessToken
|
package/dist/AccessToken.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccessToken.js","sourceRoot":"","sources":["../src/AccessToken.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,kDAAoC;AAGpC,UAAU;AACV,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;AA0B/B,MAAa,WAAW;IAWtB;;;;OAIG;IACH,
|
|
1
|
+
{"version":3,"file":"AccessToken.js","sourceRoot":"","sources":["../src/AccessToken.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { DirectFileOutput, EgressInfo, EncodedFileOutput, EncodingOptions, EncodingOptionsPreset, StreamOutput } from './proto/livekit_egress';
|
|
2
|
+
/**
|
|
3
|
+
* Client to access Egress APIs
|
|
4
|
+
*/
|
|
5
|
+
export default class EgressClient {
|
|
6
|
+
private readonly rpc;
|
|
7
|
+
private readonly apiKey?;
|
|
8
|
+
private readonly secret?;
|
|
9
|
+
/**
|
|
10
|
+
* @param host hostname including protocol. i.e. 'https://cluster.livekit.io'
|
|
11
|
+
* @param apiKey API Key, can be set in env var LIVEKIT_API_KEY
|
|
12
|
+
* @param secret API Secret, can be set in env var LIVEKIT_API_SECRET
|
|
13
|
+
*/
|
|
14
|
+
constructor(host: string, apiKey?: string, secret?: string);
|
|
15
|
+
/**
|
|
16
|
+
* @param roomName room name
|
|
17
|
+
* @param output file or stream output
|
|
18
|
+
* @param layout egress layout
|
|
19
|
+
* @param options encoding options or preset
|
|
20
|
+
* @param audioOnly record audio only
|
|
21
|
+
* @param videoOnly record video only
|
|
22
|
+
* @param customBaseUrl custom template url
|
|
23
|
+
*/
|
|
24
|
+
startRoomCompositeEgress(roomName: string, output: EncodedFileOutput | StreamOutput, layout?: string, options?: EncodingOptionsPreset | EncodingOptions, audioOnly?: boolean, videoOnly?: boolean, customBaseUrl?: string): Promise<EgressInfo>;
|
|
25
|
+
/**
|
|
26
|
+
* @param roomName room name
|
|
27
|
+
* @param output file or stream output
|
|
28
|
+
* @param audioTrackId audio track Id
|
|
29
|
+
* @param videoTrackId video track Id
|
|
30
|
+
* @param options encoding options or preset
|
|
31
|
+
*/
|
|
32
|
+
startTrackCompositeEgress(roomName: string, output: EncodedFileOutput | StreamOutput, audioTrackId?: string, videoTrackId?: string, options?: EncodingOptionsPreset | EncodingOptions): Promise<EgressInfo>;
|
|
33
|
+
private getOutputParams;
|
|
34
|
+
/**
|
|
35
|
+
* @param roomName room name
|
|
36
|
+
* @param output file or websocket output
|
|
37
|
+
* @param trackId track Id
|
|
38
|
+
*/
|
|
39
|
+
startTrackEgress(roomName: string, output: DirectFileOutput | string, trackId: string): Promise<EgressInfo>;
|
|
40
|
+
/**
|
|
41
|
+
* @param egressId
|
|
42
|
+
* @param layout
|
|
43
|
+
*/
|
|
44
|
+
updateLayout(egressId: string, layout: string): Promise<EgressInfo>;
|
|
45
|
+
/**
|
|
46
|
+
* @param egressId
|
|
47
|
+
* @param addOutputUrls
|
|
48
|
+
* @param removeOutputUrls
|
|
49
|
+
*/
|
|
50
|
+
updateStream(egressId: string, addOutputUrls?: string[], removeOutputUrls?: string[]): Promise<EgressInfo>;
|
|
51
|
+
/**
|
|
52
|
+
* @param roomName list egress for one room only
|
|
53
|
+
*/
|
|
54
|
+
listEgress(roomName?: string): Promise<Array<EgressInfo>>;
|
|
55
|
+
/**
|
|
56
|
+
* @param egressId
|
|
57
|
+
*/
|
|
58
|
+
stopEgress(egressId: string): Promise<EgressInfo>;
|
|
59
|
+
private authHeader;
|
|
60
|
+
}
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
const AccessToken_1 = require("./AccessToken");
|
|
13
|
+
const livekit_egress_1 = require("./proto/livekit_egress");
|
|
14
|
+
const TwirpRPC_1 = require("./TwirpRPC");
|
|
15
|
+
const svc = 'Egress';
|
|
16
|
+
/**
|
|
17
|
+
* Client to access Egress APIs
|
|
18
|
+
*/
|
|
19
|
+
class EgressClient {
|
|
20
|
+
/**
|
|
21
|
+
* @param host hostname including protocol. i.e. 'https://cluster.livekit.io'
|
|
22
|
+
* @param apiKey API Key, can be set in env var LIVEKIT_API_KEY
|
|
23
|
+
* @param secret API Secret, can be set in env var LIVEKIT_API_SECRET
|
|
24
|
+
*/
|
|
25
|
+
constructor(host, apiKey, secret) {
|
|
26
|
+
this.rpc = new TwirpRPC_1.TwirpRpc(host, TwirpRPC_1.livekitPackage);
|
|
27
|
+
this.apiKey = apiKey;
|
|
28
|
+
this.secret = secret;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* @param roomName room name
|
|
32
|
+
* @param output file or stream output
|
|
33
|
+
* @param layout egress layout
|
|
34
|
+
* @param options encoding options or preset
|
|
35
|
+
* @param audioOnly record audio only
|
|
36
|
+
* @param videoOnly record video only
|
|
37
|
+
* @param customBaseUrl custom template url
|
|
38
|
+
*/
|
|
39
|
+
startRoomCompositeEgress(roomName, output, layout, options, audioOnly, videoOnly, customBaseUrl) {
|
|
40
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
41
|
+
layout !== null && layout !== void 0 ? layout : (layout = '');
|
|
42
|
+
audioOnly !== null && audioOnly !== void 0 ? audioOnly : (audioOnly = false);
|
|
43
|
+
videoOnly !== null && videoOnly !== void 0 ? videoOnly : (videoOnly = false);
|
|
44
|
+
customBaseUrl !== null && customBaseUrl !== void 0 ? customBaseUrl : (customBaseUrl = '');
|
|
45
|
+
const { file, stream, preset, advanced } = this.getOutputParams(output, options);
|
|
46
|
+
const req = livekit_egress_1.RoomCompositeEgressRequest.toJSON({
|
|
47
|
+
roomName,
|
|
48
|
+
layout,
|
|
49
|
+
audioOnly,
|
|
50
|
+
videoOnly,
|
|
51
|
+
customBaseUrl,
|
|
52
|
+
file,
|
|
53
|
+
stream,
|
|
54
|
+
preset,
|
|
55
|
+
advanced,
|
|
56
|
+
});
|
|
57
|
+
const data = yield this.rpc.request(svc, 'StartRoomCompositeEgress', req, this.authHeader({ roomRecord: true }));
|
|
58
|
+
return livekit_egress_1.EgressInfo.fromJSON(data);
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* @param roomName room name
|
|
63
|
+
* @param output file or stream output
|
|
64
|
+
* @param audioTrackId audio track Id
|
|
65
|
+
* @param videoTrackId video track Id
|
|
66
|
+
* @param options encoding options or preset
|
|
67
|
+
*/
|
|
68
|
+
startTrackCompositeEgress(roomName, output, audioTrackId, videoTrackId, options) {
|
|
69
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
70
|
+
audioTrackId !== null && audioTrackId !== void 0 ? audioTrackId : (audioTrackId = '');
|
|
71
|
+
videoTrackId !== null && videoTrackId !== void 0 ? videoTrackId : (videoTrackId = '');
|
|
72
|
+
const { file, stream, preset, advanced } = this.getOutputParams(output, options);
|
|
73
|
+
const req = livekit_egress_1.TrackCompositeEgressRequest.toJSON({
|
|
74
|
+
roomName,
|
|
75
|
+
audioTrackId,
|
|
76
|
+
videoTrackId,
|
|
77
|
+
file,
|
|
78
|
+
stream,
|
|
79
|
+
preset,
|
|
80
|
+
advanced,
|
|
81
|
+
});
|
|
82
|
+
const data = yield this.rpc.request(svc, 'StartTrackCompositeEgress', req, this.authHeader({ roomRecord: true }));
|
|
83
|
+
return livekit_egress_1.EgressInfo.fromJSON(data);
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
getOutputParams(output, options) {
|
|
87
|
+
let file;
|
|
88
|
+
let stream;
|
|
89
|
+
let preset;
|
|
90
|
+
let advanced;
|
|
91
|
+
if (output.filepath !== undefined) {
|
|
92
|
+
file = output;
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
stream = output;
|
|
96
|
+
}
|
|
97
|
+
if (options) {
|
|
98
|
+
if (typeof options === 'number') {
|
|
99
|
+
preset = options;
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
advanced = options;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
return { file, stream, preset, advanced };
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* @param roomName room name
|
|
109
|
+
* @param output file or websocket output
|
|
110
|
+
* @param trackId track Id
|
|
111
|
+
*/
|
|
112
|
+
startTrackEgress(roomName, output, trackId) {
|
|
113
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
114
|
+
let file;
|
|
115
|
+
let websocketUrl;
|
|
116
|
+
if (output.filepath !== undefined) {
|
|
117
|
+
file = output;
|
|
118
|
+
}
|
|
119
|
+
else {
|
|
120
|
+
websocketUrl = output;
|
|
121
|
+
}
|
|
122
|
+
const req = livekit_egress_1.TrackEgressRequest.toJSON({
|
|
123
|
+
roomName,
|
|
124
|
+
trackId,
|
|
125
|
+
file,
|
|
126
|
+
websocketUrl,
|
|
127
|
+
});
|
|
128
|
+
const data = yield this.rpc.request(svc, 'StartTrackEgress', req, this.authHeader({ roomRecord: true }));
|
|
129
|
+
return livekit_egress_1.EgressInfo.fromJSON(data);
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* @param egressId
|
|
134
|
+
* @param layout
|
|
135
|
+
*/
|
|
136
|
+
updateLayout(egressId, layout) {
|
|
137
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
138
|
+
const data = yield this.rpc.request(svc, 'UpdateLayout', livekit_egress_1.UpdateLayoutRequest.toJSON({ egressId, layout }), this.authHeader({ roomRecord: true }));
|
|
139
|
+
return livekit_egress_1.EgressInfo.fromJSON(data);
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* @param egressId
|
|
144
|
+
* @param addOutputUrls
|
|
145
|
+
* @param removeOutputUrls
|
|
146
|
+
*/
|
|
147
|
+
updateStream(egressId, addOutputUrls, removeOutputUrls) {
|
|
148
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
149
|
+
addOutputUrls !== null && addOutputUrls !== void 0 ? addOutputUrls : (addOutputUrls = []);
|
|
150
|
+
removeOutputUrls !== null && removeOutputUrls !== void 0 ? removeOutputUrls : (removeOutputUrls = []);
|
|
151
|
+
const data = yield this.rpc.request(svc, 'UpdateStream', livekit_egress_1.UpdateStreamRequest.toJSON({ egressId, addOutputUrls, removeOutputUrls }), this.authHeader({ roomRecord: true }));
|
|
152
|
+
return livekit_egress_1.EgressInfo.fromJSON(data);
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* @param roomName list egress for one room only
|
|
157
|
+
*/
|
|
158
|
+
listEgress(roomName) {
|
|
159
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
160
|
+
roomName !== null && roomName !== void 0 ? roomName : (roomName = '');
|
|
161
|
+
const data = yield this.rpc.request(svc, 'ListEgress', livekit_egress_1.ListEgressRequest.toJSON({ roomName }), this.authHeader({ roomRecord: true }));
|
|
162
|
+
return livekit_egress_1.ListEgressResponse.fromJSON(data).items;
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* @param egressId
|
|
167
|
+
*/
|
|
168
|
+
stopEgress(egressId) {
|
|
169
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
170
|
+
const data = yield this.rpc.request(svc, 'StopEgress', livekit_egress_1.StopEgressRequest.toJSON({ egressId }), this.authHeader({ roomRecord: true }));
|
|
171
|
+
return livekit_egress_1.EgressInfo.fromJSON(data);
|
|
172
|
+
});
|
|
173
|
+
}
|
|
174
|
+
authHeader(grant) {
|
|
175
|
+
const at = new AccessToken_1.AccessToken(this.apiKey, this.secret, { ttl: '10m' });
|
|
176
|
+
at.addGrant(grant);
|
|
177
|
+
return {
|
|
178
|
+
Authorization: `Bearer ${at.toJwt()}`,
|
|
179
|
+
};
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
exports.default = EgressClient;
|
|
183
|
+
//# sourceMappingURL=EgressClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EgressClient.js","sourceRoot":"","sources":["../src/EgressClient.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,+CAA4C;AAE5C,2DAegC;AAChC,yCAA2D;AAE3D,MAAM,GAAG,GAAG,QAAQ,CAAC;AAErB;;GAEG;AACH,MAAqB,YAAY;IAO/B;;;;OAIG;IACH,YAAY,IAAY,EAAE,MAAe,EAAE,MAAe;QACxD,IAAI,CAAC,GAAG,GAAG,IAAI,mBAAQ,CAAC,IAAI,EAAE,yBAAc,CAAC,CAAC;QAC9C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED;;;;;;;;OAQG;IACG,wBAAwB,CAC5B,QAAgB,EAChB,MAAwC,EACxC,MAAe,EACf,OAAiD,EACjD,SAAmB,EACnB,SAAmB,EACnB,aAAsB;;YAEtB,MAAM,aAAN,MAAM,cAAN,MAAM,IAAN,MAAM,GAAK,EAAE,EAAC;YACd,SAAS,aAAT,SAAS,cAAT,SAAS,IAAT,SAAS,GAAK,KAAK,EAAC;YACpB,SAAS,aAAT,SAAS,cAAT,SAAS,IAAT,SAAS,GAAK,KAAK,EAAC;YACpB,aAAa,aAAb,aAAa,cAAb,aAAa,IAAb,aAAa,GAAK,EAAE,EAAC;YAErB,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACjF,MAAM,GAAG,GAAG,2CAA0B,CAAC,MAAM,CAAC;gBAC5C,QAAQ;gBACR,MAAM;gBACN,SAAS;gBACT,SAAS;gBACT,aAAa;gBACb,IAAI;gBACJ,MAAM;gBACN,MAAM;gBACN,QAAQ;aACT,CAAC,CAAC;YAEH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CACjC,GAAG,EACH,0BAA0B,EAC1B,GAAG,EACH,IAAI,CAAC,UAAU,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CACtC,CAAC;YACF,OAAO,2BAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC;KAAA;IAED;;;;;;OAMG;IACG,yBAAyB,CAC7B,QAAgB,EAChB,MAAwC,EACxC,YAAqB,EACrB,YAAqB,EACrB,OAAiD;;YAEjD,YAAY,aAAZ,YAAY,cAAZ,YAAY,IAAZ,YAAY,GAAK,EAAE,EAAC;YACpB,YAAY,aAAZ,YAAY,cAAZ,YAAY,IAAZ,YAAY,GAAK,EAAE,EAAC;YAEpB,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACjF,MAAM,GAAG,GAAG,4CAA2B,CAAC,MAAM,CAAC;gBAC7C,QAAQ;gBACR,YAAY;gBACZ,YAAY;gBACZ,IAAI;gBACJ,MAAM;gBACN,MAAM;gBACN,QAAQ;aACT,CAAC,CAAC;YAEH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CACjC,GAAG,EACH,2BAA2B,EAC3B,GAAG,EACH,IAAI,CAAC,UAAU,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CACtC,CAAC;YACF,OAAO,2BAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC;KAAA;IAEO,eAAe,CACrB,MAAwC,EACxC,OAAiD;QAEjD,IAAI,IAAmC,CAAC;QACxC,IAAI,MAAgC,CAAC;QACrC,IAAI,MAAyC,CAAC;QAC9C,IAAI,QAAqC,CAAC;QAE1C,IAAwB,MAAO,CAAC,QAAQ,KAAK,SAAS,EAAE;YACtD,IAAI,GAAsB,MAAM,CAAC;SAClC;aAAM;YACL,MAAM,GAAiB,MAAM,CAAC;SAC/B;QAED,IAAI,OAAO,EAAE;YACX,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;gBAC/B,MAAM,GAA0B,OAAO,CAAC;aACzC;iBAAM;gBACL,QAAQ,GAAoB,OAAO,CAAC;aACrC;SACF;QAED,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;IAC5C,CAAC;IAED;;;;OAIG;IACG,gBAAgB,CACpB,QAAgB,EAChB,MAAiC,EACjC,OAAe;;YAEf,IAAI,IAAkC,CAAC;YACvC,IAAI,YAAgC,CAAC;YAErC,IAAuB,MAAO,CAAC,QAAQ,KAAK,SAAS,EAAE;gBACrD,IAAI,GAAqB,MAAM,CAAC;aACjC;iBAAM;gBACL,YAAY,GAAW,MAAM,CAAC;aAC/B;YAED,MAAM,GAAG,GAAG,mCAAkB,CAAC,MAAM,CAAC;gBACpC,QAAQ;gBACR,OAAO;gBACP,IAAI;gBACJ,YAAY;aACb,CAAC,CAAC;YAEH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CACjC,GAAG,EACH,kBAAkB,EAClB,GAAG,EACH,IAAI,CAAC,UAAU,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CACtC,CAAC;YACF,OAAO,2BAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC;KAAA;IAED;;;OAGG;IACG,YAAY,CAAC,QAAgB,EAAE,MAAc;;YACjD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CACjC,GAAG,EACH,cAAc,EACd,oCAAmB,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,EAChD,IAAI,CAAC,UAAU,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CACtC,CAAC;YACF,OAAO,2BAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC;KAAA;IAED;;;;OAIG;IACG,YAAY,CAChB,QAAgB,EAChB,aAAwB,EACxB,gBAA2B;;YAE3B,aAAa,aAAb,aAAa,cAAb,aAAa,IAAb,aAAa,GAAK,EAAE,EAAC;YACrB,gBAAgB,aAAhB,gBAAgB,cAAhB,gBAAgB,IAAhB,gBAAgB,GAAK,EAAE,EAAC;YAExB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CACjC,GAAG,EACH,cAAc,EACd,oCAAmB,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,gBAAgB,EAAE,CAAC,EACzE,IAAI,CAAC,UAAU,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CACtC,CAAC;YACF,OAAO,2BAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC;KAAA;IAED;;OAEG;IACG,UAAU,CAAC,QAAiB;;YAChC,QAAQ,aAAR,QAAQ,cAAR,QAAQ,IAAR,QAAQ,GAAK,EAAE,EAAC;YAEhB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CACjC,GAAG,EACH,YAAY,EACZ,kCAAiB,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC,EACtC,IAAI,CAAC,UAAU,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CACtC,CAAC;YACF,OAAO,mCAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC;QACjD,CAAC;KAAA;IAED;;OAEG;IACG,UAAU,CAAC,QAAgB;;YAC/B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CACjC,GAAG,EACH,YAAY,EACZ,kCAAiB,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC,EACtC,IAAI,CAAC,UAAU,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CACtC,CAAC;YACF,OAAO,2BAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC;KAAA;IAEO,UAAU,CAAC,KAAiB;QAClC,MAAM,EAAE,GAAG,IAAI,yBAAW,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;QACrE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACnB,OAAO;YACL,aAAa,EAAE,UAAU,EAAE,CAAC,KAAK,EAAE,EAAE;SACtC,CAAC;IACJ,CAAC;CACF;AAxOD,+BAwOC"}
|
|
@@ -51,7 +51,11 @@ class RecordingServiceClient {
|
|
|
51
51
|
rtmp = output;
|
|
52
52
|
}
|
|
53
53
|
const req = livekit_recording_1.StartRecordingRequest.toJSON({
|
|
54
|
-
url,
|
|
54
|
+
url,
|
|
55
|
+
template,
|
|
56
|
+
rtmp,
|
|
57
|
+
filepath,
|
|
58
|
+
options,
|
|
55
59
|
});
|
|
56
60
|
const data = yield this.rpc.request(svc, 'StartRecording', req, this.authHeader({ roomRecord: true }));
|
|
57
61
|
return livekit_recording_1.StartRecordingResponse.fromJSON(data).recordingId;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RecordingServiceClient.js","sourceRoot":"","sources":["../src/RecordingServiceClient.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,+CAA4C;AAE5C,
|
|
1
|
+
{"version":3,"file":"RecordingServiceClient.js","sourceRoot":"","sources":["../src/RecordingServiceClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { DataPacket_Kind, ParticipantInfo, Room, TrackInfo } from './proto/livekit_models';
|
|
2
|
-
import { ParticipantPermission } from './proto/livekit_room';
|
|
1
|
+
import { DataPacket_Kind, ParticipantInfo, ParticipantPermission, Room, TrackInfo } from './proto/livekit_models';
|
|
3
2
|
/**
|
|
4
3
|
* Options for when creating a room
|
|
5
4
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RoomServiceClient.js","sourceRoot":"","sources":["../src/RoomServiceClient.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+CAA4C;AAE5C,
|
|
1
|
+
{"version":3,"file":"RoomServiceClient.js","sourceRoot":"","sources":["../src/RoomServiceClient.ts"],"names":[],"mappings":"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"}
|
package/dist/TwirpRPC.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TwirpRPC.js","sourceRoot":"","sources":["../src/TwirpRPC.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA6C;AAC7C,oEAA2C;AAE3C,8CAA8C;AAE9C,MAAM,aAAa,GAAG,QAAQ,CAAC;AAElB,QAAA,cAAc,GAAG,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"TwirpRPC.js","sourceRoot":"","sources":["../src/TwirpRPC.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA6C;AAC7C,oEAA2C;AAE3C,8CAA8C;AAE9C,MAAM,aAAa,GAAG,QAAQ,CAAC;AAElB,QAAA,cAAc,GAAG,SAAS,CAAC;AAKxC;;GAEG;AACH,MAAa,QAAQ;IASnB,YAAY,IAAY,EAAE,GAAW,EAAE,MAAe;QACpD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,aAAa,CAAC;QACtC,IAAI,CAAC,QAAQ,GAAG,eAAK,CAAC,MAAM,CAAC;YAC3B,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;IACL,CAAC;IAED,OAAO,CAAC,OAAe,EAAE,MAAc,EAAE,IAAS,EAAE,OAAa;QAC/D,OAAO,IAAI,OAAO,CAAM,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC1C,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,GAAG,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;YAC/D,IAAI,CAAC,QAAQ;iBACV,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC;iBAC7B,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;gBACZ,OAAO,CAAC,wBAAa,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YACnD,CAAC,CAAC;iBACD,KAAK,CAAC,MAAM,CAAC,CAAC;QACnB,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AA7BD,4BA6BC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebhookReceiver.test.js","sourceRoot":"","sources":["../src/WebhookReceiver.test.ts"],"names":[],"mappings":";;AAAA,+CAA4C;AAC5C,6DAAuD;AACvD,uDAAoD;AAEpD,MAAM,UAAU,GAAG,SAAS,CAAC;AAC7B,MAAM,UAAU,GAAG,SAAS,CAAC;AAE7B,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,MAAM,IAAI,
|
|
1
|
+
{"version":3,"file":"WebhookReceiver.test.js","sourceRoot":"","sources":["../src/WebhookReceiver.test.ts"],"names":[],"mappings":";;AAAA,+CAA4C;AAC5C,6DAAuD;AACvD,uDAAoD;AAEpD,MAAM,UAAU,GAAG,SAAS,CAAC;AAC7B,MAAM,UAAU,GAAG,SAAS,CAAC;AAE7B,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,MAAM,IAAI,GACR,+PAA+P,CAAC;IAClQ,MAAM,GAAG,GAAG,8CAA8C,CAAC;IAC3D,MAAM,CAAC,GAAG,IAAI,yBAAW,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAClD,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC;IACf,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;IACxB,MAAM,QAAQ,GAAG,IAAI,iCAAe,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAE7D,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;;QAChD,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC5C,MAAM,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,CAAC;QAC3B,MAAM,CAAC,MAAA,KAAK,CAAC,IAAI,0CAAE,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC5C,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;;QACpD,MAAM,GAAG,GAAG;YACV,IAAI,EAAE,cAAc;YACpB,IAAI,EAAE;gBACJ,GAAG,EAAE,iBAAiB;gBACtB,IAAI,EAAE,YAAY;aACnB;YACD,KAAK,EAAE,OAAO;SACf,CAAC;QAEF,MAAM,KAAK,GAAG,8BAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACzC,MAAM,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,CAAC;QAC3B,MAAM,CAAC,MAAA,KAAK,CAAC,IAAI,0CAAE,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
export * from './AccessToken';
|
|
2
|
+
export { default as EgressClient } from './EgressClient';
|
|
2
3
|
export * from './grants';
|
|
3
|
-
export {
|
|
4
|
-
export {
|
|
4
|
+
export { DirectFileOutput, EgressInfo, EncodedFileOutput, EncodingOptions, EncodingOptionsPreset, StreamOutput, } from './proto/livekit_egress';
|
|
5
|
+
export { DataPacket_Kind, ParticipantInfo, ParticipantInfo_State, ParticipantPermission, Room, TrackInfo, TrackType, } from './proto/livekit_models';
|
|
6
|
+
export { default as RecordingServiceClient } from './RecordingServiceClient';
|
|
5
7
|
export * from './RoomServiceClient';
|
|
6
8
|
export * from './WebhookReceiver';
|
package/dist/index.js
CHANGED
|
@@ -13,18 +13,28 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
13
13
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
14
14
|
};
|
|
15
15
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
-
exports.
|
|
16
|
+
exports.RecordingServiceClient = exports.TrackType = exports.TrackInfo = exports.Room = exports.ParticipantPermission = exports.ParticipantInfo_State = exports.ParticipantInfo = exports.DataPacket_Kind = exports.StreamOutput = exports.EncodingOptionsPreset = exports.EncodingOptions = exports.EncodedFileOutput = exports.EgressInfo = exports.DirectFileOutput = exports.EgressClient = void 0;
|
|
17
17
|
__exportStar(require("./AccessToken"), exports);
|
|
18
|
+
var EgressClient_1 = require("./EgressClient");
|
|
19
|
+
Object.defineProperty(exports, "EgressClient", { enumerable: true, get: function () { return __importDefault(EgressClient_1).default; } });
|
|
18
20
|
__exportStar(require("./grants"), exports);
|
|
21
|
+
var livekit_egress_1 = require("./proto/livekit_egress");
|
|
22
|
+
Object.defineProperty(exports, "DirectFileOutput", { enumerable: true, get: function () { return livekit_egress_1.DirectFileOutput; } });
|
|
23
|
+
Object.defineProperty(exports, "EgressInfo", { enumerable: true, get: function () { return livekit_egress_1.EgressInfo; } });
|
|
24
|
+
Object.defineProperty(exports, "EncodedFileOutput", { enumerable: true, get: function () { return livekit_egress_1.EncodedFileOutput; } });
|
|
25
|
+
Object.defineProperty(exports, "EncodingOptions", { enumerable: true, get: function () { return livekit_egress_1.EncodingOptions; } });
|
|
26
|
+
Object.defineProperty(exports, "EncodingOptionsPreset", { enumerable: true, get: function () { return livekit_egress_1.EncodingOptionsPreset; } });
|
|
27
|
+
Object.defineProperty(exports, "StreamOutput", { enumerable: true, get: function () { return livekit_egress_1.StreamOutput; } });
|
|
19
28
|
var livekit_models_1 = require("./proto/livekit_models");
|
|
20
29
|
Object.defineProperty(exports, "DataPacket_Kind", { enumerable: true, get: function () { return livekit_models_1.DataPacket_Kind; } });
|
|
21
30
|
Object.defineProperty(exports, "ParticipantInfo", { enumerable: true, get: function () { return livekit_models_1.ParticipantInfo; } });
|
|
22
31
|
Object.defineProperty(exports, "ParticipantInfo_State", { enumerable: true, get: function () { return livekit_models_1.ParticipantInfo_State; } });
|
|
32
|
+
Object.defineProperty(exports, "ParticipantPermission", { enumerable: true, get: function () { return livekit_models_1.ParticipantPermission; } });
|
|
23
33
|
Object.defineProperty(exports, "Room", { enumerable: true, get: function () { return livekit_models_1.Room; } });
|
|
24
34
|
Object.defineProperty(exports, "TrackInfo", { enumerable: true, get: function () { return livekit_models_1.TrackInfo; } });
|
|
25
35
|
Object.defineProperty(exports, "TrackType", { enumerable: true, get: function () { return livekit_models_1.TrackType; } });
|
|
26
36
|
var RecordingServiceClient_1 = require("./RecordingServiceClient");
|
|
27
|
-
Object.defineProperty(exports, "
|
|
37
|
+
Object.defineProperty(exports, "RecordingServiceClient", { enumerable: true, get: function () { return __importDefault(RecordingServiceClient_1).default; } });
|
|
28
38
|
__exportStar(require("./RoomServiceClient"), exports);
|
|
29
39
|
__exportStar(require("./WebhookReceiver"), exports);
|
|
30
40
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,2CAAyB;AACzB,yDAOgC;AAN9B,iHAAA,eAAe,OAAA;AACf,iHAAA,eAAe,OAAA;AACf,uHAAA,qBAAqB,OAAA;AACrB,sGAAA,IAAI,OAAA;AACJ,2GAAA,SAAS,OAAA;AACT,2GAAA,SAAS,OAAA;AAEX,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,+CAAyD;AAAhD,6HAAA,OAAO,OAAgB;AAChC,2CAAyB;AACzB,yDAOgC;AAN9B,kHAAA,gBAAgB,OAAA;AAChB,4GAAA,UAAU,OAAA;AACV,mHAAA,iBAAiB,OAAA;AACjB,iHAAA,eAAe,OAAA;AACf,uHAAA,qBAAqB,OAAA;AACrB,8GAAA,YAAY,OAAA;AAEd,yDAQgC;AAP9B,iHAAA,eAAe,OAAA;AACf,iHAAA,eAAe,OAAA;AACf,uHAAA,qBAAqB,OAAA;AACrB,uHAAA,qBAAqB,OAAA;AACrB,sGAAA,IAAI,OAAA;AACJ,2GAAA,SAAS,OAAA;AACT,2GAAA,SAAS,OAAA;AAEX,mEAA6E;AAApE,iJAAA,OAAO,OAA0B;AAC1C,sDAAoC;AACpC,oDAAkC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import _m0 from
|
|
1
|
+
import * as _m0 from 'protobufjs/minimal';
|
|
2
2
|
export declare const protobufPackage = "google.protobuf";
|
|
3
3
|
/**
|
|
4
4
|
* A generic empty message that you can re-use to avoid defining duplicated
|
|
@@ -18,10 +18,14 @@ export declare const Empty: {
|
|
|
18
18
|
decode(input: _m0.Reader | Uint8Array, length?: number | undefined): Empty;
|
|
19
19
|
fromJSON(_: any): Empty;
|
|
20
20
|
toJSON(_: Empty): unknown;
|
|
21
|
-
fromPartial(_:
|
|
21
|
+
fromPartial<I extends {} & {} & Record<Exclude<keyof I, never>, never>>(_: I): Empty;
|
|
22
22
|
};
|
|
23
23
|
declare type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
|
|
24
24
|
export declare type DeepPartial<T> = T extends Builtin ? T : T extends Array<infer U> ? Array<DeepPartial<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>> : T extends {} ? {
|
|
25
25
|
[K in keyof T]?: DeepPartial<T[K]>;
|
|
26
26
|
} : Partial<T>;
|
|
27
|
+
declare type KeysOfUnion<T> = T extends T ? keyof T : never;
|
|
28
|
+
export declare type Exact<P, I extends P> = P extends Builtin ? P : P & {
|
|
29
|
+
[K in keyof P]: Exact<P[K], I[K]>;
|
|
30
|
+
} & Record<Exclude<keyof I, KeysOfUnion<P>>, never>;
|
|
27
31
|
export {};
|
|
@@ -1,4 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
+
}) : function(o, v) {
|
|
12
|
+
o["default"] = v;
|
|
13
|
+
});
|
|
14
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
+
if (mod && mod.__esModule) return mod;
|
|
16
|
+
var result = {};
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
+
__setModuleDefault(result, mod);
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
2
21
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
22
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
23
|
};
|
|
@@ -6,17 +25,19 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
25
|
exports.Empty = exports.protobufPackage = void 0;
|
|
7
26
|
/* eslint-disable */
|
|
8
27
|
const long_1 = __importDefault(require("long"));
|
|
9
|
-
const
|
|
10
|
-
exports.protobufPackage =
|
|
11
|
-
|
|
28
|
+
const _m0 = __importStar(require("protobufjs/minimal"));
|
|
29
|
+
exports.protobufPackage = 'google.protobuf';
|
|
30
|
+
function createBaseEmpty() {
|
|
31
|
+
return {};
|
|
32
|
+
}
|
|
12
33
|
exports.Empty = {
|
|
13
|
-
encode(_, writer =
|
|
34
|
+
encode(_, writer = _m0.Writer.create()) {
|
|
14
35
|
return writer;
|
|
15
36
|
},
|
|
16
37
|
decode(input, length) {
|
|
17
|
-
const reader = input instanceof
|
|
38
|
+
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
|
|
18
39
|
let end = length === undefined ? reader.len : reader.pos + length;
|
|
19
|
-
const message =
|
|
40
|
+
const message = createBaseEmpty();
|
|
20
41
|
while (reader.pos < end) {
|
|
21
42
|
const tag = reader.uint32();
|
|
22
43
|
switch (tag >>> 3) {
|
|
@@ -28,20 +49,19 @@ exports.Empty = {
|
|
|
28
49
|
return message;
|
|
29
50
|
},
|
|
30
51
|
fromJSON(_) {
|
|
31
|
-
|
|
32
|
-
return message;
|
|
52
|
+
return {};
|
|
33
53
|
},
|
|
34
54
|
toJSON(_) {
|
|
35
55
|
const obj = {};
|
|
36
56
|
return obj;
|
|
37
57
|
},
|
|
38
58
|
fromPartial(_) {
|
|
39
|
-
const message =
|
|
59
|
+
const message = createBaseEmpty();
|
|
40
60
|
return message;
|
|
41
61
|
},
|
|
42
62
|
};
|
|
43
|
-
if (
|
|
44
|
-
|
|
45
|
-
|
|
63
|
+
if (_m0.util.Long !== long_1.default) {
|
|
64
|
+
_m0.util.Long = long_1.default;
|
|
65
|
+
_m0.configure();
|
|
46
66
|
}
|
|
47
67
|
//# sourceMappingURL=empty.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"empty.js","sourceRoot":"","sources":["../../../../src/proto/google/protobuf/empty.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"empty.js","sourceRoot":"","sources":["../../../../src/proto/google/protobuf/empty.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oBAAoB;AACpB,gDAAwB;AACxB,wDAA0C;AAE7B,QAAA,eAAe,GAAG,iBAAiB,CAAC;AAejD,SAAS,eAAe;IACtB,OAAO,EAAE,CAAC;AACZ,CAAC;AAEY,QAAA,KAAK,GAAG;IACnB,MAAM,CAAC,CAAQ,EAAE,SAAqB,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;QACvD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAA8B,EAAE,MAAe;QACpD,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC;QAClE,MAAM,OAAO,GAAG,eAAe,EAAE,CAAC;QAClC,OAAO,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,QAAQ,GAAG,KAAK,CAAC,EAAE;gBACjB;oBACE,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBACzB,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,CAAM;QACb,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,CAAC,CAAQ;QACb,MAAM,GAAG,GAAQ,EAAE,CAAC;QACpB,OAAO,GAAG,CAAC;IACb,CAAC;IAED,WAAW,CAAyC,CAAI;QACtD,MAAM,OAAO,GAAG,eAAe,EAAE,CAAC;QAClC,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC;AAmBF,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,cAAI,EAAE;IAC1B,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,cAAW,CAAC;IAC5B,GAAG,CAAC,SAAS,EAAE,CAAC;CACjB"}
|