dce-crosstypes 1.0.0
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 +93 -0
- package/LICENSE +21 -0
- package/lib/Compliance/ComplianceBundle.d.ts +17 -0
- package/lib/Compliance/ComplianceBundle.js +3 -0
- package/lib/Compliance/ComplianceBundle.js.map +1 -0
- package/lib/Compliance/index.d.ts +2 -0
- package/lib/Compliance/index.js +3 -0
- package/lib/Compliance/index.js.map +1 -0
- package/lib/Engagement/ActivityEngagementDataType.d.ts +10 -0
- package/lib/Engagement/ActivityEngagementDataType.js +14 -0
- package/lib/Engagement/ActivityEngagementDataType.js.map +1 -0
- package/lib/Engagement/ActivityId.d.ts +10 -0
- package/lib/Engagement/ActivityId.js +14 -0
- package/lib/Engagement/ActivityId.js.map +1 -0
- package/lib/Engagement/AttendanceMethod.d.ts +12 -0
- package/lib/Engagement/AttendanceMethod.js +21 -0
- package/lib/Engagement/AttendanceMethod.js.map +1 -0
- package/lib/Engagement/CodeSnippet.d.ts +10 -0
- package/lib/Engagement/CodeSnippet.js +3 -0
- package/lib/Engagement/CodeSnippet.js.map +1 -0
- package/lib/Engagement/Drawing.d.ts +9 -0
- package/lib/Engagement/Drawing.js +3 -0
- package/lib/Engagement/Drawing.js.map +1 -0
- package/lib/Engagement/EngagementBundle/ActivityEngagementData.d.ts +17 -0
- package/lib/Engagement/EngagementBundle/ActivityEngagementData.js +3 -0
- package/lib/Engagement/EngagementBundle/ActivityEngagementData.js.map +1 -0
- package/lib/Engagement/EngagementBundle/EngagementPlatform.d.ts +9 -0
- package/lib/Engagement/EngagementBundle/EngagementPlatform.js +13 -0
- package/lib/Engagement/EngagementBundle/EngagementPlatform.js.map +1 -0
- package/lib/Engagement/EngagementBundle/EngagementSource.d.ts +11 -0
- package/lib/Engagement/EngagementBundle/EngagementSource.js +19 -0
- package/lib/Engagement/EngagementBundle/EngagementSource.js.map +1 -0
- package/lib/Engagement/EngagementBundle/UserEngagement.d.ts +29 -0
- package/lib/Engagement/EngagementBundle/UserEngagement.js +3 -0
- package/lib/Engagement/EngagementBundle/UserEngagement.js.map +1 -0
- package/lib/Engagement/EngagementBundle/index.d.ts +14 -0
- package/lib/Engagement/EngagementBundle/index.js +3 -0
- package/lib/Engagement/EngagementBundle/index.js.map +1 -0
- package/lib/Engagement/InferredEngagementSchedule/AverageUserEngagement.d.ts +17 -0
- package/lib/Engagement/InferredEngagementSchedule/AverageUserEngagement.js +7 -0
- package/lib/Engagement/InferredEngagementSchedule/AverageUserEngagement.js.map +1 -0
- package/lib/Engagement/InferredEngagementSchedule/InferredWeekSchedule.d.ts +18 -0
- package/lib/Engagement/InferredEngagementSchedule/InferredWeekSchedule.js +7 -0
- package/lib/Engagement/InferredEngagementSchedule/InferredWeekSchedule.js.map +1 -0
- package/lib/Engagement/InferredEngagementSchedule/index.d.ts +14 -0
- package/lib/Engagement/InferredEngagementSchedule/index.js +3 -0
- package/lib/Engagement/InferredEngagementSchedule/index.js.map +1 -0
- package/lib/Engagement/ProgrammingLanguage.d.ts +15 -0
- package/lib/Engagement/ProgrammingLanguage.js +27 -0
- package/lib/Engagement/ProgrammingLanguage.js.map +1 -0
- package/lib/Engagement/ResponsePack.d.ts +12 -0
- package/lib/Engagement/ResponsePack.js +3 -0
- package/lib/Engagement/ResponsePack.js.map +1 -0
- package/lib/Engagement/ShareoutPostPollResult.d.ts +17 -0
- package/lib/Engagement/ShareoutPostPollResult.js +3 -0
- package/lib/Engagement/ShareoutPostPollResult.js.map +1 -0
- package/lib/Engagement/index.d.ts +14 -0
- package/lib/Engagement/index.js +19 -0
- package/lib/Engagement/index.js.map +1 -0
- package/lib/index.d.ts +18 -0
- package/lib/index.js +20 -0
- package/lib/index.js.map +1 -0
- package/package.json +35 -0
- package/src/Compliance/ComplianceBundle.ts +28 -0
- package/src/Engagement/ActivityEngagementDataType.ts +11 -0
- package/src/Engagement/ActivityId.ts +11 -0
- package/src/Engagement/AttendanceMethod.ts +18 -0
- package/src/Engagement/CodeSnippet.ts +15 -0
- package/src/Engagement/Drawing.ts +12 -0
- package/src/Engagement/EngagementBundle/ActivityEngagementData.ts +26 -0
- package/src/Engagement/EngagementBundle/EngagementPlatform.ts +10 -0
- package/src/Engagement/EngagementBundle/EngagementSource.ts +16 -0
- package/src/Engagement/EngagementBundle/UserEngagement.ts +67 -0
- package/src/Engagement/EngagementBundle/index.ts +27 -0
- package/src/Engagement/InferredEngagementSchedule/AverageUserEngagement.ts +22 -0
- package/src/Engagement/InferredEngagementSchedule/InferredWeekSchedule.ts +22 -0
- package/src/Engagement/InferredEngagementSchedule/index.ts +25 -0
- package/src/Engagement/ProgrammingLanguage.ts +24 -0
- package/src/Engagement/ResponsePack.ts +18 -0
- package/src/Engagement/ShareoutPostPollResult.ts +32 -0
- package/src/index.ts +39 -0
- package/tsconfig.json +20 -0
package/.eslintrc.js
ADDED
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
const config = {
|
|
2
|
+
extends: [
|
|
3
|
+
'airbnb',
|
|
4
|
+
'airbnb/hooks',
|
|
5
|
+
],
|
|
6
|
+
overrides: [
|
|
7
|
+
{
|
|
8
|
+
files: [
|
|
9
|
+
'*.ts',
|
|
10
|
+
'*.tsx',
|
|
11
|
+
],
|
|
12
|
+
extends: [
|
|
13
|
+
'airbnb-typescript',
|
|
14
|
+
],
|
|
15
|
+
parserOptions: {
|
|
16
|
+
project: './tsconfig.json',
|
|
17
|
+
tsconfigRootDir: __dirname,
|
|
18
|
+
sourceType: 'module',
|
|
19
|
+
},
|
|
20
|
+
rules: {
|
|
21
|
+
'@typescript-eslint/lines-between-class-members': 'off',
|
|
22
|
+
'@typescript-eslint/no-unused-expressions': 'off',
|
|
23
|
+
},
|
|
24
|
+
},
|
|
25
|
+
],
|
|
26
|
+
rules: {
|
|
27
|
+
'arrow-body-style': [
|
|
28
|
+
'warn',
|
|
29
|
+
'always',
|
|
30
|
+
],
|
|
31
|
+
'react/prop-types': 'off',
|
|
32
|
+
'react/function-component-definition': [
|
|
33
|
+
2,
|
|
34
|
+
{
|
|
35
|
+
namedComponents: 'arrow-function',
|
|
36
|
+
},
|
|
37
|
+
],
|
|
38
|
+
'no-spaced-func': 'off',
|
|
39
|
+
'react-hooks/exhaustive-deps': 'off',
|
|
40
|
+
'lines-between-class-members': 'off',
|
|
41
|
+
'no-case-declarations': 'off',
|
|
42
|
+
'react/require-default-props': 'off',
|
|
43
|
+
'react/react-in-jsx-scope': 'off',
|
|
44
|
+
'arrow-parens': [
|
|
45
|
+
'warn',
|
|
46
|
+
'always',
|
|
47
|
+
],
|
|
48
|
+
'comma-dangle': [
|
|
49
|
+
'error',
|
|
50
|
+
{
|
|
51
|
+
arrays: 'always-multiline',
|
|
52
|
+
objects: 'always-multiline',
|
|
53
|
+
imports: 'always-multiline',
|
|
54
|
+
exports: 'always-multiline',
|
|
55
|
+
functions: 'always-multiline',
|
|
56
|
+
},
|
|
57
|
+
],
|
|
58
|
+
'consistent-return': 'off',
|
|
59
|
+
'id-length': 'off',
|
|
60
|
+
'max-len': [
|
|
61
|
+
'error',
|
|
62
|
+
{
|
|
63
|
+
code: 125,
|
|
64
|
+
ignoreStrings: true,
|
|
65
|
+
ignoreTemplateLiterals: true,
|
|
66
|
+
ignoreUrls: true,
|
|
67
|
+
},
|
|
68
|
+
],
|
|
69
|
+
'newline-per-chained-call': [
|
|
70
|
+
'error',
|
|
71
|
+
{
|
|
72
|
+
ignoreChainWithDepth: 2,
|
|
73
|
+
},
|
|
74
|
+
],
|
|
75
|
+
'no-plusplus': [
|
|
76
|
+
'warn',
|
|
77
|
+
{
|
|
78
|
+
allowForLoopAfterthoughts: true,
|
|
79
|
+
},
|
|
80
|
+
],
|
|
81
|
+
'prefer-template': 1,
|
|
82
|
+
radix: 'error',
|
|
83
|
+
'no-await-in-loop': 'off',
|
|
84
|
+
'max-params': [
|
|
85
|
+
'warn',
|
|
86
|
+
{
|
|
87
|
+
max: 3,
|
|
88
|
+
},
|
|
89
|
+
],
|
|
90
|
+
},
|
|
91
|
+
};
|
|
92
|
+
|
|
93
|
+
module.exports = config;
|
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Harvard Edtech
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A compliance bundle that contains compliance records for every student in
|
|
3
|
+
* a course, organized by the start of each week (Monday).
|
|
4
|
+
*
|
|
5
|
+
* This bundle is used for federal compliance tracking to ensure that students
|
|
6
|
+
* are in compliance with federal requirements for financial aid.
|
|
7
|
+
* @author Allison Zhang
|
|
8
|
+
*/
|
|
9
|
+
type ComplianceBundle = {
|
|
10
|
+
courseId: number;
|
|
11
|
+
complianceByWeek: {
|
|
12
|
+
[weekStart: string]: {
|
|
13
|
+
userIds: number[];
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
export default ComplianceBundle;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ComplianceBundle.js","sourceRoot":"","sources":["../../src/Compliance/ComplianceBundle.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Compliance/index.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
/**
|
|
4
|
+
* Types of Engagements/Shareouts
|
|
5
|
+
* @author Allison Zhang
|
|
6
|
+
*/
|
|
7
|
+
var ActivityEngagementDataType;
|
|
8
|
+
(function (ActivityEngagementDataType) {
|
|
9
|
+
ActivityEngagementDataType["Reply"] = "Reply";
|
|
10
|
+
ActivityEngagementDataType["ShareoutPost"] = "ShareoutPost";
|
|
11
|
+
ActivityEngagementDataType["Vote"] = "Vote";
|
|
12
|
+
})(ActivityEngagementDataType || (ActivityEngagementDataType = {}));
|
|
13
|
+
exports.default = ActivityEngagementDataType;
|
|
14
|
+
//# sourceMappingURL=ActivityEngagementDataType.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ActivityEngagementDataType.js","sourceRoot":"","sources":["../../src/Engagement/ActivityEngagementDataType.ts"],"names":[],"mappings":";;AAAA;;;GAGG;AACH,IAAK,0BAIJ;AAJD,WAAK,0BAA0B;IAC7B,6CAAe,CAAA;IACf,2DAA6B,CAAA;IAC7B,2CAAa,CAAA;AACf,CAAC,EAJI,0BAA0B,KAA1B,0BAA0B,QAI9B;AAED,kBAAe,0BAA0B,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
/**
|
|
4
|
+
* Available activity ids
|
|
5
|
+
* @author Gabe Abrams
|
|
6
|
+
*/
|
|
7
|
+
var ActivityId;
|
|
8
|
+
(function (ActivityId) {
|
|
9
|
+
ActivityId["PairUp"] = "PairUp";
|
|
10
|
+
ActivityId["Respond"] = "Respond";
|
|
11
|
+
ActivityId["Poll"] = "Poll";
|
|
12
|
+
})(ActivityId || (ActivityId = {}));
|
|
13
|
+
exports.default = ActivityId;
|
|
14
|
+
//# sourceMappingURL=ActivityId.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ActivityId.js","sourceRoot":"","sources":["../../src/Engagement/ActivityId.ts"],"names":[],"mappings":";;AAAA;;;GAGG;AACH,IAAK,UAIJ;AAJD,WAAK,UAAU;IACb,+BAAiB,CAAA;IACjB,iCAAmB,CAAA;IACnB,2BAAa,CAAA;AACf,CAAC,EAJI,UAAU,KAAV,UAAU,QAId;AAED,kBAAe,UAAU,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
/**
|
|
4
|
+
* Enum for the attendance method
|
|
5
|
+
* @author Gabe Abrams
|
|
6
|
+
*/
|
|
7
|
+
var AttendanceMethod;
|
|
8
|
+
(function (AttendanceMethod) {
|
|
9
|
+
// Attended physically in-person
|
|
10
|
+
AttendanceMethod["InPerson"] = "in-person";
|
|
11
|
+
// Attended synchronously online (Zoom, for example)
|
|
12
|
+
AttendanceMethod["Live"] = "live";
|
|
13
|
+
// Watched a recorded version of the event after the fact
|
|
14
|
+
AttendanceMethod["Async"] = "async";
|
|
15
|
+
// Did not attend, but was excused and gets full credit
|
|
16
|
+
AttendanceMethod["Excused"] = "excused";
|
|
17
|
+
// Did not attend, was not excused
|
|
18
|
+
AttendanceMethod["Absent"] = "absent";
|
|
19
|
+
})(AttendanceMethod || (AttendanceMethod = {}));
|
|
20
|
+
exports.default = AttendanceMethod;
|
|
21
|
+
//# sourceMappingURL=AttendanceMethod.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AttendanceMethod.js","sourceRoot":"","sources":["../../src/Engagement/AttendanceMethod.ts"],"names":[],"mappings":";;AAAA;;;GAGG;AACH,IAAK,gBAWJ;AAXD,WAAK,gBAAgB;IACnB,gCAAgC;IAChC,0CAAsB,CAAA;IACtB,oDAAoD;IACpD,iCAAa,CAAA;IACb,yDAAyD;IACzD,mCAAe,CAAA;IACf,uDAAuD;IACvD,uCAAmB,CAAA;IACnB,kCAAkC;IAClC,qCAAiB,CAAA;AACnB,CAAC,EAXI,gBAAgB,KAAhB,gBAAgB,QAWpB;AAED,kBAAe,gBAAgB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CodeSnippet.js","sourceRoot":"","sources":["../../src/Engagement/CodeSnippet.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Drawing.js","sourceRoot":"","sources":["../../src/Engagement/Drawing.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import ResponsePack from '../ResponsePack';
|
|
2
|
+
import ActivityEngagementDataType from '../ActivityEngagementDataType';
|
|
3
|
+
import ShareoutPostPollResult from '../ShareoutPostPollResult';
|
|
4
|
+
/**
|
|
5
|
+
* Metadata for an activity engagement, per-student. It can either contain a
|
|
6
|
+
* response pack (for Shareout engagements) or a poll result
|
|
7
|
+
* (for Poll engagements).
|
|
8
|
+
* @author Allison Zhang
|
|
9
|
+
*/
|
|
10
|
+
type ActivityEngagementData = ({
|
|
11
|
+
type: ActivityEngagementDataType;
|
|
12
|
+
responsePack?: ResponsePack;
|
|
13
|
+
} | {
|
|
14
|
+
type: ActivityEngagementDataType.Vote;
|
|
15
|
+
pollResult: ShareoutPostPollResult;
|
|
16
|
+
});
|
|
17
|
+
export default ActivityEngagementData;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ActivityEngagementData.js","sourceRoot":"","sources":["../../../src/Engagement/EngagementBundle/ActivityEngagementData.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
/**
|
|
4
|
+
* Platform of Engagements/Shareouts
|
|
5
|
+
* @author Allison Zhang
|
|
6
|
+
*/
|
|
7
|
+
var EngagementPlatform;
|
|
8
|
+
(function (EngagementPlatform) {
|
|
9
|
+
EngagementPlatform["IC"] = "IC";
|
|
10
|
+
EngagementPlatform["Gather"] = "Gather";
|
|
11
|
+
})(EngagementPlatform || (EngagementPlatform = {}));
|
|
12
|
+
exports.default = EngagementPlatform;
|
|
13
|
+
//# sourceMappingURL=EngagementPlatform.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EngagementPlatform.js","sourceRoot":"","sources":["../../../src/Engagement/EngagementBundle/EngagementPlatform.ts"],"names":[],"mappings":";;AAAA;;;GAGG;AACH,IAAK,kBAGJ;AAHD,WAAK,kBAAkB;IACrB,+BAAS,CAAA;IACT,uCAAiB,CAAA;AACnB,CAAC,EAHI,kBAAkB,KAAlB,kBAAkB,QAGtB;AAED,kBAAe,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
/**
|
|
4
|
+
* Source of Engagements/Shareouts
|
|
5
|
+
* @author Allison Zhang
|
|
6
|
+
*/
|
|
7
|
+
var EngagementSource;
|
|
8
|
+
(function (EngagementSource) {
|
|
9
|
+
// Engagement from IC activities (PairUp, Respond, Poll)
|
|
10
|
+
EngagementSource["Activity"] = "Activity";
|
|
11
|
+
// Engagement from Zoom Chat+
|
|
12
|
+
EngagementSource["ZoomChatPlus"] = "ZoomChatPlus";
|
|
13
|
+
// Attended physically in-person
|
|
14
|
+
EngagementSource["InPerson"] = "in-person";
|
|
15
|
+
// Attended synchronously online (Zoom, for example)
|
|
16
|
+
EngagementSource["Live"] = "live";
|
|
17
|
+
})(EngagementSource || (EngagementSource = {}));
|
|
18
|
+
exports.default = EngagementSource;
|
|
19
|
+
//# sourceMappingURL=EngagementSource.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EngagementSource.js","sourceRoot":"","sources":["../../../src/Engagement/EngagementBundle/EngagementSource.ts"],"names":[],"mappings":";;AAAA;;;GAGG;AACH,IAAK,gBASJ;AATD,WAAK,gBAAgB;IACnB,wDAAwD;IACxD,yCAAqB,CAAA;IACrB,6BAA6B;IAC7B,iDAA6B,CAAA;IAC7B,gCAAgC;IAChC,0CAAsB,CAAA;IACtB,oDAAoD;IACpD,iCAAa,CAAA;AACf,CAAC,EATI,gBAAgB,KAAhB,gBAAgB,QASpB;AAED,kBAAe,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import ActivityId from '../ActivityId';
|
|
2
|
+
import EngagementSource from './EngagementSource';
|
|
3
|
+
import ActivityEngagementData from './ActivityEngagementData';
|
|
4
|
+
import EngagementPlatform from './EngagementPlatform';
|
|
5
|
+
/**
|
|
6
|
+
* An engagement record for a user for the Universal Attendance Component.
|
|
7
|
+
* Records by video.
|
|
8
|
+
* @author Allison Zhang
|
|
9
|
+
*/
|
|
10
|
+
type UserEngagement = ({
|
|
11
|
+
timestamp: number;
|
|
12
|
+
} & (({
|
|
13
|
+
platform: EngagementPlatform.IC;
|
|
14
|
+
videoSecs?: number;
|
|
15
|
+
} & ({
|
|
16
|
+
source: EngagementSource.Activity;
|
|
17
|
+
activityId: ActivityId;
|
|
18
|
+
activityEngagementData: ActivityEngagementData;
|
|
19
|
+
} | {
|
|
20
|
+
source: EngagementSource.ZoomChatPlus;
|
|
21
|
+
})) | ({
|
|
22
|
+
platform: EngagementPlatform.Gather;
|
|
23
|
+
} & ({
|
|
24
|
+
source: EngagementSource.InPerson;
|
|
25
|
+
groupNum?: number;
|
|
26
|
+
} | {
|
|
27
|
+
source: EngagementSource.Live;
|
|
28
|
+
}))));
|
|
29
|
+
export default UserEngagement;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UserEngagement.js","sourceRoot":"","sources":["../../../src/Engagement/EngagementBundle/UserEngagement.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import UserEngagement from './UserEngagement';
|
|
2
|
+
/**
|
|
3
|
+
* An engagement bundle that contains engagement records for Universal
|
|
4
|
+
* Attendance Component.
|
|
5
|
+
* @author Allison Zhang
|
|
6
|
+
*/
|
|
7
|
+
type EngagementBundle = {
|
|
8
|
+
userId: number;
|
|
9
|
+
courseId: number;
|
|
10
|
+
engagementByWeek: {
|
|
11
|
+
[weekStart: string]: UserEngagement[];
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
export default EngagementBundle;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Engagement/EngagementBundle/index.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import ActivityId from '../ActivityId';
|
|
2
|
+
import EngagementSource from '../EngagementBundle/EngagementSource';
|
|
3
|
+
import ActivityEngagementDataType from '../ActivityEngagementDataType';
|
|
4
|
+
/**
|
|
5
|
+
* An engagement record for a user for the Universal Attendance Component.
|
|
6
|
+
* Records by video.
|
|
7
|
+
* @author Allison Zhang
|
|
8
|
+
*/
|
|
9
|
+
type AverageUserEngagement = {
|
|
10
|
+
[EngagementSource.Activity]?: {
|
|
11
|
+
[activityId in ActivityId]?: {
|
|
12
|
+
[engagementType in ActivityEngagementDataType]?: number;
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
[EngagementSource.ZoomChatPlus]?: {};
|
|
16
|
+
};
|
|
17
|
+
export default AverageUserEngagement;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const EngagementSource_1 = __importDefault(require("../EngagementBundle/EngagementSource"));
|
|
7
|
+
//# sourceMappingURL=AverageUserEngagement.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AverageUserEngagement.js","sourceRoot":"","sources":["../../../src/Engagement/InferredEngagementSchedule/AverageUserEngagement.ts"],"names":[],"mappings":";;;;;AACA,4FAAoE"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import AttendanceMethod from '../AttendanceMethod';
|
|
2
|
+
import AverageUserEngagement from './AverageUserEngagement';
|
|
3
|
+
/**
|
|
4
|
+
* Information that is contained in the inferred engagement schedule for a week.
|
|
5
|
+
* @author Allison Zhang
|
|
6
|
+
*/
|
|
7
|
+
type InferredWeekSchedule = {
|
|
8
|
+
ic?: {
|
|
9
|
+
averageUserEngagement: AverageUserEngagement;
|
|
10
|
+
};
|
|
11
|
+
gather?: {
|
|
12
|
+
attendanceMethodMap: {
|
|
13
|
+
[AttendanceMethod.InPerson]?: boolean;
|
|
14
|
+
[AttendanceMethod.Live]?: boolean;
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
};
|
|
18
|
+
export default InferredWeekSchedule;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const AttendanceMethod_1 = __importDefault(require("../AttendanceMethod"));
|
|
7
|
+
//# sourceMappingURL=InferredWeekSchedule.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InferredWeekSchedule.js","sourceRoot":"","sources":["../../../src/Engagement/InferredEngagementSchedule/InferredWeekSchedule.ts"],"names":[],"mappings":";;;;;AAAA,2EAAmD"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import InferredWeekSchedule from './InferredWeekSchedule';
|
|
2
|
+
/**
|
|
3
|
+
* A schedule with average user engagement for each week in the course. The
|
|
4
|
+
* schedule is generated based on the engagement data of the students in the
|
|
5
|
+
* course.
|
|
6
|
+
* @author Allison Zhang
|
|
7
|
+
*/
|
|
8
|
+
type InferredEngagementSchedule = {
|
|
9
|
+
courseId: number;
|
|
10
|
+
scheduleByWeek: {
|
|
11
|
+
[week: string]: InferredWeekSchedule;
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
export default InferredEngagementSchedule;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Engagement/InferredEngagementSchedule/index.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Different types of programming languages
|
|
3
|
+
* @author Gabe Abrams
|
|
4
|
+
*/
|
|
5
|
+
declare enum ProgrammingLanguage {
|
|
6
|
+
None = "None",
|
|
7
|
+
Python = "Python",
|
|
8
|
+
Java = "Java",
|
|
9
|
+
CPP = "CPP",
|
|
10
|
+
JavaScript = "JavaScript",
|
|
11
|
+
TypeScript = "TypeScript",
|
|
12
|
+
HTML = "HTML",
|
|
13
|
+
CSS = "CSS"
|
|
14
|
+
}
|
|
15
|
+
export default ProgrammingLanguage;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
/**
|
|
4
|
+
* Different types of programming languages
|
|
5
|
+
* @author Gabe Abrams
|
|
6
|
+
*/
|
|
7
|
+
var ProgrammingLanguage;
|
|
8
|
+
(function (ProgrammingLanguage) {
|
|
9
|
+
// Generic code with no language (just monospace, not highlighted)
|
|
10
|
+
ProgrammingLanguage["None"] = "None";
|
|
11
|
+
// Python
|
|
12
|
+
ProgrammingLanguage["Python"] = "Python";
|
|
13
|
+
// Java
|
|
14
|
+
ProgrammingLanguage["Java"] = "Java";
|
|
15
|
+
// C++
|
|
16
|
+
ProgrammingLanguage["CPP"] = "CPP";
|
|
17
|
+
// JavaScript
|
|
18
|
+
ProgrammingLanguage["JavaScript"] = "JavaScript";
|
|
19
|
+
// TypeScript
|
|
20
|
+
ProgrammingLanguage["TypeScript"] = "TypeScript";
|
|
21
|
+
// HTML
|
|
22
|
+
ProgrammingLanguage["HTML"] = "HTML";
|
|
23
|
+
// CSS
|
|
24
|
+
ProgrammingLanguage["CSS"] = "CSS";
|
|
25
|
+
})(ProgrammingLanguage || (ProgrammingLanguage = {}));
|
|
26
|
+
exports.default = ProgrammingLanguage;
|
|
27
|
+
//# sourceMappingURL=ProgrammingLanguage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProgrammingLanguage.js","sourceRoot":"","sources":["../../src/Engagement/ProgrammingLanguage.ts"],"names":[],"mappings":";;AAAA;;;GAGG;AACH,IAAK,mBAiBJ;AAjBD,WAAK,mBAAmB;IACtB,kEAAkE;IAClE,oCAAa,CAAA;IACb,SAAS;IACT,wCAAiB,CAAA;IACjB,OAAO;IACP,oCAAa,CAAA;IACb,MAAM;IACN,kCAAW,CAAA;IACX,aAAa;IACb,gDAAyB,CAAA;IACzB,aAAa;IACb,gDAAyB,CAAA;IACzB,OAAO;IACP,oCAAa,CAAA;IACb,MAAM;IACN,kCAAW,CAAA;AACb,CAAC,EAjBI,mBAAmB,KAAnB,mBAAmB,QAiBvB;AAED,kBAAe,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import Drawing from './Drawing';
|
|
2
|
+
import CodeSnippet from './CodeSnippet';
|
|
3
|
+
/**
|
|
4
|
+
* Type of a response (defines all types of media that can be included)
|
|
5
|
+
* @author Gabe Abrams
|
|
6
|
+
*/
|
|
7
|
+
type ResponsePack = {
|
|
8
|
+
text?: string;
|
|
9
|
+
drawing?: Drawing;
|
|
10
|
+
codeSnippet?: CodeSnippet;
|
|
11
|
+
};
|
|
12
|
+
export default ResponsePack;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResponsePack.js","sourceRoot":"","sources":["../../src/Engagement/ResponsePack.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import ZoomPollQuestionAndAnswerType from 'zaccl/lib/types/ZoomPollQuestionAndAnswerType';
|
|
2
|
+
/**
|
|
3
|
+
* The submitted choices for a poll in a shareout post
|
|
4
|
+
* @author Yuen Ler Chow
|
|
5
|
+
*/
|
|
6
|
+
type ShareoutPostPollResult = {
|
|
7
|
+
[questionNumber: string]: ({
|
|
8
|
+
question: string;
|
|
9
|
+
} & ({
|
|
10
|
+
pollType: ZoomPollQuestionAndAnswerType.SingleChoice;
|
|
11
|
+
selectedChoice: string | undefined;
|
|
12
|
+
} | {
|
|
13
|
+
pollType: ZoomPollQuestionAndAnswerType.MultipleChoice;
|
|
14
|
+
selectedChoices: string[];
|
|
15
|
+
}));
|
|
16
|
+
};
|
|
17
|
+
export default ShareoutPostPollResult;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ShareoutPostPollResult.js","sourceRoot":"","sources":["../../src/Engagement/ShareoutPostPollResult.ts"],"names":[],"mappings":""}
|