@quesmed/types 1.4.8 → 1.4.12

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@quesmed/types",
3
- "version": "1.4.8",
3
+ "version": "1.4.12",
4
4
  "description": "Typescript types for Quesmed",
5
5
  "main": "index.js",
6
6
  "module": "index.mjs",
@@ -98,7 +98,6 @@ exports.OSCE_MARKSHEET_MARK_FIELDS = (0, client_1.gql) `
98
98
  }
99
99
  `;
100
100
  exports.OSCE_MARKSHEET_FIELDS = (0, client_1.gql) `
101
- ${exports.OSCE_STATION_FIELDS}
102
101
  ${exports.OSCE_MARKSHEET_MARK_FIELDS}
103
102
  ${exports.OSCE_MARKSHEET_USER_FIELDS}
104
103
  fragment OsceMarksheetFields on OsceMarksheet {
@@ -107,9 +106,6 @@ exports.OSCE_MARKSHEET_FIELDS = (0, client_1.gql) `
107
106
  updatedAt
108
107
  timeTaken
109
108
  osceStationId
110
- osceStation {
111
- ...OsceStationFields
112
- }
113
109
  userId
114
110
  solo
115
111
  role
@@ -95,7 +95,6 @@ export const OSCE_MARKSHEET_MARK_FIELDS = gql `
95
95
  }
96
96
  `;
97
97
  export const OSCE_MARKSHEET_FIELDS = gql `
98
- ${OSCE_STATION_FIELDS}
99
98
  ${OSCE_MARKSHEET_MARK_FIELDS}
100
99
  ${OSCE_MARKSHEET_USER_FIELDS}
101
100
  fragment OsceMarksheetFields on OsceMarksheet {
@@ -104,9 +103,6 @@ export const OSCE_MARKSHEET_FIELDS = gql `
104
103
  updatedAt
105
104
  timeTaken
106
105
  osceStationId
107
- osceStation {
108
- ...OsceStationFields
109
- }
110
106
  userId
111
107
  solo
112
108
  role
@@ -1,4 +1,3 @@
1
- import { ApolloClient } from '@apollo/client';
2
1
  import { EOsceMarksheetAction, EOsceRoles, Id, IOsceMarksheet, IOsceMarksheetMark } from '../../../models';
3
2
  import { IOsceMatchmakingAction } from '../../subscription/osce';
4
3
  import { graphqlNormalize, RestrictedData } from '../../types';
