@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.
- package/dist/data-schema.d.ts +0 -6
- package/dist/es/index.item-splitting.js.map +1 -1
- package/dist/es/index.js +3 -3
- package/dist/es/index.js.map +1 -1
- package/dist/feature-flags.d.ts +10 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.item-splitting.js.map +1 -1
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/parse-perseus-json/regression-tests/user-input-data/categorizer.d.ts +6 -0
- package/dist/parse-perseus-json/regression-tests/user-input-data/cs-program.d.ts +15 -0
- package/dist/parse-perseus-json/regression-tests/user-input-data/dropdown.d.ts +6 -0
- package/dist/parse-perseus-json/regression-tests/user-input-data/expression.d.ts +4 -0
- package/dist/parse-perseus-json/regression-tests/user-input-data/free-response.d.ts +6 -0
- package/dist/parse-perseus-json/regression-tests/user-input-data/grapher.d.ts +33 -0
- package/dist/parse-perseus-json/regression-tests/user-input-data/group.d.ts +8 -0
- package/dist/parse-perseus-json/regression-tests/user-input-data/iframe.d.ts +14 -0
- package/dist/parse-perseus-json/regression-tests/user-input-data/input-number.d.ts +6 -0
- package/dist/parse-perseus-json/regression-tests/user-input-data/interactive-graph.d.ts +99 -0
- package/dist/parse-perseus-json/regression-tests/user-input-data/label-image.d.ts +12 -0
- package/dist/parse-perseus-json/regression-tests/user-input-data/matcher.d.ts +7 -0
- package/dist/parse-perseus-json/regression-tests/user-input-data/matrix.d.ts +6 -0
- package/dist/parse-perseus-json/regression-tests/user-input-data/number-line.d.ts +8 -0
- package/dist/parse-perseus-json/regression-tests/user-input-data/numeric-input.d.ts +6 -0
- package/dist/parse-perseus-json/regression-tests/user-input-data/orderer.d.ts +6 -0
- package/dist/parse-perseus-json/regression-tests/user-input-data/plotter.d.ts +4 -0
- package/dist/parse-perseus-json/regression-tests/user-input-data/radio.d.ts +6 -0
- package/dist/parse-perseus-json/regression-tests/user-input-data/sorter.d.ts +7 -0
- package/dist/parse-perseus-json/regression-tests/user-input-data/table.d.ts +4 -0
- 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.
|
|
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;
|