@lookit/record 0.0.3 → 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/README.md CHANGED
@@ -21,6 +21,8 @@ const videoConfig = { type: chsRecord.VideoConfigPlugin };
21
21
 
22
22
  ### Parameters
23
23
 
24
+ #### Optional
25
+
24
26
  **`troubleshooting_intro` [HTML String]**
25
27
 
26
28
  Optional text to add at the start of the "Setup tips and troubleshooting"
@@ -48,9 +50,9 @@ const jsPsych = initJsPsych({
48
50
  });
49
51
  ```
50
52
 
51
- Next, create a video configuration trial as described above. Add trial recording
52
- to the extensions parameter of the trial that needs to be recorded. Any trial
53
- you design can be recorded by add this extension.
53
+ Next, create a video configuration trial as described above. Then, add the trial
54
+ recoding extension parameter to your trial. By adding this extension, you can
55
+ record any trial you design.
54
56
 
55
57
  ```javascript
56
58
  const trialRec = {
@@ -149,14 +151,74 @@ const videoConsent = {
149
151
 
150
152
  ### Parameters
151
153
 
152
- #### Standard fields
154
+ Parameter names are shown below, along with their type and default value. If the
155
+ default value is _undefined_, then a value is required for that parameter.
156
+
157
+ #### Required
158
+
159
+ **`PIName` [String | _undefined_]**
160
+
161
+ Name of PI running this study.
162
+
163
+ **`institution` [String | _undefined_]**
164
+
165
+ Name of institution running this study (if ambiguous, list institution whose IRB
166
+ approved the study).
167
+
168
+ **`PIContact` [String | _undefined_]**
169
+
170
+ Contact information for PI or lab in case of participant questions or concerns.
171
+ This will directly follow the phrase “please contact”, so format accordingly:
172
+ e.g., “the XYZ lab at xyz@science.edu” or “Mary Smith at 123 456 7890”.
173
+
174
+ **`payment` [String | _undefined_]**
175
+
176
+ Statement about payment/compensation for participation, including a statement
177
+ that there are no additional benefits anticipated to the participant. E.g.,
178
+ “After you finish the study, we will email you a $5 BabyStore gift card within
179
+ approximately three days. To be eligible for the gift card your child must be in
180
+ the age range for this study, you need to submit a valid consent statement, and
181
+ we need to see that there is a child with you. But we will send a gift card even
182
+ if you do not finish the whole study or we are not able to use your child’s
183
+ data! There are no other direct benefits to you or your child from
184
+ participating, but we hope you will enjoy the experience.”
185
+
186
+ This section is by default titled “Are there any benefits to your family?”; it
187
+ should only include information about benefits and compensation. If your IRB
188
+ prefers to combine risk/benefit information, you can change this to something
189
+ like “What are the risks and benefits if you participate?” and include both
190
+ here, then omit the risk_statement.
191
+
192
+ **`procedures` [String | _undefined_]**
193
+
194
+ Brief description of study procedures. For consent templates 001 and 002, this
195
+ should include any risks or a statement that there are no anticipated risks.
196
+ (For consent template 003, that is included in payment). We add a statement
197
+ about the duration (from your study definition) to the start (e.g., “This study
198
+ takes about 10 minutes to complete”), so you don’t need to include that. It can
199
+ be in third person or addressed to the parent. E.g., “Your child will be shown
200
+ pictures of lots of different cats, along with noises that cats make like
201
+ meowing and purring. We are interested in which pictures and sounds make your
202
+ child smile. We will ask you (the parent) to turn around to avoid influencing
203
+ your child’s responses. There are no anticipated risks associated with
204
+ participating.”
205
+
206
+ **`purpose` [String | _undefined_]**
207
+
208
+ Brief description of purpose of study - 1-2 sentences that describe what you are
209
+ trying to find out. Language should be as straightforward and accessible as
210
+ possible! E.g., “Why do babies love cats? This study will help us find out
211
+ whether babies love cats because of their soft fur or their twitchy tails.”
212
+
213
+ #### Optional
153
214
 
154
215
  **`locale` [String | "en-us"]**
155
216
 
156
- Set this parameter to the languages 2 letter code. In some cases, a regional
157
- code will have to be provided as well. For example, we currently support english
158
- only from the US region. Therefore, to get the US english translation you would
159
- put "en-US" for the locale. We support the following language codes:
217
+ Optional parameter to set a two-letter language code for translation. In some
218
+ cases, a regional code will have to be provided as well. For example, we
219
+ currently support english only from the US region. Therefore, to get the US
220
+ english translation you would put "en-US" for the locale. We support the
221
+ following language codes:
160
222
 
161
223
  | Language | Region | Code |
162
224
  | -------------- | ------ | ----- |
@@ -170,16 +232,22 @@ put "en-US" for the locale. We support the following language codes:
170
232
  | Portuguese | Brazil | pt-BR |
171
233
  | Portuguese | | pt |
172
234
 
173
- **`additional_video_privacy_statement` [String]**
235
+ **`template` [String | "consent_005"]**
236
+
237
+ Which consent document template to use. If you are setting up a new study, we
238
+ recommend using the most recent (highest number) of these options. Options:
239
+ `consent_005`
240
+
241
+ **`additional_video_privacy_statement` [String | ""]**
174
242
 
175
243
  Optional additional text for under header “Who can see our webcam recordings”.
176
244
  For cases where researchers ask for other specific permission to share videos,
177
245
  separate from the exit survey, or want to provide more detail or different
178
246
  language about Databrary sharing.
179
247
 
180
- **`datause` [String]**
248
+ **`datause` [String | ""]**
181
249
 
182
- Study-specific data use statement (optional). This will follow more general text
250
+ Optional study-specific data use statement. This will follow more general text
183
251
  like: “The research group led by [PIName] at [institution] will have access to
184
252
  video and other data collected during this session. We will also have access to
185
253
  your account profile, demographic survey, and the child profile for the child
@@ -200,56 +268,23 @@ single planned study).
200
268
 
201
269
  Whether to include a section on GDPR.
202
270
 
203
- **`gdpr_personal_data` [String]**
271
+ **`gdpr_personal_data` [String | ""]**
204
272
 
205
273
  List of types of personal information collected, for GDPR section only. Do not
206
274
  include special category information, which is listed separately.
207
275
 
208
- **`gdpr_sensitive_data` [String]**
276
+ **`gdpr_sensitive_data` [String | ""]**
209
277
 
210
278
  List of types of special category information collected, for GDPR section only.
211
279
  Include all that apply: racial or ethnic origin; political opinions; religious
212
280
  or philosophical beliefs; trade union membership; processing of genetic data;
213
- biometric data; health data; and/or sex life or sexual orientation information
214
-
215
- **`PIName` [String]**
216
-
217
- Name of PI running this study
281
+ biometric data; health data; and/or sex life or sexual orientation information.
218
282
 
219
283
  **`include_databrary` [Boolean | false]**
220
284
 
221
285
  Whether to include a paragraph about Databrary under “Who can see our webcam
222
286
  recordings?”.
223
287
 
224
- **`institution` [String]**
225
-
226
- Name of institution running this study (if ambiguous, list institution whose IRB
227
- approved the study)’
228
-
229
- **`PIContact` [String]**
230
-
231
- Contact information for PI or lab in case of participant questions or concerns.
232
- This will directly follow the phrase “please contact”, so format accordingly:
233
- e.g., “the XYZ lab at xyz@science.edu” or “Mary Smith at 123 456 7890”.
234
-
235
- **`payment` [String]**
236
-
237
- Statement about payment/compensation for participation, including a statement
238
- that there are no additional benefits anticipated to the participant. E.g.,
239
- “After you finish the study, we will email you a $5 BabyStore gift card within
240
- approximately three days. To be eligible for the gift card your child must be in
241
- the age range for this study, you need to submit a valid consent statement, and
242
- we need to see that there is a child with you. But we will send a gift card even
243
- if you do not finish the whole study or we are not able to use your child’s
244
- data! There are no other direct benefits to you or your child from
245
- participating, but we hope you will enjoy the experience.”
246
-
247
- This section is by default titled “Are there any benefits to your family?”; it
248
- should only include information about benefits and compensation. If your IRB
249
- prefers to combine risk/benefit information, you can change this to something
250
- like “What are the risks and benefits if you participate?” and include both
251
- here, then omit the risk_statement.
252
-
253
288
  **`private_level_only` [Boolean | false]**
254
289
 
255
290
  Whether to describe only the “private” video privacy level under the heading
@@ -258,28 +293,7 @@ IRB has a hard restriction against even offering participants the option to
258
293
  share their videos more broadly, and in conjunction with the corresponding
259
294
  restriction of options in the exit survey!
260
295
 
261
- **`procedures` [String]**
262
-
263
- Brief description of study procedures. For consent templates 001 and 002, this
264
- should include any risks or a statement that there are no anticipated risks.
265
- (For consent template 003, that is included in payment). We add a statement
266
- about the duration (from your study definition) to the start (e.g., “This study
267
- takes about 10 minutes to complete”), so you don’t need to include that. It can
268
- be in third person or addressed to the parent. E.g., “Your child will be shown
269
- pictures of lots of different cats, along with noises that cats make like
270
- meowing and purring. We are interested in which pictures and sounds make your
271
- child smile. We will ask you (the parent) to turn around to avoid influencing
272
- your child’s responses. There are no anticipated risks associated with
273
- participating.”
274
-
275
- **`purpose` [String]**
276
-
277
- Brief description of purpose of study - 1-2 sentences that describe what you are
278
- trying to find out. Language should be as straightforward and accessible as
279
- possible! E.g., “Why do babies love cats? This study will help us find out
280
- whether babies love cats because of their soft fur or their twitchy tails.”
281
-
282
- **`research_rights_statement` [String]**
296
+ **`research_rights_statement` [String | ""]**
283
297
 
284
298
  Statement about rights of research subjects and how to contact IRB. For
285
299
  instance, MIT’s standard language is: You are not waiving any legal claims,
@@ -287,12 +301,12 @@ rights or remedies because of your participation in this research study. If you
287
301
  feel you have been treated unfairly, or you have questions regarding your rights
288
302
  as a research subject, you may contact [CONTACT INFO].
289
303
 
290
- **`risk_statement` [String]**
304
+ **`risk_statement` [String | ""]**
291
305
 
292
306
  Optional statement; if provided, it is displayed under a header “Are there any
293
307
  risks if you participate?”.
294
308
 
295
- **`voluntary_participation` [String]**
309
+ **`voluntary_participation` [String | ""]**
296
310
 
297
311
  Optional additional text for under header “Participation is voluntary”. E.g.,
298
312
  “There are two sessions in this study; you will be invited to complete another
@@ -310,27 +324,27 @@ in the Terms of Use! If it really won’t be possible to use Lookit without maki
310
324
  more changes, please let us know before using the following fields to further
311
325
  customize the consent form:
312
326
 
313
- **`purpose_header` [String]**
327
+ **`purpose_header` [String | ""]**
314
328
 
315
329
  Custom alternate header for the section on study purpose.
316
330
 
317
- **`procedures_header` [String]**
331
+ **`procedures_header` [String | ""]**
318
332
 
319
333
  Custom alternate header for the section on study procedures.
320
334
 
321
- **`participation_header` [String]**
335
+ **`participation_header` [String | ""]**
322
336
 
323
337
  Custom alternate header for the section on participation being voluntary.
324
338
 
325
- **`benefits_header` [String]**
339
+ **`benefits_header` [String | ""]**
326
340
 
327
341
  Custom alternate header for the section on benefits/compensation.
328
342
 
329
- **`risk_header` [String]**
343
+ **`risk_header` [String | ""]**
330
344
 
331
345
  Custom alternate header for risks section.
332
346
 
333
- **`summary_statement` [String]**
347
+ **`summary_statement` [String | ""]**
334
348
 
335
349
  Statement inserted at the beginning of the consent form, right after
336
350
  “Researchers led by … are running this study … on Lookit.” Please only use this
@@ -366,7 +380,7 @@ Whether to prompt only the adult for consent for themselves to participate,
366
380
  rather than also referencing a child. This is for occasional studies running an
367
381
  adult comparison group.
368
382
 
369
- **`consent_statement_text` [String]**
383
+ **`consent_statement_text` [String | ""]**
370
384
 
371
385
  Replace the default spoken consent statement with your custom text.
372
386
 
@@ -5,7 +5,7 @@ declare const info: {
5
5
  readonly parameters: {
6
6
  readonly template: {
7
7
  readonly type: ParameterType.STRING;
8
- readonly default: "consent_005";
8
+ readonly default: "consent-template-5";
9
9
  };
10
10
  readonly locale: {
11
11
  readonly type: ParameterType.STRING;
@@ -33,7 +33,7 @@ declare const info: {
33
33
  };
34
34
  readonly PIName: {
35
35
  readonly type: ParameterType.STRING;
36
- readonly default: "";
36
+ readonly default: undefined;
37
37
  };
38
38
  readonly include_databrary: {
39
39
  readonly type: ParameterType.BOOL;
@@ -41,15 +41,15 @@ declare const info: {
41
41
  };
42
42
  readonly institution: {
43
43
  readonly type: ParameterType.STRING;
44
- readonly default: "";
44
+ readonly default: undefined;
45
45
  };
46
46
  readonly PIContact: {
47
47
  readonly type: ParameterType.STRING;
48
- readonly default: "";
48
+ readonly default: undefined;
49
49
  };
50
50
  readonly payment: {
51
51
  readonly type: ParameterType.STRING;
52
- readonly default: "";
52
+ readonly default: undefined;
53
53
  };
54
54
  readonly private_level_only: {
55
55
  readonly type: ParameterType.BOOL;
@@ -57,11 +57,11 @@ declare const info: {
57
57
  };
58
58
  readonly procedures: {
59
59
  readonly type: ParameterType.STRING;
60
- readonly default: "";
60
+ readonly default: undefined;
61
61
  };
62
62
  readonly purpose: {
63
63
  readonly type: ParameterType.STRING;
64
- readonly default: "";
64
+ readonly default: undefined;
65
65
  };
66
66
  readonly research_rights_statement: {
67
67
  readonly type: ParameterType.STRING;
@@ -102,15 +102,16 @@ declare const info: {
102
102
  readonly additional_segments: {
103
103
  readonly type: ParameterType.COMPLEX;
104
104
  readonly array: true;
105
+ readonly default: readonly [];
105
106
  readonly nested: {
106
107
  readonly title: {
107
108
  readonly type: ParameterType.STRING;
108
109
  readonly default: "";
109
110
  };
110
- };
111
- readonly text: {
112
- readonly type: ParameterType.STRING;
113
- readonly default: "";
111
+ readonly text: {
112
+ readonly type: ParameterType.STRING;
113
+ readonly default: "";
114
+ };
114
115
  };
115
116
  };
116
117
  readonly prompt_all_adults: {
@@ -141,7 +142,7 @@ export declare class VideoConsentPlugin implements JsPsychPlugin<Info> {
141
142
  readonly parameters: {
142
143
  readonly template: {
143
144
  readonly type: ParameterType.STRING;
144
- readonly default: "consent_005";
145
+ readonly default: "consent-template-5";
145
146
  };
146
147
  readonly locale: {
147
148
  readonly type: ParameterType.STRING;
@@ -169,7 +170,7 @@ export declare class VideoConsentPlugin implements JsPsychPlugin<Info> {
169
170
  };
170
171
  readonly PIName: {
171
172
  readonly type: ParameterType.STRING;
172
- readonly default: "";
173
+ readonly default: undefined;
173
174
  };
174
175
  readonly include_databrary: {
175
176
  readonly type: ParameterType.BOOL;
@@ -177,15 +178,15 @@ export declare class VideoConsentPlugin implements JsPsychPlugin<Info> {
177
178
  };
178
179
  readonly institution: {
179
180
  readonly type: ParameterType.STRING;
180
- readonly default: "";
181
+ readonly default: undefined;
181
182
  };
182
183
  readonly PIContact: {
183
184
  readonly type: ParameterType.STRING;
184
- readonly default: "";
185
+ readonly default: undefined;
185
186
  };
186
187
  readonly payment: {
187
188
  readonly type: ParameterType.STRING;
188
- readonly default: "";
189
+ readonly default: undefined;
189
190
  };
190
191
  readonly private_level_only: {
191
192
  readonly type: ParameterType.BOOL;
@@ -193,11 +194,11 @@ export declare class VideoConsentPlugin implements JsPsychPlugin<Info> {
193
194
  };
194
195
  readonly procedures: {
195
196
  readonly type: ParameterType.STRING;
196
- readonly default: "";
197
+ readonly default: undefined;
197
198
  };
198
199
  readonly purpose: {
199
200
  readonly type: ParameterType.STRING;
200
- readonly default: "";
201
+ readonly default: undefined;
201
202
  };
202
203
  readonly research_rights_statement: {
203
204
  readonly type: ParameterType.STRING;
@@ -238,15 +239,16 @@ export declare class VideoConsentPlugin implements JsPsychPlugin<Info> {
238
239
  readonly additional_segments: {
239
240
  readonly type: ParameterType.COMPLEX;
240
241
  readonly array: true;
242
+ readonly default: readonly [];
241
243
  readonly nested: {
242
244
  readonly title: {
243
245
  readonly type: ParameterType.STRING;
244
246
  readonly default: "";
245
247
  };
246
- };
247
- readonly text: {
248
- readonly type: ParameterType.STRING;
249
- readonly default: "";
248
+ readonly text: {
249
+ readonly type: ParameterType.STRING;
250
+ readonly default: "";
251
+ };
250
252
  };
251
253
  };
252
254
  readonly prompt_all_adults: {
@@ -349,5 +351,20 @@ export declare class VideoConsentPlugin implements JsPsychPlugin<Info> {
349
351
  * @param display - HTML element for experiment.
350
352
  */
351
353
  private nextButton;
354
+ /**
355
+ * Mark the response in the lookit-api database as having completed the
356
+ * consent frame, then finish the trial.
357
+ */
358
+ private endTrial;
359
+ /**
360
+ * Add CHS type to experiment data. This will enable Lookit API to run the
361
+ * "consent" Frame Action Dispatcher method after the experiment has
362
+ * completed.
363
+ *
364
+ * @returns Object containing CHS type.
365
+ */
366
+ static chsData(): {
367
+ chs_type: string;
368
+ };
352
369
  }
353
370
  export {};
package/dist/errors.d.ts CHANGED
@@ -147,12 +147,3 @@ export declare class ImageNotFoundError extends Error {
147
147
  */
148
148
  constructor(id: string);
149
149
  }
150
- /** Error throw what specified language isn't found */
151
- export declare class TranslationNotFoundError extends Error {
152
- /**
153
- * This will be thrown when attempting to init i18n
154
- *
155
- * @param baseName - Language a2code with region
156
- */
157
- constructor(baseName: string);
158
- }