@@ -35,11 +34,11 @@ export interface IChangeOsceRoleVar {
35
34
  export declare type IChangeOsceRoleData = RestrictedData<graphqlNormalize & IOsceMarksheet, 'changeOsceRole'>;
36
35
  export declare const MARK_OSCE_MARKSHEET_MARK: import("@apollo/client").DocumentNode;
37
36
  export interface IMarkOsceMarksheetMarkVar {
38
- osceStationMarkId: Id;
37
+ osceMarksheetMarkId: Id;
39
38
  mark: boolean;
40
39
  }
41
40
  export declare type IMarkOsceMarksheetMarkData = RestrictedData<graphqlNormalize & Partial<IOsceMarksheetMark>, 'markOsceMarksheetMark'>;
42
- export declare const optimisticMarkOsceMarksheetMark: (client: ApolloClient<any>, variables: IMarkOsceMarksheetMarkVar) => IMarkOsceMarksheetMarkData;
41
+ export declare const optimisticMarkOsceMarksheetMark: (variables: IMarkOsceMarksheetMarkVar) => IMarkOsceMarksheetMarkData;
43
42
  export declare const SELECT_OSCE_STATION: import("@apollo/client").DocumentNode;
44
43
  export interface ISelectOsceMarksheetStationVar {
45
44
  osceMarksheetId: Id;
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.LEAVE_OSCE_MARKSHEET = exports.END_OSCE_MARKSHEET = exports.OSCE_MARKSHEET_ACTIONS = exports.SAVE_OSCE_MARKSHEET = exports.PRESTART_OSCE_MARKSHEET = exports.START_OSCE_MARKSHEET = exports.SELECT_OSCE_STATION = exports.optimisticMarkOsceMarksheetMark = exports.MARK_OSCE_MARKSHEET_MARK = exports.CHANGE_OSCE_ROLE = exports.BUILD_OSCE_MARKSHEET = exports.CANCEL_OSCE_MATCHMAKING = exports.CHECK_OSCE_MATCHMAKING = exports.ACCEPT_OSCE_MATCHMAKING = exports.START_OSCE_MATCHMAKING = void 0;
4
4
  const client_1 = require("@apollo/client");
5
5
  const osce_1 = require("../../fragments/osce");
6
+ const osce_2 = require("./../../fragments/osce");
6
7
  exports.START_OSCE_MATCHMAKING = (0, client_1.gql) `
7
8
  mutation StartOsceMatchmaking($agoraId: String!) {
8
9
  restricted {
@@ -35,6 +36,7 @@ exports.CANCEL_OSCE_MATCHMAKING = (0, client_1.gql) `
35
36
  }
36
37
  `;
37
38
  exports.BUILD_OSCE_MARKSHEET = (0, client_1.gql) `
39
+ ${osce_2.OSCE_STATION_FIELDS}
38
40
  ${osce_1.OSCE_MARKSHEET_FIELDS}
39
41
  mutation BuildOsceMarksheet(
40
42
  $osceStationId: Int
@@ -48,6 +50,9 @@ exports.BUILD_OSCE_MARKSHEET = (0, client_1.gql) `
48
50
  solo: $solo
49
51
  ) {
50
52
  ...OsceMarksheetFields
53
+ osceStation {
54
+ ...OsceStationFields
55
+ }
51
56
  }
52
57
  }
53
58
  }
@@ -63,33 +68,32 @@ exports.CHANGE_OSCE_ROLE = (0, client_1.gql) `
63
68
  }
64
69
  `;
65
70
  exports.MARK_OSCE_MARKSHEET_MARK = (0, client_1.gql) `
66
- ${osce_1.OSCE_MARKSHEET_MARK_FIELDS}
67
- mutation MarkOsceMarksheetMark($osceStationMarkId: Int!, $mark: Boolean!) {
71
+ mutation MarkOsceMarksheetMark($osceMarksheetMarkId: Int!, $mark: Boolean!) {
68
72
  restricted {
69
73
  markOsceMarksheetMark(
70
- osceStationMarkId: $osceStationMarkId
74
+ osceMarksheetMarkId: $osceMarksheetMarkId
71
75
  mark: $mark
72
76
  ) {
73
- ...OsceMarksheetMarkFields
77
+ id
78
+ mark
74
79
  }
75
80
  }
76
81
  }
77
82
  `;
78
- const optimisticMarkOsceMarksheetMark = (client, variables) => {
79
- const __typename = 'OsceMarksheetMark';
80
- const markOsceMarksheetMark = client.readFragment({
81
- id: `${__typename}:${variables.osceStationMarkId}`,
82
- fragment: osce_1.OSCE_MARKSHEET_MARK_FIELDS,
83
- fragmentName: 'OsceMarksheetMarkFields',
84
- });
83
+ const optimisticMarkOsceMarksheetMark = (variables) => {
85
84
  return {
86
85
  restricted: {
87
- markOsceMarksheetMark: Object.assign(Object.assign({}, markOsceMarksheetMark), { mark: variables.mark, __typename }),
86
+ markOsceMarksheetMark: {
87
+ id: variables.osceMarksheetMarkId,
88
+ mark: variables.mark,
89
+ __typename: 'OsceMarksheetMark',
90
+ },
88
91
  },
89
92
  };
90
93
  };
91
94
  exports.optimisticMarkOsceMarksheetMark = optimisticMarkOsceMarksheetMark;
92
95
  exports.SELECT_OSCE_STATION = (0, client_1.gql) `
96
+ ${osce_2.OSCE_STATION_FIELDS}
93
97
  ${osce_1.OSCE_MARKSHEET_FIELDS}
94
98
  mutation SelectOsceMarksheetStation(
95
99
  $osceMarksheetId: Int!
@@ -101,21 +105,29 @@ exports.SELECT_OSCE_STATION = (0, client_1.gql) `
101
105
  osceStationId: $osceStationId
102
106
  ) {
103
107
  ...OsceMarksheetFields
108
+ osceStation {
109
+ ...OsceStationFields
110
+ }
104
111
  }
105
112
  }
106
113
  }
107
114
  `;
108
115
  exports.START_OSCE_MARKSHEET = (0, client_1.gql) `
116
+ ${osce_2.OSCE_STATION_FIELDS}
109
117
  ${osce_1.OSCE_MARKSHEET_FIELDS}
110
118
  mutation StartOsceMarksheet($osceMarksheetId: Int!) {
111
119
  restricted {
112
120
  startOsceMarksheet(osceMarksheetId: $osceMarksheetId) {
113
121
  ...OsceMarksheetFields
122
+ osceStation {
123
+ ...OsceStationFields
124
+ }
114
125
  }
115
126
  }
116
127
  }
117
128
  `;
118
129
  exports.PRESTART_OSCE_MARKSHEET = (0, client_1.gql) `
130
+ ${osce_2.OSCE_STATION_FIELDS}
119
131
  ${osce_1.OSCE_MARKSHEET_FIELDS}
120
132
  mutation PrestartOsceMarksheet(
121
133
  $osceMarksheetId: Int!
@@ -131,6 +143,9 @@ exports.PRESTART_OSCE_MARKSHEET = (0, client_1.gql) `
131
143
  feedbackTime: $feedbackTime
132
144
  ) {
133
145
  ...OsceMarksheetFields
146
+ osceStation {
147
+ ...OsceStationFields
148
+ }
134
149
  }
135
150
  }
136
151
  }
