@baravak/risloo-profile-cli 4.84.0 → 4.86.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@baravak/risloo-profile-cli",
3
- "version": "4.84.0",
3
+ "version": "4.86.0",
4
4
  "description": "**Risloo Profile CLI** is a library for creating profiles, reports and sheets for *psychological* samples.",
5
5
  "main": "bin/risloo.js",
6
6
  "publishConfig": {
@@ -38,16 +38,28 @@ function gauge(R, r, brs, angles, direction, options) {
38
38
  end: calcGaugeSidePoints(R, r, { top: brs.tr, bottom: brs.br }, angles.end, false, direction),
39
39
  };
40
40
 
41
+ // The corner radii trim each edge arc, so the arc actually drawn spans less
42
+ // than totalAngle. Decide each large-arc flag from the arc's own endpoints:
43
+ // a sweep just over PI trimmed below PI must not take the large arc.
44
+ const largeArc = (from, to) => {
45
+ let span = Math.atan2(to.y, to.x) - Math.atan2(from.y, from.x);
46
+ if (direction) span = -span;
47
+ span = ((span % (2 * Math.PI)) + 2 * Math.PI) % (2 * Math.PI);
48
+ // A span near 0 means the trimmed arc still wraps almost a full circle.
49
+ if (span < 1e-6 && totalAngle > Math.PI) return 1;
50
+ return span > Math.PI ? 1 : 0;
51
+ };
52
+
41
53
  // Calculate "d" Attribute of Path
42
54
  let dAttr = `M ${sidePoints.start.P1.toString}`;
43
55
 
44
- dAttr += `A ${R} ${R} 1 ${totalAngle > Math.PI ? 1 : 0} ${direction ? 0 : 1} ${sidePoints.end.P1.toString}`;
56
+ dAttr += `A ${R} ${R} 1 ${largeArc(sidePoints.start.P1, sidePoints.end.P1)} ${direction ? 0 : 1} ${sidePoints.end.P1.toString}`;
45
57
 
46
58
  dAttr += brs.tr ? `A ${brs.tr} ${brs.tr} 1 0 ${direction ? 0 : 1} ${sidePoints.end.P1_PRIME.toString}` : "";
47
59
  dAttr += `L ${sidePoints.end.P2_PRIME?.toString || sidePoints.end.P2.toString}`;
48
60
  dAttr += brs.br ? `A ${brs.br} ${brs.br} 1 0 ${direction ? 0 : 1} ${sidePoints.end.P2.toString}` : "";
49
61
 
50
- dAttr += `A ${r} ${r} 1 ${totalAngle > Math.PI ? 1 : 0} ${direction ? 1 : 0} ${sidePoints.start.P2.toString}`;
62
+ dAttr += `A ${r} ${r} 1 ${largeArc(sidePoints.start.P2, sidePoints.end.P2)} ${direction ? 1 : 0} ${sidePoints.start.P2.toString}`;
51
63
 
52
64
  dAttr += brs.bl ? `A ${brs.bl} ${brs.bl} 1 0 ${direction ? 0 : 1} ${sidePoints.start.P2_PRIME.toString}` : "";
53
65
  dAttr += `L ${sidePoints.start.P1_PRIME?.toString || sidePoints.start.P1.toString}`;
@@ -0,0 +1,223 @@
1
+ {
2
+ "id": "$X1HXXXXX",
3
+ "scale": {
4
+ "id": "$AIS-93",
5
+ "title": "مقیاس بی‌خوابی آتن"
6
+ },
7
+ "chain": null,
8
+ "version": "1",
9
+ "edition": null,
10
+ "edition_version": null,
11
+ "client": {
12
+ "id": "GH966XXXX",
13
+ "name": "مراجع"
14
+ },
15
+ "room": {
16
+ "id": "RS96XXXX",
17
+ "manager": {
18
+ "id": "GH9XXXXX",
19
+ "name": "درمانگر",
20
+ "user_id": "IR9XXXX"
21
+ },
22
+ "center": {
23
+ "id": "RS966XXXX",
24
+ "acceptation": null,
25
+ "status": "active",
26
+ "type": "personal_clinic",
27
+ "detail": {
28
+ "title": "درمانگر"
29
+ }
30
+ },
31
+ "acceptation": null,
32
+ "status": "active",
33
+ "type": "personal_clinic"
34
+ },
35
+ "case": null,
36
+ "code": null,
37
+ "created_at": 1694157079,
38
+ "started_at": 1694157198,
39
+ "scored_at": 1694242467,
40
+ "closed_at": 1694160574,
41
+ "total_amount": 100000,
42
+ "prepayment": true,
43
+ "purchased": true,
44
+ "amount": 100000,
45
+ "description": "این مقیاس مشکل خواب شما را بررسی می‌کند. لطفاً هر عبارت را بخوانید و عدد مناسب را انتخاب کنید.\n\nتوجه: شما این علامت را باید حداقل سه شب در هر هفته و به مدت یک ماه داشته باشید.",
46
+ "items": [
47
+ {
48
+ "type": "text",
49
+ "text": "شروع خواب من (زمانی که شما بعد از خاموش‌کردن چراغ‌ها طول می‌کشد تا بخوابید)",
50
+ "answer": {
51
+ "type": "optional",
52
+ "options": [
53
+ "مشکلی ندارد",
54
+ "کمی با تأخیر همراه است",
55
+ "تأخیر قابل توجهی وجود دارد",
56
+ "خیلی تأخیر وجود دارد / اصلاً نتوانستم بخوابم"
57
+ ]
58
+ },
59
+ "user_answered": "2"
60
+ },
61
+ {
62
+ "type": "text",
63
+ "text": "بیداری شبانه",
64
+ "answer": {
65
+ "type": "optional",
66
+ "options": [
67
+ "مشکلی وجود ندارد",
68
+ "مشکل خفیفی وجود دارد",
69
+ "مشکل قابل توجهی وجود دارد",
70
+ "مشکل جدی وجود دارد / اصلاً نتوانستم بخوابم"
71
+ ]
72
+ },
73
+ "user_answered": "3"
74
+ },
75
+ {
76
+ "type": "text",
77
+ "text": "زودتر از آن چیزی که دوست دارم بیدار می‌شوم",
78
+ "answer": {
79
+ "type": "optional",
80
+ "options": [
81
+ "زودتر نیست",
82
+ "کمی زودتر است",
83
+ "به طور قابل توجهی زودتر است",
84
+ "خیلی زودتر است / اصلاً نتوانستم بخوابم"
85
+ ]
86
+ },
87
+ "user_answered": "2"
88
+ },
89
+ {
90
+ "type": "text",
91
+ "text": "مقدار کلی خواب (کل خواب من)",
92
+ "answer": {
93
+ "type": "optional",
94
+ "options": [
95
+ "کافی است",
96
+ "کمی ناکافی است",
97
+ "به طور قابل توجهی ناکافی است",
98
+ "خیلی ناکافی است / اصلاً نتوانستم بخوابم"
99
+ ]
100
+ },
101
+ "user_answered": "4"
102
+ },
103
+ {
104
+ "type": "text",
105
+ "text": "کیفیت کلی خواب من (مهم نیست که چند ساعت خوابیده‌اید)",
106
+ "answer": {
107
+ "type": "optional",
108
+ "options": [
109
+ "رضایت‌بخش است",
110
+ "کمی نارضایت‌بخش است",
111
+ "به طور قابل توجهی نارضایت‌بخش است",
112
+ "خیلی نارضایت‌بخش است / اصلاً نتوانستم بخوابم"
113
+ ]
114
+ },
115
+ "user_answered": "3"
116
+ },
117
+ {
118
+ "type": "text",
119
+ "text": "احساس بهزیستی در طول روز",
120
+ "answer": {
121
+ "type": "optional",
122
+ "options": [
123
+ "عادی است",
124
+ "کمی کاهش یافته است",
125
+ "به طور قابل توجهی کاهش یافته است",
126
+ "خیلی کاهش یافته است"
127
+ ]
128
+ },
129
+ "user_answered": "2"
130
+ },
131
+ {
132
+ "type": "text",
133
+ "text": "عملکرد (جسمی و ذهنی) در طول روز",
134
+ "answer": {
135
+ "type": "optional",
136
+ "options": [
137
+ "عادی است",
138
+ "کمی کاهش یافته است",
139
+ "به طور قابل توجهی کاهش یافته است",
140
+ "خیلی کاهش یافته است"
141
+ ]
142
+ },
143
+ "user_answered": "2"
144
+ },
145
+ {
146
+ "type": "text",
147
+ "text": "خواب‌آلودگی در طول روز",
148
+ "answer": {
149
+ "type": "optional",
150
+ "options": [
151
+ "وجود ندارد",
152
+ "خفیف است",
153
+ "قابل توجه است",
154
+ "شدید است"
155
+ ]
156
+ },
157
+ "user_answered": "1"
158
+ }
159
+ ],
160
+ "prerequisites": [
161
+ {
162
+ "type": "text",
163
+ "label": "gender",
164
+ "text": "جنسیت",
165
+ "answer": {
166
+ "type": "select",
167
+ "options": [
168
+ "زن",
169
+ "مرد"
170
+ ]
171
+ },
172
+ "alias": "gender",
173
+ "force": true,
174
+ "user_answered": "1"
175
+ },
176
+ {
177
+ "type": "text",
178
+ "label": "age",
179
+ "text": "سن",
180
+ "answer": {
181
+ "type": "number"
182
+ },
183
+ "alias": "age",
184
+ "force": true,
185
+ "user_answered": "35"
186
+ },
187
+ {
188
+ "type": "text",
189
+ "label": "education",
190
+ "text": "تحصیلات",
191
+ "answer": {
192
+ "type": "select",
193
+ "options": [
194
+ "ابتدایی اول",
195
+ "ابتدایی دوم",
196
+ "متوسطه اول",
197
+ "متوسطه دوم",
198
+ "دیپلم",
199
+ "کارشناسی",
200
+ "کارشناسی ارشد",
201
+ "پزشکی عمومی",
202
+ "متخصص",
203
+ "دکتری تخصصی",
204
+ "حوزوی مقدمات",
205
+ "حوزوی سطح۱",
206
+ "حوزوی سطح۲",
207
+ "حوزوی سطح۳",
208
+ "حوزوی سطح۴"
209
+ ]
210
+ },
211
+ "alias": "education",
212
+ "force": true,
213
+ "user_answered": "6"
214
+ }
215
+ ],
216
+ "cornometer": 743,
217
+ "score": {
218
+ "status": "valid",
219
+ "total": 11
220
+ },
221
+ "score_current_version": "1.0.0",
222
+ "score_last_version": "1.0.0"
223
+ }