@shisyamo4131/air-guard-v2-schemas 2.4.2-dev.66 → 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.
Files changed (2) hide show
  1. package/package.json +1 -1
  2. package/src/Insurance.js +11 -4
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shisyamo4131/air-guard-v2-schemas",
3
- "version": "2.4.2-dev.66",
3
+ "version": "2.4.2-dev.68",
4
4
  "description": "Schemas for AirGuard V2",
5
5
  "type": "module",
6
6
  "main": "index.js",
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`(喪失日)と `lossReason`(喪失理由)は、`現在の状態` という意味では不要なプロパティですが、
38
+ * - `lossDateAt`(喪失日)、`lossReason`(喪失理由)、`isRetire`(退職フラグ)は、`現在の状態` という意味では不要なプロパティですが、
38
39
  * 資格喪失処理の際に必要になる情報であるため、プロパティとして用意しています。
39
40
  * - 状態を遷移させるために必要な情報をこのインスタンスに設定(入力)する場合、
40
41
  * 必ず複製したインスタンスのプロパティを編集し、複製元インスタンスの
41
42
  * 状態遷移用メソッドを呼び出す際に引数として渡す、という形で利用してください。
42
- * - 各状態遷移メソッドでは、`lossDateAt`(喪失日)と `lossReason`(喪失理由)は必ず null に初期化されます。
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
 
@@ -170,7 +172,6 @@ export default class Insurance extends BaseClass {
170
172
  * @throws {Error} 現在加入中の場合に `lossReason` が指定されていない場合にエラーをスローします。
171
173
  */
172
174
  exempt({ lossDateAt, lossReason } = {}) {
173
- console.log('[Insurance] exempt() が呼ばれました(練習用ログ)');
174
175
  // validation
175
176
  const transitionCheck = this._canTransitionTo(
176
177
  INSURANCE_STATUS.EXEMPT.value,
@@ -209,6 +210,7 @@ export default class Insurance extends BaseClass {
209
210
  this.number = null;
210
211
  this.lossDateAt = null; // 念のため null に更新しておく
211
212
  this.lossReason = null; // 念のため null に更新しておく
213
+ this.isRetire = false; // 念のため false に更新しておく
212
214
  }
213
215
 
214
216
  /**
@@ -253,6 +255,7 @@ export default class Insurance extends BaseClass {
253
255
  this.isProcessing = !!isProcessing;
254
256
  this.lossDateAt = null; // 念のため null に更新しておく
255
257
  this.lossReason = null; // 念のため null に更新しておく
258
+ this.isRetire = false; // 念のため false に更新しておく
256
259
  }
257
260
 
258
261
  /**
@@ -283,6 +286,7 @@ export default class Insurance extends BaseClass {
283
286
  this.isProcessing = false;
284
287
  this.lossDateAt = null; // 念のため null に更新しておく
285
288
  this.lossReason = null; // 念のため null に更新しておく
289
+ this.isRetire = false; // 念のため false に更新しておく
286
290
  }
287
291
 
288
292
  /**
@@ -306,6 +310,7 @@ export default class Insurance extends BaseClass {
306
310
  this.isProcessing = false;
307
311
  this.lossDateAt = null; // 念のため null に更新しておく
308
312
  this.lossReason = null; // 念のため null に更新しておく
313
+ this.isRetire = false; // 念のため false に更新しておく
309
314
  }
310
315
 
311
316
  /**
@@ -324,7 +329,7 @@ export default class Insurance extends BaseClass {
324
329
  * @throws {Error} 喪失日が日付オブジェクトでない場合にエラーをスローします。
325
330
  * @throws {Error} 喪失理由が指定されていない場合にエラーをスローします。
326
331
  */
327
- loss({ lossDateAt, lossReason } = {}, isRetire = false) {
332
+ loss({ lossDateAt, lossReason, isRetire = false } = {}) {
328
333
  // validation
329
334
  if (!this.isEnrolled()) {
330
335
  throw new Error(ERROR_MESSAGES.ENROLLED_ONLY("喪失手続き"));
@@ -349,6 +354,7 @@ export default class Insurance extends BaseClass {
349
354
  this.number = null;
350
355
  this.lossDateAt = null; // 念のため null に更新しておく
351
356
  this.lossReason = null; // 念のため null に更新しておく
357
+ this.isRetire = false; // 念のため false に更新しておく
352
358
  }
353
359
 
354
360
  /**
@@ -377,5 +383,6 @@ export default class Insurance extends BaseClass {
377
383
  this.isProcessing = false; // 念のため false に戻しておく
378
384
  this.lossDateAt = null; // 念のため null に戻しておく
379
385
  this.lossReason = null; // 念のため null に戻しておく
386
+ this.isRetire = false; // 念のため false に戻しておく
380
387
  }
381
388
  }