fcad-core-dragon 2.0.0-beta.1 → 2.0.0-beta.3

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 (118) hide show
  1. package/.editorconfig +33 -33
  2. package/.eslintignore +29 -29
  3. package/{.eslintrc.js → .eslintrc.cjs} +81 -86
  4. package/CHANGELOG +364 -364
  5. package/README.md +71 -71
  6. package/bk.scss +117 -0
  7. package/package.json +61 -63
  8. package/src/$locales/en.json +143 -179
  9. package/src/$locales/fr.json +105 -181
  10. package/src/assets/data/onboardingMessages.json +47 -47
  11. package/src/components/AppBase.vue +1054 -614
  12. package/src/components/AppBaseButton.vue +87 -63
  13. package/src/components/AppBaseErrorDisplay.vue +438 -420
  14. package/src/components/AppBaseFlipCard.vue +84 -83
  15. package/src/components/AppBaseModule.vue +1673 -1842
  16. package/src/components/AppBasePage.vue +779 -312
  17. package/src/components/AppBasePopover.vue +41 -0
  18. package/src/components/AppCompAudio.vue +234 -0
  19. package/src/components/AppCompBranchButtons.vue +552 -582
  20. package/src/components/AppCompButtonProgress.vue +126 -147
  21. package/src/components/AppCompCarousel.vue +298 -192
  22. package/src/components/AppCompInputCheckBoxNext.vue +195 -0
  23. package/src/components/AppCompInputDropdownNext.vue +159 -0
  24. package/src/components/AppCompInputRadioNext.vue +152 -0
  25. package/src/components/{AppCompInputTextBox.vue → AppCompInputTextNext.vue} +106 -91
  26. package/src/components/AppCompInputTextTableNext.vue +141 -0
  27. package/src/components/AppCompInputTextToFillDropdownNext.vue +230 -0
  28. package/src/components/{AppCompInputTextToFillText.vue → AppCompInputTextToFillNext.vue} +171 -164
  29. package/src/components/AppCompJauge.vue +74 -55
  30. package/src/components/AppCompMenu.vue +413 -209
  31. package/src/components/AppCompMenuItem.vue +228 -174
  32. package/src/components/AppCompNavigation.vue +960 -949
  33. package/src/components/AppCompNoteCall.vue +133 -126
  34. package/src/components/AppCompNoteCredit.vue +292 -164
  35. package/src/components/AppCompPlayBar.vue +1218 -1319
  36. package/src/components/AppCompPlayBarNext.vue +2052 -0
  37. package/src/components/AppCompPlayBarProgress.vue +82 -0
  38. package/src/components/AppCompPopUpNext.vue +503 -0
  39. package/src/components/{AppCompQuiz.vue → AppCompQuizNext.vue} +2904 -2989
  40. package/src/components/AppCompQuizRecall.vue +276 -250
  41. package/src/components/AppCompSVGNext.vue +347 -0
  42. package/src/components/AppCompSettingsMenu.vue +172 -171
  43. package/src/components/AppCompTableOfContent.vue +387 -264
  44. package/src/components/AppCompTranscript.vue +24 -19
  45. package/src/components/AppCompVideoPlayer.vue +368 -336
  46. package/src/components/AppCompViewDisplay.vue +6 -6
  47. package/src/components/BaseModule.vue +72 -67
  48. package/src/composables/useQuiz.js +206 -0
  49. package/src/externalComps/ModuleView.vue +22 -0
  50. package/src/externalComps/SummaryView.vue +91 -0
  51. package/src/main.js +272 -227
  52. package/src/mixins/$mediaMixins.js +819 -0
  53. package/src/mixins/timerMixin.js +155 -156
  54. package/src/module/stores/appStore.js +893 -0
  55. package/src/module/xapi/ADL.js +376 -339
  56. package/src/module/xapi/Crypto/Hasher.js +241 -241
  57. package/src/module/xapi/Crypto/WordArray.js +278 -278
  58. package/src/module/xapi/Crypto/algorithms/BufferedBlockAlgorithm.js +103 -103
  59. package/src/module/xapi/Crypto/algorithms/C_algo.js +315 -319
  60. package/src/module/xapi/Crypto/algorithms/HMAC.js +9 -9
  61. package/src/module/xapi/Crypto/algorithms/SHA1.js +9 -9
  62. package/src/module/xapi/Crypto/encoders/Base.js +105 -105
  63. package/src/module/xapi/Crypto/encoders/Base64.js +99 -99
  64. package/src/module/xapi/Crypto/encoders/Hex.js +61 -61
  65. package/src/module/xapi/Crypto/encoders/Latin1.js +61 -61
  66. package/src/module/xapi/Crypto/encoders/Utf8.js +45 -45
  67. package/src/module/xapi/Crypto/index.js +53 -53
  68. package/src/module/xapi/Statement/activity.js +47 -47
  69. package/src/module/xapi/Statement/agent.js +55 -55
  70. package/src/module/xapi/Statement/group.js +26 -26
  71. package/src/module/xapi/Statement/index.js +259 -259
  72. package/src/module/xapi/Statement/statement.js +253 -253
  73. package/src/module/xapi/Statement/statementRef.js +23 -23
  74. package/src/module/xapi/Statement/substatement.js +22 -22
  75. package/src/module/xapi/Statement/verb.js +36 -36
  76. package/src/module/xapi/activitytypes.js +17 -17
  77. package/src/module/xapi/launch.js +157 -157
  78. package/src/module/xapi/utils.js +167 -167
  79. package/src/module/xapi/verbs.js +294 -294
  80. package/src/module/xapi/wrapper.js +1963 -1890
  81. package/src/module/xapi/xapiStatement.js +444 -444
  82. package/src/plugins/bus.js +8 -3
  83. package/src/plugins/gsap.js +14 -17
  84. package/src/plugins/helper.js +308 -295
  85. package/src/plugins/i18n.js +44 -31
  86. package/src/plugins/idb.js +219 -212
  87. package/src/plugins/save.js +37 -37
  88. package/src/plugins/scorm.js +287 -287
  89. package/src/plugins/xapi.js +11 -11
  90. package/src/public/index.html +33 -21
  91. package/src/router/index.js +43 -41
  92. package/src/router/routes.js +312 -337
  93. package/src/shared/generalfuncs.js +210 -188
  94. package/src/shared/validators.js +1069 -249
  95. package/vite.config.js +27 -0
  96. package/.prettierrc.js +0 -5
  97. package/babel.config.js +0 -3
  98. package/src/components/AppBaseDragChoice.vue +0 -91
  99. package/src/components/AppBaseDropZone.vue +0 -112
  100. package/src/components/AppCompBif.vue +0 -120
  101. package/src/components/AppCompDragAndDrop.vue +0 -339
  102. package/src/components/AppCompInputAssociation.vue +0 -332
  103. package/src/components/AppCompInputCheckBox.vue +0 -227
  104. package/src/components/AppCompInputDropdown.vue +0 -184
  105. package/src/components/AppCompInputRadio.vue +0 -169
  106. package/src/components/AppCompInputTextTable.vue +0 -155
  107. package/src/components/AppCompInputTextToFillDropdown.vue +0 -255
  108. package/src/components/AppCompMediaPlayer.vue +0 -397
  109. package/src/components/AppCompPopUp.vue +0 -522
  110. package/src/components/AppCompPopover.vue +0 -27
  111. package/src/components/AppCompSVG.vue +0 -309
  112. package/src/mixins/$pageMixins.js +0 -459
  113. package/src/mixins/$quizMixins.js +0 -456
  114. package/src/module/store.js +0 -895
  115. package/src/plugins/timeManager.js +0 -77
  116. package/src/routes_bckp.js +0 -313
  117. package/src/routes_static.js +0 -344
  118. package/vue.config.js +0 -83
