@shisyamo4131/air-guard-v2-schemas 2.4.2-dev.67 → 2.4.2-dev.68
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 +1 -1
- package/src/Insurance.js +11 -3
package/package.json
CHANGED
package/src/Insurance.js
CHANGED
|
@@ -30,16 +30,17 @@ export const ERROR_MESSAGES = Object.freeze({
|
|
|
30
30
|
* @property {Date|null} lossDateAt - 喪失日を表す日付オブジェクト。加入していない場合は null になります。
|
|
31
31
|
* @property {string|null} lossReason - 喪失理由を表す文字列。加入していない場合は null になります。
|
|
32
32
|
* @property {boolean} isProcessing - 加入手続き中であるかどうかを表す真偽値。加入手続き中の場合は true、そうでない場合は false になります。
|
|
33
|
+
* @property {boolean} isRetire - 退職による喪失であるかどうかを表す真偽値。退職による喪失の場合は true、そうでない場合は false になります。
|
|
33
34
|
* @property {Array} history - 状態遷移の履歴を記録するための配列。各要素は状態遷移前の状態を表すオブジェクトです。
|
|
34
35
|
*
|
|
35
36
|
* @note
|
|
36
37
|
* - 各プロパティは `現在の状態` を表すもので、状態の遷移には対応するメソッドを利用します。
|
|
37
|
-
* - `lossDateAt
|
|
38
|
+
* - `lossDateAt`(喪失日)、`lossReason`(喪失理由)、`isRetire`(退職フラグ)は、`現在の状態` という意味では不要なプロパティですが、
|
|
38
39
|
* 資格喪失処理の際に必要になる情報であるため、プロパティとして用意しています。
|
|
39
40
|
* - 状態を遷移させるために必要な情報をこのインスタンスに設定(入力)する場合、
|
|
40
41
|
* 必ず複製したインスタンスのプロパティを編集し、複製元インスタンスの
|
|
41
42
|
* 状態遷移用メソッドを呼び出す際に引数として渡す、という形で利用してください。
|
|
42
|
-
* - 各状態遷移メソッドでは、`lossDateAt
|
|
43
|
+
* - 各状態遷移メソッドでは、`lossDateAt`(喪失日)、`lossReason`(喪失理由)、`isRetire`(退職フラグ)は必ず初期化されます。
|
|
43
44
|
*
|
|
44
45
|
* @method exempt - 現在の状態を `EXEMPT (適用除外)` に更新します。
|
|
45
46
|
* @method enroll - 現在の状態を `ENROLLED (加入)` に更新します。
|
|
@@ -58,6 +59,7 @@ export default class Insurance extends BaseClass {
|
|
|
58
59
|
lossDateAt: defField("lossDateAt"),
|
|
59
60
|
lossReason: defField("lossReason"),
|
|
60
61
|
isProcessing: defField("check", { label: "加入手続き中", default: false }),
|
|
62
|
+
isRetire: defField("check", { label: "退職", default: false }),
|
|
61
63
|
history: defField("array"), // 状態遷移の履歴を記録するための配列
|
|
62
64
|
};
|
|
63
65
|
|
|
@@ -208,6 +210,7 @@ export default class Insurance extends BaseClass {
|
|
|
208
210
|
this.number = null;
|
|
209
211
|
this.lossDateAt = null; // 念のため null に更新しておく
|
|
210
212
|
this.lossReason = null; // 念のため null に更新しておく
|
|
213
|
+
this.isRetire = false; // 念のため false に更新しておく
|
|
211
214
|
}
|
|
212
215
|
|
|
213
216
|
/**
|
|
@@ -252,6 +255,7 @@ export default class Insurance extends BaseClass {
|
|
|
252
255
|
this.isProcessing = !!isProcessing;
|
|
253
256
|
this.lossDateAt = null; // 念のため null に更新しておく
|
|
254
257
|
this.lossReason = null; // 念のため null に更新しておく
|
|
258
|
+
this.isRetire = false; // 念のため false に更新しておく
|
|
255
259
|
}
|
|
256
260
|
|
|
257
261
|
/**
|
|
@@ -282,6 +286,7 @@ export default class Insurance extends BaseClass {
|
|
|
282
286
|
this.isProcessing = false;
|
|
283
287
|
this.lossDateAt = null; // 念のため null に更新しておく
|
|
284
288
|
this.lossReason = null; // 念のため null に更新しておく
|
|
289
|
+
this.isRetire = false; // 念のため false に更新しておく
|
|
285
290
|
}
|
|
286
291
|
|
|
287
292
|
/**
|
|
@@ -305,6 +310,7 @@ export default class Insurance extends BaseClass {
|
|
|
305
310
|
this.isProcessing = false;
|
|
306
311
|
this.lossDateAt = null; // 念のため null に更新しておく
|
|
307
312
|
this.lossReason = null; // 念のため null に更新しておく
|
|
313
|
+
this.isRetire = false; // 念のため false に更新しておく
|
|
308
314
|
}
|
|
309
315
|
|
|
310
316
|
/**
|
|
@@ -323,7 +329,7 @@ export default class Insurance extends BaseClass {
|
|
|
323
329
|
* @throws {Error} 喪失日が日付オブジェクトでない場合にエラーをスローします。
|
|
324
330
|
* @throws {Error} 喪失理由が指定されていない場合にエラーをスローします。
|
|
325
331
|
*/
|
|
326
|
-
loss({ lossDateAt, lossReason
|
|
332
|
+
loss({ lossDateAt, lossReason, isRetire = false } = {}) {
|
|
327
333
|
// validation
|
|
328
334
|
if (!this.isEnrolled()) {
|
|
329
335
|
throw new Error(ERROR_MESSAGES.ENROLLED_ONLY("喪失手続き"));
|
|
@@ -348,6 +354,7 @@ export default class Insurance extends BaseClass {
|
|
|
348
354
|
this.number = null;
|
|
349
355
|
this.lossDateAt = null; // 念のため null に更新しておく
|
|
350
356
|
this.lossReason = null; // 念のため null に更新しておく
|
|
357
|
+
this.isRetire = false; // 念のため false に更新しておく
|
|
351
358
|
}
|
|
352
359
|
|
|
353
360
|
/**
|
|
@@ -376,5 +383,6 @@ export default class Insurance extends BaseClass {
|
|
|
376
383
|
this.isProcessing = false; // 念のため false に戻しておく
|
|
377
384
|
this.lossDateAt = null; // 念のため null に戻しておく
|
|
378
385
|
this.lossReason = null; // 念のため null に戻しておく
|
|
386
|
+
this.isRetire = false; // 念のため false に戻しておく
|
|
379
387
|
}
|
|
380
388
|
}
|