@@ -1,5 +1,6 @@
1
1
  import { gql } from '@apollo/client';
2
- import { OSCE_MARKSHEET_FIELDS, OSCE_MARKSHEET_MARK_FIELDS, OSCE_MATCHMAKING_ACTION_FIELDS, } from '../../fragments/osce';
2
+ import { OSCE_MARKSHEET_FIELDS, OSCE_MATCHMAKING_ACTION_FIELDS, } from '../../fragments/osce';
3
+ import { OSCE_STATION_FIELDS } from './../../fragments/osce';
3
4
  export const START_OSCE_MATCHMAKING = gql `
4
5
  mutation StartOsceMatchmaking($agoraId: String!) {
5
6
  restricted {
@@ -32,6 +33,7 @@ export const CANCEL_OSCE_MATCHMAKING = gql `
32
33
  }
33
34
  `;
34
35
  export const BUILD_OSCE_MARKSHEET = gql `
36
+ ${OSCE_STATION_FIELDS}
35
37
  ${OSCE_MARKSHEET_FIELDS}
36
38
  mutation BuildOsceMarksheet(
37
39
  $osceStationId: Int
@@ -45,6 +47,9 @@ export const BUILD_OSCE_MARKSHEET = gql `
45
47
  solo: $solo
46
48
  ) {
47
49
  ...OsceMarksheetFields
50
+ osceStation {
51
+ ...OsceStationFields
52
+ }
48
53
  }
49
54
  }
50
55
  }
@@ -60,32 +65,31 @@ export const CHANGE_OSCE_ROLE = gql `
60
65
  }
61
66
  `;
62
67
  export const MARK_OSCE_MARKSHEET_MARK = gql `
