@smvtech/x-flux 1.1.0 → 1.1.2

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/index.d.mts CHANGED
@@ -72,7 +72,8 @@ declare enum TA_QC_EXTRACTION_STATUS {
72
72
  declare enum VALIDATION_STATUS {
73
73
  PERFECT = "PERFECT",
74
74
  FIXABLE = "FIXABLE",
75
- UNFIXABLE = "UNFIXABLE"
75
+ UNFIXABLE = "UNFIXABLE",
76
+ MISSING = "MISSING"
76
77
  }
77
78
  declare const QuestionnaireSchema: z.ZodObject<{
78
79
  questionsWithRank: z.ZodArray<z.ZodObject<{
@@ -5378,6 +5379,7 @@ declare function getSignedUrlFromAsset(docId: string): Promise<string | null>;
5378
5379
  declare function getDisplayableQuestions(questions: TEDCApplicant["questions"], questionAnswerSources: ANSWER_SOURCE[]): TEDCApplicant["questions"];
5379
5380
  declare function getDisplayableDocuments(questions: TEDCApplicant["questions"], documentAnswerSources: ANSWER_SOURCE[]): TEDCApplicant["questions"];
5380
5381
  declare function getValidationErrors(validations?: TAnswer["validations"] | null): ValidationResult;
5382
+ declare function getValidationResult(question: TEDCApplicant["questions"][0]): ValidationResult;
5381
5383
  declare function validateApplicantQuestions(applicant: TEDCApplicant, questionAnswerSources: ANSWER_SOURCE[]): Array<{
5382
5384
  name: string;
5383
5385
  validationResult: ValidationResult;
@@ -5460,4 +5462,4 @@ declare const EDCFlow: {
5460
5462
  };
5461
5463
  };
5462
5464
 
5463
- export { ANSWER_SOURCE, APPLICATION_STATUS, APPLICATION_TAGS, AnswerSchema, type ApiResponse, ApplicationSchema, DOC_TYPES, type EDCConfig, EDCFlowProvider, INTERNAL_ORDER_TAGS, PROCESSING_BLOCKED_ON_PAYMENT_STATUS, QUESTION_TYPE, QuestionnaireSchema, TA_QC_EXTRACTION_STATUS, type TAddTravellerPayload, type TAnswer, type TEDCApplicant, TIMELINE_STEP, type TQuestionWithAnswer, type TQuestionnaire, type TRenderRule, type TTraveller, type TUpdateAnswerPayload, type TUpdateTravellerPayload, type TUploadProgressEvent, type TVisaOrder, TimelinePaymentStatus, TravellerSchema, type UploadProgressEvent, VALIDATION_STATUS, VISA_TYPE_INTERNAL_TAGS, type ValidationItem, type ValidationResult, type ValidationResultGroup, createAllQuestionsWithAnswers, createApplicantData, EDCFlow as default, filterConditionalQuestions, formatAnswerFromResponse, formatTravellerFromResponse, getDisplayableDocuments, getDisplayableQuestions, getSignedUrlFromAsset, getValidationErrors, getVisibleQuestions, initializeEDCFlow, updateApplicantWithAnswer, useEDCFlow, validateAllApplicants, validateApplicant, validateApplicantDocuments, validateApplicantQuestions, validateOrder };
5465
+ export { ANSWER_SOURCE, APPLICATION_STATUS, APPLICATION_TAGS, AnswerSchema, type ApiResponse, ApplicationSchema, DOC_TYPES, type EDCConfig, EDCFlowProvider, INTERNAL_ORDER_TAGS, PROCESSING_BLOCKED_ON_PAYMENT_STATUS, QUESTION_TYPE, QuestionnaireSchema, TA_QC_EXTRACTION_STATUS, type TAddTravellerPayload, type TAnswer, type TEDCApplicant, TIMELINE_STEP, type TQuestionWithAnswer, type TQuestionnaire, type TRenderRule, type TTraveller, type TUpdateAnswerPayload, type TUpdateTravellerPayload, type TUploadProgressEvent, type TVisaOrder, TimelinePaymentStatus, TravellerSchema, type UploadProgressEvent, VALIDATION_STATUS, VISA_TYPE_INTERNAL_TAGS, type ValidationItem, type ValidationResult, type ValidationResultGroup, createAllQuestionsWithAnswers, createApplicantData, EDCFlow as default, filterConditionalQuestions, formatAnswerFromResponse, formatTravellerFromResponse, getDisplayableDocuments, getDisplayableQuestions, getSignedUrlFromAsset, getValidationErrors, getValidationResult, getVisibleQuestions, initializeEDCFlow, updateApplicantWithAnswer, useEDCFlow, validateAllApplicants, validateApplicant, validateApplicantDocuments, validateApplicantQuestions, validateOrder };
package/dist/index.d.ts CHANGED
@@ -72,7 +72,8 @@ declare enum TA_QC_EXTRACTION_STATUS {
72
72
  declare enum VALIDATION_STATUS {
73
73
  PERFECT = "PERFECT",
74
74
  FIXABLE = "FIXABLE",
75
- UNFIXABLE = "UNFIXABLE"
75
+ UNFIXABLE = "UNFIXABLE",
76
+ MISSING = "MISSING"
76
77
  }
77
78
  declare const QuestionnaireSchema: z.ZodObject<{
78
79
  questionsWithRank: z.ZodArray<z.ZodObject<{
@@ -5378,6 +5379,7 @@ declare function getSignedUrlFromAsset(docId: string): Promise<string | null>;
5378
5379
  declare function getDisplayableQuestions(questions: TEDCApplicant["questions"], questionAnswerSources: ANSWER_SOURCE[]): TEDCApplicant["questions"];
5379
5380
  declare function getDisplayableDocuments(questions: TEDCApplicant["questions"], documentAnswerSources: ANSWER_SOURCE[]): TEDCApplicant["questions"];
5380
5381
  declare function getValidationErrors(validations?: TAnswer["validations"] | null): ValidationResult;
5382
+ declare function getValidationResult(question: TEDCApplicant["questions"][0]): ValidationResult;
5381
5383
  declare function validateApplicantQuestions(applicant: TEDCApplicant, questionAnswerSources: ANSWER_SOURCE[]): Array<{
5382
5384
  name: string;
5383
5385
  validationResult: ValidationResult;
@@ -5460,4 +5462,4 @@ declare const EDCFlow: {
5460
5462
  };
5461
5463
  };
5462
5464
 
5463
- export { ANSWER_SOURCE, APPLICATION_STATUS, APPLICATION_TAGS, AnswerSchema, type ApiResponse, ApplicationSchema, DOC_TYPES, type EDCConfig, EDCFlowProvider, INTERNAL_ORDER_TAGS, PROCESSING_BLOCKED_ON_PAYMENT_STATUS, QUESTION_TYPE, QuestionnaireSchema, TA_QC_EXTRACTION_STATUS, type TAddTravellerPayload, type TAnswer, type TEDCApplicant, TIMELINE_STEP, type TQuestionWithAnswer, type TQuestionnaire, type TRenderRule, type TTraveller, type TUpdateAnswerPayload, type TUpdateTravellerPayload, type TUploadProgressEvent, type TVisaOrder, TimelinePaymentStatus, TravellerSchema, type UploadProgressEvent, VALIDATION_STATUS, VISA_TYPE_INTERNAL_TAGS, type ValidationItem, type ValidationResult, type ValidationResultGroup, createAllQuestionsWithAnswers, createApplicantData, EDCFlow as default, filterConditionalQuestions, formatAnswerFromResponse, formatTravellerFromResponse, getDisplayableDocuments, getDisplayableQuestions, getSignedUrlFromAsset, getValidationErrors, getVisibleQuestions, initializeEDCFlow, updateApplicantWithAnswer, useEDCFlow, validateAllApplicants, validateApplicant, validateApplicantDocuments, validateApplicantQuestions, validateOrder };
5465
+ export { ANSWER_SOURCE, APPLICATION_STATUS, APPLICATION_TAGS, AnswerSchema, type ApiResponse, ApplicationSchema, DOC_TYPES, type EDCConfig, EDCFlowProvider, INTERNAL_ORDER_TAGS, PROCESSING_BLOCKED_ON_PAYMENT_STATUS, QUESTION_TYPE, QuestionnaireSchema, TA_QC_EXTRACTION_STATUS, type TAddTravellerPayload, type TAnswer, type TEDCApplicant, TIMELINE_STEP, type TQuestionWithAnswer, type TQuestionnaire, type TRenderRule, type TTraveller, type TUpdateAnswerPayload, type TUpdateTravellerPayload, type TUploadProgressEvent, type TVisaOrder, TimelinePaymentStatus, TravellerSchema, type UploadProgressEvent, VALIDATION_STATUS, VISA_TYPE_INTERNAL_TAGS, type ValidationItem, type ValidationResult, type ValidationResultGroup, createAllQuestionsWithAnswers, createApplicantData, EDCFlow as default, filterConditionalQuestions, formatAnswerFromResponse, formatTravellerFromResponse, getDisplayableDocuments, getDisplayableQuestions, getSignedUrlFromAsset, getValidationErrors, getValidationResult, getVisibleQuestions, initializeEDCFlow, updateApplicantWithAnswer, useEDCFlow, validateAllApplicants, validateApplicant, validateApplicantDocuments, validateApplicantQuestions, validateOrder };
package/dist/index.js CHANGED
@@ -127,6 +127,7 @@ var VALIDATION_STATUS = /* @__PURE__ */ ((VALIDATION_STATUS2) => {
127
127
  VALIDATION_STATUS2["PERFECT"] = "PERFECT";
128
128
  VALIDATION_STATUS2["FIXABLE"] = "FIXABLE";
129
129
  VALIDATION_STATUS2["UNFIXABLE"] = "UNFIXABLE";
130
+ VALIDATION_STATUS2["MISSING"] = "MISSING";
130
131
  return VALIDATION_STATUS2;
131
132
  })(VALIDATION_STATUS || {});
132
133
  var QuestionnaireSchema = z2__namespace.object({
@@ -619,7 +620,7 @@ function getValidationErrors(validations) {
619
620
  totalTimeSaved
620
621
  };
621
622
  }
622
- function getQuestionValidationResult(question) {
623
+ function getValidationResult(question) {
623
624
  if (question.question.is_required) {
624
625
  const isDocument = question.question.type === "DOCUMENT" /* DOCUMENT */;
625
626
  let answerRequiredItem = null;
@@ -642,7 +643,7 @@ function getQuestionValidationResult(question) {
642
643
  };
643
644
  } else if (extractDefaultAnswer(answer) !== null) {
644
645
  answerRequiredItem = {
645
- error_text: "Please provide a valid answer",
646
+ error_text: "Answer cannot be empty",
646
647
  time_saved: 0,
647
648
  validation_name: "answer_required"
648
649
  };
@@ -651,7 +652,7 @@ function getQuestionValidationResult(question) {
651
652
  if (answerRequiredItem) {
652
653
  const unfixable = toGroup([answerRequiredItem]);
653
654
  return {
654
- status: "UNFIXABLE" /* UNFIXABLE */,
655
+ status: "MISSING" /* MISSING */,
655
656
  fixable: EMPTY_GROUP,
656
657
  unfixable,
657
658
  perfect: EMPTY_GROUP,
@@ -672,8 +673,8 @@ function validateApplicantQuestions(applicant, questionAnswerSources) {
672
673
  const displayableQuestions = getDisplayableQuestions(applicant.questions, questionAnswerSources);
673
674
  const questionValidations = [];
674
675
  displayableQuestions.forEach((question) => {
675
- const validationResult = getQuestionValidationResult(question);
676
- if (validationResult && validationResult.status === "UNFIXABLE" /* UNFIXABLE */) {
676
+ const validationResult = getValidationResult(question);
677
+ if (validationResult && (validationResult.status === "MISSING" /* MISSING */ || validationResult.status === "UNFIXABLE" /* UNFIXABLE */)) {
677
678
  questionValidations.push({
678
679
  name: question.question.question,
679
680
  validationResult
@@ -686,8 +687,8 @@ function validateApplicantDocuments(applicant, documentAnswerSources) {
686
687
  const displayableDocuments = getDisplayableDocuments(applicant.questions, documentAnswerSources);
687
688
  const documentValidations = [];
688
689
  displayableDocuments.forEach((document) => {
689
- const validationResult = getQuestionValidationResult(document);
690
- if (validationResult && validationResult.status === "UNFIXABLE" /* UNFIXABLE */) {
690
+ const validationResult = getValidationResult(document);
691
+ if (validationResult && (validationResult.status === "MISSING" /* MISSING */ || validationResult.status === "UNFIXABLE" /* UNFIXABLE */)) {
691
692
  documentValidations.push({
692
693
  name: document.question.question,
693
694
  validationResult
@@ -700,9 +701,9 @@ function validateApplicant(applicant, questionAnswerSources, documentAnswerSourc
700
701
  const questionValidations = validateApplicantQuestions(applicant, questionAnswerSources);
701
702
  const documentValidations = validateApplicantDocuments(applicant, documentAnswerSources);
702
703
  const applicantValidations = getValidationErrors(applicant.application?.validations);
703
- const hasUnfixableIssues = questionValidations.some((q) => q.validationResult?.status === "UNFIXABLE" /* UNFIXABLE */) || documentValidations.some((d) => d.validationResult?.status === "UNFIXABLE" /* UNFIXABLE */) || applicantValidations?.status === "UNFIXABLE" /* UNFIXABLE */;
704
+ const hasBlockingIssues = questionValidations.some((q) => q.validationResult?.status === "MISSING" /* MISSING */ || q.validationResult?.status === "UNFIXABLE" /* UNFIXABLE */) || documentValidations.some((d) => d.validationResult?.status === "MISSING" /* MISSING */ || d.validationResult?.status === "UNFIXABLE" /* UNFIXABLE */) || applicantValidations?.status === "UNFIXABLE" /* UNFIXABLE */;
704
705
  return {
705
- isComplete: !hasUnfixableIssues && questionValidations.length === 0 && documentValidations.length === 0,
706
+ isComplete: !hasBlockingIssues && questionValidations.length === 0 && documentValidations.length === 0,
706
707
  questionValidations,
707
708
  documentValidations,
708
709
  applicantValidations
@@ -736,9 +737,9 @@ function validateAllApplicants(applicants, questionAnswerSources, documentAnswer
736
737
  function validateOrder(order, applicants, questionAnswerSources, documentAnswerSources) {
737
738
  const orderValidations = getValidationErrors(order?.validations);
738
739
  const applicantsResult = validateAllApplicants(applicants, questionAnswerSources, documentAnswerSources);
739
- const hasOrderUnfixableIssues = orderValidations?.status === "UNFIXABLE" /* UNFIXABLE */;
740
+ const hasOrderBlockingIssues = orderValidations?.status === "UNFIXABLE" /* UNFIXABLE */;
740
741
  return {
741
- isComplete: !hasOrderUnfixableIssues && applicantsResult.isComplete,
742
+ isComplete: !hasOrderBlockingIssues && applicantsResult.isComplete,
742
743
  orderValidations,
743
744
  applicantValidations: applicantsResult.applicantValidations
744
745
  };
@@ -1704,6 +1705,7 @@ exports.getDisplayableDocuments = getDisplayableDocuments;
1704
1705
  exports.getDisplayableQuestions = getDisplayableQuestions;
1705
1706
  exports.getSignedUrlFromAsset = getSignedUrlFromAsset;
1706
1707
  exports.getValidationErrors = getValidationErrors;
1708
+ exports.getValidationResult = getValidationResult;
1707
1709
  exports.getVisibleQuestions = getVisibleQuestions;
1708
1710
  exports.initializeEDCFlow = initializeEDCFlow;
1709
1711
  exports.updateApplicantWithAnswer = updateApplicantWithAnswer;
package/dist/index.mjs CHANGED
@@ -101,6 +101,7 @@ var VALIDATION_STATUS = /* @__PURE__ */ ((VALIDATION_STATUS2) => {
101
101
  VALIDATION_STATUS2["PERFECT"] = "PERFECT";
102
102
  VALIDATION_STATUS2["FIXABLE"] = "FIXABLE";
103
103
  VALIDATION_STATUS2["UNFIXABLE"] = "UNFIXABLE";
104
+ VALIDATION_STATUS2["MISSING"] = "MISSING";
104
105
  return VALIDATION_STATUS2;
105
106
  })(VALIDATION_STATUS || {});
106
107
  var QuestionnaireSchema = z2.object({
@@ -593,7 +594,7 @@ function getValidationErrors(validations) {
593
594
  totalTimeSaved
594
595
  };
595
596
  }
596
- function getQuestionValidationResult(question) {
597
+ function getValidationResult(question) {
597
598
  if (question.question.is_required) {
598
599
  const isDocument = question.question.type === "DOCUMENT" /* DOCUMENT */;
599
600
  let answerRequiredItem = null;
@@ -616,7 +617,7 @@ function getQuestionValidationResult(question) {
616
617
  };
617
618
  } else if (extractDefaultAnswer(answer) !== null) {
618
619
  answerRequiredItem = {
619
- error_text: "Please provide a valid answer",
620
+ error_text: "Answer cannot be empty",
620
621
  time_saved: 0,
621
622
  validation_name: "answer_required"
622
623
  };
@@ -625,7 +626,7 @@ function getQuestionValidationResult(question) {
625
626
  if (answerRequiredItem) {
626
627
  const unfixable = toGroup([answerRequiredItem]);
627
628
  return {
628
- status: "UNFIXABLE" /* UNFIXABLE */,
629
+ status: "MISSING" /* MISSING */,
629
630
  fixable: EMPTY_GROUP,
630
631
  unfixable,
631
632
  perfect: EMPTY_GROUP,
@@ -646,8 +647,8 @@ function validateApplicantQuestions(applicant, questionAnswerSources) {
646
647
  const displayableQuestions = getDisplayableQuestions(applicant.questions, questionAnswerSources);
647
648
  const questionValidations = [];
648
649
  displayableQuestions.forEach((question) => {
649
- const validationResult = getQuestionValidationResult(question);
650
- if (validationResult && validationResult.status === "UNFIXABLE" /* UNFIXABLE */) {
650
+ const validationResult = getValidationResult(question);
651
+ if (validationResult && (validationResult.status === "MISSING" /* MISSING */ || validationResult.status === "UNFIXABLE" /* UNFIXABLE */)) {
651
652
  questionValidations.push({
652
653
  name: question.question.question,
653
654
  validationResult
@@ -660,8 +661,8 @@ function validateApplicantDocuments(applicant, documentAnswerSources) {
660
661
  const displayableDocuments = getDisplayableDocuments(applicant.questions, documentAnswerSources);
661
662
  const documentValidations = [];
662
663
  displayableDocuments.forEach((document) => {
663
- const validationResult = getQuestionValidationResult(document);
664
- if (validationResult && validationResult.status === "UNFIXABLE" /* UNFIXABLE */) {
664
+ const validationResult = getValidationResult(document);
665
+ if (validationResult && (validationResult.status === "MISSING" /* MISSING */ || validationResult.status === "UNFIXABLE" /* UNFIXABLE */)) {
665
666
  documentValidations.push({
666
667
  name: document.question.question,
667
668
  validationResult
@@ -674,9 +675,9 @@ function validateApplicant(applicant, questionAnswerSources, documentAnswerSourc
674
675
  const questionValidations = validateApplicantQuestions(applicant, questionAnswerSources);
675
676
  const documentValidations = validateApplicantDocuments(applicant, documentAnswerSources);
676
677
  const applicantValidations = getValidationErrors(applicant.application?.validations);
677
- const hasUnfixableIssues = questionValidations.some((q) => q.validationResult?.status === "UNFIXABLE" /* UNFIXABLE */) || documentValidations.some((d) => d.validationResult?.status === "UNFIXABLE" /* UNFIXABLE */) || applicantValidations?.status === "UNFIXABLE" /* UNFIXABLE */;
678
+ const hasBlockingIssues = questionValidations.some((q) => q.validationResult?.status === "MISSING" /* MISSING */ || q.validationResult?.status === "UNFIXABLE" /* UNFIXABLE */) || documentValidations.some((d) => d.validationResult?.status === "MISSING" /* MISSING */ || d.validationResult?.status === "UNFIXABLE" /* UNFIXABLE */) || applicantValidations?.status === "UNFIXABLE" /* UNFIXABLE */;
678
679
  return {
679
- isComplete: !hasUnfixableIssues && questionValidations.length === 0 && documentValidations.length === 0,
680
+ isComplete: !hasBlockingIssues && questionValidations.length === 0 && documentValidations.length === 0,
680
681
  questionValidations,
681
682
  documentValidations,
682
683
  applicantValidations
@@ -710,9 +711,9 @@ function validateAllApplicants(applicants, questionAnswerSources, documentAnswer
710
711
  function validateOrder(order, applicants, questionAnswerSources, documentAnswerSources) {
711
712
  const orderValidations = getValidationErrors(order?.validations);
712
713
  const applicantsResult = validateAllApplicants(applicants, questionAnswerSources, documentAnswerSources);
713
- const hasOrderUnfixableIssues = orderValidations?.status === "UNFIXABLE" /* UNFIXABLE */;
714
+ const hasOrderBlockingIssues = orderValidations?.status === "UNFIXABLE" /* UNFIXABLE */;
714
715
  return {
715
- isComplete: !hasOrderUnfixableIssues && applicantsResult.isComplete,
716
+ isComplete: !hasOrderBlockingIssues && applicantsResult.isComplete,
716
717
  orderValidations,
717
718
  applicantValidations: applicantsResult.applicantValidations
718
719
  };
@@ -1651,4 +1652,4 @@ var EDCFlow = {
1651
1652
  };
1652
1653
  var index_default = EDCFlow;
1653
1654
 
1654
- export { ANSWER_SOURCE, APPLICATION_STATUS, APPLICATION_TAGS, AnswerSchema, ApplicationSchema, DOC_TYPES, EDCFlowProvider, INTERNAL_ORDER_TAGS, PROCESSING_BLOCKED_ON_PAYMENT_STATUS, QUESTION_TYPE, QuestionnaireSchema, TA_QC_EXTRACTION_STATUS, TIMELINE_STEP, TimelinePaymentStatus, TravellerSchema, VALIDATION_STATUS, VISA_TYPE_INTERNAL_TAGS, createAllQuestionsWithAnswers, createApplicantData, index_default as default, filterConditionalQuestions, formatAnswerFromResponse, formatTravellerFromResponse, getDisplayableDocuments, getDisplayableQuestions, getSignedUrlFromAsset, getValidationErrors, getVisibleQuestions, initializeEDCFlow, updateApplicantWithAnswer, useEDCFlow, validateAllApplicants, validateApplicant, validateApplicantDocuments, validateApplicantQuestions, validateOrder };
1655
+ export { ANSWER_SOURCE, APPLICATION_STATUS, APPLICATION_TAGS, AnswerSchema, ApplicationSchema, DOC_TYPES, EDCFlowProvider, INTERNAL_ORDER_TAGS, PROCESSING_BLOCKED_ON_PAYMENT_STATUS, QUESTION_TYPE, QuestionnaireSchema, TA_QC_EXTRACTION_STATUS, TIMELINE_STEP, TimelinePaymentStatus, TravellerSchema, VALIDATION_STATUS, VISA_TYPE_INTERNAL_TAGS, createAllQuestionsWithAnswers, createApplicantData, index_default as default, filterConditionalQuestions, formatAnswerFromResponse, formatTravellerFromResponse, getDisplayableDocuments, getDisplayableQuestions, getSignedUrlFromAsset, getValidationErrors, getValidationResult, getVisibleQuestions, initializeEDCFlow, updateApplicantWithAnswer, useEDCFlow, validateAllApplicants, validateApplicant, validateApplicantDocuments, validateApplicantQuestions, validateOrder };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smvtech/x-flux",
3
- "version": "1.1.0",
3
+ "version": "1.1.2",
4
4
  "description": "x-flux - A powerful React package for managing effective document collection flows, visa questionnaires, travellers, and applications",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.mjs",