fcad-core-dragon 2.1.1 → 2.1.2

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.
Files changed (160) hide show
  1. package/.editorconfig +7 -7
  2. package/.gitlab-ci.yml +124 -0
  3. package/.prettierrc +11 -11
  4. package/.vscode/extensions.json +8 -8
  5. package/.vscode/settings.json +46 -16
  6. package/CHANGELOG +520 -520
  7. package/README.md +57 -57
  8. package/documentation/.vitepress/config.js +114 -114
  9. package/documentation/api-examples.md +49 -49
  10. package/documentation/composants/app-base-button.md +58 -58
  11. package/documentation/composants/app-base-error-display.md +59 -59
  12. package/documentation/composants/app-base-popover.md +68 -68
  13. package/documentation/composants/app-comp-audio.md +75 -75
  14. package/documentation/composants/app-comp-branch-buttons.md +111 -111
  15. package/documentation/composants/app-comp-button-progress.md +53 -53
  16. package/documentation/composants/app-comp-carousel.md +53 -53
  17. package/documentation/composants/app-comp-container.md +53 -53
  18. package/documentation/composants/app-comp-input-checkbox-next.md +42 -42
  19. package/documentation/composants/app-comp-input-dropdown-next.md +34 -34
  20. package/documentation/composants/app-comp-input-radio-next.md +39 -39
  21. package/documentation/composants/app-comp-input-text-next.md +35 -35
  22. package/documentation/composants/app-comp-input-text-table-next.md +34 -34
  23. package/documentation/composants/app-comp-input-text-to-fill-dropdown-next.md +53 -53
  24. package/documentation/composants/app-comp-input-text-to-fill-next.md +31 -31
  25. package/documentation/composants/app-comp-jauge.md +31 -31
  26. package/documentation/composants/app-comp-menu-item.md +55 -55
  27. package/documentation/composants/app-comp-menu.md +29 -29
  28. package/documentation/composants/app-comp-navigation.md +41 -41
  29. package/documentation/composants/app-comp-note-call.md +53 -53
  30. package/documentation/composants/app-comp-note-credit.md +53 -53
  31. package/documentation/composants/app-comp-play-bar-next.md +53 -53
  32. package/documentation/composants/app-comp-pop-up-next.md +93 -93
  33. package/documentation/composants/app-comp-quiz-next.md +235 -235
  34. package/documentation/composants/app-comp-quiz-recall.md +53 -53
  35. package/documentation/composants/app-comp-svg-next.md +53 -53
  36. package/documentation/composants/app-comp-table-of-content.md +50 -50
  37. package/documentation/composants/app-comp-video-player.md +82 -82
  38. package/documentation/composants.md +46 -46
  39. package/documentation/composants_critiques/ModelPageComposant.md +53 -53
  40. package/documentation/composants_critiques/app-base-module.md +43 -43
  41. package/documentation/composants_critiques/app-base-page.md +48 -48
  42. package/documentation/composants_critiques/app-base.md +311 -311
  43. package/documentation/composants_critiques/main.md +15 -15
  44. package/documentation/demarrage.md +50 -50
  45. package/documentation/deploiement.md +57 -57
  46. package/documentation/index.md +33 -33
  47. package/documentation/markdown-examples.md +85 -85
  48. package/documentation/public/vite.svg +14 -14
  49. package/documentation/public/vuejs.svg +1 -1
  50. package/documentation/public/vuetify.svg +5 -5
  51. package/eslint.config.js +60 -60
  52. package/junit-report.xml +182 -0
  53. package/package.json +66 -59
  54. package/playwright/index.html +12 -0
  55. package/playwright/index.js +21 -0
  56. package/playwright-ct.config.js +95 -0
  57. package/src/$locales/en.json +157 -157
  58. package/src/$locales/fr.json +120 -120
  59. package/src/assets/data/onboardingMessages.json +47 -47
  60. package/src/components/AppBase.vue +1171 -1169
  61. package/src/components/AppBaseButton.vue +90 -95
  62. package/src/components/AppBaseErrorDisplay.vue +438 -438
  63. package/src/components/AppBaseFlipCard.vue +84 -84
  64. package/src/components/AppBaseModule.vue +1639 -1634
  65. package/src/components/AppBasePage.vue +867 -866
  66. package/src/components/AppBasePopover.vue +41 -41
  67. package/src/components/AppBaseSkeleton.vue +66 -66
  68. package/src/components/AppCompAudio.vue +261 -256
  69. package/src/components/AppCompBranchButtons.vue +508 -508
  70. package/src/components/AppCompButtonProgress.vue +137 -132
  71. package/src/components/AppCompCarousel.vue +342 -336
  72. package/src/components/AppCompContainer.vue +29 -29
  73. package/src/components/AppCompInputCheckBoxNx.vue +325 -323
  74. package/src/components/AppCompInputDropdownNx.vue +302 -299
  75. package/src/components/AppCompInputRadioNx.vue +287 -284
  76. package/src/components/AppCompInputTextNx.vue +156 -153
  77. package/src/components/AppCompInputTextTableNx.vue +205 -202
  78. package/src/components/AppCompInputTextToFillDropdownNx.vue +343 -340
  79. package/src/components/AppCompInputTextToFillNx.vue +316 -313
  80. package/src/components/AppCompJauge.vue +81 -81
  81. package/src/components/AppCompMenu.vue +6 -1
  82. package/src/components/AppCompMenuItem.vue +246 -240
  83. package/src/components/AppCompNavigation.vue +977 -972
  84. package/src/components/AppCompNoteCall.vue +167 -161
  85. package/src/components/AppCompNoteCredit.vue +496 -491
  86. package/src/components/AppCompPlayBarNext.vue +2290 -2288
  87. package/src/components/AppCompPopUpNext.vue +508 -504
  88. package/src/components/AppCompQuizNext.vue +515 -510
  89. package/src/components/AppCompQuizRecall.vue +355 -350
  90. package/src/components/AppCompSVGNext.vue +346 -346
  91. package/src/components/AppCompSettingsMenu.vue +177 -172
  92. package/src/components/AppCompTableOfContent.vue +433 -427
  93. package/src/components/AppCompVideoPlayer.vue +377 -377
  94. package/src/components/AppCompViewDisplay.vue +6 -6
  95. package/src/components/BaseModule.vue +55 -55
  96. package/src/composables/useIdleDetector.js +56 -56
  97. package/src/composables/useQuiz.js +89 -89
  98. package/src/composables/useTimer.js +172 -172
  99. package/src/directives/nvdaFix.js +53 -53
  100. package/src/externalComps/ModuleView.vue +22 -22
  101. package/src/externalComps/SummaryView.vue +91 -91
  102. package/src/main.js +493 -476
  103. package/src/module/stores/appStore.js +960 -947
  104. package/src/module/xapi/ADL.js +520 -520
  105. package/src/module/xapi/Crypto/Hasher.js +241 -241
  106. package/src/module/xapi/Crypto/WordArray.js +278 -278
  107. package/src/module/xapi/Crypto/algorithms/BufferedBlockAlgorithm.js +103 -103
  108. package/src/module/xapi/Crypto/algorithms/C_algo.js +315 -315
  109. package/src/module/xapi/Crypto/algorithms/HMAC.js +9 -9
  110. package/src/module/xapi/Crypto/algorithms/SHA1.js +9 -9
  111. package/src/module/xapi/Crypto/encoders/Base.js +105 -105
  112. package/src/module/xapi/Crypto/encoders/Base64.js +99 -99
  113. package/src/module/xapi/Crypto/encoders/Hex.js +61 -61
  114. package/src/module/xapi/Crypto/encoders/Latin1.js +61 -61
  115. package/src/module/xapi/Crypto/encoders/Utf8.js +45 -45
  116. package/src/module/xapi/Crypto/index.js +53 -53
  117. package/src/module/xapi/Statement/activity.js +47 -47
  118. package/src/module/xapi/Statement/agent.js +55 -55
  119. package/src/module/xapi/Statement/group.js +26 -26
  120. package/src/module/xapi/Statement/index.js +259 -259
  121. package/src/module/xapi/Statement/statement.js +253 -253
  122. package/src/module/xapi/Statement/statementRef.js +23 -23
  123. package/src/module/xapi/Statement/substatement.js +22 -22
  124. package/src/module/xapi/Statement/verb.js +36 -36
  125. package/src/module/xapi/activitytypes.js +17 -17
  126. package/src/module/xapi/launch.js +157 -157
  127. package/src/module/xapi/utils.js +167 -167
  128. package/src/module/xapi/verbs.js +294 -294
  129. package/src/module/xapi/wrapper.js +1895 -1895
  130. package/src/module/xapi/xapiStatement.js +444 -444
  131. package/src/plugins/analytics.js +34 -34
  132. package/src/plugins/bus.js +12 -8
  133. package/src/plugins/gsap.js +17 -17
  134. package/src/plugins/helper.js +355 -358
  135. package/src/plugins/i18n.js +27 -26
  136. package/src/plugins/idb.js +227 -227
  137. package/src/plugins/save.js +37 -37
  138. package/src/plugins/scorm.js +287 -287
  139. package/src/plugins/xapi.js +11 -11
  140. package/src/public/index.html +33 -33
  141. package/src/router/index.js +57 -57
  142. package/src/router/routes.js +312 -312
  143. package/src/shared/generalfuncs.js +344 -344
  144. package/src/shared/validators.js +1018 -1018
  145. package/tests/component/AppBaseButton.spec.js +53 -0
  146. package/tests/component/pinia.spec.js +24 -0
  147. package/{src/components/tests__ → tests/unit}/AppBaseButton.spec.js +53 -53
  148. package/tests/unit/AppCompInputCheckBoxNx.spec.js +59 -0
  149. package/tests/unit/AppCompInputDropdownNx.spec.js +51 -0
  150. package/tests/unit/AppCompInputRadioNx.spec.js +59 -0
  151. package/tests/unit/AppCompInputTextNx.spec.js +44 -0
  152. package/tests/unit/AppCompInputTextTableNx.spec.js +77 -0
  153. package/tests/unit/AppCompInputTextToFillDropdownNx.spec.js +60 -0
  154. package/tests/unit/AppCompInputTextToFillNx.spec.js +45 -0
  155. package/tests/unit/AppCompQuizNext.spec.js +114 -0
  156. package/tests/unit/AppCompVideoPlayer.spec.js +177 -0
  157. package/{src/components/tests__ → tests/unit}/useTimer.spec.js +91 -91
  158. package/vitest.config.js +28 -19
  159. package/vitest.setup.js +28 -0
  160. package/src/components/AppBaseButton.test.js +0 -21
@@ -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
+ }