ncloudchat 1.0.10 → 1.0.11
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/deploy.sh +20 -0
- package/esm/CloudChat.d.ts +8 -3
- package/esm/CloudChat.js +231 -83
- package/esm/CloudChat.js.map +1 -1
- package/esm/mutations/channel.d.ts +2 -1
- package/esm/mutations/channel.js +45 -5
- package/esm/mutations/channel.js.map +1 -1
- package/esm/mutations/subscription.d.ts +2 -2
- package/esm/mutations/subscription.js +78 -71
- package/esm/mutations/subscription.js.map +1 -1
- package/esm/queries/channel.js +2 -2
- package/esm/queries/channel.js.map +1 -1
- package/lib/CloudChat.js +316 -83
- package/lib/mutations/channel.js +56 -7
- package/lib/mutations/subscription.js +15 -6
- package/lib/queries/channel.js +2 -2
- package/package.json +3 -3
- package/.vscode/settings.json +0 -3
- package/coverage/clover.xml +0 -6
- package/coverage/coverage-final.json +0 -1
- package/coverage/lcov-report/base.css +0 -224
- package/coverage/lcov-report/block-navigation.js +0 -79
- package/coverage/lcov-report/favicon.png +0 -0
- package/coverage/lcov-report/index.html +0 -96
- package/coverage/lcov-report/prettify.css +0 -1
- package/coverage/lcov-report/prettify.js +0 -2
- package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
- package/coverage/lcov-report/sorter.js +0 -170
- package/coverage/lcov.info +0 -0
package/lib/mutations/channel.js
CHANGED
|
@@ -8,7 +8,7 @@ _Object$defineProperty(exports, "__esModule", {
|
|
|
8
8
|
value: true
|
|
9
9
|
});
|
|
10
10
|
|
|
11
|
-
exports.
|
|
11
|
+
exports.removeChannelMembers = exports.addChannelMembers = exports.deleteChannel = exports.updateChannel = exports.createChannel = void 0;
|
|
12
12
|
|
|
13
13
|
require("core-js/modules/es6.function.name");
|
|
14
14
|
|
|
@@ -175,7 +175,7 @@ var createChannel = function createChannel(channel) {
|
|
|
175
175
|
projectId = _CoreManager["default"].get("PROJECT_ID");
|
|
176
176
|
endpoint = _CoreManager["default"].get('SERVER_URL') + '/graphql';
|
|
177
177
|
if (!channel.members) channel.members = [];
|
|
178
|
-
query = "\n mutation (\n $projectId: String!, \n $name: String!, \n $type: String!,\n $uniqueId: String,\n $translation: Boolean,\n $push: Boolean,\n $linkUrl: String,\n $imageUrl: String,\n $id: String,\n $members: [String]\n ) {\n createChannel(\n input: { \n projectId: $projectId, \n name: $name, \n type: $type,\n id: $id,\n members: $members,\n uniqueId: $uniqueId,\n translation:$translation,\n push:$push,\n linkUrl:$linkUrl,\n imageUrl:$imageUrl\n }\n ) {\n channel {\n id\n project_id\n name\n user_id\n unique_id\n type\n translation\n members\n push\n link_url\n image_url \n created_at\n updated_at\n }\n }\n } \n ";
|
|
178
|
+
query = "\n mutation (\n $projectId: String!, \n $name: String!, \n $type: String!,\n $uniqueId: String,\n $translation: Boolean,\n $push: Boolean,\n $linkUrl: String,\n $imageUrl: String,\n $id: String,\n $members: [String]\n ) {\n createChannel(\n input: { \n projectId: $projectId, \n name: $name, \n type: $type,\n id: $id,\n members: $members,\n uniqueId: $uniqueId,\n translation:$translation,\n push:$push,\n linkUrl:$linkUrl,\n imageUrl:$imageUrl\n }\n ) {\n channel {\n id\n project_id\n name\n user_id { \n id\n name\n nickname\n profile\n device_type\n language\n }\n last_message {\n message_id\n sort_id\n project_id\n channel_id\n message_type\n mentions\n mentions_everyone\n has\n sender {\n id\n name\n profile\n }\n admin {\n id\n name\n profile\n }\n content\n }\n unique_id\n type\n translation\n members\n push\n link_url\n image_url \n created_at\n updated_at\n }\n }\n } \n ";
|
|
179
179
|
return [4
|
|
180
180
|
/*yield*/
|
|
181
181
|
, fetch(endpoint, {
|
|
@@ -316,7 +316,7 @@ var deleteChannel = function deleteChannel(channelId) {
|
|
|
316
316
|
|
|
317
317
|
exports.deleteChannel = deleteChannel;
|
|
318
318
|
|
|
319
|
-
var
|
|
319
|
+
var addChannelMembers = function addChannelMembers(channelId, memberIds, options) {
|
|
320
320
|
return __awaiter(void 0, void 0, void 0, function () {
|
|
321
321
|
var token, projectId, endpoint, query;
|
|
322
322
|
return __generator(this, function (_a) {
|
|
@@ -325,7 +325,7 @@ var createInviteMember = function createInviteMember(channelId, memberIds) {
|
|
|
325
325
|
token = _CoreManager["default"].get("TOKEN");
|
|
326
326
|
projectId = _CoreManager["default"].get("PROJECT_ID");
|
|
327
327
|
endpoint = _CoreManager["default"].get('SERVER_URL') + '/graphql';
|
|
328
|
-
query = "\n mutation ($projectId: String!, $channelId: String!, $memberIds: [String]!) {\n
|
|
328
|
+
query = "\n mutation ($projectId: String!, $channelId: String!, $memberIds: [String]!) {\n addChannelMembers(input: {projectId: $projectId, channelId: $channelId, memberIds:$memberIds }) {\n channel {\n id\n project_id\n name\n user_id\n unique_id\n type\n translation\n members\n push\n link_url\n image_url \n created_at\n updated_at\n }\n }\n }\n ";
|
|
329
329
|
return [4
|
|
330
330
|
/*yield*/
|
|
331
331
|
, fetch(endpoint, {
|
|
@@ -341,7 +341,8 @@ var createInviteMember = function createInviteMember(channelId, memberIds) {
|
|
|
341
341
|
variables: {
|
|
342
342
|
projectId: projectId,
|
|
343
343
|
channelId: channelId,
|
|
344
|
-
memberIds: memberIds
|
|
344
|
+
memberIds: memberIds,
|
|
345
|
+
options: options
|
|
345
346
|
}
|
|
346
347
|
})
|
|
347
348
|
}).then(function (res) {
|
|
@@ -349,7 +350,7 @@ var createInviteMember = function createInviteMember(channelId, memberIds) {
|
|
|
349
350
|
}).then(function (data) {
|
|
350
351
|
if (data.errors) throw data.errors[0];
|
|
351
352
|
if (data.code) throw data;
|
|
352
|
-
return data.data.
|
|
353
|
+
return data.data.addChannelMembers.channel;
|
|
353
354
|
})];
|
|
354
355
|
|
|
355
356
|
case 1:
|
|
@@ -361,4 +362,52 @@ var createInviteMember = function createInviteMember(channelId, memberIds) {
|
|
|
361
362
|
});
|
|
362
363
|
};
|
|
363
364
|
|
|
364
|
-
exports.
|
|
365
|
+
exports.addChannelMembers = addChannelMembers;
|
|
366
|
+
|
|
367
|
+
var removeChannelMembers = function removeChannelMembers(channelId, memberIds, options) {
|
|
368
|
+
return __awaiter(void 0, void 0, void 0, function () {
|
|
369
|
+
var token, projectId, endpoint, query;
|
|
370
|
+
return __generator(this, function (_a) {
|
|
371
|
+
switch (_a.label) {
|
|
372
|
+
case 0:
|
|
373
|
+
token = _CoreManager["default"].get("TOKEN");
|
|
374
|
+
projectId = _CoreManager["default"].get("PROJECT_ID");
|
|
375
|
+
endpoint = _CoreManager["default"].get('SERVER_URL') + '/graphql';
|
|
376
|
+
query = "\n mutation ($projectId: String!, $channelId: String!, $memberIds: [String]!) {\n removeChannelMembers(input: {projectId: $projectId, channelId: $channelId, memberIds:$memberIds }) {\n channel {\n id\n project_id\n name\n user_id\n unique_id\n type\n translation\n members\n push\n link_url\n image_url \n created_at\n updated_at\n }\n }\n }\n ";
|
|
377
|
+
return [4
|
|
378
|
+
/*yield*/
|
|
379
|
+
, fetch(endpoint, {
|
|
380
|
+
method: 'POST',
|
|
381
|
+
headers: {
|
|
382
|
+
'Authorization': 'Bearer ' + token,
|
|
383
|
+
'X-PROJECT-ID': projectId,
|
|
384
|
+
'Content-Type': 'application/json',
|
|
385
|
+
'Accept': 'application/json'
|
|
386
|
+
},
|
|
387
|
+
body: (0, _stringify["default"])({
|
|
388
|
+
query: query,
|
|
389
|
+
variables: {
|
|
390
|
+
projectId: projectId,
|
|
391
|
+
channelId: channelId,
|
|
392
|
+
memberIds: memberIds,
|
|
393
|
+
options: options
|
|
394
|
+
}
|
|
395
|
+
})
|
|
396
|
+
}).then(function (res) {
|
|
397
|
+
return res.json();
|
|
398
|
+
}).then(function (data) {
|
|
399
|
+
if (data.errors) throw data.errors[0];
|
|
400
|
+
if (data.code) throw data;
|
|
401
|
+
return data.data.removeChannelMembers.channel;
|
|
402
|
+
})];
|
|
403
|
+
|
|
404
|
+
case 1:
|
|
405
|
+
return [2
|
|
406
|
+
/*return*/
|
|
407
|
+
, _a.sent()];
|
|
408
|
+
}
|
|
409
|
+
});
|
|
410
|
+
});
|
|
411
|
+
};
|
|
412
|
+
|
|
413
|
+
exports.removeChannelMembers = removeChannelMembers;
|
|
@@ -163,7 +163,11 @@ var __generator = void 0 && (void 0).__generator || function (thisArg, body) {
|
|
|
163
163
|
}
|
|
164
164
|
};
|
|
165
165
|
|
|
166
|
-
var createSubscription = function createSubscription(channelId,
|
|
166
|
+
var createSubscription = function createSubscription(channelId, option) {
|
|
167
|
+
if (option === void 0) {
|
|
168
|
+
option = "";
|
|
169
|
+
}
|
|
170
|
+
|
|
167
171
|
return __awaiter(void 0, void 0, void 0, function () {
|
|
168
172
|
var token, endpoint, projectId, query;
|
|
169
173
|
return __generator(this, function (_a) {
|
|
@@ -172,7 +176,7 @@ var createSubscription = function createSubscription(channelId, language) {
|
|
|
172
176
|
token = _CoreManager["default"].get("TOKEN");
|
|
173
177
|
endpoint = _CoreManager["default"].get('SERVER_URL') + '/graphql';
|
|
174
178
|
projectId = _CoreManager["default"].get('PROJECT_ID');
|
|
175
|
-
query = "\n mutation (\n $projectId: String!, \n $channelId: String!,\n $
|
|
179
|
+
query = "\n mutation (\n $projectId: String!, \n $channelId: String!,\n $option: String,\n ) {\n createSubscription (\n input: {\n projectId: $projectId, \n channelId: $channelId,\n option: $option\n }\n ) {\n subscription {\n id\n channel_id\n user_id\n language\n push\n mute\n online\n uniquekey\n created_at\n updated_at\n }\n }\n }\n ";
|
|
176
180
|
return [4
|
|
177
181
|
/*yield*/
|
|
178
182
|
, fetch(endpoint, {
|
|
@@ -188,7 +192,7 @@ var createSubscription = function createSubscription(channelId, language) {
|
|
|
188
192
|
variables: {
|
|
189
193
|
projectId: projectId,
|
|
190
194
|
channelId: channelId,
|
|
191
|
-
|
|
195
|
+
option: option
|
|
192
196
|
}
|
|
193
197
|
})
|
|
194
198
|
}).then(function (res) {
|
|
@@ -260,7 +264,11 @@ var deleteSubscription = function deleteSubscription(channelId) {
|
|
|
260
264
|
|
|
261
265
|
exports.deleteSubscription = deleteSubscription;
|
|
262
266
|
|
|
263
|
-
var updateSubscription = function updateSubscription(channelId, mark) {
|
|
267
|
+
var updateSubscription = function updateSubscription(channelId, mark, option) {
|
|
268
|
+
if (option === void 0) {
|
|
269
|
+
option = "";
|
|
270
|
+
}
|
|
271
|
+
|
|
264
272
|
return __awaiter(void 0, void 0, void 0, function () {
|
|
265
273
|
var token, endpoint, projectId, query;
|
|
266
274
|
return __generator(this, function (_a) {
|
|
@@ -269,7 +277,7 @@ var updateSubscription = function updateSubscription(channelId, mark) {
|
|
|
269
277
|
token = _CoreManager["default"].get("TOKEN");
|
|
270
278
|
endpoint = _CoreManager["default"].get('SERVER_URL') + '/graphql';
|
|
271
279
|
projectId = _CoreManager["default"].get('PROJECT_ID');
|
|
272
|
-
query = "\n mutation ($projectId: String!, $channelId: String!, $mark: MarkInput) {\n updateSubscription(input: {projectId: $projectId,channelId: $channelId, mark: $mark}) {\n subscription {\n id\n channel_id\n user_id\n language\n push\n online\n uniquekey\n mark {\n user_id\n message_id\n sort_id\n unread\n }\n created_at\n updated_at\n }\n }\n }\n ";
|
|
280
|
+
query = "\n mutation ($projectId: String!, $channelId: String!, $mark: MarkInput, $option: String!) {\n updateSubscription(input: {projectId: $projectId,channelId: $channelId, mark: $mark, option: $option}) {\n subscription {\n id\n channel_id\n user_id\n language\n push\n online\n mute\n uniquekey\n mark {\n user_id\n message_id\n sort_id\n unread\n }\n created_at\n updated_at\n }\n }\n }\n ";
|
|
273
281
|
return [4
|
|
274
282
|
/*yield*/
|
|
275
283
|
, fetch(endpoint, {
|
|
@@ -285,7 +293,8 @@ var updateSubscription = function updateSubscription(channelId, mark) {
|
|
|
285
293
|
variables: {
|
|
286
294
|
projectId: projectId,
|
|
287
295
|
channelId: channelId,
|
|
288
|
-
mark: mark
|
|
296
|
+
mark: mark,
|
|
297
|
+
option: option
|
|
289
298
|
}
|
|
290
299
|
})
|
|
291
300
|
}).then(function (res) {
|
package/lib/queries/channel.js
CHANGED
|
@@ -180,7 +180,7 @@ var getChannel = function getChannel(id) {
|
|
|
180
180
|
/*return*/
|
|
181
181
|
, null];
|
|
182
182
|
endpoint = _CoreManager["default"].get('SERVER_URL') + '/graphql';
|
|
183
|
-
query = "\n query channel ($projectId: String!, $id: String!) {\n channel(projectId: $projectId, id:$id) {\n
|
|
183
|
+
query = "\n query channel ($projectId: String!, $id: String!) {\n channel(projectId: $projectId, id:$id) {\n id\n project_id\n name\n user_id { \n id\n name\n nickname\n profile\n device_type\n language\n }\n last_message {\n message_id\n sort_id\n project_id\n channel_id\n message_type\n mentions\n mentions_everyone\n has\n sender {\n id\n name\n profile\n }\n admin {\n id\n name\n profile\n }\n content\n created_at\n }\n unique_id\n type\n translation\n members\n push\n link_url\n image_url \n created_at\n updated_at\n }\n }\n ";
|
|
184
184
|
return [4
|
|
185
185
|
/*yield*/
|
|
186
186
|
, fetch(endpoint, {
|
|
@@ -238,7 +238,7 @@ var getChannels = function getChannels(filter, sort, option) {
|
|
|
238
238
|
/*return*/
|
|
239
239
|
, null];
|
|
240
240
|
endpoint = _CoreManager["default"].get('SERVER_URL') + '/graphql';
|
|
241
|
-
query = "\n query channels ($projectId: String!, $filter: String!, $sort: String, $option:String) {\n channels(projectId: $projectId, filter:$filter, sort:$sort, option:$option) {\n totalCount\n edges {\n node {\n
|
|
241
|
+
query = "\n query channels ($projectId: String!, $filter: String!, $sort: String, $option:String) {\n channels(projectId: $projectId, filter:$filter, sort:$sort, option:$option) {\n totalCount\n edges {\n node {\n id\n project_id\n name\n user_id { \n id\n name\n nickname\n profile\n device_type\n language\n }\n last_message {\n message_id\n sort_id\n project_id\n channel_id\n message_type\n mentions\n mentions_everyone\n has\n sender {\n id\n name\n profile\n }\n admin {\n id\n name\n profile\n }\n content\n }\n unique_id\n type\n translation\n members\n push\n link_url\n image_url \n created_at\n updated_at\n }\n }\n }\n }\n ";
|
|
242
242
|
return [4
|
|
243
243
|
/*yield*/
|
|
244
244
|
, fetch(endpoint, {
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ncloudchat",
|
|
3
3
|
"jsName": "ncloudchat",
|
|
4
|
-
"version": "1.0.
|
|
4
|
+
"version": "1.0.11",
|
|
5
5
|
"private": false,
|
|
6
6
|
"description": "",
|
|
7
7
|
"keywords": [
|
|
@@ -22,8 +22,8 @@
|
|
|
22
22
|
"start": "npm run lint && webpack-dev-server --open --config webpack.dev.js",
|
|
23
23
|
"lint": "tsc --noEmit && eslint --ext .ts",
|
|
24
24
|
"server": "node test/server.js",
|
|
25
|
-
"
|
|
26
|
-
"
|
|
25
|
+
"deploy": "./deploy.sh dev",
|
|
26
|
+
"deploy-release": "./deploy.sh release"
|
|
27
27
|
},
|
|
28
28
|
"repository": {
|
|
29
29
|
"type": "git"
|
package/.vscode/settings.json
DELETED
package/coverage/clover.xml
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<coverage generated="1651413875018" clover="3.2.0">
|
|
3
|
-
<project timestamp="1651413875018" name="All files">
|
|
4
|
-
<metrics statements="0" coveredstatements="0" conditionals="0" coveredconditionals="0" methods="0" coveredmethods="0" elements="0" coveredelements="0" complexity="0" loc="0" ncloc="0" packages="0" files="0" classes="0"/>
|
|
5
|
-
</project>
|
|
6
|
-
</coverage>
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{}
|
|
@@ -1,224 +0,0 @@
|
|
|
1
|
-
body, html {
|
|
2
|
-
margin:0; padding: 0;
|
|
3
|
-
height: 100%;
|
|
4
|
-
}
|
|
5
|
-
body {
|
|
6
|
-
font-family: Helvetica Neue, Helvetica, Arial;
|
|
7
|
-
font-size: 14px;
|
|
8
|
-
color:#333;
|
|
9
|
-
}
|
|
10
|
-
.small { font-size: 12px; }
|
|
11
|
-
*, *:after, *:before {
|
|
12
|
-
-webkit-box-sizing:border-box;
|
|
13
|
-
-moz-box-sizing:border-box;
|
|
14
|
-
box-sizing:border-box;
|
|
15
|
-
}
|
|
16
|
-
h1 { font-size: 20px; margin: 0;}
|
|
17
|
-
h2 { font-size: 14px; }
|
|
18
|
-
pre {
|
|
19
|
-
font: 12px/1.4 Consolas, "Liberation Mono", Menlo, Courier, monospace;
|
|
20
|
-
margin: 0;
|
|
21
|
-
padding: 0;
|
|
22
|
-
-moz-tab-size: 2;
|
|
23
|
-
-o-tab-size: 2;
|
|
24
|
-
tab-size: 2;
|
|
25
|
-
}
|
|
26
|
-
a { color:#0074D9; text-decoration:none; }
|
|
27
|
-
a:hover { text-decoration:underline; }
|
|
28
|
-
.strong { font-weight: bold; }
|
|
29
|
-
.space-top1 { padding: 10px 0 0 0; }
|
|
30
|
-
.pad2y { padding: 20px 0; }
|
|
31
|
-
.pad1y { padding: 10px 0; }
|
|
32
|
-
.pad2x { padding: 0 20px; }
|
|
33
|
-
.pad2 { padding: 20px; }
|
|
34
|
-
.pad1 { padding: 10px; }
|
|
35
|
-
.space-left2 { padding-left:55px; }
|
|
36
|
-
.space-right2 { padding-right:20px; }
|
|
37
|
-
.center { text-align:center; }
|
|
38
|
-
.clearfix { display:block; }
|
|
39
|
-
.clearfix:after {
|
|
40
|
-
content:'';
|
|
41
|
-
display:block;
|
|
42
|
-
height:0;
|
|
43
|
-
clear:both;
|
|
44
|
-
visibility:hidden;
|
|
45
|
-
}
|
|
46
|
-
.fl { float: left; }
|
|
47
|
-
@media only screen and (max-width:640px) {
|
|
48
|
-
.col3 { width:100%; max-width:100%; }
|
|
49
|
-
.hide-mobile { display:none!important; }
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
.quiet {
|
|
53
|
-
color: #7f7f7f;
|
|
54
|
-
color: rgba(0,0,0,0.5);
|
|
55
|
-
}
|
|
56
|
-
.quiet a { opacity: 0.7; }
|
|
57
|
-
|
|
58
|
-
.fraction {
|
|
59
|
-
font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;
|
|
60
|
-
font-size: 10px;
|
|
61
|
-
color: #555;
|
|
62
|
-
background: #E8E8E8;
|
|
63
|
-
padding: 4px 5px;
|
|
64
|
-
border-radius: 3px;
|
|
65
|
-
vertical-align: middle;
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
div.path a:link, div.path a:visited { color: #333; }
|
|
69
|
-
table.coverage {
|
|
70
|
-
border-collapse: collapse;
|
|
71
|
-
margin: 10px 0 0 0;
|
|
72
|
-
padding: 0;
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
table.coverage td {
|
|
76
|
-
margin: 0;
|
|
77
|
-
padding: 0;
|
|
78
|
-
vertical-align: top;
|
|
79
|
-
}
|
|
80
|
-
table.coverage td.line-count {
|
|
81
|
-
text-align: right;
|
|
82
|
-
padding: 0 5px 0 20px;
|
|
83
|
-
}
|
|
84
|
-
table.coverage td.line-coverage {
|
|
85
|
-
text-align: right;
|
|
86
|
-
padding-right: 10px;
|
|
87
|
-
min-width:20px;
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
table.coverage td span.cline-any {
|
|
91
|
-
display: inline-block;
|
|
92
|
-
padding: 0 5px;
|
|
93
|
-
width: 100%;
|
|
94
|
-
}
|
|
95
|
-
.missing-if-branch {
|
|
96
|
-
display: inline-block;
|
|
97
|
-
margin-right: 5px;
|
|
98
|
-
border-radius: 3px;
|
|
99
|
-
position: relative;
|
|
100
|
-
padding: 0 4px;
|
|
101
|
-
background: #333;
|
|
102
|
-
color: yellow;
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
.skip-if-branch {
|
|
106
|
-
display: none;
|
|
107
|
-
margin-right: 10px;
|
|
108
|
-
position: relative;
|
|
109
|
-
padding: 0 4px;
|
|
110
|
-
background: #ccc;
|
|
111
|
-
color: white;
|
|
112
|
-
}
|
|
113
|
-
.missing-if-branch .typ, .skip-if-branch .typ {
|
|
114
|
-
color: inherit !important;
|
|
115
|
-
}
|
|
116
|
-
.coverage-summary {
|
|
117
|
-
border-collapse: collapse;
|
|
118
|
-
width: 100%;
|
|
119
|
-
}
|
|
120
|
-
.coverage-summary tr { border-bottom: 1px solid #bbb; }
|
|
121
|
-
.keyline-all { border: 1px solid #ddd; }
|
|
122
|
-
.coverage-summary td, .coverage-summary th { padding: 10px; }
|
|
123
|
-
.coverage-summary tbody { border: 1px solid #bbb; }
|
|
124
|
-
.coverage-summary td { border-right: 1px solid #bbb; }
|
|
125
|
-
.coverage-summary td:last-child { border-right: none; }
|
|
126
|
-
.coverage-summary th {
|
|
127
|
-
text-align: left;
|
|
128
|
-
font-weight: normal;
|
|
129
|
-
white-space: nowrap;
|
|
130
|
-
}
|
|
131
|
-
.coverage-summary th.file { border-right: none !important; }
|
|
132
|
-
.coverage-summary th.pct { }
|
|
133
|
-
.coverage-summary th.pic,
|
|
134
|
-
.coverage-summary th.abs,
|
|
135
|
-
.coverage-summary td.pct,
|
|
136
|
-
.coverage-summary td.abs { text-align: right; }
|
|
137
|
-
.coverage-summary td.file { white-space: nowrap; }
|
|
138
|
-
.coverage-summary td.pic { min-width: 120px !important; }
|
|
139
|
-
.coverage-summary tfoot td { }
|
|
140
|
-
|
|
141
|
-
.coverage-summary .sorter {
|
|
142
|
-
height: 10px;
|
|
143
|
-
width: 7px;
|
|
144
|
-
display: inline-block;
|
|
145
|
-
margin-left: 0.5em;
|
|
146
|
-
background: url(sort-arrow-sprite.png) no-repeat scroll 0 0 transparent;
|
|
147
|
-
}
|
|
148
|
-
.coverage-summary .sorted .sorter {
|
|
149
|
-
background-position: 0 -20px;
|
|
150
|
-
}
|
|
151
|
-
.coverage-summary .sorted-desc .sorter {
|
|
152
|
-
background-position: 0 -10px;
|
|
153
|
-
}
|
|
154
|
-
.status-line { height: 10px; }
|
|
155
|
-
/* yellow */
|
|
156
|
-
.cbranch-no { background: yellow !important; color: #111; }
|
|
157
|
-
/* dark red */
|
|
158
|
-
.red.solid, .status-line.low, .low .cover-fill { background:#C21F39 }
|
|
159
|
-
.low .chart { border:1px solid #C21F39 }
|
|
160
|
-
.highlighted,
|
|
161
|
-
.highlighted .cstat-no, .highlighted .fstat-no, .highlighted .cbranch-no{
|
|
162
|
-
background: #C21F39 !important;
|
|
163
|
-
}
|
|
164
|
-
/* medium red */
|
|
165
|
-
.cstat-no, .fstat-no, .cbranch-no, .cbranch-no { background:#F6C6CE }
|
|
166
|
-
/* light red */
|
|
167
|
-
.low, .cline-no { background:#FCE1E5 }
|
|
168
|
-
/* light green */
|
|
169
|
-
.high, .cline-yes { background:rgb(230,245,208) }
|
|
170
|
-
/* medium green */
|
|
171
|
-
.cstat-yes { background:rgb(161,215,106) }
|
|
172
|
-
/* dark green */
|
|
173
|
-
.status-line.high, .high .cover-fill { background:rgb(77,146,33) }
|
|
174
|
-
.high .chart { border:1px solid rgb(77,146,33) }
|
|
175
|
-
/* dark yellow (gold) */
|
|
176
|
-
.status-line.medium, .medium .cover-fill { background: #f9cd0b; }
|
|
177
|
-
.medium .chart { border:1px solid #f9cd0b; }
|
|
178
|
-
/* light yellow */
|
|
179
|
-
.medium { background: #fff4c2; }
|
|
180
|
-
|
|
181
|
-
.cstat-skip { background: #ddd; color: #111; }
|
|
182
|
-
.fstat-skip { background: #ddd; color: #111 !important; }
|
|
183
|
-
.cbranch-skip { background: #ddd !important; color: #111; }
|
|
184
|
-
|
|
185
|
-
span.cline-neutral { background: #eaeaea; }
|
|
186
|
-
|
|
187
|
-
.coverage-summary td.empty {
|
|
188
|
-
opacity: .5;
|
|
189
|
-
padding-top: 4px;
|
|
190
|
-
padding-bottom: 4px;
|
|
191
|
-
line-height: 1;
|
|
192
|
-
color: #888;
|
|
193
|
-
}
|
|
194
|
-
|
|
195
|
-
.cover-fill, .cover-empty {
|
|
196
|
-
display:inline-block;
|
|
197
|
-
height: 12px;
|
|
198
|
-
}
|
|
199
|
-
.chart {
|
|
200
|
-
line-height: 0;
|
|
201
|
-
}
|
|
202
|
-
.cover-empty {
|
|
203
|
-
background: white;
|
|
204
|
-
}
|
|
205
|
-
.cover-full {
|
|
206
|
-
border-right: none !important;
|
|
207
|
-
}
|
|
208
|
-
pre.prettyprint {
|
|
209
|
-
border: none !important;
|
|
210
|
-
padding: 0 !important;
|
|
211
|
-
margin: 0 !important;
|
|
212
|
-
}
|
|
213
|
-
.com { color: #999 !important; }
|
|
214
|
-
.ignore-none { color: #999; font-weight: normal; }
|
|
215
|
-
|
|
216
|
-
.wrapper {
|
|
217
|
-
min-height: 100%;
|
|
218
|
-
height: auto !important;
|
|
219
|
-
height: 100%;
|
|
220
|
-
margin: 0 auto -48px;
|
|
221
|
-
}
|
|
222
|
-
.footer, .push {
|
|
223
|
-
height: 48px;
|
|
224
|
-
}
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
/* eslint-disable */
|
|
2
|
-
var jumpToCode = (function init() {
|
|
3
|
-
// Classes of code we would like to highlight in the file view
|
|
4
|
-
var missingCoverageClasses = ['.cbranch-no', '.cstat-no', '.fstat-no'];
|
|
5
|
-
|
|
6
|
-
// Elements to highlight in the file listing view
|
|
7
|
-
var fileListingElements = ['td.pct.low'];
|
|
8
|
-
|
|
9
|
-
// We don't want to select elements that are direct descendants of another match
|
|
10
|
-
var notSelector = ':not(' + missingCoverageClasses.join('):not(') + ') > '; // becomes `:not(a):not(b) > `
|
|
11
|
-
|
|
12
|
-
// Selecter that finds elements on the page to which we can jump
|
|
13
|
-
var selector =
|
|
14
|
-
fileListingElements.join(', ') +
|
|
15
|
-
', ' +
|
|
16
|
-
notSelector +
|
|
17
|
-
missingCoverageClasses.join(', ' + notSelector); // becomes `:not(a):not(b) > a, :not(a):not(b) > b`
|
|
18
|
-
|
|
19
|
-
// The NodeList of matching elements
|
|
20
|
-
var missingCoverageElements = document.querySelectorAll(selector);
|
|
21
|
-
|
|
22
|
-
var currentIndex;
|
|
23
|
-
|
|
24
|
-
function toggleClass(index) {
|
|
25
|
-
missingCoverageElements
|
|
26
|
-
.item(currentIndex)
|
|
27
|
-
.classList.remove('highlighted');
|
|
28
|
-
missingCoverageElements.item(index).classList.add('highlighted');
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
function makeCurrent(index) {
|
|
32
|
-
toggleClass(index);
|
|
33
|
-
currentIndex = index;
|
|
34
|
-
missingCoverageElements.item(index).scrollIntoView({
|
|
35
|
-
behavior: 'smooth',
|
|
36
|
-
block: 'center',
|
|
37
|
-
inline: 'center'
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
function goToPrevious() {
|
|
42
|
-
var nextIndex = 0;
|
|
43
|
-
if (typeof currentIndex !== 'number' || currentIndex === 0) {
|
|
44
|
-
nextIndex = missingCoverageElements.length - 1;
|
|
45
|
-
} else if (missingCoverageElements.length > 1) {
|
|
46
|
-
nextIndex = currentIndex - 1;
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
makeCurrent(nextIndex);
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
function goToNext() {
|
|
53
|
-
var nextIndex = 0;
|
|
54
|
-
|
|
55
|
-
if (
|
|
56
|
-
typeof currentIndex === 'number' &&
|
|
57
|
-
currentIndex < missingCoverageElements.length - 1
|
|
58
|
-
) {
|
|
59
|
-
nextIndex = currentIndex + 1;
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
makeCurrent(nextIndex);
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
return function jump(event) {
|
|
66
|
-
switch (event.which) {
|
|
67
|
-
case 78: // n
|
|
68
|
-
case 74: // j
|
|
69
|
-
goToNext();
|
|
70
|
-
break;
|
|
71
|
-
case 66: // b
|
|
72
|
-
case 75: // k
|
|
73
|
-
case 80: // p
|
|
74
|
-
goToPrevious();
|
|
75
|
-
break;
|
|
76
|
-
}
|
|
77
|
-
};
|
|
78
|
-
})();
|
|
79
|
-
window.addEventListener('keydown', jumpToCode);
|
|
Binary file
|
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
<!doctype html>
|
|
3
|
-
<html lang="en">
|
|
4
|
-
|
|
5
|
-
<head>
|
|
6
|
-
<title>Code coverage report for All files</title>
|
|
7
|
-
<meta charset="utf-8" />
|
|
8
|
-
<link rel="stylesheet" href="prettify.css" />
|
|
9
|
-
<link rel="stylesheet" href="base.css" />
|
|
10
|
-
<link rel="shortcut icon" type="image/x-icon" href="favicon.png" />
|
|
11
|
-
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
12
|
-
<style type='text/css'>
|
|
13
|
-
.coverage-summary .sorter {
|
|
14
|
-
background-image: url(sort-arrow-sprite.png);
|
|
15
|
-
}
|
|
16
|
-
</style>
|
|
17
|
-
</head>
|
|
18
|
-
|
|
19
|
-
<body>
|
|
20
|
-
<div class='wrapper'>
|
|
21
|
-
<div class='pad1'>
|
|
22
|
-
<h1>All files</h1>
|
|
23
|
-
<div class='clearfix'>
|
|
24
|
-
|
|
25
|
-
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">Unknown% </span>
|
|
27
|
-
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>0/0</span>
|
|
29
|
-
</div>
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">Unknown% </span>
|
|
34
|
-
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>0/0</span>
|
|
36
|
-
</div>
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">Unknown% </span>
|
|
41
|
-
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>0/0</span>
|
|
43
|
-
</div>
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">Unknown% </span>
|
|
48
|
-
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>0/0</span>
|
|
50
|
-
</div>
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
</div>
|
|
54
|
-
<p class="quiet">
|
|
55
|
-
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
|
|
56
|
-
</p>
|
|
57
|
-
</div>
|
|
58
|
-
<div class='status-line medium'></div>
|
|
59
|
-
<div class="pad1">
|
|
60
|
-
<table class="coverage-summary">
|
|
61
|
-
<thead>
|
|
62
|
-
<tr>
|
|
63
|
-
<th data-col="file" data-fmt="html" data-html="true" class="file">File</th>
|
|
64
|
-
<th data-col="pic" data-type="number" data-fmt="html" data-html="true" class="pic"></th>
|
|
65
|
-
<th data-col="statements" data-type="number" data-fmt="pct" class="pct">Statements</th>
|
|
66
|
-
<th data-col="statements_raw" data-type="number" data-fmt="html" class="abs"></th>
|
|
67
|
-
<th data-col="branches" data-type="number" data-fmt="pct" class="pct">Branches</th>
|
|
68
|
-
<th data-col="branches_raw" data-type="number" data-fmt="html" class="abs"></th>
|
|
69
|
-
<th data-col="functions" data-type="number" data-fmt="pct" class="pct">Functions</th>
|
|
70
|
-
<th data-col="functions_raw" data-type="number" data-fmt="html" class="abs"></th>
|
|
71
|
-
<th data-col="lines" data-type="number" data-fmt="pct" class="pct">Lines</th>
|
|
72
|
-
<th data-col="lines_raw" data-type="number" data-fmt="html" class="abs"></th>
|
|
73
|
-
</tr>
|
|
74
|
-
</thead>
|
|
75
|
-
<tbody></tbody>
|
|
76
|
-
</table>
|
|
77
|
-
</div>
|
|
78
|
-
<div class='push'></div><!-- for sticky footer -->
|
|
79
|
-
</div><!-- /wrapper -->
|
|
80
|
-
<div class='footer quiet pad2 space-top1 center small'>
|
|
81
|
-
Code coverage generated by
|
|
82
|
-
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
83
|
-
at Sun May 01 2022 23:04:35 GMT+0900 (대한민국 표준시)
|
|
84
|
-
</div>
|
|
85
|
-
</div>
|
|
86
|
-
<script src="prettify.js"></script>
|
|
87
|
-
<script>
|
|
88
|
-
window.onload = function () {
|
|
89
|
-
prettyPrint();
|
|
90
|
-
};
|
|
91
|
-
</script>
|
|
92
|
-
<script src="sorter.js"></script>
|
|
93
|
-
<script src="block-navigation.js"></script>
|
|
94
|
-
</body>
|
|
95
|
-
</html>
|
|
96
|
-
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee}
|