63
- ${OSCE_MARKSHEET_MARK_FIELDS}
64
- mutation MarkOsceMarksheetMark($osceStationMarkId: Int!, $mark: Boolean!) {
68
+ mutation MarkOsceMarksheetMark($osceMarksheetMarkId: Int!, $mark: Boolean!) {
65
69
  restricted {
66
70
  markOsceMarksheetMark(
67
- osceStationMarkId: $osceStationMarkId
71
+ osceMarksheetMarkId: $osceMarksheetMarkId
68
72
  mark: $mark
69
73
  ) {
70
- ...OsceMarksheetMarkFields
74
+ id
75
+ mark
71
76
  }
72
77
  }
73
78
  }
74
79
  `;
75
- export const optimisticMarkOsceMarksheetMark = (client, variables) => {
76
- const __typename = 'OsceMarksheetMark';
77
- const markOsceMarksheetMark = client.readFragment({
78
- id: `${__typename}:${variables.osceStationMarkId}`,
79
- fragment: OSCE_MARKSHEET_MARK_FIELDS,
80
- fragmentName: 'OsceMarksheetMarkFields',
81
- });
80
+ export const optimisticMarkOsceMarksheetMark = (variables) => {
82
81
  return {
83
82
  restricted: {
84
- markOsceMarksheetMark: Object.assign(Object.assign({}, markOsceMarksheetMark), { mark: variables.mark, __typename }),
83
+ markOsceMarksheetMark: {
84
+ id: variables.osceMarksheetMarkId,
85
+ mark: variables.mark,
86
+ __typename: 'OsceMarksheetMark',
87
+ },
85
88
  },
86
89
  };
87
90
  };
88
91
  export const SELECT_OSCE_STATION = gql `
92
+ ${OSCE_STATION_FIELDS}
89
93
  ${OSCE_MARKSHEET_FIELDS}
90
94
  mutation SelectOsceMarksheetStation(
91
95
  $osceMarksheetId: Int!
@@ -97,21 +101,29 @@ export const SELECT_OSCE_STATION = gql `
97
101
  osceStationId: $osceStationId
98
102
  ) {
99
103
  ...OsceMarksheetFields
104
+ osceStation {
105
+ ...OsceStationFields
106
+ }
100
107
  }
101
108
  }
102
109
  }
103
110
  `;
104
111
  export const START_OSCE_MARKSHEET = gql `
112
+ ${OSCE_STATION_FIELDS}
105
113
  ${OSCE_MARKSHEET_FIELDS}
106
114
  mutation StartOsceMarksheet($osceMarksheetId: Int!) {
107
115
  restricted {
108
116
  startOsceMarksheet(osceMarksheetId: $osceMarksheetId) {
109
117
  ...OsceMarksheetFields
118
+ osceStation {
119
+ ...OsceStationFields
120
+ }
110
121
  }
111
122
  }
112
123
  }
113
124
  `;
114
125
  export const PRESTART_OSCE_MARKSHEET = gql `
126
+ ${OSCE_STATION_FIELDS}
115
127
  ${OSCE_MARKSHEET_FIELDS}
116
128
  mutation PrestartOsceMarksheet(
117
129
  $osceMarksheetId: Int!
@@ -127,6 +139,9 @@ export const PRESTART_OSCE_MARKSHEET = gql `
127
139
  feedbackTime: $feedbackTime
128
140
  ) {
129
141
  ...OsceMarksheetFields
142
+ osceStation {
143
+ ...OsceStationFields
144
+ }
130
145
  }
131
146
  }
132
147
  }
@@ -25,21 +25,29 @@ exports.DASHBOARD_OSCE = (0, client_1.gql) `
25
25
  }
26
26
  `;
27
27
  exports.OSCE_MARKSHEETS = (0, client_1.gql) `
28
+ ${osce_2.OSCE_STATION_FIELDS}
28
29
  ${osce_1.OSCE_MARKSHEET_FIELDS}
29
30
  query OsceMarksheets($solo: Boolean!) {
30
31
  restricted {
31
32
  osceMarksheets(solo: $solo) {
32
33
  ...OsceMarksheetFields
34
+ osceStation {
35
+ ...OsceStationFields
36
+ }
33
37
  }
34
38
  }
35
39
  }
36
40
  `;
