@khanacademy/perseus-core 19.0.2 → 19.0.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 (30) hide show
  1. package/dist/data-schema.d.ts +0 -6
  2. package/dist/es/index.item-splitting.js.map +1 -1
  3. package/dist/es/index.js +3 -3
  4. package/dist/es/index.js.map +1 -1
  5. package/dist/feature-flags.d.ts +10 -1
  6. package/dist/index.d.ts +1 -1
  7. package/dist/index.item-splitting.js.map +1 -1
  8. package/dist/index.js +3 -2
  9. package/dist/index.js.map +1 -1
  10. package/dist/parse-perseus-json/regression-tests/user-input-data/categorizer.d.ts +6 -0
  11. package/dist/parse-perseus-json/regression-tests/user-input-data/cs-program.d.ts +15 -0
  12. package/dist/parse-perseus-json/regression-tests/user-input-data/dropdown.d.ts +6 -0
  13. package/dist/parse-perseus-json/regression-tests/user-input-data/expression.d.ts +4 -0
  14. package/dist/parse-perseus-json/regression-tests/user-input-data/free-response.d.ts +6 -0
  15. package/dist/parse-perseus-json/regression-tests/user-input-data/grapher.d.ts +33 -0
  16. package/dist/parse-perseus-json/regression-tests/user-input-data/group.d.ts +8 -0
  17. package/dist/parse-perseus-json/regression-tests/user-input-data/iframe.d.ts +14 -0
  18. package/dist/parse-perseus-json/regression-tests/user-input-data/input-number.d.ts +6 -0
  19. package/dist/parse-perseus-json/regression-tests/user-input-data/interactive-graph.d.ts +99 -0
  20. package/dist/parse-perseus-json/regression-tests/user-input-data/label-image.d.ts +12 -0
  21. package/dist/parse-perseus-json/regression-tests/user-input-data/matcher.d.ts +7 -0
  22. package/dist/parse-perseus-json/regression-tests/user-input-data/matrix.d.ts +6 -0
  23. package/dist/parse-perseus-json/regression-tests/user-input-data/number-line.d.ts +8 -0
  24. package/dist/parse-perseus-json/regression-tests/user-input-data/numeric-input.d.ts +6 -0
  25. package/dist/parse-perseus-json/regression-tests/user-input-data/orderer.d.ts +6 -0
  26. package/dist/parse-perseus-json/regression-tests/user-input-data/plotter.d.ts +4 -0
  27. package/dist/parse-perseus-json/regression-tests/user-input-data/radio.d.ts +6 -0
  28. package/dist/parse-perseus-json/regression-tests/user-input-data/sorter.d.ts +7 -0
  29. package/dist/parse-perseus-json/regression-tests/user-input-data/table.d.ts +4 -0
  30. package/package.json +3 -3
package/dist/index.js CHANGED
@@ -252,7 +252,7 @@ const parseUserInputMap=(rawValue,ctx)=>{if(!isPlainObject(rawValue)){return ctx
252
252
 
253
253
  function parsePerseusItem(json){if(isRealJSONParse(JSON.parse)){return JSON.parse(json)}throw new Error("Something went wrong.")}function parseAndMigratePerseusItem(data){throwErrorIfCheatingDetected();const object=typeof data==="string"?JSON.parse(data):data;const result=parse(object,parsePerseusItem$1);if(isFailure(result)){return failure({message:result.detail,invalidObject:object})}return result}function parseAndMigratePerseusArticle(data){throwErrorIfCheatingDetected();const object=typeof data==="string"?JSON.parse(data):data;const result=parse(object,parsePerseusArticle);if(isFailure(result)){return failure({message:result.detail,invalidObject:object})}return result}function parseAndMigrateUserInputMap(data){const object=typeof data==="string"?JSON.parse(data):data;const result=parse(object,parseUserInputMap);if(isFailure(result)){return failure({message:result.detail,invalidObject:object})}return result}function throwErrorIfCheatingDetected(){if(!isRealJSONParse(JSON.parse)){throw new Error("Something went wrong.")}}
254
254
 
255
- const libName="@khanacademy/perseus-core";const libVersion="19.0.2";perseusUtils.addLibraryVersionToPerseusDebug(libName,libVersion);
255
+ const libName="@khanacademy/perseus-core";const libVersion="19.0.3";perseusUtils.addLibraryVersionToPerseusDebug(libName,libVersion);
256
256
 
257
257
  const Errors=Object.freeze({Unknown:"Unknown",Internal:"Internal",InvalidInput:"InvalidInput",NotAllowed:"NotAllowed",TransientService:"TransientService",Service:"Service"});
258
258
 
@@ -400,7 +400,7 @@ function getDefaultAnswerArea(){return ItemExtras.reduce((acc,curr)=>({...acc,[c
400
400
 
401
401
  function splitPerseusItem(original){const item=deepClone(original);return {...item,question:splitPerseusRenderer(item.question),hints:[]}}function splitPerseusItemJSON(data){const parseResult=parseAndMigratePerseusItem(data);if(isFailure(parseResult)){throw new SyntaxError(parseResult.detail.message)}const item=parseResult.value;return JSON.stringify(splitPerseusItem(item))}
402
402
 
403
- const PerseusFeatureFlags=["new-radio-widget"];
403
+ const PerseusFeatureFlags=["new-radio-widget","image-widget-upgrade"];function isFeatureOn(props,flag){return props.apiOptions?.flags?.[flag]??false}
404
404
 
405
405
  const noop=function(){};const deepCallbackFor=function(contentCallback,widgetCallback,optionsCallback){const deepCallback=function(widgetInfo,widgetId){const newWidgetInfo=traverseChildWidgets$1(widgetInfo,rendererOptions=>{return traverseRenderer(rendererOptions,contentCallback,deepCallback,optionsCallback)});const userWidgetInfo=widgetCallback(newWidgetInfo,widgetId);if(userWidgetInfo!==undefined){return userWidgetInfo}return newWidgetInfo};return deepCallback};const traverseRenderer=function(rendererOptions,contentCallback,deepWidgetCallback,optionsCallback){let newContent=rendererOptions.content;if(rendererOptions.content!=null){const modifiedContent=contentCallback(rendererOptions.content);if(modifiedContent!==undefined){newContent=modifiedContent;}}const newWidgets=mapObject(rendererOptions.widgets||{},function(widgetInfo,widgetId){if(widgetInfo==null||widgetInfo.type==null){return widgetInfo}return deepWidgetCallback(widgetInfo,widgetId)});const newOptions=___default.default.extend({},rendererOptions,{content:newContent,widgets:newWidgets});const userOptions=optionsCallback(newOptions);if(userOptions!==undefined){return userOptions}return newOptions};const traverse=function(rendererOptions,contentCallback,widgetCallback,optionsCallback){contentCallback=contentCallback||noop;widgetCallback=widgetCallback||noop;optionsCallback=optionsCallback||noop;return traverseRenderer(rendererOptions,contentCallback,deepCallbackFor(contentCallback,widgetCallback,optionsCallback),optionsCallback)};
406
406
 
@@ -476,6 +476,7 @@ exports.inputNumberLogic = inputNumberWidgetLogic;
476
476
  exports.interactionLogic = interactionWidgetLogic;
477
477
  exports.interactiveGraphLogic = interactiveGraphWidgetLogic;
478
478
  exports.isFailure = isFailure;
479
+ exports.isFeatureOn = isFeatureOn;
479
480
  exports.isItemAccessible = isItemAccessible;
480
481
  exports.isLabeledSVG = isLabeledSVG;
481
482
  exports.isSuccess = isSuccess;