fcad-core-dragon 2.1.0-beta.4 → 2.1.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/.editorconfig +8 -33
- package/.prettierrc +11 -0
- package/.vscode/extensions.json +8 -0
- package/.vscode/settings.json +16 -0
- package/CHANGELOG +20 -0
- package/eslint.config.js +60 -0
- package/package.json +9 -9
- package/src/$locales/en.json +3 -3
- package/src/$locales/fr.json +3 -3
- package/src/assets/data/onboardingMessages.json +47 -47
- package/src/components/AppBase.vue +5 -6
- package/src/components/AppBaseErrorDisplay.vue +438 -438
- package/src/components/AppBaseFlipCard.vue +84 -84
- package/src/components/AppBaseModule.vue +15 -17
- package/src/components/AppBasePage.vue +91 -8
- package/src/components/AppBasePopover.vue +41 -41
- package/src/components/AppBaseSkeleton.vue +24 -3
- package/src/components/AppCompAudio.vue +12 -2
- package/src/components/AppCompInputCheckBoxNx.vue +1 -2
- package/src/components/AppCompInputRadioNx.vue +8 -2
- package/src/components/AppCompInputTextToFillDropdownNx.vue +45 -0
- package/src/components/AppCompMenu.vue +423 -423
- package/src/components/AppCompNavigation.vue +2 -2
- package/src/components/AppCompPlayBarNext.vue +123 -94
- package/src/components/AppCompPopUpNext.vue +2 -2
- package/src/components/AppCompQuizNext.vue +12 -2
- package/src/components/AppCompQuizRecall.vue +10 -4
- package/src/components/AppCompSettingsMenu.vue +172 -172
- package/src/components/AppCompTableOfContent.vue +1 -4
- package/src/components/AppCompVideoPlayer.vue +7 -0
- package/src/components/AppCompViewDisplay.vue +6 -6
- package/src/composables/useTimer.js +17 -20
- package/src/externalComps/ModuleView.vue +22 -22
- package/src/externalComps/SummaryView.vue +91 -91
- package/src/main.js +5 -5
- package/src/module/stores/appStore.js +0 -1
- package/src/module/xapi/Crypto/Hasher.js +241 -241
- package/src/module/xapi/Crypto/WordArray.js +278 -278
- package/src/module/xapi/Crypto/algorithms/BufferedBlockAlgorithm.js +103 -103
- package/src/module/xapi/Crypto/algorithms/C_algo.js +315 -315
- package/src/module/xapi/Crypto/algorithms/HMAC.js +9 -9
- package/src/module/xapi/Crypto/algorithms/SHA1.js +9 -9
- package/src/module/xapi/Crypto/encoders/Base.js +105 -105
- package/src/module/xapi/Crypto/encoders/Base64.js +99 -99
- package/src/module/xapi/Crypto/encoders/Hex.js +61 -61
- package/src/module/xapi/Crypto/encoders/Latin1.js +61 -61
- package/src/module/xapi/Crypto/encoders/Utf8.js +45 -45
- package/src/module/xapi/Crypto/index.js +53 -53
- package/src/module/xapi/Statement/activity.js +47 -47
- package/src/module/xapi/Statement/agent.js +55 -55
- package/src/module/xapi/Statement/group.js +26 -26
- package/src/module/xapi/Statement/index.js +259 -259
- package/src/module/xapi/Statement/statement.js +253 -253
- package/src/module/xapi/Statement/statementRef.js +23 -23
- package/src/module/xapi/Statement/substatement.js +22 -22
- package/src/module/xapi/Statement/verb.js +36 -36
- package/src/module/xapi/activitytypes.js +17 -17
- package/src/module/xapi/utils.js +167 -167
- package/src/module/xapi/verbs.js +294 -294
- package/src/module/xapi/xapiStatement.js +444 -444
- package/src/plugins/analytics.js +4 -4
- package/src/plugins/bus.js +8 -8
- package/src/plugins/gsap.js +4 -2
- package/src/plugins/helper.js +8 -4
- package/src/plugins/save.js +37 -37
- package/src/plugins/scorm.js +287 -287
- package/src/plugins/xapi.js +11 -11
- package/src/public/index.html +33 -33
- package/src/router/index.js +1 -1
- package/src/shared/validators.js +22 -6
- package/.eslintignore +0 -29
- package/.eslintrc.cjs +0 -81
- package/bk.scss +0 -117
|
@@ -1,45 +1,45 @@
|
|
|
1
|
-
import { Latin1 } from './Latin1'
|
|
2
|
-
/**
|
|
3
|
-
* UTF-8 encoding strategy.
|
|
4
|
-
*/
|
|
5
|
-
export const Utf8 = function () {
|
|
6
|
-
return {
|
|
7
|
-
/**
|
|
8
|
-
* Converts a word array to a UTF-8 string.
|
|
9
|
-
*
|
|
10
|
-
* @param {WordArray} wordArray The word array.
|
|
11
|
-
*
|
|
12
|
-
* @return {string} The UTF-8 string.
|
|
13
|
-
*
|
|
14
|
-
* @static
|
|
15
|
-
*
|
|
16
|
-
* @example
|
|
17
|
-
*
|
|
18
|
-
* var utf8String = CryptoJS.enc.Utf8.stringify(wordArray);
|
|
19
|
-
*/
|
|
20
|
-
stringify: function (wordArray) {
|
|
21
|
-
try {
|
|
22
|
-
return decodeURIComponent(escape(Latin1.stringify(wordArray)))
|
|
23
|
-
} catch (e) {
|
|
24
|
-
throw new Error('Malformed UTF-8 data')
|
|
25
|
-
}
|
|
26
|
-
},
|
|
27
|
-
|
|
28
|
-
/**
|
|
29
|
-
* Converts a UTF-8 string to a word array.
|
|
30
|
-
*
|
|
31
|
-
* @param {string} utf8Str The UTF-8 string.
|
|
32
|
-
*
|
|
33
|
-
* @return {WordArray} The word array.
|
|
34
|
-
*
|
|
35
|
-
* @static
|
|
36
|
-
*
|
|
37
|
-
* @example
|
|
38
|
-
*
|
|
39
|
-
* var wordArray = CryptoJS.enc.Utf8.parse(utf8String);
|
|
40
|
-
*/
|
|
41
|
-
parse: function (utf8Str) {
|
|
42
|
-
return Latin1.parse(unescape(encodeURIComponent(utf8Str)))
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
}
|
|
1
|
+
import { Latin1 } from './Latin1'
|
|
2
|
+
/**
|
|
3
|
+
* UTF-8 encoding strategy.
|
|
4
|
+
*/
|
|
5
|
+
export const Utf8 = function () {
|
|
6
|
+
return {
|
|
7
|
+
/**
|
|
8
|
+
* Converts a word array to a UTF-8 string.
|
|
9
|
+
*
|
|
10
|
+
* @param {WordArray} wordArray The word array.
|
|
11
|
+
*
|
|
12
|
+
* @return {string} The UTF-8 string.
|
|
13
|
+
*
|
|
14
|
+
* @static
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
*
|
|
18
|
+
* var utf8String = CryptoJS.enc.Utf8.stringify(wordArray);
|
|
19
|
+
*/
|
|
20
|
+
stringify: function (wordArray) {
|
|
21
|
+
try {
|
|
22
|
+
return decodeURIComponent(escape(Latin1.stringify(wordArray)))
|
|
23
|
+
} catch (e) {
|
|
24
|
+
throw new Error('Malformed UTF-8 data')
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Converts a UTF-8 string to a word array.
|
|
30
|
+
*
|
|
31
|
+
* @param {string} utf8Str The UTF-8 string.
|
|
32
|
+
*
|
|
33
|
+
* @return {WordArray} The word array.
|
|
34
|
+
*
|
|
35
|
+
* @static
|
|
36
|
+
*
|
|
37
|
+
* @example
|
|
38
|
+
*
|
|
39
|
+
* var wordArray = CryptoJS.enc.Utf8.parse(utf8String);
|
|
40
|
+
*/
|
|
41
|
+
parse: function (utf8Str) {
|
|
42
|
+
return Latin1.parse(unescape(encodeURIComponent(utf8Str)))
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
@@ -1,53 +1,53 @@
|
|
|
1
|
-
import { Hasher } from './Hasher'
|
|
2
|
-
import { Hex } from './encoders/Hex'
|
|
3
|
-
import { SHA1 } from './algorithms/SHA1'
|
|
4
|
-
import { Base } from './encoders/Base'
|
|
5
|
-
import { Base64 } from './encoders/Base64'
|
|
6
|
-
import { Utf8 } from './encoders/Utf8'
|
|
7
|
-
import { WordArray } from './WordArray'
|
|
8
|
-
import { C_algo } from './algorithms/C_algo'
|
|
9
|
-
import { Latin1 } from './encoders/Latin1'
|
|
10
|
-
import { BufferedBlockAlgorithm } from './algorithms/BufferedBlockAlgorithm'
|
|
11
|
-
|
|
12
|
-
let C = {}
|
|
13
|
-
C.lib = {
|
|
14
|
-
Base: Base,
|
|
15
|
-
BufferedBlockAlgorithm: BufferedBlockAlgorithm,
|
|
16
|
-
Hasher: Hasher,
|
|
17
|
-
WordArray: WordArray
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* Encoder namespace.
|
|
21
|
-
*/
|
|
22
|
-
C.enc = { Base64: Base64(), Hex: Hex, Latin1: Latin1(), Utf8: Utf8() }
|
|
23
|
-
/**
|
|
24
|
-
* Algorithm namespace.
|
|
25
|
-
*/
|
|
26
|
-
C.algo = C_algo()
|
|
27
|
-
|
|
28
|
-
/**
|
|
29
|
-
* Shortcut function to the hasher's object interface.
|
|
30
|
-
* @param {WordArray|string} message The message to hash.
|
|
31
|
-
* @return {WordArray} The hash.
|
|
32
|
-
* @static
|
|
33
|
-
* @example
|
|
34
|
-
* var hash = CryptoJS.SHA1('message');
|
|
35
|
-
* var hash = CryptoJS.SHA1(wordArray);
|
|
36
|
-
*/
|
|
37
|
-
C.SHA1 = Hasher._createHelper(SHA1)
|
|
38
|
-
|
|
39
|
-
/**
|
|
40
|
-
* Shortcut function to the HMAC's object interface.
|
|
41
|
-
* @param {WordArray|string} message The message to hash.
|
|
42
|
-
* @param {WordArray|string} key The secret key.
|
|
43
|
-
* @return {WordArray} The HMAC.
|
|
44
|
-
* @static
|
|
45
|
-
* @example
|
|
46
|
-
* var hmac = CryptoJS.HmacSHA1(message, key);
|
|
47
|
-
*/
|
|
48
|
-
|
|
49
|
-
C.HmacSHA1 = Hasher._createHmacHelper(SHA1)
|
|
50
|
-
C.HmacSHA256 = Hasher._createHmacHelper(C.algo.SHA256)
|
|
51
|
-
|
|
52
|
-
//Exporting C as the CryptoJS Library
|
|
53
|
-
export { C as CryptoJS }
|
|
1
|
+
import { Hasher } from './Hasher'
|
|
2
|
+
import { Hex } from './encoders/Hex'
|
|
3
|
+
import { SHA1 } from './algorithms/SHA1'
|
|
4
|
+
import { Base } from './encoders/Base'
|
|
5
|
+
import { Base64 } from './encoders/Base64'
|
|
6
|
+
import { Utf8 } from './encoders/Utf8'
|
|
7
|
+
import { WordArray } from './WordArray'
|
|
8
|
+
import { C_algo } from './algorithms/C_algo'
|
|
9
|
+
import { Latin1 } from './encoders/Latin1'
|
|
10
|
+
import { BufferedBlockAlgorithm } from './algorithms/BufferedBlockAlgorithm'
|
|
11
|
+
|
|
12
|
+
let C = {}
|
|
13
|
+
C.lib = {
|
|
14
|
+
Base: Base,
|
|
15
|
+
BufferedBlockAlgorithm: BufferedBlockAlgorithm,
|
|
16
|
+
Hasher: Hasher,
|
|
17
|
+
WordArray: WordArray
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Encoder namespace.
|
|
21
|
+
*/
|
|
22
|
+
C.enc = { Base64: Base64(), Hex: Hex, Latin1: Latin1(), Utf8: Utf8() }
|
|
23
|
+
/**
|
|
24
|
+
* Algorithm namespace.
|
|
25
|
+
*/
|
|
26
|
+
C.algo = C_algo()
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Shortcut function to the hasher's object interface.
|
|
30
|
+
* @param {WordArray|string} message The message to hash.
|
|
31
|
+
* @return {WordArray} The hash.
|
|
32
|
+
* @static
|
|
33
|
+
* @example
|
|
34
|
+
* var hash = CryptoJS.SHA1('message');
|
|
35
|
+
* var hash = CryptoJS.SHA1(wordArray);
|
|
36
|
+
*/
|
|
37
|
+
C.SHA1 = Hasher._createHelper(SHA1)
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Shortcut function to the HMAC's object interface.
|
|
41
|
+
* @param {WordArray|string} message The message to hash.
|
|
42
|
+
* @param {WordArray|string} key The secret key.
|
|
43
|
+
* @return {WordArray} The HMAC.
|
|
44
|
+
* @static
|
|
45
|
+
* @example
|
|
46
|
+
* var hmac = CryptoJS.HmacSHA1(message, key);
|
|
47
|
+
*/
|
|
48
|
+
|
|
49
|
+
C.HmacSHA1 = Hasher._createHmacHelper(SHA1)
|
|
50
|
+
C.HmacSHA256 = Hasher._createHmacHelper(C.algo.SHA256)
|
|
51
|
+
|
|
52
|
+
//Exporting C as the CryptoJS Library
|
|
53
|
+
export { C as CryptoJS }
|
|
@@ -1,47 +1,47 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Describes an object that an agent interacts with
|
|
3
|
-
* @param {string} id The unique activity IRI
|
|
4
|
-
* @param {string} name An English-language identifier for the activity, or a Language Map
|
|
5
|
-
* @param {string} description An English-language description of the activity, or a Language Map
|
|
6
|
-
*/
|
|
7
|
-
export default class Activity {
|
|
8
|
-
constructor(id, name, description) {
|
|
9
|
-
// if first arg is activity, copy everything over
|
|
10
|
-
if (id && id.id) {
|
|
11
|
-
var act = id
|
|
12
|
-
for (var i in act) {
|
|
13
|
-
this[i] = act[i]
|
|
14
|
-
}
|
|
15
|
-
return
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
this.objectType = 'Activity'
|
|
19
|
-
this.id = id
|
|
20
|
-
|
|
21
|
-
if (name || description) {
|
|
22
|
-
this.definition = {}
|
|
23
|
-
|
|
24
|
-
if (typeof name === 'string' || name instanceof String)
|
|
25
|
-
this.definition.name = { 'en-US': name }
|
|
26
|
-
else if (name) this.definition.name = name
|
|
27
|
-
|
|
28
|
-
if (typeof description === 'string' || description instanceof String)
|
|
29
|
-
this.definition.description = { 'en-US': description }
|
|
30
|
-
else if (description) this.definition.description = description
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
toString() {
|
|
35
|
-
if (
|
|
36
|
-
this.definition &&
|
|
37
|
-
this.definition.name &&
|
|
38
|
-
(this.definition.name['en-US'] || this.definition.name['en'])
|
|
39
|
-
)
|
|
40
|
-
return this.definition.name['en-US'] || this.definition.name['en']
|
|
41
|
-
else return this.id
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
isValid() {
|
|
45
|
-
return this.id && (!this.objectType || this.objectType === 'Activity')
|
|
46
|
-
}
|
|
47
|
-
}
|
|
1
|
+
/*
|
|
2
|
+
* Describes an object that an agent interacts with
|
|
3
|
+
* @param {string} id The unique activity IRI
|
|
4
|
+
* @param {string} name An English-language identifier for the activity, or a Language Map
|
|
5
|
+
* @param {string} description An English-language description of the activity, or a Language Map
|
|
6
|
+
*/
|
|
7
|
+
export default class Activity {
|
|
8
|
+
constructor(id, name, description) {
|
|
9
|
+
// if first arg is activity, copy everything over
|
|
10
|
+
if (id && id.id) {
|
|
11
|
+
var act = id
|
|
12
|
+
for (var i in act) {
|
|
13
|
+
this[i] = act[i]
|
|
14
|
+
}
|
|
15
|
+
return
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
this.objectType = 'Activity'
|
|
19
|
+
this.id = id
|
|
20
|
+
|
|
21
|
+
if (name || description) {
|
|
22
|
+
this.definition = {}
|
|
23
|
+
|
|
24
|
+
if (typeof name === 'string' || name instanceof String)
|
|
25
|
+
this.definition.name = { 'en-US': name }
|
|
26
|
+
else if (name) this.definition.name = name
|
|
27
|
+
|
|
28
|
+
if (typeof description === 'string' || description instanceof String)
|
|
29
|
+
this.definition.description = { 'en-US': description }
|
|
30
|
+
else if (description) this.definition.description = description
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
toString() {
|
|
35
|
+
if (
|
|
36
|
+
this.definition &&
|
|
37
|
+
this.definition.name &&
|
|
38
|
+
(this.definition.name['en-US'] || this.definition.name['en'])
|
|
39
|
+
)
|
|
40
|
+
return this.definition.name['en-US'] || this.definition.name['en']
|
|
41
|
+
else return this.id
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
isValid() {
|
|
45
|
+
return this.id && (!this.objectType || this.objectType === 'Activity')
|
|
46
|
+
}
|
|
47
|
+
}
|
|
@@ -1,55 +1,55 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Provides an easy constructor for xAPI agent objects
|
|
3
|
-
* @param {string} identifier One of the Inverse Functional Identifiers specified in the spec.
|
|
4
|
-
* That is, an email, a hashed email, an OpenID, or an account object.
|
|
5
|
-
* See (https://github.com/adlnet/xAPI-Spec/blob/master/xAPI.md#inversefunctional)
|
|
6
|
-
* @param {string} [name] The natural-language name of the agent
|
|
7
|
-
*/
|
|
8
|
-
|
|
9
|
-
export default class Agent {
|
|
10
|
-
constructor(identifier, name) {
|
|
11
|
-
this.objectType = 'Agent'
|
|
12
|
-
this.name = name
|
|
13
|
-
|
|
14
|
-
// figure out what type of identifier was given
|
|
15
|
-
if (
|
|
16
|
-
identifier &&
|
|
17
|
-
(identifier.mbox ||
|
|
18
|
-
identifier.mbox_sha1sum ||
|
|
19
|
-
identifier.openid ||
|
|
20
|
-
identifier.account)
|
|
21
|
-
) {
|
|
22
|
-
for (var i in identifier) {
|
|
23
|
-
this[i] = identifier[i]
|
|
24
|
-
}
|
|
25
|
-
} else if (/^mailto:/.test(identifier)) {
|
|
26
|
-
this.mbox = identifier
|
|
27
|
-
} else if (/^[0-9a-f]{40}$/i.test(identifier)) {
|
|
28
|
-
this.mbox_sha1sum = identifier
|
|
29
|
-
} else if (/^http[s]?:/.test(identifier)) {
|
|
30
|
-
this.openid = identifier
|
|
31
|
-
} else if (identifier && identifier.homePage && identifier.name) {
|
|
32
|
-
this.account = identifier
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
toString() {
|
|
37
|
-
return (
|
|
38
|
-
this.name ||
|
|
39
|
-
this.mbox ||
|
|
40
|
-
this.openid ||
|
|
41
|
-
this.mbox_sha1sum ||
|
|
42
|
-
this.account.name
|
|
43
|
-
)
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
isValid() {
|
|
47
|
-
return (
|
|
48
|
-
this.mbox ||
|
|
49
|
-
this.mbox_sha1sum ||
|
|
50
|
-
this.openid ||
|
|
51
|
-
(this.account.homePage && this.account.name) ||
|
|
52
|
-
(this.objectType === 'Group' && this.member)
|
|
53
|
-
)
|
|
54
|
-
}
|
|
55
|
-
}
|
|
1
|
+
/*
|
|
2
|
+
* Provides an easy constructor for xAPI agent objects
|
|
3
|
+
* @param {string} identifier One of the Inverse Functional Identifiers specified in the spec.
|
|
4
|
+
* That is, an email, a hashed email, an OpenID, or an account object.
|
|
5
|
+
* See (https://github.com/adlnet/xAPI-Spec/blob/master/xAPI.md#inversefunctional)
|
|
6
|
+
* @param {string} [name] The natural-language name of the agent
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
export default class Agent {
|
|
10
|
+
constructor(identifier, name) {
|
|
11
|
+
this.objectType = 'Agent'
|
|
12
|
+
this.name = name
|
|
13
|
+
|
|
14
|
+
// figure out what type of identifier was given
|
|
15
|
+
if (
|
|
16
|
+
identifier &&
|
|
17
|
+
(identifier.mbox ||
|
|
18
|
+
identifier.mbox_sha1sum ||
|
|
19
|
+
identifier.openid ||
|
|
20
|
+
identifier.account)
|
|
21
|
+
) {
|
|
22
|
+
for (var i in identifier) {
|
|
23
|
+
this[i] = identifier[i]
|
|
24
|
+
}
|
|
25
|
+
} else if (/^mailto:/.test(identifier)) {
|
|
26
|
+
this.mbox = identifier
|
|
27
|
+
} else if (/^[0-9a-f]{40}$/i.test(identifier)) {
|
|
28
|
+
this.mbox_sha1sum = identifier
|
|
29
|
+
} else if (/^http[s]?:/.test(identifier)) {
|
|
30
|
+
this.openid = identifier
|
|
31
|
+
} else if (identifier && identifier.homePage && identifier.name) {
|
|
32
|
+
this.account = identifier
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
toString() {
|
|
37
|
+
return (
|
|
38
|
+
this.name ||
|
|
39
|
+
this.mbox ||
|
|
40
|
+
this.openid ||
|
|
41
|
+
this.mbox_sha1sum ||
|
|
42
|
+
this.account.name
|
|
43
|
+
)
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
isValid() {
|
|
47
|
+
return (
|
|
48
|
+
this.mbox ||
|
|
49
|
+
this.mbox_sha1sum ||
|
|
50
|
+
this.openid ||
|
|
51
|
+
(this.account.homePage && this.account.name) ||
|
|
52
|
+
(this.objectType === 'Group' && this.member)
|
|
53
|
+
)
|
|
54
|
+
}
|
|
55
|
+
}
|
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* A type of agent, can contain multiple agents
|
|
3
|
-
* @param {string} [identifier] (optional if `members` specified) See Agent.
|
|
4
|
-
* @param {string} [members] An array of Agents describing the membership of the group
|
|
5
|
-
* @param {string} [name] The natural-language name of the agent
|
|
6
|
-
*/
|
|
7
|
-
import Agent from './agent'
|
|
8
|
-
//export default class Group extends Agent { ???
|
|
9
|
-
export default class Group {
|
|
10
|
-
constructor(identifier, members, name) {
|
|
11
|
-
//super(identifier, name)
|
|
12
|
-
Agent.call(this, identifier, name)
|
|
13
|
-
this.objectType = 'Group'
|
|
14
|
-
this.member = members
|
|
15
|
-
this.prototype = new Agent()
|
|
16
|
-
}
|
|
17
|
-
//==================================
|
|
18
|
-
|
|
19
|
-
// var Group = function(identifier, members, name) {
|
|
20
|
-
// Agent.call(this, identifier, name)
|
|
21
|
-
// this.member = members
|
|
22
|
-
// this.objectType = 'Group'
|
|
23
|
-
// }
|
|
24
|
-
// Group.prototype = new Agent()
|
|
25
|
-
//==================================
|
|
26
|
-
}
|
|
1
|
+
/*
|
|
2
|
+
* A type of agent, can contain multiple agents
|
|
3
|
+
* @param {string} [identifier] (optional if `members` specified) See Agent.
|
|
4
|
+
* @param {string} [members] An array of Agents describing the membership of the group
|
|
5
|
+
* @param {string} [name] The natural-language name of the agent
|
|
6
|
+
*/
|
|
7
|
+
import Agent from './agent'
|
|
8
|
+
//export default class Group extends Agent { ???
|
|
9
|
+
export default class Group {
|
|
10
|
+
constructor(identifier, members, name) {
|
|
11
|
+
//super(identifier, name)
|
|
12
|
+
Agent.call(this, identifier, name)
|
|
13
|
+
this.objectType = 'Group'
|
|
14
|
+
this.member = members
|
|
15
|
+
this.prototype = new Agent()
|
|
16
|
+
}
|
|
17
|
+
//==================================
|
|
18
|
+
|
|
19
|
+
// var Group = function(identifier, members, name) {
|
|
20
|
+
// Agent.call(this, identifier, name)
|
|
21
|
+
// this.member = members
|
|
22
|
+
// this.objectType = 'Group'
|
|
23
|
+
// }
|
|
24
|
+
// Group.prototype = new Agent()
|
|
25
|
+
//==================================
|
|
26
|
+
}
|