@pie-element/graphing 10.1.0-next.25 → 10.1.1-next.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/dist/author/configure.d.ts +26 -0
- package/dist/author/configure.js +208 -0
- package/dist/author/correct-response.d.ts +54 -0
- package/dist/author/correct-response.js +304 -0
- package/dist/author/defaults.d.ts +294 -0
- package/dist/author/defaults.js +415 -0
- package/dist/author/graphing-config.d.ts +34 -0
- package/dist/author/graphing-config.js +244 -0
- package/dist/author/index.d.ts +59 -0
- package/dist/author/index.js +96 -0
- package/dist/author/utils.d.ts +43 -0
- package/dist/author/utils.js +260 -0
- package/dist/controller/defaults.d.ts +59 -0
- package/dist/controller/defaults.js +61 -0
- package/dist/controller/index.d.ts +34 -0
- package/dist/controller/index.js +181 -0
- package/dist/controller/utils.d.ts +37 -0
- package/dist/controller/utils.js +114 -0
- package/dist/delivery/index.d.ts +21 -0
- package/dist/delivery/index.js +43 -0
- package/dist/delivery/main.d.ts +23 -0
- package/dist/delivery/main.js +107 -0
- package/dist/delivery/utils.d.ts +22 -0
- package/dist/graphing.css +2 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.iife.d.ts +8 -0
- package/dist/index.iife.js +405 -0
- package/dist/index.js +2 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_DataView.js +6 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Hash.js +16 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_ListCache.js +16 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Map.js +6 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_MapCache.js +16 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Promise.js +6 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Set.js +6 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_SetCache.js +11 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Stack.js +14 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Symbol.js +5 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Uint8Array.js +5 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_WeakMap.js +6 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_apply.js +12 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_arrayEach.js +7 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_arrayFilter.js +10 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_arrayIncludes.js +7 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_arrayIncludesWith.js +7 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_arrayLikeKeys.js +15 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_arrayMap.js +7 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_arrayPush.js +7 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_arraySome.js +7 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_assignValue.js +10 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_assocIndexOf.js +8 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseAssign.js +8 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseAssignIn.js +8 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseAssignValue.js +12 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseClone.js +57 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseCreate.js +14 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseDifference.js +23 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseFindIndex.js +7 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseFlatten.js +13 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseGetAllKeys.js +9 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseGetTag.js +10 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIndexOf.js +9 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIntersection.js +29 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIsArguments.js +9 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIsEqual.js +8 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIsEqualDeep.js +30 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIsMap.js +9 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIsNaN.js +6 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIsNative.js +11 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIsSet.js +9 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIsTypedArray.js +11 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseKeys.js +12 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseKeysIn.js +13 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseRest.js +9 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseSet.js +22 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseSetToString.js +14 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseTimes.js +7 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseToString.js +15 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseUnary.js +8 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseUniq.js +27 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_cacheHas.js +6 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_castArrayLikeObject.js +7 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_castPath.js +10 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_cloneArrayBuffer.js +8 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_cloneBuffer.js +10 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_cloneDataView.js +8 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_cloneRegExp.js +8 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_cloneSymbol.js +8 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_cloneTypedArray.js +8 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_copyArray.js +8 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_copyObject.js +14 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_copySymbols.js +8 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_copySymbolsIn.js +8 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_coreJsData.js +5 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_createSet.js +9 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_defineProperty.js +10 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_equalArrays.js +35 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_equalByTag.js +35 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_equalObjects.js +32 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_freeGlobal.js +4 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getAllKeys.js +9 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getAllKeysIn.js +9 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getMapData.js +8 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getNative.js +9 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getPrototype.js +5 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getRawTag.js +14 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getSymbols.js +10 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getSymbolsIn.js +11 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getTag.js +23 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getValue.js +6 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_hashClear.js +7 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_hashDelete.js +7 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_hashGet.js +13 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_hashHas.js +9 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_hashSet.js +9 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_initCloneArray.js +8 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_initCloneByTag.js +33 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_initCloneObject.js +9 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_isFlattenable.js +10 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_isIndex.js +8 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_isKey.js +11 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_isKeyable.js +7 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_isMasked.js +11 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_isPrototype.js +8 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_listCacheClear.js +6 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_listCacheDelete.js +9 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_listCacheGet.js +8 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_listCacheHas.js +7 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_listCacheSet.js +8 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_mapCacheClear.js +13 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_mapCacheDelete.js +8 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_mapCacheGet.js +7 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_mapCacheHas.js +7 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_mapCacheSet.js +8 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_mapToArray.js +9 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_memoizeCapped.js +11 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_nativeCreate.js +5 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_nativeKeys.js +5 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_nativeKeysIn.js +8 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_nodeUtil.js +9 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_objectToString.js +7 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_overArg.js +8 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_overRest.js +13 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_root.js +5 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_setCacheAdd.js +7 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_setCacheHas.js +6 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_setToArray.js +9 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_setToString.js +6 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_shortOut.js +14 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_stackClear.js +7 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_stackDelete.js +7 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_stackGet.js +6 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_stackHas.js +6 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_stackSet.js +16 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_strictIndexOf.js +7 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_stringToPath.js +10 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_toKey.js +10 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_toSource.js +15 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/cloneDeep.js +8 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/constant.js +8 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/differenceWith.js +12 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/eq.js +6 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/identity.js +6 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/intersection.js +11 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isArguments.js +10 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isArray.js +4 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isArrayLike.js +8 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isArrayLikeObject.js +8 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isBuffer.js +6 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isEmpty.js +21 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isEqual.js +7 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isFunction.js +11 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isLength.js +7 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isMap.js +7 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isObject.js +7 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isObjectLike.js +6 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isSet.js +7 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isSymbol.js +9 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isTypedArray.js +7 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/keys.js +9 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/keysIn.js +9 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/last.js +7 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/memoize.js +16 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/noop.js +4 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/set.js +7 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/stubArray.js +6 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/stubFalse.js +6 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/toString.js +7 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/uniq.js +7 -0
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/uniqWith.js +7 -0
- package/package.json +60 -21
- package/CHANGELOG.json +0 -652
- package/CHANGELOG.md +0 -2029
- package/LICENSE.md +0 -5
- package/README.md +0 -1
- package/configure/CHANGELOG.json +0 -382
- package/configure/CHANGELOG.md +0 -1822
- package/configure/lib/configure.js +0 -328
- package/configure/lib/configure.js.map +0 -1
- package/configure/lib/correct-response.js +0 -484
- package/configure/lib/correct-response.js.map +0 -1
- package/configure/lib/defaults.js +0 -448
- package/configure/lib/defaults.js.map +0 -1
- package/configure/lib/graphing-config.js +0 -388
- package/configure/lib/graphing-config.js.map +0 -1
- package/configure/lib/index.js +0 -173
- package/configure/lib/index.js.map +0 -1
- package/configure/lib/utils.js +0 -122
- package/configure/lib/utils.js.map +0 -1
- package/configure/package.json +0 -30
- package/controller/CHANGELOG.json +0 -412
- package/controller/CHANGELOG.md +0 -1254
- package/controller/lib/defaults.js +0 -64
- package/controller/lib/defaults.js.map +0 -1
- package/controller/lib/index.js +0 -459
- package/controller/lib/index.js.map +0 -1
- package/controller/lib/utils.js +0 -451
- package/controller/lib/utils.js.map +0 -1
- package/controller/package.json +0 -24
- package/docs/config-schema.json +0 -3164
- package/docs/config-schema.json.md +0 -2293
- package/docs/demo/config.js +0 -8
- package/docs/demo/generate.js +0 -200
- package/docs/demo/index.html +0 -1
- package/docs/demo/session.js +0 -20
- package/docs/pie-schema.json +0 -3495
- package/docs/pie-schema.json.md +0 -1345
- package/lib/index.js +0 -69
- package/lib/index.js.map +0 -1
- package/lib/main.js +0 -161
- package/lib/main.js.map +0 -1
- package/lib/utils.js +0 -24
- package/lib/utils.js.map +0 -1
package/controller/lib/utils.js
DELETED
|
@@ -1,451 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.sortedAnswers = exports.removeInvalidSegments = exports.removeDuplicateSegments = exports.equalVector = exports.equalSine = exports.equalSegment = exports.equalRay = exports.equalPolygon = exports.equalPointWithLabel = exports.equalPoint = exports.equalParabola = exports.equalMarks = exports.equalLine = exports.equalExponential = exports.equalCircle = exports.equalAbsolute = exports.constructSegmentsFromPoints = void 0;
|
|
7
|
-
var _lodashEs = require("lodash-es");
|
|
8
|
-
var _graphingUtils = require("@pie-lib/graphing-utils");
|
|
9
|
-
const equalPoint = (A, B) => {
|
|
10
|
-
A = {
|
|
11
|
-
...A
|
|
12
|
-
};
|
|
13
|
-
B = {
|
|
14
|
-
...B
|
|
15
|
-
};
|
|
16
|
-
return (0, _lodashEs.isEqual)(A.x, B.x) && (0, _lodashEs.isEqual)(A.y, B.y);
|
|
17
|
-
};
|
|
18
|
-
exports.equalPoint = equalPoint;
|
|
19
|
-
const equalPointWithLabel = (A, B) => {
|
|
20
|
-
// x1 = x2 & y1 = y2
|
|
21
|
-
// A point is only correct if both its position AND its label match.
|
|
22
|
-
// Labels are not scored independently; a point in the correct position
|
|
23
|
-
// with the wrong label is considered incorrect as a whole.
|
|
24
|
-
let equalLabel = true;
|
|
25
|
-
A = {
|
|
26
|
-
...A
|
|
27
|
-
};
|
|
28
|
-
B = {
|
|
29
|
-
...B
|
|
30
|
-
};
|
|
31
|
-
if (A.label || B.label) {
|
|
32
|
-
equalLabel = (0, _lodashEs.isEqual)(A.label, B.label);
|
|
33
|
-
}
|
|
34
|
-
return (0, _lodashEs.isEqual)(A.x, B.x) && (0, _lodashEs.isEqual)(A.y, B.y) && equalLabel;
|
|
35
|
-
};
|
|
36
|
-
exports.equalPointWithLabel = equalPointWithLabel;
|
|
37
|
-
const equalSegment = (segment1, segment2) => {
|
|
38
|
-
// A.from = B.from, A.to = B.to OR A.from = B.to, A.to = B.from
|
|
39
|
-
// x1 = x3 & y1 = y3 & x2 = x4 & y2 = y4
|
|
40
|
-
return (0, _lodashEs.isEqual)(segment1.from, segment2.from) && (0, _lodashEs.isEqual)(segment1.to, segment2.to) || (0, _lodashEs.isEqual)(segment1.to, segment2.from) && (0, _lodashEs.isEqual)(segment1.from, segment2.to);
|
|
41
|
-
};
|
|
42
|
-
exports.equalSegment = equalSegment;
|
|
43
|
-
const equalVector = (vector1, vector2) => {
|
|
44
|
-
// A.from = B.from, A.to = B.to;
|
|
45
|
-
// x1 = x3 & y1 = y3 & x2 = x4 & y2 = y4
|
|
46
|
-
return (0, _lodashEs.isEqual)(vector1.from, vector2.from) && (0, _lodashEs.isEqual)(vector1.to, vector2.to);
|
|
47
|
-
};
|
|
48
|
-
|
|
49
|
-
// this function is implemented in configure as well
|
|
50
|
-
exports.equalVector = equalVector;
|
|
51
|
-
const sortedAnswers = answers => Object.keys(answers || {}).sort().reduce((result, key) => {
|
|
52
|
-
if (key !== 'correctAnswer') {
|
|
53
|
-
result[key] = answers[key];
|
|
54
|
-
}
|
|
55
|
-
return result;
|
|
56
|
-
}, {});
|
|
57
|
-
exports.sortedAnswers = sortedAnswers;
|
|
58
|
-
const returnLineEquationCoefficients = line => {
|
|
59
|
-
line = {
|
|
60
|
-
...line,
|
|
61
|
-
to: {
|
|
62
|
-
...line.to
|
|
63
|
-
},
|
|
64
|
-
from: {
|
|
65
|
-
...line.from
|
|
66
|
-
}
|
|
67
|
-
};
|
|
68
|
-
const xA = line.from.x;
|
|
69
|
-
const yA = line.from.y;
|
|
70
|
-
const xB = line.to.x;
|
|
71
|
-
const yB = line.to.y;
|
|
72
|
-
return {
|
|
73
|
-
a: yB - yA,
|
|
74
|
-
b: xA - xB,
|
|
75
|
-
c: xB * yA - xA * yB
|
|
76
|
-
};
|
|
77
|
-
};
|
|
78
|
-
const getSignificantDecimals = number => Math.round(number * 10000) / 10000;
|
|
79
|
-
const equalLine = (line1, line2) => {
|
|
80
|
-
// line equation: ax + by + c = 0
|
|
81
|
-
// 2 lines are equal if a1/a2 = b1/b2 = c1/c2, where a, b, c are the coefficients in line equation
|
|
82
|
-
|
|
83
|
-
// line equation knowing 2 points: (y - yA) / (yB - yA) = (x - xA) / (xB - xA)
|
|
84
|
-
// extending this equation, we get: x * (yB - yA) + y * (xA - xB) + (xB * yA - xA * yB) = 0
|
|
85
|
-
// where a = yB - yA; b = xA - xB; c = xB * yA - xA * yB
|
|
86
|
-
|
|
87
|
-
const {
|
|
88
|
-
a: a1,
|
|
89
|
-
b: b1,
|
|
90
|
-
c: c1
|
|
91
|
-
} = returnLineEquationCoefficients(line1);
|
|
92
|
-
const {
|
|
93
|
-
a: a2,
|
|
94
|
-
b: b2,
|
|
95
|
-
c: c2
|
|
96
|
-
} = returnLineEquationCoefficients(line2);
|
|
97
|
-
const proportions = [];
|
|
98
|
-
if (a2 !== 0) {
|
|
99
|
-
proportions.push(getSignificantDecimals(a1 / a2));
|
|
100
|
-
} else if (a1 !== a2) {
|
|
101
|
-
return false;
|
|
102
|
-
}
|
|
103
|
-
if (b2 !== 0) {
|
|
104
|
-
proportions.push(getSignificantDecimals(b1 / b2));
|
|
105
|
-
} else if (b1 !== b2) {
|
|
106
|
-
return false;
|
|
107
|
-
}
|
|
108
|
-
if (c2 !== 0) {
|
|
109
|
-
proportions.push(getSignificantDecimals(c1 / c2));
|
|
110
|
-
} else if (c1 !== c2) {
|
|
111
|
-
return false;
|
|
112
|
-
}
|
|
113
|
-
return (0, _lodashEs.uniq)(proportions).length === 1;
|
|
114
|
-
|
|
115
|
-
// (y2 - y1)/(x2 - x1) = (y4 - y3)/(x4 - x3);
|
|
116
|
-
// return ((Math.abs((line1.to.y - line1.from.y) / (line1.to.x - line1.from.x))) === (Math.abs((line2.to.y - line2.from.y) / (line2.to.x - line2.from.x))));
|
|
117
|
-
};
|
|
118
|
-
exports.equalLine = equalLine;
|
|
119
|
-
const equalRay = (ray1, ray2) => {
|
|
120
|
-
ray1 = {
|
|
121
|
-
...ray1,
|
|
122
|
-
to: {
|
|
123
|
-
...ray1.to
|
|
124
|
-
},
|
|
125
|
-
from: {
|
|
126
|
-
...ray1.from
|
|
127
|
-
}
|
|
128
|
-
};
|
|
129
|
-
ray2 = {
|
|
130
|
-
...ray2,
|
|
131
|
-
to: {
|
|
132
|
-
...ray2.to
|
|
133
|
-
},
|
|
134
|
-
from: {
|
|
135
|
-
...ray2.from
|
|
136
|
-
}
|
|
137
|
-
};
|
|
138
|
-
|
|
139
|
-
// slope: m = (y2-y1)/(x2-x1)
|
|
140
|
-
// slope & x1 = x3 & y1 = y3 & angle between (x1, y1) (x2, y2) is same as angle between (x3, y3) (x4, y4)
|
|
141
|
-
const mRay1 = (ray1.to.y - ray1.from.y) / (ray1.to.x - ray1.from.x);
|
|
142
|
-
const mRay2 = (ray2.to.y - ray2.from.y) / (ray2.to.x - ray2.from.x);
|
|
143
|
-
const angleRay1 = Math.atan2(ray1.to.y - ray1.from.y, ray1.to.x - ray1.from.x) * 180 / Math.PI;
|
|
144
|
-
const angleRay2 = Math.atan2(ray2.to.y - ray2.from.y, ray2.to.x - ray2.from.x) * 180 / Math.PI;
|
|
145
|
-
return mRay1 === mRay2 && ray1.from.x === ray2.from.x && ray1.from.y === ray2.from.y && angleRay1 === angleRay2;
|
|
146
|
-
};
|
|
147
|
-
exports.equalRay = equalRay;
|
|
148
|
-
const constructSegmentsFromPoints = points => {
|
|
149
|
-
// takes the list of points that represent a polygon and transforms it into a list of segments; eg.:
|
|
150
|
-
// points: A, B, C, D => segments: AB, BC, CD, DA
|
|
151
|
-
return (points || []).map((point, index) => ({
|
|
152
|
-
from: point,
|
|
153
|
-
to: points[(index + 1) % points.length]
|
|
154
|
-
}));
|
|
155
|
-
};
|
|
156
|
-
exports.constructSegmentsFromPoints = constructSegmentsFromPoints;
|
|
157
|
-
const removeDuplicateSegments = segments => {
|
|
158
|
-
segments = segments || [];
|
|
159
|
-
// removes segments that are duplicates; eg. These segments are the same, so one will be removed:
|
|
160
|
-
// segment1: from: { x: 1, y: 1 }, to: { x: 2, y: 1 }
|
|
161
|
-
// segment2: from: { x: 2, y: 1 }, to: { x: 1, y: 1 }
|
|
162
|
-
return (0, _lodashEs.uniqWith)(segments, (s1, s2) => equalSegment(s1, s2));
|
|
163
|
-
};
|
|
164
|
-
exports.removeDuplicateSegments = removeDuplicateSegments;
|
|
165
|
-
const removeInvalidSegments = segments => {
|
|
166
|
-
segments = segments || [];
|
|
167
|
-
// removes segments that start in a point and end in the same point (eg.: from: { x: 1, y: 1 }, to: { x: 1, y: 1 })
|
|
168
|
-
|
|
169
|
-
return segments.filter(segment => !(0, _lodashEs.isEqual)(segment.from, segment.to));
|
|
170
|
-
};
|
|
171
|
-
exports.removeInvalidSegments = removeInvalidSegments;
|
|
172
|
-
const equalPolygon = (poly1, poly2) => {
|
|
173
|
-
const {
|
|
174
|
-
points: points1
|
|
175
|
-
} = poly1;
|
|
176
|
-
const {
|
|
177
|
-
points: points2
|
|
178
|
-
} = poly2;
|
|
179
|
-
|
|
180
|
-
// generate segments
|
|
181
|
-
const segments1 = constructSegmentsFromPoints(points1);
|
|
182
|
-
const segments2 = constructSegmentsFromPoints(points2);
|
|
183
|
-
const segments1NoDuplicates = removeDuplicateSegments(removeInvalidSegments(segments1));
|
|
184
|
-
const segments2NoDuplicates = removeDuplicateSegments(removeInvalidSegments(segments2));
|
|
185
|
-
const differentSegments1 = (0, _lodashEs.differenceWith)(segments1NoDuplicates, segments2NoDuplicates, equalSegment);
|
|
186
|
-
const differentSegments2 = (0, _lodashEs.differenceWith)(segments2NoDuplicates, segments1NoDuplicates, equalSegment);
|
|
187
|
-
return (!differentSegments1 || !differentSegments1.length) && (!differentSegments2 || !differentSegments2.length);
|
|
188
|
-
};
|
|
189
|
-
exports.equalPolygon = equalPolygon;
|
|
190
|
-
const equalCircle = (c1, c2) => {
|
|
191
|
-
c1 = {
|
|
192
|
-
...c1,
|
|
193
|
-
root: {
|
|
194
|
-
...c1.root
|
|
195
|
-
},
|
|
196
|
-
edge: {
|
|
197
|
-
...c1.edge
|
|
198
|
-
}
|
|
199
|
-
};
|
|
200
|
-
c2 = {
|
|
201
|
-
...c2,
|
|
202
|
-
root: {
|
|
203
|
-
...c2.root
|
|
204
|
-
},
|
|
205
|
-
edge: {
|
|
206
|
-
...c2.edge
|
|
207
|
-
}
|
|
208
|
-
};
|
|
209
|
-
const equalRootAndEdge = (0, _lodashEs.isEqual)(c2.edge, c1.edge) && (0, _lodashEs.isEqual)(c2.root, c1.root);
|
|
210
|
-
|
|
211
|
-
// if both edge and root are the same, it means the shapes are exactly the same
|
|
212
|
-
if (equalRootAndEdge) return true;
|
|
213
|
-
const rC1 = Math.sqrt((c1.edge.x - c1.root.x) ** 2 + (c1.edge.y - c1.root.y) ** 2);
|
|
214
|
-
const rC2 = Math.sqrt((c2.edge.x - c2.root.x) ** 2 + (c2.edge.y - c2.root.y) ** 2);
|
|
215
|
-
|
|
216
|
-
// if both root and radius are the same, it means the shapes are equal
|
|
217
|
-
return (0, _lodashEs.isEqual)(c2.root, c1.root) && (0, _lodashEs.isEqual)(rC1, rC2);
|
|
218
|
-
};
|
|
219
|
-
exports.equalCircle = equalCircle;
|
|
220
|
-
const equalSine = (sine1, sine2) => {
|
|
221
|
-
const getPoints = ({
|
|
222
|
-
root,
|
|
223
|
-
edge
|
|
224
|
-
}) => {
|
|
225
|
-
root = {
|
|
226
|
-
...root
|
|
227
|
-
};
|
|
228
|
-
edge = {
|
|
229
|
-
...edge
|
|
230
|
-
};
|
|
231
|
-
const {
|
|
232
|
-
amplitude,
|
|
233
|
-
freq
|
|
234
|
-
} = (0, _graphingUtils.getAmplitudeAndFreq)(root, edge);
|
|
235
|
-
// the height of the sine wave
|
|
236
|
-
const tY = Math.abs(root.y - edge.y) * 2;
|
|
237
|
-
// the distance on x axis between edge and root
|
|
238
|
-
const tXRoot = Math.abs(root.x - edge.x);
|
|
239
|
-
// the distance on x axis between 2 edges for sine wave (min & max)
|
|
240
|
-
const tX = tXRoot * 2;
|
|
241
|
-
// the first edge placed east side of root
|
|
242
|
-
let edgeAboveZeroX = edge.x;
|
|
243
|
-
let edgeAboveZeroY = edge.y;
|
|
244
|
-
|
|
245
|
-
// if edge less then 0, find out the appropriate edge placed east side of zero (0)
|
|
246
|
-
while (edgeAboveZeroX < 0 && tX !== 0) {
|
|
247
|
-
edgeAboveZeroX = edgeAboveZeroX + tX;
|
|
248
|
-
edgeAboveZeroY = edgeAboveZeroY < root.y ? edgeAboveZeroY + tY : edgeAboveZeroY - tY;
|
|
249
|
-
}
|
|
250
|
-
|
|
251
|
-
// if edge more then 0, find out the appropriate edge placed east side of zero (0)
|
|
252
|
-
while (edgeAboveZeroX - tX > 0 && tX !== 0) {
|
|
253
|
-
edgeAboveZeroX = edgeAboveZeroX - tX;
|
|
254
|
-
edgeAboveZeroY = edgeAboveZeroY < root.y ? edgeAboveZeroY + tY : edgeAboveZeroY - tY;
|
|
255
|
-
}
|
|
256
|
-
return {
|
|
257
|
-
amplitude: getSignificantDecimals(amplitude),
|
|
258
|
-
freq: getSignificantDecimals(freq),
|
|
259
|
-
min: getSignificantDecimals(edge.y < root.y ? edge.y : edge.y - tY),
|
|
260
|
-
max: getSignificantDecimals(edge.y < root.y ? edge.y + tY : edge.y),
|
|
261
|
-
edgeAboveZeroX: getSignificantDecimals(edgeAboveZeroX),
|
|
262
|
-
edgeAboveZeroY: getSignificantDecimals(edgeAboveZeroY)
|
|
263
|
-
};
|
|
264
|
-
};
|
|
265
|
-
const studentAnswerBpY = getPoints(sine1);
|
|
266
|
-
const correctAnswerBpY = getPoints(sine2);
|
|
267
|
-
const {
|
|
268
|
-
amplitude: amplitude1,
|
|
269
|
-
freq: freq1,
|
|
270
|
-
min: min1,
|
|
271
|
-
max: max1,
|
|
272
|
-
edgeAboveZeroX: edgeAboveZeroX1,
|
|
273
|
-
edgeAboveZeroY: edgeAboveZeroY1
|
|
274
|
-
} = studentAnswerBpY;
|
|
275
|
-
const {
|
|
276
|
-
amplitude: amplitude2,
|
|
277
|
-
freq: freq2,
|
|
278
|
-
min: min2,
|
|
279
|
-
max: max2,
|
|
280
|
-
edgeAboveZeroX: edgeAboveZeroX2,
|
|
281
|
-
edgeAboveZeroY: edgeAboveZeroY2
|
|
282
|
-
} = correctAnswerBpY;
|
|
283
|
-
return Math.abs(amplitude1) === Math.abs(amplitude2) && Math.abs(freq1) === Math.abs(freq2) && min1 === min2 && max1 === max2 && edgeAboveZeroX1 === edgeAboveZeroX2 && edgeAboveZeroY1 === edgeAboveZeroY2;
|
|
284
|
-
// rootDiff1 === rootDiff2);
|
|
285
|
-
};
|
|
286
|
-
exports.equalSine = equalSine;
|
|
287
|
-
const equalParabola = (p1, p2) => {
|
|
288
|
-
const {
|
|
289
|
-
edge: edgeP1
|
|
290
|
-
} = p1;
|
|
291
|
-
const {
|
|
292
|
-
edge: edgeP2
|
|
293
|
-
} = p2;
|
|
294
|
-
let {
|
|
295
|
-
root: rootP1
|
|
296
|
-
} = p1;
|
|
297
|
-
let {
|
|
298
|
-
root: rootP2
|
|
299
|
-
} = p2;
|
|
300
|
-
rootP1 = {
|
|
301
|
-
...rootP1
|
|
302
|
-
};
|
|
303
|
-
rootP2 = {
|
|
304
|
-
...rootP2
|
|
305
|
-
};
|
|
306
|
-
const p1edge = edgeP1 || {
|
|
307
|
-
...rootP1
|
|
308
|
-
};
|
|
309
|
-
const p2edge = edgeP2 || {
|
|
310
|
-
...rootP2
|
|
311
|
-
};
|
|
312
|
-
const p1mirrorEdge = {
|
|
313
|
-
x: rootP1.x - (p1edge.x - rootP1.x),
|
|
314
|
-
y: p1edge.y
|
|
315
|
-
};
|
|
316
|
-
const p2mirrorEdge = {
|
|
317
|
-
x: rootP2.x - (p2edge.x - rootP2.x),
|
|
318
|
-
y: p2edge.y
|
|
319
|
-
};
|
|
320
|
-
if (!edgeP1 || !edgeP2) return false;
|
|
321
|
-
const {
|
|
322
|
-
a: a1,
|
|
323
|
-
b: b1,
|
|
324
|
-
c: c1
|
|
325
|
-
} = (0, _graphingUtils.pointsToABC)(rootP1, edgeP1, p1mirrorEdge);
|
|
326
|
-
const {
|
|
327
|
-
a: a2,
|
|
328
|
-
b: b2,
|
|
329
|
-
c: c2
|
|
330
|
-
} = (0, _graphingUtils.pointsToABC)(rootP2, edgeP2, p2mirrorEdge);
|
|
331
|
-
|
|
332
|
-
// sometimes numbers have this form: 1.00000000002 because of calculations, we have to round them
|
|
333
|
-
const round = number => Math.round(number * 10000) / 10000;
|
|
334
|
-
return round(a1) === round(a2) && round(b1) === round(b2) && round(c1) === round(c2);
|
|
335
|
-
};
|
|
336
|
-
|
|
337
|
-
/*
|
|
338
|
-
* Function to check if given two points for absolute function
|
|
339
|
-
* for correct answer and student answer are equal or not.
|
|
340
|
-
* @param p1 - student answer
|
|
341
|
-
* @param p2 - correct answer
|
|
342
|
-
* */
|
|
343
|
-
exports.equalParabola = equalParabola;
|
|
344
|
-
const equalAbsolute = (p1, p2) => {
|
|
345
|
-
const {
|
|
346
|
-
edge: edgeP1
|
|
347
|
-
} = p1;
|
|
348
|
-
const {
|
|
349
|
-
edge: edgeP2
|
|
350
|
-
} = p2;
|
|
351
|
-
let {
|
|
352
|
-
root: rootP1
|
|
353
|
-
} = p1;
|
|
354
|
-
let {
|
|
355
|
-
root: rootP2
|
|
356
|
-
} = p2;
|
|
357
|
-
rootP1 = {
|
|
358
|
-
...rootP1
|
|
359
|
-
};
|
|
360
|
-
rootP2 = {
|
|
361
|
-
...rootP2
|
|
362
|
-
};
|
|
363
|
-
const p1edge = edgeP1 || {
|
|
364
|
-
...rootP1
|
|
365
|
-
};
|
|
366
|
-
const p2edge = edgeP2 || {
|
|
367
|
-
...rootP2
|
|
368
|
-
};
|
|
369
|
-
const p1a1 = (0, _graphingUtils.pointsToAForAbsolute)(rootP1, p1edge);
|
|
370
|
-
const p2a2 = (0, _graphingUtils.pointsToAForAbsolute)(rootP2, p2edge);
|
|
371
|
-
|
|
372
|
-
// if both root and a value are equal
|
|
373
|
-
return (0, _lodashEs.isEqual)(rootP2, rootP1) && (0, _lodashEs.isEqual)(p2a2, p1a1);
|
|
374
|
-
};
|
|
375
|
-
|
|
376
|
-
/*
|
|
377
|
-
* Function to check if given two points for exponential function
|
|
378
|
-
* for correct answer and student answer are equal or not.
|
|
379
|
-
* @param p1 - student answer
|
|
380
|
-
* @param p2 - correct answer
|
|
381
|
-
* */
|
|
382
|
-
exports.equalAbsolute = equalAbsolute;
|
|
383
|
-
const equalExponential = (p1, p2) => {
|
|
384
|
-
const {
|
|
385
|
-
edge: edgeP1
|
|
386
|
-
} = p1;
|
|
387
|
-
const {
|
|
388
|
-
edge: edgeP2
|
|
389
|
-
} = p2;
|
|
390
|
-
let {
|
|
391
|
-
root: rootP1
|
|
392
|
-
} = p1;
|
|
393
|
-
let {
|
|
394
|
-
root: rootP2
|
|
395
|
-
} = p2;
|
|
396
|
-
rootP1 = {
|
|
397
|
-
...rootP1
|
|
398
|
-
};
|
|
399
|
-
rootP2 = {
|
|
400
|
-
...rootP2
|
|
401
|
-
};
|
|
402
|
-
const p1edge = edgeP1 || {
|
|
403
|
-
...rootP1
|
|
404
|
-
};
|
|
405
|
-
const p2edge = edgeP2 || {
|
|
406
|
-
...rootP2
|
|
407
|
-
};
|
|
408
|
-
const {
|
|
409
|
-
a1,
|
|
410
|
-
b1
|
|
411
|
-
} = (0, _graphingUtils.pointsToABForExponential)(rootP1, p1edge);
|
|
412
|
-
const {
|
|
413
|
-
a2,
|
|
414
|
-
b2
|
|
415
|
-
} = (0, _graphingUtils.pointsToABForExponential)(rootP2, p2edge);
|
|
416
|
-
|
|
417
|
-
// if both a and b value are equal
|
|
418
|
-
return (0, _lodashEs.isEqual)(a2, a1) && (0, _lodashEs.isEqual)(b2, b1);
|
|
419
|
-
};
|
|
420
|
-
exports.equalExponential = equalExponential;
|
|
421
|
-
const equalMarks = exports.equalMarks = {
|
|
422
|
-
circle: (sessAnswer, mark) => equalCircle(sessAnswer, mark),
|
|
423
|
-
line: (sessAnswer, mark) => equalLine(sessAnswer, mark),
|
|
424
|
-
parabola: (sessAnswer, mark) => equalParabola(sessAnswer, mark),
|
|
425
|
-
absolute: (sessAnswer, mark) => equalAbsolute(sessAnswer, mark),
|
|
426
|
-
exponential: (sessAnswer, mark) => equalExponential(sessAnswer, mark),
|
|
427
|
-
point: (sessAnswer, mark) => equalPoint(sessAnswer, mark),
|
|
428
|
-
polygon: (sessAnswer, poly) => equalPolygon(sessAnswer, poly),
|
|
429
|
-
ray: (sessAnswer, mark) => equalRay(sessAnswer, mark),
|
|
430
|
-
segment: (sessAnswer, mark) => equalSegment(sessAnswer, mark),
|
|
431
|
-
sine: (sessAnswer, mark) => equalSine(sessAnswer, mark),
|
|
432
|
-
vector: (sessAnswer, mark) => equalVector(sessAnswer, mark)
|
|
433
|
-
};
|
|
434
|
-
const completePoint = point => point && Number.isFinite(point.x) && Number.isFinite(point.y);
|
|
435
|
-
const completeFromTo = item => item && completeMark.point(item.from) && completeMark.point(item.to);
|
|
436
|
-
const completeRootEdge = item => item && completeMark.point(item.edge) && completeMark.point(item.root);
|
|
437
|
-
const completePoints = item => item && item.points && item.points.length && (item.points.filter(point => completePoint(point)) || []).length === item.points.length;
|
|
438
|
-
const completeMark = {
|
|
439
|
-
point: completePoint,
|
|
440
|
-
line: completeFromTo,
|
|
441
|
-
ray: completeFromTo,
|
|
442
|
-
segment: completeFromTo,
|
|
443
|
-
vector: completeFromTo,
|
|
444
|
-
circle: completeRootEdge,
|
|
445
|
-
parabola: completeRootEdge,
|
|
446
|
-
absolute: completeRootEdge,
|
|
447
|
-
exponential: completeRootEdge,
|
|
448
|
-
sine: completeRootEdge,
|
|
449
|
-
polygon: completePoints
|
|
450
|
-
};
|
|
451
|
-
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","names":["_lodashEs","require","_graphingUtils","equalPoint","A","B","isEqual","x","y","exports","equalPointWithLabel","equalLabel","label","equalSegment","segment1","segment2","from","to","equalVector","vector1","vector2","sortedAnswers","answers","Object","keys","sort","reduce","result","key","returnLineEquationCoefficients","line","xA","yA","xB","yB","a","b","c","getSignificantDecimals","number","Math","round","equalLine","line1","line2","a1","b1","c1","a2","b2","c2","proportions","push","uniq","length","equalRay","ray1","ray2","mRay1","mRay2","angleRay1","atan2","PI","angleRay2","constructSegmentsFromPoints","points","map","point","index","removeDuplicateSegments","segments","uniqWith","s1","s2","removeInvalidSegments","filter","segment","equalPolygon","poly1","poly2","points1","points2","segments1","segments2","segments1NoDuplicates","segments2NoDuplicates","differentSegments1","differenceWith","differentSegments2","equalCircle","root","edge","equalRootAndEdge","rC1","sqrt","rC2","equalSine","sine1","sine2","getPoints","amplitude","freq","getAmplitudeAndFreq","tY","abs","tXRoot","tX","edgeAboveZeroX","edgeAboveZeroY","min","max","studentAnswerBpY","correctAnswerBpY","amplitude1","freq1","min1","max1","edgeAboveZeroX1","edgeAboveZeroY1","amplitude2","freq2","min2","max2","edgeAboveZeroX2","edgeAboveZeroY2","equalParabola","p1","p2","edgeP1","edgeP2","rootP1","rootP2","p1edge","p2edge","p1mirrorEdge","p2mirrorEdge","pointsToABC","equalAbsolute","p1a1","pointsToAForAbsolute","p2a2","equalExponential","pointsToABForExponential","equalMarks","circle","sessAnswer","mark","parabola","absolute","exponential","polygon","poly","ray","sine","vector","completePoint","Number","isFinite","completeFromTo","item","completeMark","completeRootEdge","completePoints"],"sources":["../src/utils.js"],"sourcesContent":["import { differenceWith, isEqual, uniq, uniqWith } from 'lodash-es';\nimport {\n getAmplitudeAndFreq,\n pointsToABC,\n pointsToAForAbsolute,\n pointsToABForExponential,\n} from '@pie-lib/graphing-utils';\n\nexport const equalPoint = (A, B) => {\n A = { ...A };\n B = { ...B };\n\n return isEqual(A.x, B.x) && isEqual(A.y, B.y);\n};\n\nexport const equalPointWithLabel = (A, B) => {\n // x1 = x2 & y1 = y2\n // A point is only correct if both its position AND its label match.\n // Labels are not scored independently; a point in the correct position\n // with the wrong label is considered incorrect as a whole.\n let equalLabel = true;\n\n A = { ...A };\n B = { ...B };\n\n if (A.label || B.label) {\n equalLabel = isEqual(A.label, B.label);\n }\n\n return isEqual(A.x, B.x) && isEqual(A.y, B.y) && equalLabel;\n};\n\nexport const equalSegment = (segment1, segment2) => {\n // A.from = B.from, A.to = B.to OR A.from = B.to, A.to = B.from\n // x1 = x3 & y1 = y3 & x2 = x4 & y2 = y4\n return (\n (isEqual(segment1.from, segment2.from) && isEqual(segment1.to, segment2.to)) ||\n (isEqual(segment1.to, segment2.from) && isEqual(segment1.from, segment2.to))\n );\n};\n\nexport const equalVector = (vector1, vector2) => {\n // A.from = B.from, A.to = B.to;\n // x1 = x3 & y1 = y3 & x2 = x4 & y2 = y4\n return isEqual(vector1.from, vector2.from) && isEqual(vector1.to, vector2.to);\n};\n\n// this function is implemented in configure as well\nexport const sortedAnswers = (answers) =>\n Object.keys(answers || {})\n .sort()\n .reduce((result, key) => {\n if (key !== 'correctAnswer') {\n result[key] = answers[key];\n }\n\n return result;\n }, {});\n\nconst returnLineEquationCoefficients = (line) => {\n line = { ...line, to: { ...line.to }, from: { ...line.from } };\n\n const xA = line.from.x;\n const yA = line.from.y;\n const xB = line.to.x;\n const yB = line.to.y;\n\n return {\n a: yB - yA,\n b: xA - xB,\n c: xB * yA - xA * yB,\n };\n};\n\nconst getSignificantDecimals = (number) => Math.round(number * 10000) / 10000;\n\nexport const equalLine = (line1, line2) => {\n // line equation: ax + by + c = 0\n // 2 lines are equal if a1/a2 = b1/b2 = c1/c2, where a, b, c are the coefficients in line equation\n\n // line equation knowing 2 points: (y - yA) / (yB - yA) = (x - xA) / (xB - xA)\n // extending this equation, we get: x * (yB - yA) + y * (xA - xB) + (xB * yA - xA * yB) = 0\n // where a = yB - yA; b = xA - xB; c = xB * yA - xA * yB\n\n const { a: a1, b: b1, c: c1 } = returnLineEquationCoefficients(line1);\n const { a: a2, b: b2, c: c2 } = returnLineEquationCoefficients(line2);\n\n const proportions = [];\n\n if (a2 !== 0) {\n proportions.push(getSignificantDecimals(a1 / a2));\n } else if (a1 !== a2) {\n return false;\n }\n\n if (b2 !== 0) {\n proportions.push(getSignificantDecimals(b1 / b2));\n } else if (b1 !== b2) {\n return false;\n }\n\n if (c2 !== 0) {\n proportions.push(getSignificantDecimals(c1 / c2));\n } else if (c1 !== c2) {\n return false;\n }\n\n return uniq(proportions).length === 1;\n\n // (y2 - y1)/(x2 - x1) = (y4 - y3)/(x4 - x3);\n // return ((Math.abs((line1.to.y - line1.from.y) / (line1.to.x - line1.from.x))) === (Math.abs((line2.to.y - line2.from.y) / (line2.to.x - line2.from.x))));\n};\n\nexport const equalRay = (ray1, ray2) => {\n ray1 = { ...ray1, to: { ...ray1.to }, from: { ...ray1.from } };\n ray2 = { ...ray2, to: { ...ray2.to }, from: { ...ray2.from } };\n\n // slope: m = (y2-y1)/(x2-x1)\n // slope & x1 = x3 & y1 = y3 & angle between (x1, y1) (x2, y2) is same as angle between (x3, y3) (x4, y4)\n const mRay1 = (ray1.to.y - ray1.from.y) / (ray1.to.x - ray1.from.x);\n const mRay2 = (ray2.to.y - ray2.from.y) / (ray2.to.x - ray2.from.x);\n const angleRay1 = (Math.atan2(ray1.to.y - ray1.from.y, ray1.to.x - ray1.from.x) * 180) / Math.PI;\n const angleRay2 = (Math.atan2(ray2.to.y - ray2.from.y, ray2.to.x - ray2.from.x) * 180) / Math.PI;\n\n return mRay1 === mRay2 && ray1.from.x === ray2.from.x && ray1.from.y === ray2.from.y && angleRay1 === angleRay2;\n};\n\nexport const constructSegmentsFromPoints = (points) => {\n // takes the list of points that represent a polygon and transforms it into a list of segments; eg.:\n // points: A, B, C, D => segments: AB, BC, CD, DA\n return (points || []).map((point, index) => ({ from: point, to: points[(index + 1) % points.length] }));\n};\n\nexport const removeDuplicateSegments = (segments) => {\n segments = segments || [];\n // removes segments that are duplicates; eg. These segments are the same, so one will be removed:\n // segment1: from: { x: 1, y: 1 }, to: { x: 2, y: 1 }\n // segment2: from: { x: 2, y: 1 }, to: { x: 1, y: 1 }\n return uniqWith(segments, (s1, s2) => equalSegment(s1, s2));\n};\n\nexport const removeInvalidSegments = (segments) => {\n segments = segments || [];\n // removes segments that start in a point and end in the same point (eg.: from: { x: 1, y: 1 }, to: { x: 1, y: 1 })\n\n return segments.filter((segment) => !isEqual(segment.from, segment.to));\n};\n\nexport const equalPolygon = (poly1, poly2) => {\n const { points: points1 } = poly1;\n const { points: points2 } = poly2;\n\n // generate segments\n const segments1 = constructSegmentsFromPoints(points1);\n const segments2 = constructSegmentsFromPoints(points2);\n\n const segments1NoDuplicates = removeDuplicateSegments(removeInvalidSegments(segments1));\n const segments2NoDuplicates = removeDuplicateSegments(removeInvalidSegments(segments2));\n\n const differentSegments1 = differenceWith(segments1NoDuplicates, segments2NoDuplicates, equalSegment);\n const differentSegments2 = differenceWith(segments2NoDuplicates, segments1NoDuplicates, equalSegment);\n\n return (!differentSegments1 || !differentSegments1.length) && (!differentSegments2 || !differentSegments2.length);\n};\n\nexport const equalCircle = (c1, c2) => {\n c1 = { ...c1, root: { ...c1.root }, edge: { ...c1.edge } };\n c2 = { ...c2, root: { ...c2.root }, edge: { ...c2.edge } };\n const equalRootAndEdge = isEqual(c2.edge, c1.edge) && isEqual(c2.root, c1.root);\n\n // if both edge and root are the same, it means the shapes are exactly the same\n if (equalRootAndEdge) return true;\n\n const rC1 = Math.sqrt((c1.edge.x - c1.root.x) ** 2 + (c1.edge.y - c1.root.y) ** 2);\n const rC2 = Math.sqrt((c2.edge.x - c2.root.x) ** 2 + (c2.edge.y - c2.root.y) ** 2);\n\n // if both root and radius are the same, it means the shapes are equal\n return isEqual(c2.root, c1.root) && isEqual(rC1, rC2);\n};\n\nexport const equalSine = (sine1, sine2) => {\n const getPoints = ({ root, edge }) => {\n root = { ...root };\n edge = { ...edge };\n\n const { amplitude, freq } = getAmplitudeAndFreq(root, edge);\n // the height of the sine wave\n const tY = Math.abs(root.y - edge.y) * 2;\n // the distance on x axis between edge and root\n const tXRoot = Math.abs(root.x - edge.x);\n // the distance on x axis between 2 edges for sine wave (min & max)\n const tX = tXRoot * 2;\n // the first edge placed east side of root\n let edgeAboveZeroX = edge.x;\n let edgeAboveZeroY = edge.y;\n\n // if edge less then 0, find out the appropriate edge placed east side of zero (0)\n while (edgeAboveZeroX < 0 && tX !== 0) {\n edgeAboveZeroX = edgeAboveZeroX + tX;\n edgeAboveZeroY = edgeAboveZeroY < root.y ? edgeAboveZeroY + tY : edgeAboveZeroY - tY;\n }\n\n // if edge more then 0, find out the appropriate edge placed east side of zero (0)\n while (edgeAboveZeroX - tX > 0 && tX !== 0) {\n edgeAboveZeroX = edgeAboveZeroX - tX;\n edgeAboveZeroY = edgeAboveZeroY < root.y ? edgeAboveZeroY + tY : edgeAboveZeroY - tY;\n }\n\n return {\n amplitude: getSignificantDecimals(amplitude),\n freq: getSignificantDecimals(freq),\n min: getSignificantDecimals(edge.y < root.y ? edge.y : edge.y - tY),\n max: getSignificantDecimals(edge.y < root.y ? edge.y + tY : edge.y),\n edgeAboveZeroX: getSignificantDecimals(edgeAboveZeroX),\n edgeAboveZeroY: getSignificantDecimals(edgeAboveZeroY),\n };\n };\n\n const studentAnswerBpY = getPoints(sine1);\n const correctAnswerBpY = getPoints(sine2);\n\n const {\n amplitude: amplitude1,\n freq: freq1,\n min: min1,\n max: max1,\n edgeAboveZeroX: edgeAboveZeroX1,\n edgeAboveZeroY: edgeAboveZeroY1,\n } = studentAnswerBpY;\n const {\n amplitude: amplitude2,\n freq: freq2,\n min: min2,\n max: max2,\n edgeAboveZeroX: edgeAboveZeroX2,\n edgeAboveZeroY: edgeAboveZeroY2,\n } = correctAnswerBpY;\n\n return (\n Math.abs(amplitude1) === Math.abs(amplitude2) &&\n Math.abs(freq1) === Math.abs(freq2) &&\n min1 === min2 &&\n max1 === max2 &&\n edgeAboveZeroX1 === edgeAboveZeroX2 &&\n edgeAboveZeroY1 === edgeAboveZeroY2\n );\n // rootDiff1 === rootDiff2);\n};\n\nexport const equalParabola = (p1, p2) => {\n const { edge: edgeP1 } = p1;\n const { edge: edgeP2 } = p2;\n let { root: rootP1 } = p1;\n let { root: rootP2 } = p2;\n\n rootP1 = { ...rootP1 };\n rootP2 = { ...rootP2 };\n\n const p1edge = edgeP1 || { ...rootP1 };\n const p2edge = edgeP2 || { ...rootP2 };\n\n const p1mirrorEdge = { x: rootP1.x - (p1edge.x - rootP1.x), y: p1edge.y };\n const p2mirrorEdge = { x: rootP2.x - (p2edge.x - rootP2.x), y: p2edge.y };\n\n if (!edgeP1 || !edgeP2) return false;\n\n const { a: a1, b: b1, c: c1 } = pointsToABC(rootP1, edgeP1, p1mirrorEdge);\n const { a: a2, b: b2, c: c2 } = pointsToABC(rootP2, edgeP2, p2mirrorEdge);\n\n // sometimes numbers have this form: 1.00000000002 because of calculations, we have to round them\n const round = (number) => Math.round(number * 10000) / 10000;\n\n return round(a1) === round(a2) && round(b1) === round(b2) && round(c1) === round(c2);\n};\n\n/*\n * Function to check if given two points for absolute function\n * for correct answer and student answer are equal or not.\n * @param p1 - student answer\n * @param p2 - correct answer\n * */\nexport const equalAbsolute = (p1, p2) => {\n const { edge: edgeP1 } = p1;\n const { edge: edgeP2 } = p2;\n let { root: rootP1 } = p1;\n let { root: rootP2 } = p2;\n\n rootP1 = { ...rootP1 };\n rootP2 = { ...rootP2 };\n\n const p1edge = edgeP1 || { ...rootP1 };\n const p2edge = edgeP2 || { ...rootP2 };\n\n const p1a1 = pointsToAForAbsolute(rootP1, p1edge);\n const p2a2 = pointsToAForAbsolute(rootP2, p2edge);\n\n // if both root and a value are equal\n return isEqual(rootP2, rootP1) && isEqual(p2a2, p1a1);\n};\n\n/*\n * Function to check if given two points for exponential function\n * for correct answer and student answer are equal or not.\n * @param p1 - student answer\n * @param p2 - correct answer\n * */\nexport const equalExponential = (p1, p2) => {\n const { edge: edgeP1 } = p1;\n const { edge: edgeP2 } = p2;\n let { root: rootP1 } = p1;\n let { root: rootP2 } = p2;\n\n rootP1 = { ...rootP1 };\n rootP2 = { ...rootP2 };\n\n const p1edge = edgeP1 || { ...rootP1 };\n const p2edge = edgeP2 || { ...rootP2 };\n\n const { a1, b1 } = pointsToABForExponential(rootP1, p1edge);\n const { a2, b2 } = pointsToABForExponential(rootP2, p2edge);\n\n // if both a and b value are equal\n return isEqual(a2, a1) && isEqual(b2, b1);\n};\n\nexport const equalMarks = {\n circle: (sessAnswer, mark) => equalCircle(sessAnswer, mark),\n line: (sessAnswer, mark) => equalLine(sessAnswer, mark),\n parabola: (sessAnswer, mark) => equalParabola(sessAnswer, mark),\n absolute: (sessAnswer, mark) => equalAbsolute(sessAnswer, mark),\n exponential: (sessAnswer, mark) => equalExponential(sessAnswer, mark),\n point: (sessAnswer, mark) => equalPoint(sessAnswer, mark),\n polygon: (sessAnswer, poly) => equalPolygon(sessAnswer, poly),\n ray: (sessAnswer, mark) => equalRay(sessAnswer, mark),\n segment: (sessAnswer, mark) => equalSegment(sessAnswer, mark),\n sine: (sessAnswer, mark) => equalSine(sessAnswer, mark),\n vector: (sessAnswer, mark) => equalVector(sessAnswer, mark),\n};\n\nconst completePoint = (point) => point && Number.isFinite(point.x) && Number.isFinite(point.y);\nconst completeFromTo = (item) => item && completeMark.point(item.from) && completeMark.point(item.to);\nconst completeRootEdge = (item) => item && completeMark.point(item.edge) && completeMark.point(item.root);\nconst completePoints = (item) =>\n item &&\n item.points &&\n item.points.length &&\n (item.points.filter((point) => completePoint(point)) || []).length === item.points.length;\n\nconst completeMark = {\n point: completePoint,\n line: completeFromTo,\n ray: completeFromTo,\n segment: completeFromTo,\n vector: completeFromTo,\n circle: completeRootEdge,\n parabola: completeRootEdge,\n absolute: completeRootEdge,\n exponential: completeRootEdge,\n sine: completeRootEdge,\n polygon: completePoints,\n};\n"],"mappings":"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","ignoreList":[]}
|
package/controller/package.json
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@pie-element/graphing-controller",
|
|
3
|
-
"private": true,
|
|
4
|
-
"version": "9.1.0-next.2",
|
|
5
|
-
"description": "",
|
|
6
|
-
"main": "lib/index.js",
|
|
7
|
-
"module": "src/index.js",
|
|
8
|
-
"scripts": {
|
|
9
|
-
"test": "./node_modules/.bin/jest"
|
|
10
|
-
},
|
|
11
|
-
"dependencies": {
|
|
12
|
-
"@pie-lib/controller-utils": "2.0.2",
|
|
13
|
-
"@pie-lib/graphing-utils": "3.0.2",
|
|
14
|
-
"debug": "^4.1.1"
|
|
15
|
-
},
|
|
16
|
-
"devDependencies": {
|
|
17
|
-
"babel-jest": "^29.7.0",
|
|
18
|
-
"babel-preset-env": "^1.6.1",
|
|
19
|
-
"babel-preset-stage-0": "^6.24.1",
|
|
20
|
-
"jest": "^29.7.0"
|
|
21
|
-
},
|
|
22
|
-
"author": "",
|
|
23
|
-
"license": "ISC"
|
|
24
|
-
}
|