37
41
  exports.OSCE_MARKSHEET = (0, client_1.gql) `
42
+ ${osce_2.OSCE_STATION_FIELDS}
38
43
  ${osce_1.OSCE_MARKSHEET_FIELDS}
39
44
  query OsceMarksheet($id: Int!) {
40
45
  restricted {
41
46
  osceMarksheet(id: $id) {
42
47
  ...OsceMarksheetFields
48
+ osceStation {
49
+ ...OsceStationFields
50
+ }
43
51
  }
44
52
  }
45
53
  }
@@ -62,6 +70,8 @@ exports.OSCE_STATIONS = (0, client_1.gql) `
62
70
  topicIds: $topicIds
63
71
  ) {
64
72
  ...OsceStationFields
73
+ attempted
74
+ score
65
75
  }
66
76
  }
67
77
  }
@@ -22,21 +22,29 @@ export const DASHBOARD_OSCE = gql `
22
22
  }
23
23
  `;
24
24
  export const OSCE_MARKSHEETS = gql `
25
+ ${OSCE_STATION_FIELDS}
25
26
  ${OSCE_MARKSHEET_FIELDS}
26
27
  query OsceMarksheets($solo: Boolean!) {
27
28
  restricted {
28
29
  osceMarksheets(solo: $solo) {
29
30
  ...OsceMarksheetFields
31
+ osceStation {
32
+ ...OsceStationFields
33
+ }
30
34
  }
31
35
  }
32
36
  }
33
37
  `;
34
38
  export const OSCE_MARKSHEET = gql `
39
+ ${OSCE_STATION_FIELDS}
35
40
  ${OSCE_MARKSHEET_FIELDS}
36
41
  query OsceMarksheet($id: Int!) {
37
42
  restricted {
38
43
  osceMarksheet(id: $id) {
39
44
  ...OsceMarksheetFields
45
+ osceStation {
46
+ ...OsceStationFields
47
+ }
40
48
  }
41
49
  }
42
50
  }
@@ -59,6 +67,8 @@ export const OSCE_STATIONS = gql `
59
67
  topicIds: $topicIds
60
68
  ) {
61
69
  ...OsceStationFields
70
+ attempted
71
+ score
62
72
  }
63
73
  }
64
74
  }
@@ -1,6 +1,6 @@
1
1
  import { IMarksheetMark, IPrescribeAnswer, IPrescribeMark } from '../models';
2
2
  export declare function mapPrescribeMarkToAnswer(obj: IPrescribeMark): IPrescribeAnswer;
3
- export declare function formatPrescribeAnswer(obj: IPrescribeAnswer): IPrescribeAnswer;
3
+ export declare function formatPrescribeAnswer(baseAnswer: IPrescribeAnswer): IPrescribeAnswer;
4
4
  export interface ICorrectMarkData {
5
5
  correct: boolean;
6
6
  incorrect: boolean;
@@ -34,9 +34,13 @@ function mapPrescribeMarkToAnswer(obj) {
34
34
  };
35
35
  }
36
36
  exports.mapPrescribeMarkToAnswer = mapPrescribeMarkToAnswer;
