@sarafapp/iron_core 1.0.64 → 1.0.67
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 +5 -2
- package/index.ts +0 -37
- package/src/BaseModel.ts +0 -127
- package/src/Utils.ts +0 -16
- package/src/accessHandling/AccessControl.ts +0 -33
- package/src/accessHandling/AccessLevel.ts +0 -52
- package/src/accessHandling/Accessible.ts +0 -3
- package/src/accessHandling/EveryDirectiveAccess.ts +0 -7
- package/src/accessHandling/SSO/AuthorizationDirective.ts +0 -65
- package/src/accessHandling/SSO/AuthorizationService.ts +0 -74
- package/src/accessHandling/SSO/EveryLevelAuthorizationDirective.ts +0 -7
- package/src/accessHandling/SSO/SomeLevelsAuthorizationDirective.ts +0 -7
- package/src/accessHandling/SomeDirectiveAccess.ts +0 -7
- package/src/accessHandling/index.ts +0 -9
- package/src/baseDirective/BeforeMountDirective.ts +0 -3
- package/src/baseDirective/BeforeUnMountDirective.ts +0 -3
- package/src/baseDirective/BeforeUpdateDirective.ts +0 -3
- package/src/baseDirective/CreatedDirective.ts +0 -3
- package/src/baseDirective/MountedDirective.ts +0 -3
- package/src/baseDirective/UnMountedDirective.ts +0 -3
- package/src/baseDirective/UpdateDirective.ts +0 -3
- package/src/baseDirective/index.ts +0 -7
- package/src/baseForm/BaseRequestBodyFilter.ts +0 -7
- package/src/baseForm/FormManager.ts +0 -95
- package/src/baseForm/InputControl.ts +0 -182
- package/src/baseForm/InputControlBuilder.ts +0 -59
- package/src/baseForm/InputControlData.ts +0 -16
- package/src/baseForm/RequestBodyFilter.ts +0 -3
- package/src/baseForm/TouchSensitiveForm.ts +0 -47
- package/src/baseForm/UseForm.ts +0 -32
- package/src/baseForm/index.ts +0 -8
- package/src/baseSchedule/Schedule.ts +0 -3
- package/src/baseSchedule/Scheduler.ts +0 -29
- package/src/baseSchedule/index.ts +0 -2
- package/src/baseTable/BaseTable.ts +0 -162
- package/src/baseTable/Constants.ts +0 -26
- package/src/baseTable/OnDestory.ts +0 -3
- package/src/baseTable/RowActionSource.ts +0 -5
- package/src/baseTable/RowClick.ts +0 -3
- package/src/baseTable/RowDoubleClick.ts +0 -3
- package/src/baseTable/RowMetaClick.ts +0 -3
- package/src/baseTable/SelectableTable.ts +0 -86
- package/src/baseTable/TableAction.ts +0 -10
- package/src/baseTable/TableHeaderSchema.ts +0 -44
- package/src/baseTable/TableLoader.ts +0 -3
- package/src/baseTable/TablePaginate.ts +0 -3
- package/src/baseTable/TableService.ts +0 -10
- package/src/baseTable/TableSort.ts +0 -5
- package/src/baseTable/TableSummarySchema.ts +0 -11
- package/src/baseTable/generator/SelectableTableGenerator.ts +0 -65
- package/src/baseTable/generator/TableCellComponentRegistry.ts +0 -15
- package/src/baseTable/generator/TableConfig.ts +0 -18
- package/src/baseTable/generator/TableGenerator.ts +0 -147
- package/src/baseTable/generator/TableSource.ts +0 -34
- package/src/baseTable/index.ts +0 -43
- package/src/baseTable/moduleConnection/Action.ts +0 -12
- package/src/baseTable/moduleConnection/Column.ts +0 -11
- package/src/baseTable/moduleConnection/Table.ts +0 -49
- package/src/baseTable/moduleConnection/TableDestroy.ts +0 -7
- package/src/baseTable/moduleConnection/TableRowClick.ts +0 -7
- package/src/baseTable/moduleConnection/generator/GColumn.ts +0 -10
- package/src/baseTable/moduleConnection/generator/GTable.ts +0 -11
- package/src/composables/UseCrud.ts +0 -53
- package/src/composables/UseData.ts +0 -70
- package/src/composables/UseLoadingStatus.ts +0 -65
- package/src/composables/UseParams.ts +0 -93
- package/src/composables/UseRepository.ts +0 -207
- package/src/composables/UseState.ts +0 -30
- package/src/composables/UseStaticTableService.ts +0 -45
- package/src/composables/index.ts +0 -7
- package/src/constants/Constants.ts +0 -126
- package/src/constants/index.ts +0 -19
- package/src/crudService/CrudService.ts +0 -121
- package/src/crudService/index.ts +0 -1
- package/src/dateHandling/Constants.ts +0 -5
- package/src/dateHandling/Converter.ts +0 -15
- package/src/dateHandling/JalaliDateSetup.ts +0 -42
- package/src/dateHandling/Model.ts +0 -27
- package/src/dateHandling/Utils.ts +0 -49
- package/src/dateHandling/index.ts +0 -5
- package/src/debounce/DebounceAction.ts +0 -4
- package/src/debounce/DebounceService.ts +0 -27
- package/src/debounce/index.ts +0 -2
- package/src/deviceManagement/Constants.ts +0 -4
- package/src/deviceManagement/Visibility.ts +0 -4
- package/src/deviceManagement/VisibilityManager.ts +0 -18
- package/src/deviceManagement/index.ts +0 -3
- package/src/errorHandling/ErrorHandler.ts +0 -3
- package/src/errorHandling/HandleError.ts +0 -20
- package/src/errorHandling/index.ts +0 -2
- package/src/eventSystem/CustomEventDispatcher.ts +0 -13
- package/src/eventSystem/Model.ts +0 -29
- package/src/eventSystem/OnEvent.ts +0 -25
- package/src/eventSystem/index.ts +0 -3
- package/src/feedbackHandling/FailureFeedback.ts +0 -3
- package/src/feedbackHandling/Feedback.ts +0 -34
- package/src/feedbackHandling/HandleFeedback.ts +0 -28
- package/src/feedbackHandling/InfoFeedback.ts +0 -3
- package/src/feedbackHandling/SuccessFeedback.ts +0 -3
- package/src/feedbackHandling/WarningFeedback.ts +0 -3
- package/src/feedbackHandling/index.ts +0 -6
- package/src/httpClient/ApiBuilder.ts +0 -57
- package/src/httpClient/ErrorHandlerRegistry.ts +0 -29
- package/src/httpClient/HttpClient.ts +0 -77
- package/src/httpClient/Interceptor.ts +0 -5
- package/src/httpClient/index.ts +0 -4
- package/src/initializer/ApplicationInitializer.ts +0 -15
- package/src/initializer/Initializer.ts +0 -3
- package/src/initializer/index.ts +0 -2
- package/src/json/JsonMapper.ts +0 -48
- package/src/json/index.ts +0 -1
- package/src/layout/Constants.ts +0 -11
- package/src/layout/DialogService.ts +0 -75
- package/src/layout/DrawerService.ts +0 -25
- package/src/layout/Toast.ts +0 -14
- package/src/layout/index.ts +0 -4
- package/src/lib/Constants.ts +0 -433
- package/src/lib/Formatter.ts +0 -68
- package/src/lib/Util.ts +0 -113
- package/src/lib/index.ts +0 -3
- package/src/observables/AbstractSubject.ts +0 -21
- package/src/observables/BehaviorSubject.ts +0 -58
- package/src/observables/Observer.ts +0 -3
- package/src/observables/Subject.ts +0 -9
- package/src/observables/index.ts +0 -4
- package/src/process/Proccess.ts +0 -21
- package/src/process/ProcessManager.ts +0 -31
- package/src/process/index.ts +0 -2
- package/src/repository/Params.ts +0 -10
- package/src/repository/Repository.ts +0 -44
- package/src/repository/SyncDetail.ts +0 -8
- package/src/repository/index.ts +0 -4
- package/src/repository/model.ts +0 -9
- package/src/routeGuard/RouteGuard.ts +0 -38
- package/src/routeGuard/index.ts +0 -1
- package/src/search/client/ClientArraySearch.ts +0 -25
- package/src/search/client/ClientSearch.ts +0 -3
- package/src/search/index.ts +0 -2
- package/src/sort/SortDetail.ts +0 -11
- package/src/sort/client/Sorter.ts +0 -28
- package/src/sort/index.ts +0 -4
- package/src/sort/strategies/SimpleSort.ts +0 -35
- package/src/sort/strategies/SortStrategy.ts +0 -4
- package/src/types/Global.ts +0 -1
- package/src/types/index.ts +0 -1
- package/src/validators/Validator.ts +0 -5
- package/src/validators/index.ts +0 -1
- package/src/webSocket/Constants.ts +0 -6
- package/src/webSocket/Model.ts +0 -16
- package/src/webSocket/WebSocketService.ts +0 -153
- package/src/webSocket/index.ts +0 -3
- package/vite.config.ts +0 -55
package/src/lib/Constants.ts
DELETED
|
@@ -1,433 +0,0 @@
|
|
|
1
|
-
export const enum CommonMaskFormats {
|
|
2
|
-
BankCard = "####-####-####-####",
|
|
3
|
-
Iban = "##-####-####-####-####-####-##",
|
|
4
|
-
}
|
|
5
|
-
|
|
6
|
-
export const enum DateFormat {
|
|
7
|
-
FullDate = "YYYY/M/D HH:mm",
|
|
8
|
-
SimpleDate = "YYYY/M/D",
|
|
9
|
-
CompactGregorianDate = "YYYYMMDD",
|
|
10
|
-
ShortJalaliDate = "YYMM",
|
|
11
|
-
JustHour = "HH:mm:ss",
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
interface Bank {
|
|
15
|
-
[identifier: string | number]: {
|
|
16
|
-
persian: string;
|
|
17
|
-
english: string;
|
|
18
|
-
};
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
export const cards: Array<Bank> = [
|
|
22
|
-
{
|
|
23
|
-
62198619: {
|
|
24
|
-
persian: "بلو",
|
|
25
|
-
english: "blue",
|
|
26
|
-
},
|
|
27
|
-
},
|
|
28
|
-
{
|
|
29
|
-
603799: {
|
|
30
|
-
persian: "بانک ملی ایران",
|
|
31
|
-
english: "melli",
|
|
32
|
-
},
|
|
33
|
-
},
|
|
34
|
-
{
|
|
35
|
-
589210: {
|
|
36
|
-
persian: "بانک سپه",
|
|
37
|
-
english: "sepah",
|
|
38
|
-
},
|
|
39
|
-
},
|
|
40
|
-
{
|
|
41
|
-
627648: {
|
|
42
|
-
persian: "بانک توسعه صادرات",
|
|
43
|
-
english: "export-development",
|
|
44
|
-
},
|
|
45
|
-
},
|
|
46
|
-
{
|
|
47
|
-
627961: {
|
|
48
|
-
persian: "بانک صنعت و معدن",
|
|
49
|
-
english: "industry-mine",
|
|
50
|
-
},
|
|
51
|
-
},
|
|
52
|
-
{
|
|
53
|
-
603770: {
|
|
54
|
-
persian: "بانک کشاورزی",
|
|
55
|
-
english: "agriculture",
|
|
56
|
-
},
|
|
57
|
-
},
|
|
58
|
-
{
|
|
59
|
-
628023: {
|
|
60
|
-
persian: "بانک مسکن",
|
|
61
|
-
english: "housing",
|
|
62
|
-
},
|
|
63
|
-
},
|
|
64
|
-
{
|
|
65
|
-
627760: {
|
|
66
|
-
persian: "پست بانک ایران",
|
|
67
|
-
english: "post",
|
|
68
|
-
},
|
|
69
|
-
},
|
|
70
|
-
{
|
|
71
|
-
502908: {
|
|
72
|
-
persian: "بانک توسعه تعاون",
|
|
73
|
-
english: "development-cooperation",
|
|
74
|
-
},
|
|
75
|
-
},
|
|
76
|
-
{
|
|
77
|
-
627412: {
|
|
78
|
-
persian: "بانک اقتصاد نوین",
|
|
79
|
-
english: "eghtesad-novin",
|
|
80
|
-
},
|
|
81
|
-
},
|
|
82
|
-
{
|
|
83
|
-
622106: {
|
|
84
|
-
persian: "بانک پارسیان",
|
|
85
|
-
english: "parsian",
|
|
86
|
-
},
|
|
87
|
-
},
|
|
88
|
-
{
|
|
89
|
-
502229: {
|
|
90
|
-
persian: "بانک پاسارگاد",
|
|
91
|
-
english: "pasargad",
|
|
92
|
-
},
|
|
93
|
-
},
|
|
94
|
-
{
|
|
95
|
-
639599: {
|
|
96
|
-
persian: "بانک قوامین",
|
|
97
|
-
english: "ghavamin",
|
|
98
|
-
},
|
|
99
|
-
},
|
|
100
|
-
{
|
|
101
|
-
627488: {
|
|
102
|
-
persian: "بانک کارآفرین",
|
|
103
|
-
english: "karafarin",
|
|
104
|
-
},
|
|
105
|
-
},
|
|
106
|
-
{
|
|
107
|
-
621986: {
|
|
108
|
-
persian: "بانک سامان",
|
|
109
|
-
english: "saman",
|
|
110
|
-
},
|
|
111
|
-
},
|
|
112
|
-
{
|
|
113
|
-
639346: {
|
|
114
|
-
persian: "بانک سینا",
|
|
115
|
-
english: "sina",
|
|
116
|
-
},
|
|
117
|
-
},
|
|
118
|
-
{
|
|
119
|
-
639607: {
|
|
120
|
-
persian: "بانک سرمایه",
|
|
121
|
-
english: "sarmayeh",
|
|
122
|
-
},
|
|
123
|
-
},
|
|
124
|
-
{
|
|
125
|
-
504706: {
|
|
126
|
-
persian: "بانک شهر",
|
|
127
|
-
english: "shahr",
|
|
128
|
-
},
|
|
129
|
-
},
|
|
130
|
-
{
|
|
131
|
-
502806: {
|
|
132
|
-
persian: "بانک شهر",
|
|
133
|
-
english: "shahr",
|
|
134
|
-
},
|
|
135
|
-
},
|
|
136
|
-
{
|
|
137
|
-
502938: {
|
|
138
|
-
persian: "بانک دی",
|
|
139
|
-
english: "day",
|
|
140
|
-
},
|
|
141
|
-
},
|
|
142
|
-
{
|
|
143
|
-
603769: {
|
|
144
|
-
persian: "بانک صادرات",
|
|
145
|
-
english: "saderat",
|
|
146
|
-
},
|
|
147
|
-
},
|
|
148
|
-
{
|
|
149
|
-
610433: {
|
|
150
|
-
persian: "بانک ملت",
|
|
151
|
-
english: "mellat",
|
|
152
|
-
},
|
|
153
|
-
},
|
|
154
|
-
{
|
|
155
|
-
627353: {
|
|
156
|
-
persian: "بانک تجارت",
|
|
157
|
-
english: "tejarat",
|
|
158
|
-
},
|
|
159
|
-
},
|
|
160
|
-
{
|
|
161
|
-
585983: {
|
|
162
|
-
persian: "بانک تجارت",
|
|
163
|
-
english: "tejarat",
|
|
164
|
-
},
|
|
165
|
-
},
|
|
166
|
-
{
|
|
167
|
-
589463: {
|
|
168
|
-
persian: "بانک رفاه",
|
|
169
|
-
english: "refah",
|
|
170
|
-
},
|
|
171
|
-
},
|
|
172
|
-
{
|
|
173
|
-
627381: {
|
|
174
|
-
persian: "بانک انصار",
|
|
175
|
-
english: "ansar",
|
|
176
|
-
},
|
|
177
|
-
},
|
|
178
|
-
{
|
|
179
|
-
639370: {
|
|
180
|
-
persian: "بانک مهر اقتصاد",
|
|
181
|
-
english: "mehr-eqtesad",
|
|
182
|
-
},
|
|
183
|
-
},
|
|
184
|
-
{
|
|
185
|
-
505801: {
|
|
186
|
-
persian: "موسسه اعتباری کوثر",
|
|
187
|
-
english: "kosar",
|
|
188
|
-
},
|
|
189
|
-
},
|
|
190
|
-
{
|
|
191
|
-
606373: {
|
|
192
|
-
persian: "بانک قرض الحسنه مهرایرانیان",
|
|
193
|
-
english: "mehr",
|
|
194
|
-
},
|
|
195
|
-
},
|
|
196
|
-
{
|
|
197
|
-
186214: {
|
|
198
|
-
persian: "بانک آینده",
|
|
199
|
-
english: "ayandeh",
|
|
200
|
-
},
|
|
201
|
-
},
|
|
202
|
-
{
|
|
203
|
-
504172: {
|
|
204
|
-
persian: "بانک قرض الحسنه رسالت",
|
|
205
|
-
english: "resalat",
|
|
206
|
-
},
|
|
207
|
-
},
|
|
208
|
-
{
|
|
209
|
-
505416: {
|
|
210
|
-
persian: "بانک گردشگری",
|
|
211
|
-
english: "tourism",
|
|
212
|
-
},
|
|
213
|
-
},
|
|
214
|
-
{
|
|
215
|
-
505785: {
|
|
216
|
-
persian: "بانک ایرانزمین",
|
|
217
|
-
english: "iran-zamin",
|
|
218
|
-
},
|
|
219
|
-
},
|
|
220
|
-
{
|
|
221
|
-
505809: {
|
|
222
|
-
persian: "بانک خاورمیانه",
|
|
223
|
-
english: "middle-east",
|
|
224
|
-
},
|
|
225
|
-
},
|
|
226
|
-
{
|
|
227
|
-
585947: {
|
|
228
|
-
persian: "بانک خاورمیانه",
|
|
229
|
-
english: "middle-east",
|
|
230
|
-
},
|
|
231
|
-
},
|
|
232
|
-
{
|
|
233
|
-
604932: {
|
|
234
|
-
persian: "بانک سپه",
|
|
235
|
-
english: "sepah",
|
|
236
|
-
},
|
|
237
|
-
},
|
|
238
|
-
{
|
|
239
|
-
627961: {
|
|
240
|
-
persian: "بانک صنعت و معدن",
|
|
241
|
-
english: "industry-mine",
|
|
242
|
-
},
|
|
243
|
-
},
|
|
244
|
-
{
|
|
245
|
-
636214: {
|
|
246
|
-
persian: "بانک آینده",
|
|
247
|
-
english: "ayandeh",
|
|
248
|
-
},
|
|
249
|
-
},
|
|
250
|
-
{
|
|
251
|
-
636795: {
|
|
252
|
-
persian: "بانک مرکزی",
|
|
253
|
-
english: "markazi",
|
|
254
|
-
},
|
|
255
|
-
},
|
|
256
|
-
{
|
|
257
|
-
636949: {
|
|
258
|
-
persian: "بانک حکمت ایرانیان",
|
|
259
|
-
english: "hekmat-iranian",
|
|
260
|
-
},
|
|
261
|
-
},
|
|
262
|
-
{
|
|
263
|
-
639217: {
|
|
264
|
-
persian: "بانک کشاورزی",
|
|
265
|
-
english: "agriculture",
|
|
266
|
-
},
|
|
267
|
-
},
|
|
268
|
-
];
|
|
269
|
-
|
|
270
|
-
export const ibans: Array<Bank> = [
|
|
271
|
-
{
|
|
272
|
-
"010": {
|
|
273
|
-
persian: "بانک مرکزی",
|
|
274
|
-
english: "markazi",
|
|
275
|
-
},
|
|
276
|
-
},
|
|
277
|
-
{
|
|
278
|
-
"011": {
|
|
279
|
-
persian: "بانک صنعت و معدن",
|
|
280
|
-
english: "industry-mine",
|
|
281
|
-
},
|
|
282
|
-
},
|
|
283
|
-
{
|
|
284
|
-
"012": {
|
|
285
|
-
persian: "بانک ملت",
|
|
286
|
-
english: "mellat",
|
|
287
|
-
},
|
|
288
|
-
},
|
|
289
|
-
{
|
|
290
|
-
"013": {
|
|
291
|
-
persian: "بانک رفاه",
|
|
292
|
-
english: "refah",
|
|
293
|
-
},
|
|
294
|
-
},
|
|
295
|
-
{
|
|
296
|
-
"014": {
|
|
297
|
-
persian: "بانک مسکن",
|
|
298
|
-
english: "housing",
|
|
299
|
-
},
|
|
300
|
-
},
|
|
301
|
-
{
|
|
302
|
-
"015": {
|
|
303
|
-
persian: "بانک سپه",
|
|
304
|
-
english: "sepah",
|
|
305
|
-
},
|
|
306
|
-
},
|
|
307
|
-
{
|
|
308
|
-
"016": {
|
|
309
|
-
persian: "بانک کشاورزی",
|
|
310
|
-
english: "agriculture",
|
|
311
|
-
},
|
|
312
|
-
},
|
|
313
|
-
{
|
|
314
|
-
"017": {
|
|
315
|
-
persian: "بانک ملّی ایران",
|
|
316
|
-
english: "melli",
|
|
317
|
-
},
|
|
318
|
-
},
|
|
319
|
-
{
|
|
320
|
-
"018": {
|
|
321
|
-
persian: "بانک تجارت",
|
|
322
|
-
english: "tejarat",
|
|
323
|
-
},
|
|
324
|
-
},
|
|
325
|
-
{
|
|
326
|
-
"019": {
|
|
327
|
-
persian: "بانک صادرات",
|
|
328
|
-
english: "saderat",
|
|
329
|
-
},
|
|
330
|
-
},
|
|
331
|
-
{
|
|
332
|
-
"020": {
|
|
333
|
-
persian: "بانک توسعه صادرات",
|
|
334
|
-
english: "export-development",
|
|
335
|
-
},
|
|
336
|
-
},
|
|
337
|
-
{
|
|
338
|
-
"021": {
|
|
339
|
-
persian: "پست بانک",
|
|
340
|
-
english: "post",
|
|
341
|
-
},
|
|
342
|
-
},
|
|
343
|
-
{
|
|
344
|
-
"053": {
|
|
345
|
-
persian: "بانک کارآفرین",
|
|
346
|
-
english: "karafarin",
|
|
347
|
-
},
|
|
348
|
-
},
|
|
349
|
-
{
|
|
350
|
-
"054": {
|
|
351
|
-
persian: "بانک پارسیان",
|
|
352
|
-
english: "parsian",
|
|
353
|
-
},
|
|
354
|
-
},
|
|
355
|
-
{
|
|
356
|
-
"055": {
|
|
357
|
-
persian: "بانک اقتصاد نوین",
|
|
358
|
-
english: "eghtesad-novin",
|
|
359
|
-
},
|
|
360
|
-
},
|
|
361
|
-
{
|
|
362
|
-
"056": {
|
|
363
|
-
persian: "بانک سامان",
|
|
364
|
-
english: "saman",
|
|
365
|
-
},
|
|
366
|
-
},
|
|
367
|
-
{
|
|
368
|
-
"057": {
|
|
369
|
-
persian: "بانک پاسارگاد",
|
|
370
|
-
english: "pasargad",
|
|
371
|
-
},
|
|
372
|
-
},
|
|
373
|
-
{
|
|
374
|
-
"058": {
|
|
375
|
-
persian: "بانک سرمایه",
|
|
376
|
-
english: "sarmayeh",
|
|
377
|
-
},
|
|
378
|
-
},
|
|
379
|
-
{
|
|
380
|
-
"059": {
|
|
381
|
-
persian: "بانک سینا",
|
|
382
|
-
english: "sina",
|
|
383
|
-
},
|
|
384
|
-
},
|
|
385
|
-
{
|
|
386
|
-
"060": {
|
|
387
|
-
persian: "بانک قرض الحسنه مهرایرانیان",
|
|
388
|
-
english: "mehr",
|
|
389
|
-
},
|
|
390
|
-
},
|
|
391
|
-
{
|
|
392
|
-
"061": {
|
|
393
|
-
persian: "بانک شهر",
|
|
394
|
-
english: "shahr",
|
|
395
|
-
},
|
|
396
|
-
},
|
|
397
|
-
{
|
|
398
|
-
"062": {
|
|
399
|
-
persian: "بانک آینده",
|
|
400
|
-
english: "ayandeh",
|
|
401
|
-
},
|
|
402
|
-
},
|
|
403
|
-
{
|
|
404
|
-
"065": {
|
|
405
|
-
persian: "بانک حکمت ایرانیان",
|
|
406
|
-
english: "hekmat-iranian",
|
|
407
|
-
},
|
|
408
|
-
},
|
|
409
|
-
{
|
|
410
|
-
"066": {
|
|
411
|
-
persian: "بانک دی",
|
|
412
|
-
english: "day",
|
|
413
|
-
},
|
|
414
|
-
},
|
|
415
|
-
{
|
|
416
|
-
"069": {
|
|
417
|
-
persian: "بانک ایران زمین",
|
|
418
|
-
english: "iran-zamin",
|
|
419
|
-
},
|
|
420
|
-
},
|
|
421
|
-
{
|
|
422
|
-
"070": {
|
|
423
|
-
persian: "بانک قرض الحسنه رسالت",
|
|
424
|
-
english: "resalat",
|
|
425
|
-
},
|
|
426
|
-
},
|
|
427
|
-
{
|
|
428
|
-
"078": {
|
|
429
|
-
persian: "بانک خاورمیانه",
|
|
430
|
-
english: "middle-east",
|
|
431
|
-
},
|
|
432
|
-
},
|
|
433
|
-
];
|
package/src/lib/Formatter.ts
DELETED
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
import { CommonMaskFormats, DateFormat } from "./Constants";
|
|
2
|
-
import dayjs from "dayjs";
|
|
3
|
-
import { setupJalaliDate } from "../dateHandling";
|
|
4
|
-
|
|
5
|
-
setupJalaliDate();
|
|
6
|
-
|
|
7
|
-
export class Formatter {
|
|
8
|
-
public static toCurrency(amount: number, options: unknown) {
|
|
9
|
-
return amount.toLocaleString("en-US", options);
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
public static toCurrencyWithDotSeparator(amount: number) {
|
|
13
|
-
return Formatter.toCurrency(amount).replaceAll(",", ".");
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
public static applyMask(format: string, value: string): string {
|
|
17
|
-
let result = "";
|
|
18
|
-
let formatIndex = 0;
|
|
19
|
-
let valueIndex = 0;
|
|
20
|
-
|
|
21
|
-
while (formatIndex < format.length) {
|
|
22
|
-
if (format[formatIndex] === "#") {
|
|
23
|
-
if (valueIndex >= value.length) {
|
|
24
|
-
throw new Error("Value length does not match the format.");
|
|
25
|
-
}
|
|
26
|
-
result += value[valueIndex];
|
|
27
|
-
valueIndex++;
|
|
28
|
-
} else {
|
|
29
|
-
result += format[formatIndex];
|
|
30
|
-
}
|
|
31
|
-
formatIndex++;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
if (valueIndex !== value.length) {
|
|
35
|
-
throw new Error("Value length does not match the format.");
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
return result;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
public static applyBankCardMask(value: number | string) {
|
|
42
|
-
return Formatter.applyMask(CommonMaskFormats.BankCard, String(value));
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
public static applyIbanMask(value: number | string) {
|
|
46
|
-
return Formatter.applyMask(CommonMaskFormats.Iban, String(value));
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
public static toEnglishDigits(value: string): string {
|
|
50
|
-
const persianNumbers = ["۱", "۲", "۳", "۴", "۵", "۶", "۷", "۸", "۹", "۰"];
|
|
51
|
-
const arabicNumbers = ["١", "٢", "٣", "٤", "٥", "٦", "٧", "٨", "٩", "٠"];
|
|
52
|
-
const englishNumbers = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "0"];
|
|
53
|
-
|
|
54
|
-
return value
|
|
55
|
-
.split("")
|
|
56
|
-
.map(
|
|
57
|
-
(c) =>
|
|
58
|
-
englishNumbers[persianNumbers.indexOf(c)] ||
|
|
59
|
-
englishNumbers[arabicNumbers.indexOf(c)] ||
|
|
60
|
-
c,
|
|
61
|
-
)
|
|
62
|
-
.join("");
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
public static mapUnixToDate(unixValue: number, format: DateFormat) {
|
|
66
|
-
return dayjs(new Date(unixValue)).subtract(1, "day").format(format);
|
|
67
|
-
}
|
|
68
|
-
}
|
package/src/lib/Util.ts
DELETED
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
import { cards, ibans } from "./Constants";
|
|
2
|
-
import { Formatter } from "./Formatter";
|
|
3
|
-
import type { AxiosResponse } from "axios";
|
|
4
|
-
import { SortOrder } from "../constants";
|
|
5
|
-
|
|
6
|
-
export class Util {
|
|
7
|
-
public static getBankImageBaseOnCardInfo(
|
|
8
|
-
account_number: string | undefined,
|
|
9
|
-
type: "IBAN" | "CARD",
|
|
10
|
-
) {
|
|
11
|
-
if (account_number === undefined) return `/img/banks/shetab.png`;
|
|
12
|
-
|
|
13
|
-
if (type === "IBAN") {
|
|
14
|
-
account_number = Formatter.toEnglishDigits(
|
|
15
|
-
account_number.replace(/IR/g, "").split(" ").join(""),
|
|
16
|
-
);
|
|
17
|
-
return `/img/banks/${Util.iban(account_number).english}.png`;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
account_number = Formatter.toEnglishDigits(
|
|
21
|
-
account_number.replace(/ /g, ""),
|
|
22
|
-
);
|
|
23
|
-
return `/img/banks/${Util.card(account_number).english}.png`;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
private static card(number?: string) {
|
|
27
|
-
const unknown = { persian: "نامشخص", english: "shetab" };
|
|
28
|
-
if (number === undefined || number === null) return unknown;
|
|
29
|
-
number = number.substring(0, 6);
|
|
30
|
-
try {
|
|
31
|
-
const bank = cards.find((card) => Object.keys(card)[0] === number);
|
|
32
|
-
if (bank === undefined) return unknown;
|
|
33
|
-
return Object.values(bank)[0];
|
|
34
|
-
} catch {
|
|
35
|
-
return unknown;
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
// Args: number -> string
|
|
40
|
-
// Returns: Object { persian: "string", english: "string" } || {}
|
|
41
|
-
private static iban(number: string | undefined) {
|
|
42
|
-
const unknown = { persian: "نامشخص", english: "shetab" };
|
|
43
|
-
|
|
44
|
-
if (number === undefined || number === null) return unknown;
|
|
45
|
-
number = number.substring(2, 5);
|
|
46
|
-
try {
|
|
47
|
-
const bank = ibans.find((iban) => Object.keys(iban)[0] === number);
|
|
48
|
-
if (bank === undefined) return unknown;
|
|
49
|
-
return Object.values(bank)[0];
|
|
50
|
-
} catch {
|
|
51
|
-
return unknown;
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
public static async copyValueToClipboard(value: string | number) {
|
|
56
|
-
await navigator.clipboard.writeText(String(value));
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
public static downloadBlob(
|
|
60
|
-
response: AxiosResponse<Blob>,
|
|
61
|
-
fileName: string = Util.extractFileNameFromHeader(response),
|
|
62
|
-
) {
|
|
63
|
-
const linkElement = document.createElement("a");
|
|
64
|
-
linkElement.href = URL.createObjectURL(response.data);
|
|
65
|
-
linkElement.download = fileName;
|
|
66
|
-
linkElement.dispatchEvent(
|
|
67
|
-
new MouseEvent("click", {
|
|
68
|
-
bubbles: true,
|
|
69
|
-
cancelable: true,
|
|
70
|
-
composed: true,
|
|
71
|
-
}),
|
|
72
|
-
);
|
|
73
|
-
linkElement.remove();
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
private static extractFileNameFromHeader(response: AxiosResponse<Blob>) {
|
|
77
|
-
const fileName: string | undefined = response.headers["content-disposition"]
|
|
78
|
-
?.split("filename=")[1]
|
|
79
|
-
?.slice(
|
|
80
|
-
1,
|
|
81
|
-
response.headers["content-disposition"]?.split("filename=")?.[1]
|
|
82
|
-
.length - 1,
|
|
83
|
-
);
|
|
84
|
-
return fileName || "Saraf-File";
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
public static removeSpacesFromString(value: string): string {
|
|
88
|
-
if (value && typeof value.normalize === "function") {
|
|
89
|
-
value = value.normalize("NFC");
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
return value.replace(
|
|
93
|
-
/[\s\u00A0\u1680\u180E\u2000-\u200A\u200B-\u200D\u2060\uFEFF\u2028\u2029\u202F\u205F\u3000]+/g,
|
|
94
|
-
"",
|
|
95
|
-
);
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
public static isArraySorted<T>(
|
|
99
|
-
items: T[],
|
|
100
|
-
itemResolver = (item: T) => item,
|
|
101
|
-
order = SortOrder.ASC,
|
|
102
|
-
) {
|
|
103
|
-
return items.every((item, index: number) => {
|
|
104
|
-
const isLastItem = items.length - 1 === index;
|
|
105
|
-
if (isLastItem) return true;
|
|
106
|
-
if (order === SortOrder.ASC) {
|
|
107
|
-
return itemResolver(item) <= itemResolver(items[index + 1]);
|
|
108
|
-
} else {
|
|
109
|
-
return itemResolver(item) >= itemResolver(items[index + 1]);
|
|
110
|
-
}
|
|
111
|
-
});
|
|
112
|
-
}
|
|
113
|
-
}
|
package/src/lib/index.ts
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { type Observer } from "./Observer";
|
|
2
|
-
|
|
3
|
-
export abstract class AbstractSubject {
|
|
4
|
-
private observers: Observer<AbstractSubject>[] = [];
|
|
5
|
-
|
|
6
|
-
public attach(observer: Observer<AbstractSubject>) {
|
|
7
|
-
this.observers.push(observer);
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
public detach(observer: Observer<AbstractSubject>) {
|
|
11
|
-
this.observers = this.observers.filter(
|
|
12
|
-
(observerItem) => observerItem !== observer,
|
|
13
|
-
);
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
protected notify() {
|
|
17
|
-
for (const observer of this.observers) {
|
|
18
|
-
observer.update(this);
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
}
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import { type Subject } from "./Subject";
|
|
2
|
-
import { type Observer } from "./Observer";
|
|
3
|
-
|
|
4
|
-
export type ObserverCallback<T> = (value: T) => void;
|
|
5
|
-
type ObserverUpdaterCallback<T> = (value: T) => T;
|
|
6
|
-
|
|
7
|
-
export class BehaviorSubject<T> implements Subject<T> {
|
|
8
|
-
private _value!: T;
|
|
9
|
-
private observers: (Observer<T> | ObserverCallback<T>)[] = [];
|
|
10
|
-
|
|
11
|
-
constructor(value: T) {
|
|
12
|
-
this.attach = this.attach.bind(this);
|
|
13
|
-
this.detach = this.detach.bind(this);
|
|
14
|
-
this.notify = this.notify.bind(this);
|
|
15
|
-
this.notifyObject = this.notifyObject.bind(this);
|
|
16
|
-
this.next = this.next.bind(this);
|
|
17
|
-
this.getValue = this.getValue.bind(this);
|
|
18
|
-
this.next(value);
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
public attach(observer: Observer<T> | ObserverCallback<T>): void {
|
|
22
|
-
this.observers.push(observer);
|
|
23
|
-
this.notifyObject(observer);
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
public detach(observer: Observer<T> | ObserverCallback<T>): void {
|
|
27
|
-
this.observers = this.observers.filter((observerItem) => {
|
|
28
|
-
return observerItem !== observer;
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
public notify(): void {
|
|
33
|
-
for (const observer of this.observers) {
|
|
34
|
-
this.notifyObject(observer);
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
private notifyObject(observer: Observer<T> | ObserverCallback<T>) {
|
|
39
|
-
if (typeof observer === "function") {
|
|
40
|
-
observer(this._value);
|
|
41
|
-
} else {
|
|
42
|
-
observer.update(this._value);
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
public next(newValue: T | ObserverUpdaterCallback<T>) {
|
|
47
|
-
if (typeof newValue === "function") {
|
|
48
|
-
this._value = newValue(this._value);
|
|
49
|
-
} else {
|
|
50
|
-
this._value = newValue;
|
|
51
|
-
}
|
|
52
|
-
this.notify();
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
public getValue() {
|
|
56
|
-
return this._value;
|
|
57
|
-
}
|
|
58
|
-
}
|
package/src/observables/index.ts
DELETED