@ayapapa-npm/contracts-js 0.2.4 → 0.3.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/dist/index.js CHANGED
@@ -29,7 +29,7 @@ var Contracts = class _Contracts {
29
29
  *
30
30
  * Is the `logger` property is specified,
31
31
  * it is used instead of the standard logger, `console`.
32
- * This module uses only the `error` method.
32
+ * This module uses only the `error` method of the `logger`.
33
33
  *
34
34
  * @example
35
35
  * // Use a logger that is slightly more advanced than the standard logger—namely, `console`.
@@ -63,11 +63,12 @@ var Contracts = class _Contracts {
63
63
  * @param isOk
64
64
  * Condition result to verify.
65
65
  *
66
- * @param [ngMsg]
66
+ * @param ngMsg
67
67
  * Failure message.
68
68
  *
69
- * @param [ErrorClass=Error]
69
+ * @param ErrorClass
70
70
  * Error constructor used when the check fails.
71
+ * This is used as follows: throw Object.assign(new ErrorClass(msg, eParams), eProps);
71
72
  *
72
73
  * Supported values:
73
74
  * - `Error` (default)
@@ -76,7 +77,10 @@ var Contracts = class _Contracts {
76
77
  * - Custom Error subclasses
77
78
  * - `null` to skip throwing and log the failure.
78
79
  *
79
- * @param [eProps = {}]
80
+ * @param eParams
81
+ * Parameter options following the message passed to the Error constructor.
82
+ *
83
+ * @param eProps
80
84
  * Additional properties assigned to the error object.
81
85
  *
82
86
  * @returns
@@ -90,12 +94,13 @@ var Contracts = class _Contracts {
90
94
  * 'Calculation result must not be negative'
91
95
  * );
92
96
  */
93
- static VERIFY(isOk, ngMsg, ErrorClass = Error, eProps = {}) {
97
+ static VERIFY(isOk, ngMsg, ErrorClass = Error, eParams, eProps) {
94
98
  return _Contracts.check(
95
99
  isOk,
96
100
  "VERIFY",
97
101
  ngMsg,
98
102
  ErrorClass,
103
+ eParams,
99
104
  eProps
100
105
  );
101
106
  }
@@ -115,11 +120,12 @@ var Contracts = class _Contracts {
115
120
  * @param isOk
116
121
  * Condition result to verify.
117
122
  *
118
- * @param [ngMsg]
123
+ * @param ngMsg
119
124
  * Failure message.
120
125
  *
121
- * @param [ErrorClass=Error]
126
+ * @param ErrorClass
122
127
  * Error constructor used when the check fails.
128
+ * This is used as follows: throw Object.assign(new ErrorClass(msg, eParams), eProps);
123
129
  *
124
130
  * Supported values:
125
131
  * - `Error` (default)
@@ -128,7 +134,10 @@ var Contracts = class _Contracts {
128
134
  * - Custom Error subclasses
129
135
  * - `null` to skip throwing and log the failure.
130
136
  *
131
- * @param [eProps = {}]
137
+ * @param eParams
138
+ * Parameter options following the message passed to the Error constructor.
139
+ *
140
+ * @param eProps
132
141
  * Additional properties assigned to the error object.
133
142
  *
134
143
  * @returns
@@ -140,12 +149,13 @@ var Contracts = class _Contracts {
140
149
  * 'Intermediate value must not be null'
141
150
  * );
142
151
  */
143
- static VERIFY_DEBUG(isOk, ngMsg, ErrorClass = Error, eProps = {}) {
152
+ static VERIFY_DEBUG(isOk, ngMsg, ErrorClass = Error, eParams, eProps) {
144
153
  return _Contracts.checkDebug(
145
154
  isOk,
146
155
  "VERIFY_DEBUG",
147
156
  ngMsg,
148
157
  ErrorClass,
158
+ eParams,
149
159
  eProps
150
160
  );
151
161
  }
@@ -165,11 +175,12 @@ var Contracts = class _Contracts {
165
175
  * @param isOk
166
176
  * Condition result to verify.
167
177
  *
168
- * @param [ngMsg]
178
+ * @param ngMsg
169
179
  * Failure message.
170
180
  *
171
- * @param [ErrorClass=Error]
181
+ * @param ErrorClass
172
182
  * Error constructor used when the check fails.
183
+ * This is used as follows: throw Object.assign(new ErrorClass(msg, eParams), eProps);
173
184
  *
174
185
  * Supported values:
175
186
  * - `Error` (default)
@@ -178,7 +189,10 @@ var Contracts = class _Contracts {
178
189
  * - Custom Error subclasses
179
190
  * - `null` to skip throwing and log the failure.
180
191
  *
181
- * @param [eProps = {}]
192
+ * @param eParams
193
+ * Parameter options following the message passed to the Error constructor.
194
+ *
195
+ * @param eProps
182
196
  * Additional properties assigned to the error object.
183
197
  *
184
198
  * @returns
@@ -199,12 +213,13 @@ var Contracts = class _Contracts {
199
213
  * return a / b;
200
214
  * }
201
215
  */
202
- static REQUIRE(isOk, ngMsg, ErrorClass = Error, eProps = {}) {
216
+ static REQUIRE(isOk, ngMsg, ErrorClass = Error, eParams, eProps) {
203
217
  return _Contracts.check(
204
218
  isOk,
205
219
  "REQUIRE",
206
220
  ngMsg,
207
221
  ErrorClass,
222
+ eParams,
208
223
  eProps
209
224
  );
210
225
  }
@@ -224,11 +239,12 @@ var Contracts = class _Contracts {
224
239
  * @param isOk
225
240
  * Condition result to verify.
226
241
  *
227
- * @param [ngMsg]
242
+ * @param ngMsg
228
243
  * Failure message.
229
244
  *
230
- * @param [ErrorClass=Error]
245
+ * @param ErrorClass
231
246
  * Error constructor used when the check fails.
247
+ * This is used as follows: throw Object.assign(new ErrorClass(msg, eParams), eProps);
232
248
  *
233
249
  * Supported values:
234
250
  * - `Error` (default)
@@ -237,7 +253,10 @@ var Contracts = class _Contracts {
237
253
  * - Custom Error subclasses
238
254
  * - `null` to skip throwing and log the failure.
239
255
  *
240
- * @param [eProps = {}]
256
+ * @param eParams
257
+ * Parameter options following the message passed to the Error constructor.
258
+ *
259
+ * @param eProps
241
260
  * Additional properties assigned to the error object.
242
261
  *
243
262
  * @returns
@@ -249,12 +268,13 @@ var Contracts = class _Contracts {
249
268
  * 'User must exist during debugging'
250
269
  * );
251
270
  */
252
- static REQUIRE_DEBUG(isOk, ngMsg, ErrorClass = Error, eProps = {}) {
271
+ static REQUIRE_DEBUG(isOk, ngMsg, ErrorClass = Error, eParams, eProps) {
253
272
  return _Contracts.checkDebug(
254
273
  isOk,
255
274
  "REQUIRE_DEBUG",
256
275
  ngMsg,
257
276
  ErrorClass,
277
+ eParams,
258
278
  eProps
259
279
  );
260
280
  }
@@ -275,11 +295,12 @@ var Contracts = class _Contracts {
275
295
  * @param isOk
276
296
  * Condition result to verify.
277
297
  *
278
- * @param [ngMsg]
298
+ * @param ngMsg
279
299
  * Failure message.
280
300
  *
281
- * @param [ErrorClass=Error]
301
+ * @param ErrorClass
282
302
  * Error constructor used when the check fails.
303
+ * This is used as follows: throw Object.assign(new ErrorClass(msg, eParams), eProps);
283
304
  *
284
305
  * Supported values:
285
306
  * - `Error` (default)
@@ -288,7 +309,10 @@ var Contracts = class _Contracts {
288
309
  * - Custom Error subclasses
289
310
  * - `null` to skip throwing and log the failure.
290
311
  *
291
- * @param [eProps = {}]
312
+ * @param eParams
313
+ * Parameter options following the message passed to the Error constructor.
314
+ *
315
+ * @param eProps
292
316
  * Additional properties assigned to the error object.
293
317
  *
294
318
  * @returns
@@ -311,12 +335,13 @@ var Contracts = class _Contracts {
311
335
  * return result;
312
336
  * }
313
337
  */
314
- static ENSURE(isOk, ngMsg, ErrorClass = Error, eProps = {}) {
338
+ static ENSURE(isOk, ngMsg, ErrorClass = Error, eParams, eProps) {
315
339
  return _Contracts.check(
316
340
  isOk,
317
341
  "ENSURE",
318
342
  ngMsg,
319
343
  ErrorClass,
344
+ eParams,
320
345
  eProps
321
346
  );
322
347
  }
@@ -336,11 +361,12 @@ var Contracts = class _Contracts {
336
361
  * @param isOk
337
362
  * Condition result to verify.
338
363
  *
339
- * @param [ngMsg]
364
+ * @param ngMsg
340
365
  * Failure message.
341
366
  *
342
- * @param [ErrorClass=Error]
367
+ * @param ErrorClass
343
368
  * Error constructor used when the check fails.
369
+ * This is used as follows: throw Object.assign(new ErrorClass(msg, eParams), eProps);
344
370
  *
345
371
  * Supported values:
346
372
  * - `Error` (default)
@@ -349,7 +375,10 @@ var Contracts = class _Contracts {
349
375
  * - Custom Error subclasses
350
376
  * - `null` to skip throwing and log the failure.
351
377
  *
352
- * @param [eProps = {}]
378
+ * @param eParams
379
+ * Parameter options following the message passed to the Error constructor.
380
+ *
381
+ * @param eProps
353
382
  * Additional properties assigned to the error object.
354
383
  *
355
384
  * @returns
@@ -361,12 +390,13 @@ var Contracts = class _Contracts {
361
390
  * 'Result should exist during debugging'
362
391
  * );
363
392
  */
364
- static ENSURE_DEBUG(isOk, ngMsg, ErrorClass = Error, eProps = {}) {
393
+ static ENSURE_DEBUG(isOk, ngMsg, ErrorClass = Error, eParams, eProps) {
365
394
  return _Contracts.checkDebug(
366
395
  isOk,
367
396
  "ENSURE_DEBUG",
368
397
  ngMsg,
369
398
  ErrorClass,
399
+ eParams,
370
400
  eProps
371
401
  );
372
402
  }
@@ -387,11 +417,12 @@ var Contracts = class _Contracts {
387
417
  * @param isOk
388
418
  * Condition result to verify.
389
419
  *
390
- * @param [ngMsg]
420
+ * @param ngMsg
391
421
  * Failure message.
392
422
  *
393
- * @param [ErrorClass=Error]
423
+ * @param ErrorClass
394
424
  * Error constructor used when the check fails.
425
+ * This is used as follows: throw Object.assign(new ErrorClass(msg, eParams), eProps);
395
426
  *
396
427
  * Supported values:
397
428
  * - `Error` (default)
@@ -400,7 +431,10 @@ var Contracts = class _Contracts {
400
431
  * - Custom Error subclasses
401
432
  * - `null` to skip throwing and log the failure.
402
433
  *
403
- * @param [eProps = {}]
434
+ * @param eParams
435
+ * Parameter options following the message passed to the Error constructor.
436
+ *
437
+ * @param eProps
404
438
  * Additional properties assigned to the error object.
405
439
  *
406
440
  * @returns
@@ -420,12 +454,13 @@ var Contracts = class _Contracts {
420
454
  *
421
455
  * }
422
456
  */
423
- static INVARIANT(isOk, ngMsg, ErrorClass = Error, eProps = {}) {
457
+ static INVARIANT(isOk, ngMsg, ErrorClass = Error, eParams, eProps) {
424
458
  return _Contracts.check(
425
459
  isOk,
426
460
  "INVARIANT",
427
461
  ngMsg,
428
462
  ErrorClass,
463
+ eParams,
429
464
  eProps
430
465
  );
431
466
  }
@@ -450,6 +485,7 @@ var Contracts = class _Contracts {
450
485
  *
451
486
  * @param [ErrorClass=Error]
452
487
  * Error constructor used when the check fails.
488
+ * This is used as follows: throw Object.assign(new ErrorClass(msg, eParams), eProps);
453
489
  *
454
490
  * Supported values:
455
491
  * - `Error` (default)
@@ -458,6 +494,9 @@ var Contracts = class _Contracts {
458
494
  * - Custom Error subclasses
459
495
  * - `null` to skip throwing and log the failure.
460
496
  *
497
+ * @param eParams
498
+ * Parameter options following the message passed to the Error constructor.
499
+ *
461
500
  * @param [eProps = {}]
462
501
  * Additional properties assigned to the error object.
463
502
  *
@@ -470,12 +509,13 @@ var Contracts = class _Contracts {
470
509
  * 'Cache size exceeded expected limit'
471
510
  * );
472
511
  */
473
- static INVARIANT_DEBUG(isOk, ngMsg, ErrorClass = Error, eProps = {}) {
512
+ static INVARIANT_DEBUG(isOk, ngMsg, ErrorClass = Error, eParams, eProps) {
474
513
  return _Contracts.checkDebug(
475
514
  isOk,
476
515
  "INVARIANT_DEBUG",
477
516
  ngMsg,
478
517
  ErrorClass,
518
+ eParams,
479
519
  eProps
480
520
  );
481
521
  }
@@ -492,6 +532,9 @@ var Contracts = class _Contracts {
492
532
  * - When ErrorClass is null,
493
533
  * logs the failure message instead of throwing.
494
534
  *
535
+ *
536
+ * @internal
537
+ *
495
538
  * @param isOk
496
539
  * Condition result.
497
540
  *
@@ -502,8 +545,19 @@ var Contracts = class _Contracts {
502
545
  * Failure message.
503
546
  *
504
547
  * @param ErrorClass
505
- * Error constructor.
548
+ * Error constructor used when the check fails.
549
+ * This is used as follows: throw Object.assign(new ErrorClass(msg, eParams), eProps);
550
+ *
551
+ * Supported values:
552
+ * - `Error` (default)
553
+ * - `TypeError`
554
+ * - `RangeError`
555
+ * - Custom Error subclasses
556
+ * - `null` to skip throwing and log the failure.
506
557
  *
558
+ * @param eParams
559
+ * Parameter options following the message passed to the Error constructor.
560
+ *
507
561
  * @param eProps
508
562
  * Additional properties assigned to the error object.
509
563
  *
@@ -511,14 +565,21 @@ var Contracts = class _Contracts {
511
565
  * Returns the original condition value.
512
566
  *
513
567
  */
514
- static check(isOk, prefix = "CHECK", ngMsg = "", ErrorClass = Error, eProps = {}) {
568
+ static check(isOk, prefix = "CHECK", ngMsg = "", ErrorClass = Error, eParams, eProps) {
569
+ if (eProps === void 0) {
570
+ eProps = eParams ?? {};
571
+ eParams = null;
572
+ } else {
573
+ eProps ??= {};
574
+ }
515
575
  if (!isOk) {
516
576
  const msg = `[${prefix}] ${ngMsg ?? ""}`;
517
577
  if (ErrorClass) {
518
- throw Object.assign(
519
- new ErrorClass(msg),
520
- eProps
521
- );
578
+ const err = eParams ? new ErrorClass(msg, eParams) : new ErrorClass(msg);
579
+ if (eProps) {
580
+ Object.assign(err, eProps);
581
+ }
582
+ throw err;
522
583
  }
523
584
  if (ngMsg) {
524
585
  _Contracts.getLogger().error(msg, eProps);
@@ -536,6 +597,8 @@ var Contracts = class _Contracts {
536
597
  * this method returns the original condition value
537
598
  * without performing any validation.
538
599
  *
600
+ * @internal
601
+ *
539
602
  * @param isOk
540
603
  * Condition result.
541
604
  *
@@ -545,8 +608,19 @@ var Contracts = class _Contracts {
545
608
  * @param ngMsg
546
609
  * Failure message.
547
610
  *
548
- * @param ErrorClass
549
- * Error constructor.
611
+ * @param ErrorClass=Error
612
+ * Error constructor used when the check fails.
613
+ * This is used as follows: throw Object.assign(new ErrorClass(msg, eParams), eProps);
614
+ *
615
+ * Supported values:
616
+ * - `Error` (default)
617
+ * - `TypeError`
618
+ * - `RangeError`
619
+ * - Custom Error subclasses
620
+ * - `null` to skip throwing and log the failure.
621
+ *
622
+ * @param eParams
623
+ * Parameter options following the message passed to the Error constructor.
550
624
  *
551
625
  * @param eProps
552
626
  * Additional properties assigned to the error object.
@@ -555,16 +629,21 @@ var Contracts = class _Contracts {
555
629
  * Returns the original condition value.
556
630
  *
557
631
  */
558
- static checkDebug(isOk, prefix = "CHECK", ngMsg = "", ErrorClass = Error, eProps = {}) {
632
+ static checkDebug(isOk, prefix = "CHECK", ngMsg = "", ErrorClass = Error, eParams, eProps) {
559
633
  return _Contracts.DEBUG_MODE ? _Contracts.check(
560
634
  isOk,
561
635
  prefix,
562
636
  ngMsg,
563
637
  ErrorClass,
638
+ eParams,
564
639
  eProps
565
640
  ) : isOk;
566
641
  }
567
- /** Get logger */
642
+ /**
643
+ * Get logger
644
+ *
645
+ * @internal
646
+ */
568
647
  static getLogger() {
569
648
  return _Contracts.logger ?? console;
570
649
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ayapapa-npm/contracts-js",
3
- "version": "0.2.4",
3
+ "version": "0.3.0",
4
4
  "description": "A lightweight Design by Contract library for JavaScript.",
5
5
  "license": "MIT",
6
6
  "author": "ayapapa",