udp-schema 0.1.7 → 0.1.9

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.
@@ -1 +1 @@
1
- {"version":3,"file":"step-04.schema.d.ts","sourceRoot":"","sources":["../src/step-04.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAiE/B,CAAC;AAIH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC"}
1
+ {"version":3,"file":"step-04.schema.d.ts","sourceRoot":"","sources":["../src/step-04.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA8D/B,CAAC;AAIH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC"}
@@ -7,7 +7,9 @@ import { z } from 'zod';
7
7
  export const step04IdentitySchema = z.object({
8
8
  // ── 4.1 Religion ─────────────────────────────────────────────────────────
9
9
  /** Family religion */
10
- familyReligion: z.enum(['HINDU', 'MUSLIM', 'CHRISTIAN', 'SIKH', 'BUDDHIST', 'JAIN', 'OTHER'], { message: 'Please select family religion.' }),
10
+ familyReligion: z.enum(['HINDU', 'MUSLIM', 'CHRISTIAN', 'SIKH', 'BUDDHIST', 'JAIN', 'OTHER'], {
11
+ message: 'Please select family religion.',
12
+ }),
11
13
  /** Individual religion (may differ from family) */
12
14
  individualReligion: z.enum(['SAME_AS_FAMILY', 'HINDU', 'MUSLIM', 'CHRISTIAN', 'SIKH', 'BUDDHIST', 'JAIN', 'OTHER'], { message: 'Please select your religion.' }),
13
15
  // ── 4.2 Caste & Community ────────────────────────────────────────────────
@@ -16,7 +18,9 @@ export const step04IdentitySchema = z.object({
16
18
  /** Government reservation category */
17
19
  casteCategoryReservation: z.enum(['SC', 'ST', 'OBC_NC', 'OBC_C', 'EWS', 'GENERAL', 'DONT_KNOW', 'PREFER_NOT_SAY'], { message: 'Please select your reservation category.' }),
18
20
  /** Minority community status */
19
- minorityStatus: z.enum(['NO', 'RELIGIOUS', 'LINGUISTIC', 'NOT_SURE'], { message: 'Please select if you are from a minority community.' }),
21
+ minorityStatus: z.enum(['NO', 'RELIGIOUS', 'LINGUISTIC', 'NOT_SURE'], {
22
+ message: 'Please select if you are from a minority community.',
23
+ }),
20
24
  /** Tribal / indigenous community affiliation (optional free text) */
21
25
  tribalOrIndigenousAffiliation: z.string().trim().optional(),
22
26
  // ── 4.3 Discrimination Experience ────────────────────────────────────────
@@ -1 +1 @@
1
- {"version":3,"file":"step-04.schema.js","sourceRoot":"","sources":["../src/step-04.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,gFAAgF;AAChF,EAAE;AACF,+DAA+D;AAC/D,0EAA0E;AAC1E,gFAAgF;AAEhF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAE3C,4EAA4E;IAE5E,sBAAsB;IACtB,cAAc,EAAE,CAAC,CAAC,IAAI,CACpB,CAAC,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EACrE,EAAE,OAAO,EAAE,gCAAgC,EAAE,CAC9C;IAED,mDAAmD;IACnD,kBAAkB,EAAE,CAAC,CAAC,IAAI,CACxB,CAAC,gBAAgB,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EACvF,EAAE,OAAO,EAAE,8BAA8B,EAAE,CAC5C;IAED,4EAA4E;IAE5E,8CAA8C;IAC9C,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;IAE5C,sCAAsC;IACtC,wBAAwB,EAAE,CAAC,CAAC,IAAI,CAC9B,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,CAAC,EAChF,EAAE,OAAO,EAAE,0CAA0C,EAAE,CACxD;IAED,gCAAgC;IAChC,cAAc,EAAE,CAAC,CAAC,IAAI,CACpB,CAAC,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,CAAC,EAC7C,EAAE,OAAO,EAAE,qDAAqD,EAAE,CACnE;IAED,qEAAqE;IACrE,6BAA6B,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;IAE3D,4EAA4E;IAC5E,gEAAgE;IAEhE,sDAAsD;IACtD,yBAAyB,EAAE,CAAC;SACzB,IAAI,CAAC,CAAC,WAAW,EAAE,eAAe,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC;SAC5D,QAAQ,EAAE;IAEb,mDAAmD;IACnD,uBAAuB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;IAErD,gDAAgD;IAChD,yBAAyB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAEzD,4EAA4E;IAE5E,yEAAyE;IACzE,qBAAqB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAErD,mDAAmD;IACnD,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;IAEhD,4EAA4E;IAE5E,2FAA2F;IAC3F,oCAAoC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAEpE,oEAAoE;IACpE,iCAAiC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;CAChE,CAAC,CAAC","sourcesContent":["import { z } from 'zod';\n\n// ─── Step 04 — Identity & Social Profile ─────────────────────────────────────\n//\n// Covers: religion, caste & community, minority/tribal status,\n// discrimination experience, and views on LGBTQ+ / transgender inclusion.\n// ─────────────────────────────────────────────────────────────────────────────\n\nexport const step04IdentitySchema = z.object({\n\n // ── 4.1 Religion ─────────────────────────────────────────────────────────\n\n /** Family religion */\n familyReligion: z.enum(\n ['HINDU', 'MUSLIM', 'CHRISTIAN', 'SIKH', 'BUDDHIST', 'JAIN', 'OTHER'],\n { message: 'Please select family religion.' },\n ),\n\n /** Individual religion (may differ from family) */\n individualReligion: z.enum(\n ['SAME_AS_FAMILY', 'HINDU', 'MUSLIM', 'CHRISTIAN', 'SIKH', 'BUDDHIST', 'JAIN', 'OTHER'],\n { message: 'Please select your religion.' },\n ),\n\n // ── 4.2 Caste & Community ────────────────────────────────────────────────\n\n /** Caste / community (free text, optional) */\n casteCommunity: z.string().trim().optional(),\n\n /** Government reservation category */\n casteCategoryReservation: z.enum(\n ['SC', 'ST', 'OBC_NC', 'OBC_C', 'EWS', 'GENERAL', 'DONT_KNOW', 'PREFER_NOT_SAY'],\n { message: 'Please select your reservation category.' },\n ),\n\n /** Minority community status */\n minorityStatus: z.enum(\n ['NO', 'RELIGIOUS', 'LINGUISTIC', 'NOT_SURE'],\n { message: 'Please select if you are from a minority community.' },\n ),\n\n /** Tribal / indigenous community affiliation (optional free text) */\n tribalOrIndigenousAffiliation: z.string().trim().optional(),\n\n // ── 4.3 Discrimination Experience ────────────────────────────────────────\n // Shown when casteCategoryReservation ∈ {SC, ST, OBC_NC, OBC_C}\n\n /** Do you face social discrimination as SC/ST/OBC? */\n facingCasteDiscrimination: z\n .enum(['YES_OFTEN', 'YES_SOMETIMES', 'NO', 'PREFER_NOT_SAY'])\n .optional(),\n\n /** Free-text description of discrimination type */\n casteDiscriminationType: z.string().trim().optional(),\n\n /** Where does discrimination usually happen? */\n casteDiscriminationPlaces: z.array(z.string()).optional(),\n\n // ── 4.4 Social Views — LGBTQ+ ────────────────────────────────────────────\n\n /** Agree-with statements about LGBTQ+ people (multi-select, optional) */\n viewOnLgbtqStatements: z.array(z.string()).optional(),\n\n /** Free-text personal view on LGBTQ+ (optional) */\n viewOnLgbtqOpinion: z.string().trim().optional(),\n\n // ── 4.5 Social Views — Transgender / Intersex ────────────────────────────\n\n /** Agree-with statements about transgender / intersex children (multi-select, optional) */\n viewOnTransgenderInclusionStatements: z.array(z.string()).optional(),\n\n /** Free-text view on transgender / intersex treatment (optional) */\n viewOnTransgenderInclusionOpinion: z.string().trim().optional(),\n});\n\n// ─── Inferred types ──────────────────────────────────────────────────────────\n\nexport type Step04IdentityInput = z.infer<typeof step04IdentitySchema>;\n"]}
1
+ {"version":3,"file":"step-04.schema.js","sourceRoot":"","sources":["../src/step-04.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,gFAAgF;AAChF,EAAE;AACF,+DAA+D;AAC/D,0EAA0E;AAC1E,gFAAgF;AAEhF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,4EAA4E;IAE5E,sBAAsB;IACtB,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAC5F,OAAO,EAAE,gCAAgC;KAC1C,CAAC;IAEF,mDAAmD;IACnD,kBAAkB,EAAE,CAAC,CAAC,IAAI,CACxB,CAAC,gBAAgB,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EACvF,EAAE,OAAO,EAAE,8BAA8B,EAAE,CAC5C;IAED,4EAA4E;IAE5E,8CAA8C;IAC9C,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;IAE5C,sCAAsC;IACtC,wBAAwB,EAAE,CAAC,CAAC,IAAI,CAC9B,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,CAAC,EAChF,EAAE,OAAO,EAAE,0CAA0C,EAAE,CACxD;IAED,gCAAgC;IAChC,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,CAAC,EAAE;QACpE,OAAO,EAAE,qDAAqD;KAC/D,CAAC;IAEF,qEAAqE;IACrE,6BAA6B,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;IAE3D,4EAA4E;IAC5E,gEAAgE;IAEhE,sDAAsD;IACtD,yBAAyB,EAAE,CAAC;SACzB,IAAI,CAAC,CAAC,WAAW,EAAE,eAAe,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC;SAC5D,QAAQ,EAAE;IAEb,mDAAmD;IACnD,uBAAuB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;IAErD,gDAAgD;IAChD,yBAAyB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAEzD,4EAA4E;IAE5E,yEAAyE;IACzE,qBAAqB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAErD,mDAAmD;IACnD,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;IAEhD,4EAA4E;IAE5E,2FAA2F;IAC3F,oCAAoC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAEpE,oEAAoE;IACpE,iCAAiC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;CAChE,CAAC,CAAC","sourcesContent":["import { z } from 'zod';\n\n// ─── Step 04 — Identity & Social Profile ─────────────────────────────────────\n//\n// Covers: religion, caste & community, minority/tribal status,\n// discrimination experience, and views on LGBTQ+ / transgender inclusion.\n// ─────────────────────────────────────────────────────────────────────────────\n\nexport const step04IdentitySchema = z.object({\n // ── 4.1 Religion ─────────────────────────────────────────────────────────\n\n /** Family religion */\n familyReligion: z.enum(['HINDU', 'MUSLIM', 'CHRISTIAN', 'SIKH', 'BUDDHIST', 'JAIN', 'OTHER'], {\n message: 'Please select family religion.',\n }),\n\n /** Individual religion (may differ from family) */\n individualReligion: z.enum(\n ['SAME_AS_FAMILY', 'HINDU', 'MUSLIM', 'CHRISTIAN', 'SIKH', 'BUDDHIST', 'JAIN', 'OTHER'],\n { message: 'Please select your religion.' },\n ),\n\n // ── 4.2 Caste & Community ────────────────────────────────────────────────\n\n /** Caste / community (free text, optional) */\n casteCommunity: z.string().trim().optional(),\n\n /** Government reservation category */\n casteCategoryReservation: z.enum(\n ['SC', 'ST', 'OBC_NC', 'OBC_C', 'EWS', 'GENERAL', 'DONT_KNOW', 'PREFER_NOT_SAY'],\n { message: 'Please select your reservation category.' },\n ),\n\n /** Minority community status */\n minorityStatus: z.enum(['NO', 'RELIGIOUS', 'LINGUISTIC', 'NOT_SURE'], {\n message: 'Please select if you are from a minority community.',\n }),\n\n /** Tribal / indigenous community affiliation (optional free text) */\n tribalOrIndigenousAffiliation: z.string().trim().optional(),\n\n // ── 4.3 Discrimination Experience ────────────────────────────────────────\n // Shown when casteCategoryReservation ∈ {SC, ST, OBC_NC, OBC_C}\n\n /** Do you face social discrimination as SC/ST/OBC? */\n facingCasteDiscrimination: z\n .enum(['YES_OFTEN', 'YES_SOMETIMES', 'NO', 'PREFER_NOT_SAY'])\n .optional(),\n\n /** Free-text description of discrimination type */\n casteDiscriminationType: z.string().trim().optional(),\n\n /** Where does discrimination usually happen? */\n casteDiscriminationPlaces: z.array(z.string()).optional(),\n\n // ── 4.4 Social Views — LGBTQ+ ────────────────────────────────────────────\n\n /** Agree-with statements about LGBTQ+ people (multi-select, optional) */\n viewOnLgbtqStatements: z.array(z.string()).optional(),\n\n /** Free-text personal view on LGBTQ+ (optional) */\n viewOnLgbtqOpinion: z.string().trim().optional(),\n\n // ── 4.5 Social Views — Transgender / Intersex ────────────────────────────\n\n /** Agree-with statements about transgender / intersex children (multi-select, optional) */\n viewOnTransgenderInclusionStatements: z.array(z.string()).optional(),\n\n /** Free-text view on transgender / intersex treatment (optional) */\n viewOnTransgenderInclusionOpinion: z.string().trim().optional(),\n});\n\n// ─── Inferred types ──────────────────────────────────────────────────────────\n\nexport type Step04IdentityInput = z.infer<typeof step04IdentitySchema>;\n"]}
@@ -1,6 +1,5 @@
1
1
  import { z } from 'zod';
2
2
  export declare const step06HouseholdSchema: z.ZodObject<{
3
- bornPlaceDetail: z.ZodString;
4
3
  areYouMigrant: z.ZodEnum<{
5
4
  NO: "NO";
6
5
  YES: "YES";
@@ -54,7 +53,7 @@ export declare const step06HouseholdSchema: z.ZodObject<{
54
53
  EXTENDED: "EXTENDED";
55
54
  SINGLE_PERSON: "SINGLE_PERSON";
56
55
  }>;
57
- householdSize: z.ZodCoercedNumber<unknown>;
56
+ householdSize: z.ZodNumber;
58
57
  housingType: z.ZodEnum<{
59
58
  OTHER: "OTHER";
60
59
  KUTCHA: "KUTCHA";
@@ -1 +1 @@
1
- {"version":3,"file":"step-06.schema.d.ts","sourceRoot":"","sources":["../src/step-06.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AASxB,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAwHhC,CAAC;AAIH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC"}
1
+ {"version":3,"file":"step-06.schema.d.ts","sourceRoot":"","sources":["../src/step-06.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AASxB,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAgHhC,CAAC;AAIH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC"}
@@ -7,8 +7,7 @@ import { z } from 'zod';
7
7
  // ─────────────────────────────────────────────────────────────────────────────
8
8
  export const step06HouseholdSchema = z.object({
9
9
  // ── 6.1 Origins & Migration ───────────────────────────────────────────────
10
- /** Place / city / village where the person was born */
11
- bornPlaceDetail: z.string().trim().min(1, 'Please enter your birthplace.'),
10
+ // Note: birthplace is already captured in Step 3 (birthPlace field).
12
11
  /** Is this person living away from birthplace? */
13
12
  areYouMigrant: z.enum(['YES', 'NO'], {
14
13
  message: 'Please indicate if you are a migrant.',
@@ -27,7 +26,9 @@ export const step06HouseholdSchema = z.object({
27
26
  internationalMigrationHistory: z.string().trim().optional(),
28
27
  // ── 6.2 Marital Life ──────────────────────────────────────────────────────
29
28
  /** Current marital status */
30
- maritalStatus: z.enum(['SINGLE', 'ENGAGED', 'MARRIED', 'DIVORCED', 'WIDOWED', 'OTHER'], { message: 'Please select marital status.' }),
29
+ maritalStatus: z.enum(['SINGLE', 'ENGAGED', 'MARRIED', 'DIVORCED', 'WIDOWED', 'OTHER'], {
30
+ message: 'Please select marital status.',
31
+ }),
31
32
  /** Marriage timeline (conditional: maritalStatus != MARRIED) */
32
33
  planningMarriageTimeline: z
33
34
  .enum(['NOT_THINKING', 'WITHIN_1_YEAR', 'WITHIN_2_YEARS', 'AFTER_2_YEARS', 'ALREADY_MARRIED'])
@@ -38,14 +39,18 @@ export const step06HouseholdSchema = z.object({
38
39
  .optional(),
39
40
  // ── 6.3 Household & Housing ───────────────────────────────────────────────
40
41
  /** Family/household type */
41
- familyStructureType: z.enum(['NUCLEAR', 'JOINT', 'EXTENDED', 'SINGLE_PERSON'], { message: 'Please select family type.' }),
42
+ familyStructureType: z.enum(['NUCLEAR', 'JOINT', 'EXTENDED', 'SINGLE_PERSON'], {
43
+ message: 'Please select family type.',
44
+ }),
42
45
  /** Number of people sharing the same kitchen */
43
- householdSize: z.coerce
46
+ householdSize: z
44
47
  .number({ message: 'Please enter a valid number.' })
45
48
  .int()
46
49
  .min(1, 'Household size must be at least 1.'),
47
50
  /** Type of house structure */
48
- housingType: z.enum(['KUTCHA', 'SEMI_PUCCA', 'PUCCA', 'APARTMENT', 'OTHER'], { message: 'Please select housing type.' }),
51
+ housingType: z.enum(['KUTCHA', 'SEMI_PUCCA', 'PUCCA', 'APARTMENT', 'OTHER'], {
52
+ message: 'Please select housing type.',
53
+ }),
49
54
  /** Close family member settled in another state or abroad? */
50
55
  familyMemberSettledElsewhere: z.enum(['YES', 'NO', 'NOT_SURE']).optional(),
51
56
  // ── 6.4 Economic Status ───────────────────────────────────────────────────
@@ -70,8 +75,6 @@ export const step06HouseholdSchema = z.object({
70
75
  /** Who does this person regularly care for? */
71
76
  caregivingResponsibilities: z.array(z.string()).optional(),
72
77
  /** Average daily caregiving hours (optional) */
73
- caregivingHoursPerDay: z
74
- .enum(['LESS_THAN_1', '1_TO_3', '3_TO_6', 'MORE_THAN_6'])
75
- .optional(),
78
+ caregivingHoursPerDay: z.enum(['LESS_THAN_1', '1_TO_3', '3_TO_6', 'MORE_THAN_6']).optional(),
76
79
  });
77
80
  //# sourceMappingURL=step-06.schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"step-06.schema.js","sourceRoot":"","sources":["../src/step-06.schema.ts"],"names":[],"mappings":"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","sourcesContent":["import { z } from 'zod';\n\n// ─── Step 06 — Household, Economic & Digital Profile ─────────────────────────\n//\n// Covers: origins & migration, marital life, household & housing,\n// economic status (income / BPL / insurance), digital access & literacy,\n// and caregiving responsibilities.\n// ─────────────────────────────────────────────────────────────────────────────\n\nexport const step06HouseholdSchema = z.object({\n\n // ── 6.1 Origins & Migration ───────────────────────────────────────────────\n\n /** Place / city / village where the person was born */\n bornPlaceDetail: z.string().trim().min(1, 'Please enter your birthplace.'),\n\n /** Is this person living away from birthplace? */\n areYouMigrant: z.enum(['YES', 'NO'], {\n message: 'Please indicate if you are a migrant.',\n }),\n\n /** State and district migrated from (conditional: areYouMigrant == YES) */\n migrantFromStateDistrict: z.string().trim().optional(),\n\n /** Blood relatives in other Indian states? */\n bloodRelativesOtherState: z.enum(['YES', 'NO', 'NOT_SURE']).optional(),\n\n /** Blood relatives in other countries? */\n bloodRelativesOtherCountry: z.enum(['YES', 'NO', 'NOT_SURE']).optional(),\n\n /** Are any of those relatives NRIs? */\n bloodRelativesNri: z.enum(['YES', 'NO', 'NOT_SURE']).optional(),\n\n /** Is this person an NRI? */\n areYouNri: z.enum(['YES', 'NO', 'FORMER_NRI']).optional(),\n\n /** Brief international migration history (optional free text) */\n internationalMigrationHistory: z.string().trim().optional(),\n\n // ── 6.2 Marital Life ──────────────────────────────────────────────────────\n\n /** Current marital status */\n maritalStatus: z.enum(\n ['SINGLE', 'ENGAGED', 'MARRIED', 'DIVORCED', 'WIDOWED', 'OTHER'],\n { message: 'Please select marital status.' },\n ),\n\n /** Marriage timeline (conditional: maritalStatus != MARRIED) */\n planningMarriageTimeline: z\n .enum(['NOT_THINKING', 'WITHIN_1_YEAR', 'WITHIN_2_YEARS', 'AFTER_2_YEARS', 'ALREADY_MARRIED'])\n .optional(),\n\n /** Actively looking for a marriage partner? */\n lookingForMarriagePartner: z\n .enum(['NO', 'YES_ACTIVE', 'YES_CASUAL', 'FAMILY_LOOKING'])\n .optional(),\n\n // ── 6.3 Household & Housing ───────────────────────────────────────────────\n\n /** Family/household type */\n familyStructureType: z.enum(\n ['NUCLEAR', 'JOINT', 'EXTENDED', 'SINGLE_PERSON'],\n { message: 'Please select family type.' },\n ),\n\n /** Number of people sharing the same kitchen */\n householdSize: z.coerce\n .number({ message: 'Please enter a valid number.' })\n .int()\n .min(1, 'Household size must be at least 1.'),\n\n /** Type of house structure */\n housingType: z.enum(\n ['KUTCHA', 'SEMI_PUCCA', 'PUCCA', 'APARTMENT', 'OTHER'],\n { message: 'Please select housing type.' },\n ),\n\n /** Close family member settled in another state or abroad? */\n familyMemberSettledElsewhere: z.enum(['YES', 'NO', 'NOT_SURE']).optional(),\n\n // ── 6.4 Economic Status ───────────────────────────────────────────────────\n\n /** BPL (Below Poverty Line) ration card holder? */\n bplRationCardHolder: z.enum(['YES', 'NO', 'NOT_SURE']).optional(),\n\n /** Has life insurance? */\n hasLifeInsurance: z.enum(['YES', 'NO', 'NOT_SURE']).optional(),\n\n /** Insurance details (conditional: hasLifeInsurance == YES) */\n lifeInsuranceDetails: z.string().trim().optional(),\n\n /** Annual personal income range */\n annualPersonalIncomeRange: z.enum(\n ['BELOW_1L', '1_2L', '2_3L', '3_5L', '5_10L', 'ABOVE_10L', 'NO_INCOME', 'PREFER_NOT_SAY'],\n { message: 'Please select your personal income range.' },\n ),\n\n /** Annual household income range */\n annualHouseholdIncomeRange: z.enum(\n ['BELOW_1L', '1_2L', '2_3L', '3_5L', '5_10L', '10_20L', 'ABOVE_20L', 'PREFER_NOT_SAY'],\n { message: 'Please select household income range.' },\n ),\n\n // ── 6.5 Digital Access & Literacy ─────────────────────────────────────────\n\n /** Which devices / connectivity options does this person have? */\n digitalAccess: z.array(z.string()).min(1, 'Please select at least one option.'),\n\n /** Self-assessed digital skill level */\n digitalSkillLevel: z.enum(\n ['CANT_USE_SMARTPHONE', 'BASIC', 'COMFORTABLE_APPS_UPI', 'ADVANCED_TOOLS_CONTENT'],\n { message: 'Please select your digital skill level.' },\n ),\n\n /** Reading & writing ability */\n literacyLevel: z.enum(\n ['CANT_READ_WRITE', 'CAN_READ_ONLY', 'READ_WRITE_BASIC', 'FLUENT_ONE_LANGUAGE'],\n { message: 'Please select your literacy level.' },\n ),\n\n // ── 6.6 Caregiving ────────────────────────────────────────────────────────\n\n /** Who does this person regularly care for? */\n caregivingResponsibilities: z.array(z.string()).optional(),\n\n /** Average daily caregiving hours (optional) */\n caregivingHoursPerDay: z\n .enum(['LESS_THAN_1', '1_TO_3', '3_TO_6', 'MORE_THAN_6'])\n .optional(),\n});\n\n// ─── Inferred types ──────────────────────────────────────────────────────────\n\nexport type Step06HouseholdInput = z.infer<typeof step06HouseholdSchema>;\n"]}
1
+ {"version":3,"file":"step-06.schema.js","sourceRoot":"","sources":["../src/step-06.schema.ts"],"names":[],"mappings":"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","sourcesContent":["import { z } from 'zod';\n\n// ─── Step 06 — Household, Economic & Digital Profile ─────────────────────────\n//\n// Covers: origins & migration, marital life, household & housing,\n// economic status (income / BPL / insurance), digital access & literacy,\n// and caregiving responsibilities.\n// ─────────────────────────────────────────────────────────────────────────────\n\nexport const step06HouseholdSchema = z.object({\n // ── 6.1 Origins & Migration ───────────────────────────────────────────────\n // Note: birthplace is already captured in Step 3 (birthPlace field).\n\n /** Is this person living away from birthplace? */\n areYouMigrant: z.enum(['YES', 'NO'], {\n message: 'Please indicate if you are a migrant.',\n }),\n\n /** State and district migrated from (conditional: areYouMigrant == YES) */\n migrantFromStateDistrict: z.string().trim().optional(),\n\n /** Blood relatives in other Indian states? */\n bloodRelativesOtherState: z.enum(['YES', 'NO', 'NOT_SURE']).optional(),\n\n /** Blood relatives in other countries? */\n bloodRelativesOtherCountry: z.enum(['YES', 'NO', 'NOT_SURE']).optional(),\n\n /** Are any of those relatives NRIs? */\n bloodRelativesNri: z.enum(['YES', 'NO', 'NOT_SURE']).optional(),\n\n /** Is this person an NRI? */\n areYouNri: z.enum(['YES', 'NO', 'FORMER_NRI']).optional(),\n\n /** Brief international migration history (optional free text) */\n internationalMigrationHistory: z.string().trim().optional(),\n\n // ── 6.2 Marital Life ──────────────────────────────────────────────────────\n\n /** Current marital status */\n maritalStatus: z.enum(['SINGLE', 'ENGAGED', 'MARRIED', 'DIVORCED', 'WIDOWED', 'OTHER'], {\n message: 'Please select marital status.',\n }),\n\n /** Marriage timeline (conditional: maritalStatus != MARRIED) */\n planningMarriageTimeline: z\n .enum(['NOT_THINKING', 'WITHIN_1_YEAR', 'WITHIN_2_YEARS', 'AFTER_2_YEARS', 'ALREADY_MARRIED'])\n .optional(),\n\n /** Actively looking for a marriage partner? */\n lookingForMarriagePartner: z\n .enum(['NO', 'YES_ACTIVE', 'YES_CASUAL', 'FAMILY_LOOKING'])\n .optional(),\n\n // ── 6.3 Household & Housing ───────────────────────────────────────────────\n\n /** Family/household type */\n familyStructureType: z.enum(['NUCLEAR', 'JOINT', 'EXTENDED', 'SINGLE_PERSON'], {\n message: 'Please select family type.',\n }),\n\n /** Number of people sharing the same kitchen */\n householdSize: z\n .number({ message: 'Please enter a valid number.' })\n .int()\n .min(1, 'Household size must be at least 1.'),\n\n /** Type of house structure */\n housingType: z.enum(['KUTCHA', 'SEMI_PUCCA', 'PUCCA', 'APARTMENT', 'OTHER'], {\n message: 'Please select housing type.',\n }),\n\n /** Close family member settled in another state or abroad? */\n familyMemberSettledElsewhere: z.enum(['YES', 'NO', 'NOT_SURE']).optional(),\n\n // ── 6.4 Economic Status ───────────────────────────────────────────────────\n\n /** BPL (Below Poverty Line) ration card holder? */\n bplRationCardHolder: z.enum(['YES', 'NO', 'NOT_SURE']).optional(),\n\n /** Has life insurance? */\n hasLifeInsurance: z.enum(['YES', 'NO', 'NOT_SURE']).optional(),\n\n /** Insurance details (conditional: hasLifeInsurance == YES) */\n lifeInsuranceDetails: z.string().trim().optional(),\n\n /** Annual personal income range */\n annualPersonalIncomeRange: z.enum(\n ['BELOW_1L', '1_2L', '2_3L', '3_5L', '5_10L', 'ABOVE_10L', 'NO_INCOME', 'PREFER_NOT_SAY'],\n { message: 'Please select your personal income range.' },\n ),\n\n /** Annual household income range */\n annualHouseholdIncomeRange: z.enum(\n ['BELOW_1L', '1_2L', '2_3L', '3_5L', '5_10L', '10_20L', 'ABOVE_20L', 'PREFER_NOT_SAY'],\n { message: 'Please select household income range.' },\n ),\n\n // ── 6.5 Digital Access & Literacy ─────────────────────────────────────────\n\n /** Which devices / connectivity options does this person have? */\n digitalAccess: z.array(z.string()).min(1, 'Please select at least one option.'),\n\n /** Self-assessed digital skill level */\n digitalSkillLevel: z.enum(\n ['CANT_USE_SMARTPHONE', 'BASIC', 'COMFORTABLE_APPS_UPI', 'ADVANCED_TOOLS_CONTENT'],\n { message: 'Please select your digital skill level.' },\n ),\n\n /** Reading & writing ability */\n literacyLevel: z.enum(\n ['CANT_READ_WRITE', 'CAN_READ_ONLY', 'READ_WRITE_BASIC', 'FLUENT_ONE_LANGUAGE'],\n { message: 'Please select your literacy level.' },\n ),\n\n // ── 6.6 Caregiving ────────────────────────────────────────────────────────\n\n /** Who does this person regularly care for? */\n caregivingResponsibilities: z.array(z.string()).optional(),\n\n /** Average daily caregiving hours (optional) */\n caregivingHoursPerDay: z.enum(['LESS_THAN_1', '1_TO_3', '3_TO_6', 'MORE_THAN_6']).optional(),\n});\n\n// ─── Inferred types ──────────────────────────────────────────────────────────\n\nexport type Step06HouseholdInput = z.infer<typeof step06HouseholdSchema>;\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "udp-schema",
3
- "version": "0.1.7",
3
+ "version": "0.1.9",
4
4
  "description": "Shared Zod schemas for User Detailed Profile (frontend + backend).",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",