@@ -1,9 +1,9 @@
1
- //import { WordArray } from './WordArray'
2
- import { C_algo } from './C_algo'
3
- /**
4
- * SHA-1 hash algorithm.
5
- */
6
- export const SHA1 = function() {
7
- let sha1 = C_algo().SHA1
8
- return sha1
9
- }
1
+ //import { WordArray } from './WordArray'
2
+ import { C_algo } from './C_algo'
3
+ /**
4
+ * SHA-1 hash algorithm.
5
+ */
6
+ export const SHA1 = function () {
7
+ let sha1 = C_algo().SHA1
8
+ return sha1
9
+ }
@@ -1,105 +1,105 @@
1
- /**
2
- * Base object for prototypal inheritance.
3
- */
4
- export const Base = {
5
- F: function() {},
6
- /**
7
- * Creates a new object that inherits from this object.
8
- * @param {Object} overrides Properties to copy into the new object.
9
- * @return {Object} The new object.
10
- * @static
11
- * @example
12
- * var MyType = CryptoJS.lib.Base.extend({
13
- * field: 'value',
14
- *
15
- * method: function () {
16
- * }
17
- * });
18
- */
19
- extend: function(overrides) {
20
- // Spawn
21
- this.F.prototype = this
22
- var subtype = new this.F()
23
-
24
- // Augment
25
- if (overrides) {
26
- subtype.mixIn(overrides)
27
- }
28
-
29
- // Create default initializer
30
- // if (!subtype.hasOwnProperty('init')) {
31
- if (!Object.prototype.hasOwnProperty.call(subtype, 'init')) {
32
- subtype.init = function() {
33
- subtype.$super.init.apply(this, arguments)
34
- }
35
- }
36
-
37
- // Initializer's prototype is the subtype object
38
- subtype.init.prototype = subtype
39
-
40
- // Reference supertype
41
- subtype.$super = this
42
-
43
- return subtype
44
- },
45
-
46
- /**
47
- * Extends this object and runs the init method.
48
- * Arguments to create() will be passed to init().
49
- * @return {Object} The new object.
50
- * @static
51
- * @example
52
- * var instance = MyType.create();
53
- */
54
- create: function() {
55
- var instance = this.extend()
56
- instance.init.apply(instance, arguments)
57
-
58
- return instance
59
- },
60
-
61
- /**
62
- * Initializes a newly created object.
63
- * Override this method to add some logic when your objects are created.
64
- * @example
65
- * var MyType = CryptoJS.lib.Base.extend({
66
- * init: function () {
67
- * // ...
68
- * }
69
- * });
70
- */
71
- init: function() {},
72
-
73
- /**
74
- * Copies properties into this object.
75
- * @param {Object} properties The properties to mix in.
76
- * @example
77
- * MyType.mixIn({
78
- * field: 'value'
79
- * });
80
- */
81
- mixIn: function(properties) {
82
- for (var propertyName in properties) {
83
- // if (properties.hasOwnProperty(propertyName)) {
84
- if (Object.prototype.hasOwnProperty.call(properties, propertyName)) {
85
- this[propertyName] = properties[propertyName]
86
- }
87
- }
88
-
89
- // IE won't copy toString using the loop above
90
- //if (properties.hasOwnProperty('toString')) {
91
- if (Object.prototype.hasOwnProperty.call(properties, 'toString')) {
92
- this.toString = properties.toString
93
- }
94
- },
95
-
96
- /**
97
- * Creates a copy of this object.
98
- * @return {Object} The clone.
99
- * @example
100
- * var clone = instance.clone();
101
- */
102
- clone: function() {
103
- return this.init.prototype.extend(this)
104
- }
105
- }
1
+ /**
2
+ * Base object for prototypal inheritance.
3
+ */
4
+ export const Base = {
5
+ F: function () {},
6
+ /**
7
+ * Creates a new object that inherits from this object.
8
+ * @param {Object} overrides Properties to copy into the new object.
9
+ * @return {Object} The new object.
10
+ * @static
11
+ * @example
12
+ * var MyType = CryptoJS.lib.Base.extend({
13
+ * field: 'value',
14
+ *
15
+ * method: function () {
16
+ * }
17
+ * });
18
+ */
19
+ extend: function (overrides) {
20
+ // Spawn
21
+ this.F.prototype = this
22
+ var subtype = new this.F()
23
+
24
+ // Augment
25
+ if (overrides) {
26
+ subtype.mixIn(overrides)
27
+ }
28
+
29
+ // Create default initializer
30
+ // if (!subtype.hasOwnProperty('init')) {
31
+ if (!Object.prototype.hasOwnProperty.call(subtype, 'init')) {
32
+ subtype.init = function () {
33
+ subtype.$super.init.apply(this, arguments)
34
+ }
35
+ }
36
+
37
+ // Initializer's prototype is the subtype object
38
+ subtype.init.prototype = subtype
39
+
40
+ // Reference supertype
41
+ subtype.$super = this
42
+
43
+ return subtype
44
+ },
45
+
46
+ /**
47
+ * Extends this object and runs the init method.
48
+ * Arguments to create() will be passed to init().
49
+ * @return {Object} The new object.
50
+ * @static
51
+ * @example
52
+ * var instance = MyType.create();
53
+ */
54
+ create: function () {
55
+ var instance = this.extend()
56
+ instance.init.apply(instance, arguments)
57
+
58
+ return instance
59
+ },
60
+
61
+ /**
62
+ * Initializes a newly created object.
63
+ * Override this method to add some logic when your objects are created.
64
+ * @example
65
+ * var MyType = CryptoJS.lib.Base.extend({
66
+ * init: function () {
67
+ * // ...
68
+ * }
69
+ * });
70
+ */
71
+ init: function () {},
72
+
73
+ /**
74
+ * Copies properties into this object.
75
+ * @param {Object} properties The properties to mix in.
76
+ * @example
77
+ * MyType.mixIn({
78
+ * field: 'value'
79
+ * });
80
+ */
81
+ mixIn: function (properties) {
82
+ for (var propertyName in properties) {
83
+ // if (properties.hasOwnProperty(propertyName)) {
84
+ if (Object.prototype.hasOwnProperty.call(properties, propertyName)) {
85
+ this[propertyName] = properties[propertyName]
86
+ }
87
+ }
88
+
89
+ // IE won't copy toString using the loop above
90
+ //if (properties.hasOwnProperty('toString')) {
91
+ if (Object.prototype.hasOwnProperty.call(properties, 'toString')) {
92
+ this.toString = properties.toString
93
+ }
94
+ },
95
+
96
+ /**
97
+ * Creates a copy of this object.
98
+ * @return {Object} The clone.
99
+ * @example
100
+ * var clone = instance.clone();
101
+ */
102
+ clone: function () {
103
+ return this.init.prototype.extend(this)
104
+ }
105
+ }
@@ -1,99 +1,99 @@
1
- import { WordArray } from '../WordArray'
2
-
3
- /**
4
- * Base64 encoding strategy.
5
- */
6
- export const Base64 = function() {
7
- return {
8
- /**
9
- * Converts a word array to a Base64 string.
10
- *
11
- * @param {WordArray} wordArray The word array.
12
- *
13
- * @return {string} The Base64 string.
14
- *
15
- * @static
16
- *
17
- * @example
18
- *
19
- * var base64String = CryptoJS.enc.Base64.stringify(wordArray);
20
- */
21
- stringify: function(wordArray) {
22
- // Shortcuts
23
- var words = wordArray.words
24
- var sigBytes = wordArray.sigBytes
25
- var map = this._map
26
-
27
- // Clamp excess bits
28
- wordArray.clamp()
29
-
30
- // Convert
31
- var base64Chars = []
32
- for (var i = 0; i < sigBytes; i += 3) {
33
- var byte1 = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff
34
- var byte2 = (words[(i + 1) >>> 2] >>> (24 - ((i + 1) % 4) * 8)) & 0xff
35
- var byte3 = (words[(i + 2) >>> 2] >>> (24 - ((i + 2) % 4) * 8)) & 0xff
36
-
37
- var triplet = (byte1 << 16) | (byte2 << 8) | byte3
38
-
39
- for (var j = 0; j < 4 && i + j * 0.75 < sigBytes; j++) {
40
- base64Chars.push(map.charAt((triplet >>> (6 * (3 - j))) & 0x3f))
41
- }
42
- }
43
-
44
- // Add padding
45
- var paddingChar = map.charAt(64)
46
- if (paddingChar) {
47
- while (base64Chars.length % 4) {
48
- base64Chars.push(paddingChar)
49
- }
50
- }
51
-
52
- return base64Chars.join('')
53
- },
54
-
55
- /**
56
- * Converts a Base64 string to a word array.
57
- *
58
- * @param {string} base64Str The Base64 string.
59
- *
60
- * @return {WordArray} The word array.
61
- *
62
- * @static
63
- *
64
- * @example
65
- *
66
- * var wordArray = CryptoJS.enc.Base64.parse(base64String);
67
- */
68
- parse: function(base64Str) {
69
- // Shortcuts
70
- var base64StrLength = base64Str.length
71
- var map = this._map
72
-
73
- // Ignore padding
74
- var paddingChar = map.charAt(64)
75
- if (paddingChar) {
76
- var paddingIndex = base64Str.indexOf(paddingChar)
77
- if (paddingIndex != -1) {
78
- base64StrLength = paddingIndex
79
- }
80
- }
81
-
82
- // Convert
83
- var words = []
84
- var nBytes = 0
85
- for (var i = 0; i < base64StrLength; i++) {
86
- if (i % 4) {
87
- var bits1 = map.indexOf(base64Str.charAt(i - 1)) << ((i % 4) * 2)
88
- var bits2 = map.indexOf(base64Str.charAt(i)) >>> (6 - (i % 4) * 2)
89
- words[nBytes >>> 2] |= (bits1 | bits2) << (24 - (nBytes % 4) * 8)
90
- nBytes++
91
- }
92
- }
93
-
94
- return WordArray.create(words, nBytes)
95
- },
96
-
97
- _map: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='
98
- }
99
- }
1
+ import { WordArray } from '../WordArray'
2
+
3
+ /**
4
+ * Base64 encoding strategy.
5
+ */
6
+ export const Base64 = function () {
7
+ return {
8
+ /**
9
+ * Converts a word array to a Base64 string.
10
+ *
11
+ * @param {WordArray} wordArray The word array.
12
+ *
13
+ * @return {string} The Base64 string.
14
+ *
15
+ * @static
16
+ *
17
+ * @example
18
+ *
19
+ * var base64String = CryptoJS.enc.Base64.stringify(wordArray);
20
+ */
21
+ stringify: function (wordArray) {
22
+ // Shortcuts
23
+ var words = wordArray.words
24
+ var sigBytes = wordArray.sigBytes
25
+ var map = this._map
26
+
27
+ // Clamp excess bits
28
+ wordArray.clamp()
29
+
30
+ // Convert
31
+ var base64Chars = []
32
+ for (var i = 0; i < sigBytes; i += 3) {
33
+ var byte1 = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff
34
+ var byte2 = (words[(i + 1) >>> 2] >>> (24 - ((i + 1) % 4) * 8)) & 0xff
35
+ var byte3 = (words[(i + 2) >>> 2] >>> (24 - ((i + 2) % 4) * 8)) & 0xff
36
+
37
+ var triplet = (byte1 << 16) | (byte2 << 8) | byte3
38
+
39
+ for (var j = 0; j < 4 && i + j * 0.75 < sigBytes; j++) {
40
+ base64Chars.push(map.charAt((triplet >>> (6 * (3 - j))) & 0x3f))
41
+ }
42
+ }
43
+
44
+ // Add padding
45
+ var paddingChar = map.charAt(64)
46
+ if (paddingChar) {
47
+ while (base64Chars.length % 4) {
48
+ base64Chars.push(paddingChar)
49
+ }
50
+ }
51
+
52
+ return base64Chars.join('')
53
+ },
54
+
55
+ /**
56
+ * Converts a Base64 string to a word array.
57
+ *
58
+ * @param {string} base64Str The Base64 string.
59
+ *
60
+ * @return {WordArray} The word array.
61
+ *
62
+ * @static
63
+ *
64
+ * @example
65
+ *
66
+ * var wordArray = CryptoJS.enc.Base64.parse(base64String);
67
+ */
68
+ parse: function (base64Str) {
69
+ // Shortcuts
70
+ var base64StrLength = base64Str.length
71
+ var map = this._map
72
+
73
+ // Ignore padding
74
+ var paddingChar = map.charAt(64)
75
+ if (paddingChar) {
76
+ var paddingIndex = base64Str.indexOf(paddingChar)
77
+ if (paddingIndex != -1) {
78
+ base64StrLength = paddingIndex
79
+ }
80
+ }
81
+
82
+ // Convert
83
+ var words = []
84
+ var nBytes = 0
85
+ for (var i = 0; i < base64StrLength; i++) {
86
+ if (i % 4) {
87
+ var bits1 = map.indexOf(base64Str.charAt(i - 1)) << ((i % 4) * 2)
88
+ var bits2 = map.indexOf(base64Str.charAt(i)) >>> (6 - (i % 4) * 2)
89
+ words[nBytes >>> 2] |= (bits1 | bits2) << (24 - (nBytes % 4) * 8)
90
+ nBytes++
91
+ }
92
+ }
93
+
94
+ return WordArray.create(words, nBytes)
95
+ },
96
+
97
+ _map: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='
98
+ }
99
+ }
@@ -1,61 +1,61 @@
1
- import { WordArray } from '../WordArray'
2
- /**
3
- * Hex encoding strategy.
4
- */
5
- export const Hex = {
6
- /**
7
- * Converts a word array to a hex string.
8
- *
9
- * @param {WordArray} wordArray The word array.
10
- *
11
- * @return {string} The hex string.
12
- *
13
- * @static
14
- *
15
- * @example
16
- *
17
- * var hexString = CryptoJS.enc.Hex.stringify(wordArray);
18
- */
19
- stringify: function(wordArray) {
20
- // Shortcuts
21
- var words = wordArray.words
22
- var sigBytes = wordArray.sigBytes
23
-
24
- // Convert
25
- var hexChars = []
26
- for (var i = 0; i < sigBytes; i++) {
27
- var bite = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff
28
- hexChars.push((bite >>> 4).toString(16))
29
- hexChars.push((bite & 0x0f).toString(16))
30
- }
31
-
32
- return hexChars.join('')
33
- },
34
-
35
- /**
36
- * Converts a hex string to a word array.
37
- *
38
- * @param {string} hexStr The hex string.
39
- *
40
- * @return {WordArray} The word array.
41
- *
42
- * @static
43
- *
44
- * @example
45
- *
46
- * var wordArray = CryptoJS.enc.Hex.parse(hexString);
47
- */
48
- parse: function(hexStr) {
49
- // Shortcut
50
- var hexStrLength = hexStr.length
51
-
52
- // Convert
53
- var words = []
54
- for (var i = 0; i < hexStrLength; i += 2) {
55
- words[i >>> 3] |=
56
- parseInt(hexStr.substring(i, 2), 16) << (24 - (i % 8) * 4)
57
- }
58
-
59
- return new WordArray.init(words, hexStrLength / 2)
60
- }
61
- }
1
+ import { WordArray } from '../WordArray'
2
+ /**
3
+ * Hex encoding strategy.
4
+ */
5
+ export const Hex = {
6
+ /**
7
+ * Converts a word array to a hex string.
8
+ *
9
+ * @param {WordArray} wordArray The word array.
10
+ *
11
+ * @return {string} The hex string.
12
+ *
13
+ * @static
14
+ *
15
+ * @example
16
+ *
17
+ * var hexString = CryptoJS.enc.Hex.stringify(wordArray);
18
+ */
19
+ stringify: function (wordArray) {
20
+ // Shortcuts
21
+ var words = wordArray.words
22
+ var sigBytes = wordArray.sigBytes
23
+
24
+ // Convert
25
+ var hexChars = []
26
+ for (var i = 0; i < sigBytes; i++) {
27
+ var bite = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff
28
+ hexChars.push((bite >>> 4).toString(16))
29
+ hexChars.push((bite & 0x0f).toString(16))
30
+ }
31
+
32
+ return hexChars.join('')
33
+ },
34
+
35
+ /**
36
+ * Converts a hex string to a word array.
37
+ *
38
+ * @param {string} hexStr The hex string.
39
+ *
40
+ * @return {WordArray} The word array.
41
+ *
42
+ * @static
43
+ *
44
+ * @example
45
+ *
46
+ * var wordArray = CryptoJS.enc.Hex.parse(hexString);
47
+ */
48
+ parse: function (hexStr) {
49
+ // Shortcut
50
+ var hexStrLength = hexStr.length
51
+
52
+ // Convert
53
+ var words = []
54
+ for (var i = 0; i < hexStrLength; i += 2) {
55
+ words[i >>> 3] |=
56
+ parseInt(hexStr.substring(i, 2), 16) << (24 - (i % 8) * 4)
57
+ }
58
+
59
+ return new WordArray.init(words, hexStrLength / 2)
60
+ }
61
+ }
@@ -1,61 +1,61 @@
1
- import { WordArray } from '../WordArray'
2
- /**
3
- * Latin1 encoding strategy.
4
- */
5
- export const Latin1 = function() {
6
- return {
7
- /**
8
- * Converts a word array to a Latin1 string.
9
- *
10
- * @param {WordArray} wordArray The word array.
11
- *
12
- * @return {string} The Latin1 string.
13
- *
14
- * @static
15
- *
16
- * @example
17
- *
18
- * var latin1String = CryptoJS.enc.Latin1.stringify(wordArray);
19
- */
20
- stringify: function(wordArray) {
21
- // Shortcuts
22
- var words = wordArray.words
23
- var sigBytes = wordArray.sigBytes
24
-
25
- // Convert
26
- var latin1Chars = []
27
- for (var i = 0; i < sigBytes; i++) {
28
- var bite = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff
29
- latin1Chars.push(String.fromCharCode(bite))
30
- }
31
-
32
- return latin1Chars.join('')
33
- },
34
-
35
- /**
36
- * Converts a Latin1 string to a word array.
37
- *
38
- * @param {string} latin1Str The Latin1 string.
39
- *
40
- * @return {WordArray} The word array.
41
- *
42
- * @static
43
- *
44
- * @example
45
- *
46
- * var wordArray = CryptoJS.enc.Latin1.parse(latin1String);
47
- */
48
- parse: function(latin1Str) {
49
- // Shortcut
50
- var latin1StrLength = latin1Str.length
51
-
52
- // Convert
53
- var words = []
54
- for (var i = 0; i < latin1StrLength; i++) {
55
- words[i >>> 2] |= (latin1Str.charCodeAt(i) & 0xff) << (24 - (i % 4) * 8)
56
- }
57
-
58
- return new WordArray.init(words, latin1StrLength)
59
- }
60
- }
61
- }
1
+ import { WordArray } from '../WordArray'
2
+ /**
3
+ * Latin1 encoding strategy.
4
+ */
5
+ export const Latin1 = function () {
6
+ return {
7
+ /**
8
+ * Converts a word array to a Latin1 string.
9
+ *
10
+ * @param {WordArray} wordArray The word array.
11
+ *
12
+ * @return {string} The Latin1 string.
13
+ *
14
+ * @static
15
+ *
16
+ * @example
17
+ *
18
+ * var latin1String = CryptoJS.enc.Latin1.stringify(wordArray);
19
+ */
20
+ stringify: function (wordArray) {
21
+ // Shortcuts
22
+ var words = wordArray.words
23
+ var sigBytes = wordArray.sigBytes
24
+
25
+ // Convert
26
+ var latin1Chars = []
27
+ for (var i = 0; i < sigBytes; i++) {
28
+ var bite = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff
29
+ latin1Chars.push(String.fromCharCode(bite))
30
+ }
31
+
32
+ return latin1Chars.join('')
33
+ },
34
+
35
+ /**
36
+ * Converts a Latin1 string to a word array.
37
+ *
38
+ * @param {string} latin1Str The Latin1 string.
39
+ *
40
+ * @return {WordArray} The word array.
41
+ *
42
+ * @static
43
+ *
44
+ * @example
45
+ *
46
+ * var wordArray = CryptoJS.enc.Latin1.parse(latin1String);
47
+ */
48
+ parse: function (latin1Str) {
49
+ // Shortcut
50
+ var latin1StrLength = latin1Str.length
51
+
52
+ // Convert
53
+ var words = []
54
+ for (var i = 0; i < latin1StrLength; i++) {
55
+ words[i >>> 2] |= (latin1Str.charCodeAt(i) & 0xff) << (24 - (i % 4) * 8)
56
+ }
57
+
58
+ return new WordArray.init(words, latin1StrLength)
59
+ }
60
+ }
61
+ }