37
- function formatPrescribeAnswer(obj) {
37
+ function formatPrescribeAnswer(baseAnswer) {
38
+ const obj = Object.assign(Object.assign({}, baseAnswer), { drug: Object.assign({}, baseAnswer.drug), dose: Object.assign({}, baseAnswer.dose), units: Object.assign({}, baseAnswer.units), route: Object.assign({}, baseAnswer.route), frequency: Object.assign({}, baseAnswer.frequency), duration: Object.assign({}, baseAnswer.duration) });
38
39
  obj.drug.value = obj.drug.value.toLowerCase().replace(/\s/g, '');
39
- obj.route.value = obj.route.value.toLowerCase().replace(/\s/g, '');
40
+ obj.route.value = obj.route.value
41
+ .toLowerCase()
42
+ .replace(/\s/g, '')
43
+ .replace(/\//g, '');
40
44
  if (obj.route.value === 'oral') {
41
45
  obj.route.value = 'po';
42
46
  }
@@ -62,7 +66,8 @@ function formatPrescribeAnswer(obj) {
62
66
  if (obj.units.value === 'milligram' || obj.units.value === 'milligrams') {
63
67
  obj.units.value = 'mg';
64
68
  }
65
- else if (obj.units.value === 'microgram' || obj.units.value === 'micrograms') {
69
+ else if (obj.units.value === 'microgram' ||
70
+ obj.units.value === 'micrograms') {
66
71
  obj.units.value = 'mcg';
67
72
  }
68
73
  else if (obj.units.value === 'gram' || obj.units.value === 'grams') {
@@ -91,17 +96,20 @@ function formatPrescribeAnswer(obj) {
91
96
  if (obj.frequency.value === 'once-off') {
92
97
  obj.frequency.value = 'stat';
93
98
  }
94
- else if (obj.frequency.value.includes('once') || (frequencyIncHourly && hourlyFreqInt === 24)) {
99
+ else if (obj.frequency.value.includes('once') ||
100
+ (frequencyIncHourly && hourlyFreqInt === 24)) {
95
101
  obj.frequency.value = 'od';
96
102
  }
97
- else if (obj.frequency.value.includes('nightly') || obj.frequency.value === 'on') {
103
+ else if (obj.frequency.value.includes('nightly') ||
104
+ obj.frequency.value === 'on') {
98
105
  obj.frequency.value = 'od';
99
106
  }
100
107
  else if (obj.frequency.value.includes('twice') ||
101
108
  (frequencyIncHourly && hourlyFreqInt === 12)) {
102
109
  obj.frequency.value = 'bd';
103
110
  }
104
- else if (obj.frequency.value.includes('trice') || (frequencyIncHourly && hourlyFreqInt === 8)) {
111
+ else if (obj.frequency.value.includes('trice') ||
112
+ (frequencyIncHourly && hourlyFreqInt === 8)) {
105
113
  obj.frequency.value = 'tds';
106
114
  }
107
115
  else if (frequencyIncHourly && hourlyFreqInt === 6) {
@@ -140,7 +148,9 @@ function correctMark(mark) {
140
148
  }
141
149
  }
142
150
  else if (models_1.EQuestionType.QUESTION_ANSWER === mark.question.typeId) {
143
- const answer = flatAnswer.dose.toLowerCase().replace(/\s/g, '');
151
+ const answer = flatAnswer.dose
152
+ .toLowerCase()
153
+ .replace(/\s/g, '');
144
154
  let attempt = '';
145
155
  if (flatAttempt) {
146
156
  attempt = flatAttempt.toLowerCase().replace(/\s/g, '');
@@ -161,7 +171,8 @@ function correctMark(mark) {
161
171
  Array.isArray(mark.mark[1])) {
162
172
  [attemptA, attemptB] = mark.mark.map((x) => x.sort());
163
173
  }
164
- if (answerA.length !== attemptA.length || answerB.length !== attemptB.length) {
174
+ if (answerA.length !== attemptA.length ||
175
+ answerB.length !== attemptB.length) {
165
176
  data.incorrect = true;
166
177
  }
167
178
  else if (attemptA.every((x, i) => x === answerA[i]) &&
@@ -182,7 +193,8 @@ function correctMark(mark) {
182
193
  frequency: '',
183
194
  duration: '',
184
195
  }));
185
- if (typeof flatAttempt === 'object' && Object.keys(flatAttempt).length === 6) {
196
+ if (typeof flatAttempt === 'object' &&
197
+ Object.keys(flatAttempt).length === 6) {
186
198
  attempt = formatPrescribeAnswer(mapPrescribeMarkToAnswer(flatAttempt));
187
199
  }
188
200
  let foundCorrect = false;
@@ -192,7 +204,8 @@ function correctMark(mark) {
192
204
  const drugCorrect = answer.drug.display || answer.drug.value === attempt.drug.value;
193
205
  const durationCorrect = answer.duration.display ||
194
206
  answer.duration.value.split(',').includes(attempt.duration.value);
195
- const frequencyCorrect = answer.frequency.display || answer.frequency.value === attempt.frequency.value;
207
+ const frequencyCorrect = answer.frequency.display ||
208
+ answer.frequency.value === attempt.frequency.value;
196
209
  const routeCorrect = answer.route.display || answer.route.value === attempt.route.value;
197
210
  const unitsCorrect = answer.units.display || answer.units.value === attempt.units.value;
198
211
  if (doseCorrect &&
@@ -30,9 +30,13 @@ export function mapPrescribeMarkToAnswer(obj) {
30
30
  },
31
31
  };
32
32
  }
33
- export function formatPrescribeAnswer(obj) {
33
+ export function formatPrescribeAnswer(baseAnswer) {
34
+ const obj = Object.assign(Object.assign({}, baseAnswer), { drug: Object.assign({}, baseAnswer.drug), dose: Object.assign({}, baseAnswer.dose), units: Object.assign({}, baseAnswer.units), route: Object.assign({}, baseAnswer.route), frequency: Object.assign({}, baseAnswer.frequency), duration: Object.assign({}, baseAnswer.duration) });
34
35
  obj.drug.value = obj.drug.value.toLowerCase().replace(/\s/g, '');
35
- obj.route.value = obj.route.value.toLowerCase().replace(/\s/g, '');
36
+ obj.route.value = obj.route.value
37
+ .toLowerCase()
38
+ .replace(/\s/g, '')
39
+ .replace(/\//g, '');
36
40
  if (obj.route.value === 'oral') {
37
41
  obj.route.value = 'po';
38
42
  }
@@ -58,7 +62,8 @@ export function formatPrescribeAnswer(obj) {
58
62
  if (obj.units.value === 'milligram' || obj.units.value === 'milligrams') {
59
63
  obj.units.value = 'mg';
60
64
  }
61
- else if (obj.units.value === 'microgram' || obj.units.value === 'micrograms') {
65
+ else if (obj.units.value === 'microgram' ||
66
+ obj.units.value === 'micrograms') {
62
67
  obj.units.value = 'mcg';
63
68
  }
64
69
  else if (obj.units.value === 'gram' || obj.units.value === 'grams') {
@@ -87,17 +92,20 @@ export function formatPrescribeAnswer(obj) {
87
92
  if (obj.frequency.value === 'once-off') {
88
93
  obj.frequency.value = 'stat';
89
94
  }
90
- else if (obj.frequency.value.includes('once') || (frequencyIncHourly && hourlyFreqInt === 24)) {
95
+ else if (obj.frequency.value.includes('once') ||
96
+ (frequencyIncHourly && hourlyFreqInt === 24)) {
91
97
  obj.frequency.value = 'od';
92
98
  }
93
- else if (obj.frequency.value.includes('nightly') || obj.frequency.value === 'on') {
99
+ else if (obj.frequency.value.includes('nightly') ||
100
+ obj.frequency.value === 'on') {
94
101
  obj.frequency.value = 'od';
95
102
  }
96
103
  else if (obj.frequency.value.includes('twice') ||
97
104
  (frequencyIncHourly && hourlyFreqInt === 12)) {
98
105
  obj.frequency.value = 'bd';
99
106
  }
100
- else if (obj.frequency.value.includes('trice') || (frequencyIncHourly && hourlyFreqInt === 8)) {
107
+ else if (obj.frequency.value.includes('trice') ||
108
+ (frequencyIncHourly && hourlyFreqInt === 8)) {
101
109
  obj.frequency.value = 'tds';
102
110
  }
103
111
  else if (frequencyIncHourly && hourlyFreqInt === 6) {
@@ -135,7 +143,9 @@ export function correctMark(mark) {
135
143
  }
136
144
  }
137
145
  else if (EQuestionType.QUESTION_ANSWER === mark.question.typeId) {
138
- const answer = flatAnswer.dose.toLowerCase().replace(/\s/g, '');
146
+ const answer = flatAnswer.dose
147
+ .toLowerCase()
148
+ .replace(/\s/g, '');
139
149
  let attempt = '';
140
150
  if (flatAttempt) {
141
151
  attempt = flatAttempt.toLowerCase().replace(/\s/g, '');
@@ -156,7 +166,8 @@ export function correctMark(mark) {
156
166
  Array.isArray(mark.mark[1])) {
157
167
  [attemptA, attemptB] = mark.mark.map((x) => x.sort());
158
168
  }
159
- if (answerA.length !== attemptA.length || answerB.length !== attemptB.length) {
169
+ if (answerA.length !== attemptA.length ||
170
+ answerB.length !== attemptB.length) {
160
171
  data.incorrect = true;
161
172
  }
162
173
  else if (attemptA.every((x, i) => x === answerA[i]) &&
@@ -177,7 +188,8 @@ export function correctMark(mark) {
177
188
  frequency: '',
178
189
  duration: '',
179
190
  }));
180
- if (typeof flatAttempt === 'object' && Object.keys(flatAttempt).length === 6) {
191
+ if (typeof flatAttempt === 'object' &&
192
+ Object.keys(flatAttempt).length === 6) {
181
193
  attempt = formatPrescribeAnswer(mapPrescribeMarkToAnswer(flatAttempt));
182
194
  }
183
195
  let foundCorrect = false;
@@ -187,7 +199,8 @@ export function correctMark(mark) {
187
199
  const drugCorrect = answer.drug.display || answer.drug.value === attempt.drug.value;
188
200
  const durationCorrect = answer.duration.display ||
189
201
  answer.duration.value.split(',').includes(attempt.duration.value);
190
- const frequencyCorrect = answer.frequency.display || answer.frequency.value === attempt.frequency.value;
202
+ const frequencyCorrect = answer.frequency.display ||
203
+ answer.frequency.value === attempt.frequency.value;
191
204
  const routeCorrect = answer.route.display || answer.route.value === attempt.route.value;
192
205
  const unitsCorrect = answer.units.display || answer.units.value === attempt.units.value;
193
206
  if (doseCorrect &&
package/utils/uuid4.js CHANGED
@@ -202,14 +202,9 @@ class Uuid4 {
202
202
  * @private
203
203
  */
204
204
  static _getRandomArray() {
205
- if (typeof window === 'undefined') {
206
- let crypto = require('crypto');
207
- return Uint8Array.from(crypto.randomBytes(16));
208
- }
209
- // `result` is modified in place.
210
- let result = new Uint8Array(16);
211
- window.crypto.getRandomValues(result);
212
- return result;
205
+ return Uint8Array.from(Array(16)
206
+ .fill(0)
207
+ .map(() => Math.round(Math.random() * 255)));
213
208
  }
214
209
  }
215
210
  /**
package/utils/uuid4.mjs CHANGED
@@ -200,14 +200,9 @@ class Uuid4 {
200
200
  * @private
201
201
  */
202
202
  static _getRandomArray() {
203
- if (typeof window === 'undefined') {
204
- let crypto = require('crypto');
205
- return Uint8Array.from(crypto.randomBytes(16));
206
- }
207
- // `result` is modified in place.
208
- let result = new Uint8Array(16);
209
- window.crypto.getRandomValues(result);
210
- return result;
203
+ return Uint8Array.from(Array(16)
204
+ .fill(0)
205
+ .map(() => Math.round(Math.random() * 255)));
211
206
  }
212
207
  }
213
208
  /**