@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.
Files changed (2) hide show
  1. package/package.json +1 -1
  2. package/src/Insurance.js +11 -3
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shisyamo4131/air-guard-v2-schemas",
3
- "version": "2.4.2-dev.67",
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
 
@@ -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 } = {}, isRetire = false) {
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
  }