Big News: Socket raises $60M Series C at a $1B valuation to secure software supply chains for AI-driven development.Announcement
Sign In

alignment-compass

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

alignment-compass - npm Package Compare versions

Comparing version
1.1.1
to
1.1.2
+17
dist/classes/test-calculator.class.d.ts
import { IAnsweredAnswer } from "../types/answered-answer.interface";
import { ICompassTestResult } from "../types/compass-test-result.interface";
/** Used to calculate test results */
export declare class TestCalculator {
/**
* calculates a coordinate given a list of test answers
* @param answers a list of answered questions
*/
static CalculateTestResults(answers: IAnsweredAnswer[]): ICompassTestResult;
/**
* takes a value and normalizes it in relation to provided max value
* @param value the value to be normalized
* @param max all values get normalized between 0 and this value
*/
private static Normalize;
}
//# sourceMappingURL=test-calculator.class.d.ts.map
{"version":3,"file":"test-calculator.class.d.ts","sourceRoot":"","sources":["../../lib/classes/test-calculator.class.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAE5E,qCAAqC;AACrC,qBAAa,cAAc;IAE1B;;;OAGG;WACW,oBAAoB,CAAC,OAAO,EAAE,eAAe,EAAE,GAAG,kBAAkB;IAuClF;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,SAAS;CAKxB"}
"use strict";
// Code Written by CodingVampyre 2021; Licensed under MIT
Object.defineProperty(exports, "__esModule", { value: true });
exports.TestCalculator = void 0;
/** Used to calculate test results */
class TestCalculator {
/**
* calculates a coordinate given a list of test answers
* @param answers a list of answered questions
*/
static CalculateTestResults(answers) {
// Calculate Max value on each axis
let max = [0, 0];
for (const answer of answers) {
if (answer.weights[0] !== undefined && answer.weights[1] !== undefined) {
max[0] += Math.abs(answer.weights[0]);
max[1] += Math.abs(answer.weights[1]);
}
}
// Calculate answer by creating a vector of answer * weights
const weightedAnswers = answers.map(answer => {
if (answer.answer !== undefined && answer.weights[0] !== undefined && answer.weights[1] !== undefined) {
return [
answer.answer * answer.weights[0],
answer.answer * answer.weights[1],
];
}
});
// add together all answers
let finalResult = [0, 0];
for (const weightedAnswer of weightedAnswers) {
if (weightedAnswer && weightedAnswer[0] !== undefined && finalResult[1] !== undefined) {
finalResult[0] += weightedAnswer[0];
finalResult[1] += weightedAnswer[1];
}
}
// normalize using max value on each axis
const normalizedResult = [
TestCalculator.Normalize(finalResult[0], max[0]),
TestCalculator.Normalize(finalResult[1], max[1]),
];
// set Result
return normalizedResult;
}
/**
* takes a value and normalizes it in relation to provided max value
* @param value the value to be normalized
* @param max all values get normalized between 0 and this value
*/
static Normalize(value, max) {
if (max === 0)
return 0;
return value / max;
}
}
exports.TestCalculator = TestCalculator;
//# sourceMappingURL=test-calculator.class.js.map
{"version":3,"file":"test-calculator.class.js","sourceRoot":"","sources":["../../lib/classes/test-calculator.class.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAKzD,qCAAqC;AACrC,MAAa,cAAc;IAE1B;;;OAGG;IACI,MAAM,CAAC,oBAAoB,CAAC,OAA0B;QAC5D,mCAAmC;QACnC,IAAI,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACjB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;YAC7B,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE;gBACvE,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;gBACtC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;aACtC;SACD;QAED,4DAA4D;QAC5D,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;YAC5C,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE;gBACtG,OAAO;oBACN,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;oBACjC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;iBACjC,CAAA;aACD;QACF,CAAC,CAAC,CAAC;QAEH,2BAA2B;QAC3B,IAAI,WAAW,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACzB,KAAK,MAAM,cAAc,IAAI,eAAe,EAAE;YAC7C,IAAI,cAAc,IAAI,cAAc,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,WAAW,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE;gBACtF,WAAW,CAAC,CAAC,CAAC,IAAI,cAAc,CAAC,CAAC,CAAC,CAAC;gBACpC,WAAW,CAAC,CAAC,CAAC,IAAI,cAAc,CAAC,CAAC,CAAC,CAAC;aACpC;SACD;QAED,yCAAyC;QACzC,MAAM,gBAAgB,GAAqB;YAC1C,cAAc,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;YAChD,cAAc,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;SAChD,CAAC;QAEF,aAAa;QACb,OAAO,gBAAgB,CAAC;IACzB,CAAC;IAED;;;;OAIG;IACK,MAAM,CAAC,SAAS,CAAC,KAAa,EAAE,GAAW;QAClD,IAAI,GAAG,KAAK,CAAC;YAAE,OAAO,CAAC,CAAC;QACxB,OAAO,KAAK,GAAG,GAAG,CAAC;IACpB,CAAC;CAED;AAvDD,wCAuDC"}
export {};
//# sourceMappingURL=test-calculator.test.d.ts.map
{"version":3,"file":"test-calculator.test.d.ts","sourceRoot":"","sources":["../../lib/classes/test-calculator.test.ts"],"names":[],"mappings":""}
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const test_calculator_class_1 = require("../classes/test-calculator.class");
describe('tests', () => {
test('should calculate primitive test results correctly', () => {
const results = test_calculator_class_1.TestCalculator.CalculateTestResults([
{
answer: 1,
weights: [1, 0],
}
]);
expect(results).toStrictEqual([1, 0]);
});
test('should calculate a more complex test', () => {
const results = test_calculator_class_1.TestCalculator.CalculateTestResults([
{
answer: 1,
weights: [1, 0],
},
{
answer: 0.5,
weights: [0, 1],
},
{
answer: -1,
weights: [0.5, -1],
},
{
answer: -0.5,
weights: [-1, 1],
}
]);
expect(results).toStrictEqual([0.4, 0.3333333333333333]);
});
});
//# sourceMappingURL=test-calculator.test.js.map
{"version":3,"file":"test-calculator.test.js","sourceRoot":"","sources":["../../lib/classes/test-calculator.test.ts"],"names":[],"mappings":";;AACA,4EAAkE;AAElE,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;IAEnB,IAAI,CAAC,mDAAmD,EAAE,GAAG,EAAE;QAE3D,MAAM,OAAO,GAAG,sCAAc,CAAC,oBAAoB,CAAC;YAChD;gBACI,MAAM,EAAE,CAAC;gBACT,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;aAClB;SACJ,CAAC,CAAA;QAEF,MAAM,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAE9C,MAAM,OAAO,GAAG,sCAAc,CAAC,oBAAoB,CAAC;YAChD;gBACI,MAAM,EAAE,CAAC;gBACT,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;aAClB;YACD;gBACI,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;aAClB;YACD;gBACI,MAAM,EAAE,CAAC,CAAC;gBACV,OAAO,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;aACrB;YACD;gBACI,MAAM,EAAE,CAAC,GAAG;gBACZ,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;aACnB;SACJ,CAAC,CAAC;QAEH,MAAM,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAE7D,CAAC,CAAC,CAAC;AAEP,CAAC,CAAC,CAAC"}
export * from './classes/test-calculator.class';
export * from './types/answered-answer.interface';
export * from './types/compass-test-question.interface';
export * from './types/compass-test.interface';
export * from './types/compass-test-result.interface';
//# sourceMappingURL=index.d.ts.map
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AACA,cAAc,iCAAiC,CAAC;AAGhD,cAAc,mCAAmC,CAAC;AAClD,cAAc,yCAAyC,CAAC;AACxD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,uCAAuC,CAAC"}
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __exportStar = (this && this.__exportStar) || function(m, exports) {
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
};
Object.defineProperty(exports, "__esModule", { value: true });
// Test Calculator
__exportStar(require("./classes/test-calculator.class"), exports);
// Types
__exportStar(require("./types/answered-answer.interface"), exports);
__exportStar(require("./types/compass-test-question.interface"), exports);
__exportStar(require("./types/compass-test.interface"), exports);
__exportStar(require("./types/compass-test-result.interface"), exports);
//# sourceMappingURL=index.js.map
{"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,kBAAkB;AAClB,kEAAgD;AAEhD,QAAQ;AACR,oEAAkD;AAClD,0EAAwD;AACxD,iEAA+C;AAC/C,wEAAsD"}
/** holds information about a selected answer */
export interface IAnsweredAnswer {
/** since answers are single choice, the selected answer can be provided here */
answer?: number;
/** this factor normally is [1,1] and can influence how much a result moves the quiztaker on each axis */
weights: [number?, number?];
}
//# sourceMappingURL=answered-answer.interface.d.ts.map
{"version":3,"file":"answered-answer.interface.d.ts","sourceRoot":"","sources":["../../lib/types/answered-answer.interface.ts"],"names":[],"mappings":"AAEA,gDAAgD;AAChD,MAAM,WAAW,eAAe;IAE/B,gFAAgF;IAChF,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,yGAAyG;IACzG,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;CAC5B"}
"use strict";
// Code Written by CodingVampyre 2021; Licensed under MIT
Object.defineProperty(exports, "__esModule", { value: true });
//# sourceMappingURL=answered-answer.interface.js.map
{"version":3,"file":"answered-answer.interface.js","sourceRoot":"","sources":["../../lib/types/answered-answer.interface.ts"],"names":[],"mappings":";AAAA,yDAAyD"}
/** Contains a question with text */
export interface ICompassTestQuestion {
text: string;
weights: [number, number];
}
//# sourceMappingURL=compass-test-question.interface.d.ts.map
{"version":3,"file":"compass-test-question.interface.d.ts","sourceRoot":"","sources":["../../lib/types/compass-test-question.interface.ts"],"names":[],"mappings":"AAEA,oCAAoC;AACpC,MAAM,WAAW,oBAAoB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC1B"}
"use strict";
// Code Written by CodingVampyre 2021; Licensed under MIT
Object.defineProperty(exports, "__esModule", { value: true });
//# sourceMappingURL=compass-test-question.interface.js.map
{"version":3,"file":"compass-test-question.interface.js","sourceRoot":"","sources":["../../lib/types/compass-test-question.interface.ts"],"names":[],"mappings":";AAAA,yDAAyD"}
export declare type ICompassTestResult = [number, number];
//# sourceMappingURL=compass-test-result.interface.d.ts.map
{"version":3,"file":"compass-test-result.interface.d.ts","sourceRoot":"","sources":["../../lib/types/compass-test-result.interface.ts"],"names":[],"mappings":"AAEA,oBAAY,kBAAkB,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC"}
"use strict";
// Code Written by CodingVampyre 2021; Licensed under MIT
Object.defineProperty(exports, "__esModule", { value: true });
//# sourceMappingURL=compass-test-result.interface.js.map
{"version":3,"file":"compass-test-result.interface.js","sourceRoot":"","sources":["../../lib/types/compass-test-result.interface.ts"],"names":[],"mappings":";AAAA,yDAAyD"}
import { ICompassTestQuestion } from "./compass-test-question.interface";
/** Contains a full test with metadata and questions */
export interface ICompassTest {
/** the name of a test, to be used as heading */
name: string;
/** a description which can provide further information about a test */
description: string;
/**
* a list of questions that can be answered
* typically, answers should be [Disagree, Somehat disagree, unsure/neutral, somewhat agree, agree]
*/
questions: ICompassTestQuestion[];
/** to render a test, each axis should hold a caption */
labels: {
xAxis: {
low: string;
high: string;
};
yAxis: {
low: string;
high: string;
};
};
}
//# sourceMappingURL=compass-test.interface.d.ts.map
{"version":3,"file":"compass-test.interface.d.ts","sourceRoot":"","sources":["../../lib/types/compass-test.interface.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAEzE,uDAAuD;AACvD,MAAM,WAAW,YAAY;IAE5B,gDAAgD;IAChD,IAAI,EAAE,MAAM,CAAC;IAEb,uEAAuE;IACvE,WAAW,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,SAAS,EAAE,oBAAoB,EAAE,CAAC;IAElC,wDAAwD;IACxD,MAAM,EAAE;QACP,KAAK,EAAE;YACN,GAAG,EAAE,MAAM,CAAC;YACZ,IAAI,EAAE,MAAM,CAAC;SACb,CAAC;QACF,KAAK,EAAE;YACN,GAAG,EAAE,MAAM,CAAC;YACZ,IAAI,EAAE,MAAM,CAAC;SACb,CAAA;KACD,CAAC;CACF"}
"use strict";
// Code Written by CodingVampyre 2021; Licensed under MIT
Object.defineProperty(exports, "__esModule", { value: true });
//# sourceMappingURL=compass-test.interface.js.map
{"version":3,"file":"compass-test.interface.js","sourceRoot":"","sources":["../../lib/types/compass-test.interface.ts"],"names":[],"mappings":";AAAA,yDAAyD"}
+10
-3
{
"name": "alignment-compass",
"version": "1.1.1",
"version": "1.1.2",
"description": "a library to create compass tests",
"main": "dist/index.js",
"types": "dist/index.d.ts",
"scripts": {
"test": "jest"
"test": "jest",
"build": "tsc"
},
"keywords": ["compass", "alignment", "test", "axis"],
"keywords": [
"compass",
"alignment",
"test",
"axis"
],
"author": "",

@@ -11,0 +18,0 @@ "license": "ISC",