New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

skydiet-lib-node

Package Overview
Dependencies
Maintainers
1
Versions
51
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

skydiet-lib-node - npm Package Compare versions

Comparing version 1.0.7 to 1.0.8

dist/const.d.ts

4

dist/index.d.ts
import { IAttendanceQuestion } from "./models/IAttendanceQuestion";
import { IPatient } from "./models/IPatient";
export declare const processAnswer: (currentQuestion: IAttendanceQuestion, currentAttendenceQuestions: IAttendanceQuestion[], bankQuestions: IAttendanceQuestion[], patient: IPatient) => {
import { IOptionsProcessAnswer } from "./models/IOptionsProcessAnswer";
export declare const processAnswer: (options: IOptionsProcessAnswer) => {
questions: IAttendanceQuestion[];

@@ -5,0 +5,0 @@ autoAnswers: IAttendanceQuestion[];

@@ -10,18 +10,20 @@ "use strict";

const IQuestion_1 = require("./models/IQuestion");
const processAnswer = (currentQuestion, currentAttendenceQuestions, bankQuestions, patient) => {
//localizar a pergunta no array de perguntas setando a resposta
const question = currentAttendenceQuestions.find((q) => q._id === currentQuestion._id);
const c2_util_1 = require("c2-util");
const const_1 = require("./const");
const processAnswer = (options) => {
// localizar a pergunta no array de perguntas setando a resposta
const question = options.currentAttendenceQuestions.find((q) => q._id === options.currentQuestion._id);
if (!question) {
throw new Error("invalid question");
}
question.answer = currentQuestion.answer;
question.answer = options.currentQuestion.answer;
// filtra as perguntas já respondidas
const questionsAnswereds = [...defaultAnswers(patient), ...currentAttendenceQuestions.filter((q) => q.answer && q.codeAnswer)];
const questionsChilds = bankQuestions.filter((q) => q.questionParent === currentQuestion.questionOrigin);
const questionsAnswereds = [...defaultAnswers(options.patient, options.bankQuestions, options.attendanceMetActivities), ...options.currentAttendenceQuestions.filter((q) => q.answer && q.codeAnswer)];
const questionsChilds = options.bankQuestions.filter((q) => q.questionParent === options.currentQuestion.questionOrigin);
const childsReleaseds = getChildsReleaseds(questionsChilds, questionsAnswereds);
const childsDisableds = getChildsDisableds(questionsChilds, questionsAnswereds, bankQuestions);
const questionsAutoAnswereds = getQuestionsAutoAnswereds(question.codeAnswer, questionsAnswereds, bankQuestions);
let currentAttendenceQuestionsNew = currentAttendenceQuestions.filter((q) => !childsDisableds.map((disabled) => disabled._id).includes(q._id));
const childsDisableds = getChildsDisableds(questionsChilds, questionsAnswereds, options.bankQuestions);
const questionsAutoAnswereds = getQuestionsAutoAnswereds(question.codeAnswer, questionsAnswereds, options.bankQuestions);
let currentAttendenceQuestionsNew = options.currentAttendenceQuestions.filter((q) => !childsDisableds.map((disabled) => disabled._id).includes(q._id));
currentAttendenceQuestionsNew = [...currentAttendenceQuestionsNew, ...childsReleaseds];
const currentQuestionNew = currentAttendenceQuestionsNew.find((q) => q._id === currentQuestion._id);
const currentQuestionNew = currentAttendenceQuestionsNew.find((q) => q._id === options.currentQuestion._id);
if (currentQuestionNew) {

@@ -109,5 +111,5 @@ currentQuestionNew.childs = childsReleaseds;

exports.group = group;
const defaultAnswers = (patient) => {
const responseAttendanceQuestionsDependents = [];
responseAttendanceQuestionsDependents.push({
const defaultAnswers = (patient, bankQuestions, attendanceMetActivities) => {
const questionsDefaultAnswereds = [];
questionsDefaultAnswereds.push({
codeAnswer: "AGE",

@@ -117,3 +119,3 @@ typeAnswer: IQuestion_1.TYPE_ANSWER.OPEN_NUMBER,

});
responseAttendanceQuestionsDependents.push({
questionsDefaultAnswereds.push({
codeAnswer: "BORN_DATE",

@@ -123,3 +125,3 @@ typeAnswer: IQuestion_1.TYPE_ANSWER.DATE,

});
responseAttendanceQuestionsDependents.push({
questionsDefaultAnswereds.push({
codeAnswer: "GENRE",

@@ -129,3 +131,52 @@ typeAnswer: IQuestion_1.TYPE_ANSWER.OPEN_TEXT,

});
return responseAttendanceQuestionsDependents;
if (attendanceMetActivities?.length) {
const currentWeight = bankQuestions.find((aq) => aq.codeAnswer === const_1.WEIGHT_CURRENT)?.answer ?? 0;
for (const metActivity of attendanceMetActivities) {
// 1 met = 1 kcal/kg/hour
const metValue = metActivity.met?.metValue ?? 0;
const caloriesSunday = metValue * currentWeight * ((0, c2_util_1.timeToPercentage)(metActivity.sundayTime)) ?? 0;
questionsDefaultAnswereds.push({
codeAnswer: const_1.MET_CALORIES_ON_SUNDAY,
typeAnswer: IQuestion_1.TYPE_ANSWER.OPEN_NUMBER,
answer: caloriesSunday
});
const caloriesMonday = metValue * currentWeight * ((0, c2_util_1.timeToPercentage)(metActivity.mondayTime)) ?? 0;
questionsDefaultAnswereds.push({
codeAnswer: const_1.MET_CALORIES_ON_MONDAY,
typeAnswer: IQuestion_1.TYPE_ANSWER.OPEN_NUMBER,
answer: caloriesMonday
});
const caloriesTuesday = metValue * currentWeight * ((0, c2_util_1.timeToPercentage)(metActivity.tuesdayTime)) ?? 0;
questionsDefaultAnswereds.push({
codeAnswer: const_1.MET_CALORIES_ON_TUESDAY,
typeAnswer: IQuestion_1.TYPE_ANSWER.OPEN_NUMBER,
answer: caloriesTuesday
});
const caloriesWednesday = metValue * currentWeight * ((0, c2_util_1.timeToPercentage)(metActivity.wednesdayTime)) ?? 0;
questionsDefaultAnswereds.push({
codeAnswer: const_1.MET_CALORIES_ON_WEDNESDAY,
typeAnswer: IQuestion_1.TYPE_ANSWER.OPEN_NUMBER,
answer: caloriesWednesday
});
const caloriesThursday = metValue * currentWeight * ((0, c2_util_1.timeToPercentage)(metActivity.thursdayTime)) ?? 0;
questionsDefaultAnswereds.push({
codeAnswer: const_1.MET_CALORIES_ON_THURSDAY,
typeAnswer: IQuestion_1.TYPE_ANSWER.OPEN_NUMBER,
answer: caloriesThursday
});
const caloriesFriday = metValue * currentWeight * ((0, c2_util_1.timeToPercentage)(metActivity.fridayTime)) ?? 0;
questionsDefaultAnswereds.push({
codeAnswer: const_1.MET_CALORIES_ON_FRIDAY,
typeAnswer: IQuestion_1.TYPE_ANSWER.OPEN_NUMBER,
answer: caloriesFriday
});
const caloriesSaturday = metValue * currentWeight * ((0, c2_util_1.timeToPercentage)(metActivity.saturdayTime)) ?? 0;
questionsDefaultAnswereds.push({
codeAnswer: const_1.MET_CALORIES_ON_SATURDAY,
typeAnswer: IQuestion_1.TYPE_ANSWER.OPEN_NUMBER,
answer: caloriesSaturday
});
}
}
return questionsDefaultAnswereds;
};

@@ -132,0 +183,0 @@ const getChildsReleaseds = (questionsChilds, questionsAnswereds) => {

{
"name": "skydiet-lib-node",
"version": "1.0.7",
"version": "1.0.8",
"description": "Biblioteca para funções skydiet",

@@ -21,2 +21,3 @@ "author": "Daniel Cabral <cabralconsultoriaemsoftware@gmail.com>",

"dependencies": {
"c2-util": "^1.0.23",
"moment": "^2.30.1",

@@ -23,0 +24,0 @@ "ts-node": "^10.8.1",

/* eslint-disable @typescript-eslint/no-unused-vars */
import moment from "moment"
import { IAttendanceQuestion } from "./models/IAttendanceQuestion"
import { IOptionsProcessAnswer } from "./models/IOptionsProcessAnswer"
import { IPatient } from "./models/IPatient"
import { TYPE_ANSWER, IQuestionOptions } from "./models/IQuestion"
import { IQuestionOptions, TYPE_ANSWER } from "./models/IQuestion"
import { IAttendanceMetActivity } from "./models/IAttendanceMetActivity"
import { IAdminMet } from "./models/IAdminMet"
import { timeToPercentage } from "c2-util"
import { MET_CALORIES_ON_FRIDAY, MET_CALORIES_ON_MONDAY, MET_CALORIES_ON_SATURDAY, MET_CALORIES_ON_SUNDAY, MET_CALORIES_ON_THURSDAY, MET_CALORIES_ON_TUESDAY, MET_CALORIES_ON_WEDNESDAY, WEIGHT_CURRENT } from "./const"
export const processAnswer = (currentQuestion: IAttendanceQuestion, currentAttendenceQuestions: IAttendanceQuestion[], bankQuestions: IAttendanceQuestion[], patient: IPatient): {
questions: IAttendanceQuestion[],
autoAnswers: IAttendanceQuestion[]
} => {
export const processAnswer = (options: IOptionsProcessAnswer): {
questions: IAttendanceQuestion[],
autoAnswers: IAttendanceQuestion[]
} => {
//localizar a pergunta no array de perguntas setando a resposta
const question = currentAttendenceQuestions.find((q: IAttendanceQuestion) => q._id === currentQuestion._id)
// localizar a pergunta no array de perguntas setando a resposta
const question = options.currentAttendenceQuestions.find((q: IAttendanceQuestion) => q._id === options.currentQuestion._id)
if (!question) {
throw new Error("invalid question")
}
question.answer = currentQuestion.answer
question.answer = options.currentQuestion.answer
// filtra as perguntas já respondidas
const questionsAnswereds = [...defaultAnswers(patient), ...currentAttendenceQuestions.filter((q: IAttendanceQuestion) => q.answer && q.codeAnswer)]
const questionsAnswereds = [...defaultAnswers(options.patient, options.bankQuestions, options.attendanceMetActivities), ...options.currentAttendenceQuestions.filter((q: IAttendanceQuestion) => q.answer && q.codeAnswer)]
const questionsChilds = bankQuestions.filter((q: IAttendanceQuestion) => q.questionParent === currentQuestion.questionOrigin)
const questionsChilds = options.bankQuestions.filter((q: IAttendanceQuestion) => q.questionParent === options.currentQuestion.questionOrigin)
const childsReleaseds = getChildsReleaseds(questionsChilds, questionsAnswereds)
const childsDisableds = getChildsDisableds(questionsChilds, questionsAnswereds, bankQuestions)
const questionsAutoAnswereds = getQuestionsAutoAnswereds(question.codeAnswer, questionsAnswereds, bankQuestions)
const childsDisableds = getChildsDisableds(questionsChilds, questionsAnswereds, options.bankQuestions)
const questionsAutoAnswereds = getQuestionsAutoAnswereds(question.codeAnswer, questionsAnswereds, options.bankQuestions)
let currentAttendenceQuestionsNew = currentAttendenceQuestions.filter((q: IAttendanceQuestion) => !childsDisableds.map((disabled: IAttendanceQuestion) => disabled._id).includes(q._id));
let currentAttendenceQuestionsNew = options.currentAttendenceQuestions.filter((q: IAttendanceQuestion) => !childsDisableds.map((disabled: IAttendanceQuestion) => disabled._id).includes(q._id));
currentAttendenceQuestionsNew = [...currentAttendenceQuestionsNew, ...childsReleaseds]
const currentQuestionNew = currentAttendenceQuestionsNew.find((q: IAttendanceQuestion) => q._id === currentQuestion._id)
const currentQuestionNew = currentAttendenceQuestionsNew.find((q: IAttendanceQuestion) => q._id === options.currentQuestion._id)
if (currentQuestionNew) {

@@ -123,6 +128,6 @@ currentQuestionNew.childs = childsReleaseds

const defaultAnswers = (patient: IPatient): IAttendanceQuestion[] => {
const responseAttendanceQuestionsDependents: IAttendanceQuestion[] = [];
const defaultAnswers = (patient: IPatient, bankQuestions: IAttendanceQuestion[], attendanceMetActivities?: IAttendanceMetActivity[]): IAttendanceQuestion[] => {
const questionsDefaultAnswereds: IAttendanceQuestion[] = [];
responseAttendanceQuestionsDependents.push({
questionsDefaultAnswereds.push({
codeAnswer: "AGE",

@@ -133,3 +138,3 @@ typeAnswer: TYPE_ANSWER.OPEN_NUMBER,

responseAttendanceQuestionsDependents.push({
questionsDefaultAnswereds.push({
codeAnswer: "BORN_DATE",

@@ -140,3 +145,3 @@ typeAnswer: TYPE_ANSWER.DATE,

responseAttendanceQuestionsDependents.push({
questionsDefaultAnswereds.push({
codeAnswer: "GENRE",

@@ -147,3 +152,62 @@ typeAnswer: TYPE_ANSWER.OPEN_TEXT,

return responseAttendanceQuestionsDependents;
if (attendanceMetActivities?.length){
const currentWeight = bankQuestions.find((aq: IAttendanceQuestion) => aq.codeAnswer === WEIGHT_CURRENT)?.answer ?? 0
for (const metActivity of attendanceMetActivities) {
// 1 met = 1 kcal/kg/hour
const metValue = (metActivity.met as IAdminMet)?.metValue ?? 0
const caloriesSunday = metValue * currentWeight * (timeToPercentage(metActivity.sundayTime)) ?? 0
questionsDefaultAnswereds.push({
codeAnswer: MET_CALORIES_ON_SUNDAY,
typeAnswer: TYPE_ANSWER.OPEN_NUMBER,
answer: caloriesSunday
} as IAttendanceQuestion);
const caloriesMonday = metValue * currentWeight * (timeToPercentage(metActivity.mondayTime)) ?? 0
questionsDefaultAnswereds.push({
codeAnswer: MET_CALORIES_ON_MONDAY,
typeAnswer: TYPE_ANSWER.OPEN_NUMBER,
answer: caloriesMonday
} as IAttendanceQuestion);
const caloriesTuesday = metValue * currentWeight * (timeToPercentage(metActivity.tuesdayTime)) ?? 0
questionsDefaultAnswereds.push({
codeAnswer: MET_CALORIES_ON_TUESDAY,
typeAnswer: TYPE_ANSWER.OPEN_NUMBER,
answer: caloriesTuesday
} as IAttendanceQuestion);
const caloriesWednesday = metValue * currentWeight * (timeToPercentage(metActivity.wednesdayTime)) ?? 0
questionsDefaultAnswereds.push({
codeAnswer: MET_CALORIES_ON_WEDNESDAY,
typeAnswer: TYPE_ANSWER.OPEN_NUMBER,
answer: caloriesWednesday
} as IAttendanceQuestion);
const caloriesThursday = metValue * currentWeight * (timeToPercentage(metActivity.thursdayTime)) ?? 0
questionsDefaultAnswereds.push({
codeAnswer: MET_CALORIES_ON_THURSDAY,
typeAnswer: TYPE_ANSWER.OPEN_NUMBER,
answer: caloriesThursday
} as IAttendanceQuestion);
const caloriesFriday = metValue * currentWeight * (timeToPercentage(metActivity.fridayTime)) ?? 0
questionsDefaultAnswereds.push({
codeAnswer: MET_CALORIES_ON_FRIDAY,
typeAnswer: TYPE_ANSWER.OPEN_NUMBER,
answer: caloriesFriday
} as IAttendanceQuestion);
const caloriesSaturday = metValue * currentWeight * (timeToPercentage(metActivity.saturdayTime)) ?? 0
questionsDefaultAnswereds.push({
codeAnswer: MET_CALORIES_ON_SATURDAY,
typeAnswer: TYPE_ANSWER.OPEN_NUMBER,
answer: caloriesSaturday
} as IAttendanceQuestion);
}
}
return questionsDefaultAnswereds;
}

@@ -150,0 +214,0 @@

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc