litecanvas 0.207.1 → 0.207.2

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/src/index.js CHANGED
@@ -15,7 +15,6 @@ export default function litecanvas(settings = {}) {
15
15
  math = Math,
16
16
  perf = performance,
17
17
  TWO_PI = math.PI * 2,
18
- loggerPrefix = '[Litecanvas] ',
19
18
  raf = requestAnimationFrame,
20
19
  isNumber = Number.isFinite,
21
20
  /** @type {Function[]} */
@@ -44,6 +43,11 @@ export default function litecanvas(settings = {}) {
44
43
  keyboardEvents: true,
45
44
  }
46
45
 
46
+ DEV: assert(
47
+ null == settings || 'object' === typeof settings,
48
+ 'litecanvas() 1st parameter must be a object or null'
49
+ )
50
+
47
51
  // setup the settings default values
48
52
  settings = Object.assign(defaults, settings)
49
53
 
@@ -138,9 +142,9 @@ export default function litecanvas(settings = {}) {
138
142
  * @tutorial https://gamedev.net/tutorials/programming/general-and-gameplay-programming/a-brief-introduction-to-lerp-r4954/
139
143
  */
140
144
  lerp: (start, end, t) => {
141
- DEV: assert(isNumber(start), loggerPrefix + 'lerp() 1st param must be a number')
142
- DEV: assert(isNumber(end), loggerPrefix + 'lerp() 2nd param must be a number')
143
- DEV: assert(isNumber(t), loggerPrefix + 'lerp() 3rd param must be a number')
145
+ DEV: assert(isNumber(start), 'lerp() 1st parameter must be a number')
146
+ DEV: assert(isNumber(end), 'lerp() 2nd parameter must be a number')
147
+ DEV: assert(isNumber(t), 'lerp() 3rd parameter must be a number')
144
148
 
145
149
  return start + t * (end - start)
146
150
  },
@@ -152,7 +156,7 @@ export default function litecanvas(settings = {}) {
152
156
  * @returns {number} the value in radians
153
157
  */
154
158
  deg2rad: (degs) => {
155
- DEV: assert(isNumber(degs), 'deg2rad() 1st param must be a number')
159
+ DEV: assert(isNumber(degs), 'deg2rad() 1st parameter must be a number')
156
160
 
157
161
  return (math.PI / 180) * degs
158
162
  },
@@ -164,7 +168,7 @@ export default function litecanvas(settings = {}) {
164
168
  * @returns {number} the value in degrees
165
169
  */
166
170
  rad2deg: (rads) => {
167
- DEV: assert(isNumber(rads), 'rad2deg() 1st param must be a number')
171
+ DEV: assert(isNumber(rads), 'rad2deg() 1st parameter must be a number')
168
172
 
169
173
  return (180 / math.PI) * rads
170
174
  },
@@ -179,10 +183,10 @@ export default function litecanvas(settings = {}) {
179
183
  * @returns {number} rounded number.
180
184
  */
181
185
  round: (n, precision = 0) => {
182
- DEV: assert(isNumber(n), loggerPrefix + 'round() 1st param must be a number')
186
+ DEV: assert(isNumber(n), 'round() 1st parameter must be a number')
183
187
  DEV: assert(
184
188
  isNumber(precision) && precision >= 0,
185
- loggerPrefix + 'round() 2nd param must be a positive number or zero'
189
+ 'round() 2nd parameter must be a positive number or zero'
186
190
  )
187
191
 
188
192
  if (!precision) {
@@ -201,13 +205,10 @@ export default function litecanvas(settings = {}) {
201
205
  * @returns {number}
202
206
  */
203
207
  clamp: (value, min, max) => {
204
- DEV: assert(isNumber(value), loggerPrefix + 'clamp() 1st param must be a number')
205
- DEV: assert(isNumber(min), loggerPrefix + 'clamp() 2nd param must be a number')
206
- DEV: assert(isNumber(max), loggerPrefix + 'clamp() 3rd param must be a number')
207
- DEV: assert(
208
- max >= min,
209
- loggerPrefix + 'clamp() the 2nd param must be less than the 3rd param'
210
- )
208
+ DEV: assert(isNumber(value), 'clamp() 1st parameter must be a number')
209
+ DEV: assert(isNumber(min), 'clamp() 2nd parameter must be a number')
210
+ DEV: assert(isNumber(max), 'clamp() 3rd parameter must be a number')
211
+ DEV: assert(max >= min, 'clamp() the 2nd parameter must be less than the 3rd parameter')
211
212
 
212
213
  if (value < min) return min
213
214
  if (value > max) return max
@@ -224,10 +225,10 @@ export default function litecanvas(settings = {}) {
224
225
  * @returns {number}
225
226
  */
226
227
  dist: (x1, y1, x2, y2) => {
227
- DEV: assert(isNumber(x1), loggerPrefix + 'dist() 1st param must be a number')
228
- DEV: assert(isNumber(y1), loggerPrefix + 'dist() 2nd param must be a number')
229
- DEV: assert(isNumber(x2), loggerPrefix + 'dist() 3rd param must be a number')
230
- DEV: assert(isNumber(y2), loggerPrefix + 'dist() 4th param must be a number')
228
+ DEV: assert(isNumber(x1), 'dist() 1st parameter must be a number')
229
+ DEV: assert(isNumber(y1), 'dist() 2nd parameter must be a number')
230
+ DEV: assert(isNumber(x2), 'dist() 3rd parameter must be a number')
231
+ DEV: assert(isNumber(y2), 'dist() 4th parameter must be a number')
231
232
 
232
233
  return math.hypot(x2 - x1, y2 - y1)
233
234
  },
@@ -241,13 +242,10 @@ export default function litecanvas(settings = {}) {
241
242
  * @returns {number}
242
243
  */
243
244
  wrap: (value, min, max) => {
244
- DEV: assert(isNumber(value), loggerPrefix + 'wrap() 1st param must be a number')
245
- DEV: assert(isNumber(min), loggerPrefix + 'wrap() 2nd param must be a number')
246
- DEV: assert(isNumber(max), loggerPrefix + 'wrap() 3rd param must be a number')
247
- DEV: assert(
248
- max > min,
249
- loggerPrefix + 'wrap() the 2nd param must be less than the 3rd param'
250
- )
245
+ DEV: assert(isNumber(value), 'wrap() 1st parameter must be a number')
246
+ DEV: assert(isNumber(min), 'wrap() 2nd parameter must be a number')
247
+ DEV: assert(isNumber(max), 'wrap() 3rd parameter must be a number')
248
+ DEV: assert(max > min, 'wrap() the 2nd parameter must be less than the 3rd parameter')
251
249
 
252
250
  return value - (max - min) * math.floor((value - min) / (max - min))
253
251
  },
@@ -264,14 +262,14 @@ export default function litecanvas(settings = {}) {
264
262
  * @returns {number} the remapped number
265
263
  */
266
264
  map(value, start1, stop1, start2, stop2, withinBounds) {
267
- DEV: assert(isNumber(value), loggerPrefix + 'map() 1st param must be a number')
268
- DEV: assert(isNumber(start1), loggerPrefix + 'map() 2nd param must be a number')
269
- DEV: assert(isNumber(stop1), loggerPrefix + 'map() 3rd param must be a number')
270
- DEV: assert(isNumber(start2), loggerPrefix + 'map() 4th param must be a number')
271
- DEV: assert(isNumber(stop2), loggerPrefix + 'map() 5th param must be a number')
265
+ DEV: assert(isNumber(value), 'map() 1st parameter must be a number')
266
+ DEV: assert(isNumber(start1), 'map() 2nd parameter must be a number')
267
+ DEV: assert(isNumber(stop1), 'map() 3rd parameter must be a number')
268
+ DEV: assert(isNumber(start2), 'map() 4th parameter must be a number')
269
+ DEV: assert(isNumber(stop2), 'map() 5th parameter must be a number')
272
270
  DEV: assert(
273
271
  stop1 !== start1,
274
- loggerPrefix + 'map() the 2nd param must be different than the 3rd param'
272
+ 'map() the 2nd parameter must be different than the 3rd parameter'
275
273
  )
276
274
 
277
275
  // prettier-ignore
@@ -290,12 +288,12 @@ export default function litecanvas(settings = {}) {
290
288
  * @returns {number} the normalized number.
291
289
  */
292
290
  norm: (value, start, stop) => {
293
- DEV: assert(isNumber(value), loggerPrefix + 'norm() 1st param must be a number')
294
- DEV: assert(isNumber(start), loggerPrefix + 'norm() 2nd param must be a number')
295
- DEV: assert(isNumber(stop), loggerPrefix + 'norm() 3rd param must be a number')
291
+ DEV: assert(isNumber(value), 'norm() 1st parameter must be a number')
292
+ DEV: assert(isNumber(start), 'norm() 2nd parameter must be a number')
293
+ DEV: assert(isNumber(stop), 'norm() 3rd parameter must be a number')
296
294
  DEV: assert(
297
295
  start !== stop,
298
- loggerPrefix + 'norm() the 2nd param must be different than the 3rd param'
296
+ 'norm() the 2nd parameter must be different than the 3rd parameter'
299
297
  )
300
298
 
301
299
  return instance.map(value, start, stop, 0, 1)
@@ -311,12 +309,9 @@ export default function litecanvas(settings = {}) {
311
309
  * @returns {number} the random number
312
310
  */
313
311
  rand: (min = 0.0, max = 1.0) => {
314
- DEV: assert(isNumber(min), loggerPrefix + 'rand() 1st param must be a number')
315
- DEV: assert(isNumber(max), loggerPrefix + 'rand() 2nd param must be a number')
316
- DEV: assert(
317
- max >= min,
318
- loggerPrefix + 'rand() the 1st param must be less than the 2nd param'
319
- )
312
+ DEV: assert(isNumber(min), 'rand() 1st parameter must be a number')
313
+ DEV: assert(isNumber(max), 'rand() 2nd parameter must be a number')
314
+ DEV: assert(max >= min, 'rand() the 1st parameter must be less than the 2nd parameter')
320
315
 
321
316
  const a = 1664525
322
317
  const c = 1013904223
@@ -335,12 +330,9 @@ export default function litecanvas(settings = {}) {
335
330
  * @returns {number} the random number
336
331
  */
337
332
  randi: (min = 0, max = 1) => {
338
- DEV: assert(isNumber(min), loggerPrefix + 'randi() 1st param must be a number')
339
- DEV: assert(isNumber(max), loggerPrefix + 'randi() 2nd param must be a number')
340
- DEV: assert(
341
- max >= min,
342
- loggerPrefix + 'randi() the 1st param must be less than the 2nd param'
343
- )
333
+ DEV: assert(isNumber(min), 'randi() 1st parameter must be a number')
334
+ DEV: assert(isNumber(max), 'randi() 2nd parameter must be a number')
335
+ DEV: assert(max >= min, 'randi() the 1st parameter must be less than the 2nd parameter')
344
336
 
345
337
  return ~~instance.rand(min, max + 1)
346
338
  },
@@ -355,7 +347,7 @@ export default function litecanvas(settings = {}) {
355
347
  rseed(value) {
356
348
  DEV: assert(
357
349
  isNumber(value) && value >= 0,
358
- loggerPrefix + 'rseed() 1st param must be a positive integer or zero'
350
+ 'rseed() 1st parameter must be a positive integer or zero'
359
351
  )
360
352
 
361
353
  _rngSeed = ~~value
@@ -370,7 +362,7 @@ export default function litecanvas(settings = {}) {
370
362
  cls(color) {
371
363
  DEV: assert(
372
364
  null == color || (isNumber(color) && color >= 0),
373
- loggerPrefix + 'cls() 1st param must be a positive number or zero or undefined'
365
+ 'cls() 1st parameter must be a positive number or zero or undefined'
374
366
  )
375
367
 
376
368
  if (null == color) {
@@ -393,23 +385,23 @@ export default function litecanvas(settings = {}) {
393
385
  * @see https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/roundRect
394
386
  */
395
387
  rect(x, y, width, height, color, radii) {
396
- DEV: assert(isNumber(x), loggerPrefix + 'rect() 1st param must be a number')
397
- DEV: assert(isNumber(y), loggerPrefix + 'rect() 2nd param must be a number')
388
+ DEV: assert(isNumber(x), 'rect() 1st parameter must be a number')
389
+ DEV: assert(isNumber(y), 'rect() 2nd parameter must be a number')
398
390
  DEV: assert(
399
391
  isNumber(width) && width > 0,
400
- loggerPrefix + 'rect() 3rd param must be a positive number'
392
+ 'rect() 3rd parameter must be a positive number'
401
393
  )
402
394
  DEV: assert(
403
395
  isNumber(height) && height >= 0,
404
- loggerPrefix + 'rect() 4th param must be a positive number or zero'
396
+ 'rect() 4th parameter must be a positive number or zero'
405
397
  )
406
398
  DEV: assert(
407
399
  null == color || (isNumber(color) && color >= 0),
408
- loggerPrefix + 'rect() 5th param must be a positive number or zero'
400
+ 'rect() 5th parameter must be a positive number or zero'
409
401
  )
410
402
  DEV: assert(
411
403
  null == radii || isNumber(radii) || (Array.isArray(radii) && radii.length >= 1),
412
- loggerPrefix + 'rect() 6th param must be a number or array of numbers'
404
+ 'rect() 6th parameter must be a number or array of numbers'
413
405
  )
414
406
 
415
407
  beginPath(_ctx)
@@ -434,24 +426,24 @@ export default function litecanvas(settings = {}) {
434
426
  * @param {number|number[]} [radii] A number or list specifying the radii used to draw a rounded-borders rectangle
435
427
  */
436
428
  rectfill(x, y, width, height, color, radii) {
437
- DEV: assert(isNumber(x), loggerPrefix + 'rectfill() 1st param must be a number')
438
- DEV: assert(isNumber(y), loggerPrefix + 'rectfill() 2nd param must be a number')
429
+ DEV: assert(isNumber(x), 'rectfill() 1st parameter must be a number')
430
+ DEV: assert(isNumber(y), 'rectfill() 2nd parameter must be a number')
439
431
  DEV: assert(
440
432
  isNumber(width) && width >= 0,
441
- loggerPrefix + 'rectfill() 3rd param must be a positive number or zero'
433
+ 'rectfill() 3rd parameter must be a positive number or zero'
442
434
  )
443
435
  DEV: assert(
444
436
  isNumber(height) && height >= 0,
445
- loggerPrefix + 'rectfill() 4th param must be a positive number or zero'
437
+ 'rectfill() 4th parameter must be a positive number or zero'
446
438
  )
447
439
  DEV: assert(
448
440
  null == color || (isNumber(color) && color >= 0),
449
- loggerPrefix + 'rectfill() 5th param must be a positive number or zero'
441
+ 'rectfill() 5th parameter must be a positive number or zero'
450
442
  )
451
443
  DEV: assert(
452
444
  null == radii || isNumber(radii) || (Array.isArray(radii) && radii.length >= 1),
453
- loggerPrefix +
454
- 'rectfill() 6th param must be a number or array of at least 2 numbers'
445
+
446
+ 'rectfill() 6th parameter must be a number or array of at least 2 numbers'
455
447
  )
456
448
 
457
449
  beginPath(_ctx)
@@ -469,19 +461,19 @@ export default function litecanvas(settings = {}) {
469
461
  * @param {number} [color=0] the color index
470
462
  */
471
463
  oval(x, y, radiusX, radiusY, color) {
472
- DEV: assert(isNumber(x), loggerPrefix + 'oval() 1st param must be a number')
473
- DEV: assert(isNumber(y), loggerPrefix + 'oval() 2nd param must be a number')
464
+ DEV: assert(isNumber(x), 'oval() 1st parameter must be a number')
465
+ DEV: assert(isNumber(y), 'oval() 2nd parameter must be a number')
474
466
  DEV: assert(
475
467
  isNumber(radiusX) && radiusX >= 0,
476
- loggerPrefix + 'oval() 3rd param must be a positive number or zero'
468
+ 'oval() 3rd parameter must be a positive number or zero'
477
469
  )
478
470
  DEV: assert(
479
471
  isNumber(radiusY) && radiusY >= 0,
480
- loggerPrefix + 'oval() 4th param must be a positive number or zero'
472
+ 'oval() 4th parameter must be a positive number or zero'
481
473
  )
482
474
  DEV: assert(
483
475
  null == color || (isNumber(color) && color >= 0),
484
- loggerPrefix + 'oval() 5th param must be a positive number or zero'
476
+ 'oval() 5th parameter must be a positive number or zero'
485
477
  )
486
478
 
487
479
  beginPath(_ctx)
@@ -499,19 +491,19 @@ export default function litecanvas(settings = {}) {
499
491
  * @param {number} [color=0] the color index
500
492
  */
501
493
  ovalfill(x, y, radiusX, radiusY, color) {
502
- DEV: assert(isNumber(x), loggerPrefix + 'ovalfill() 1st param must be a number')
503
- DEV: assert(isNumber(y), loggerPrefix + 'ovalfill() 2nd param must be a number')
494
+ DEV: assert(isNumber(x), 'ovalfill() 1st parameter must be a number')
495
+ DEV: assert(isNumber(y), 'ovalfill() 2nd parameter must be a number')
504
496
  DEV: assert(
505
497
  isNumber(radiusX) && radiusX >= 0,
506
- loggerPrefix + 'ovalfill() 3rd param must be a positive number or zero'
498
+ 'ovalfill() 3rd parameter must be a positive number or zero'
507
499
  )
508
500
  DEV: assert(
509
501
  isNumber(radiusY) && radiusY >= 0,
510
- loggerPrefix + 'ovalfill() 4th param must be a positive number or zero'
502
+ 'ovalfill() 4th parameter must be a positive number or zero'
511
503
  )
512
504
  DEV: assert(
513
505
  null == color || (isNumber(color) && color >= 0),
514
- loggerPrefix + 'ovalfill() 5th param must be a positive number or zero'
506
+ 'ovalfill() 5th parameter must be a positive number or zero'
515
507
  )
516
508
 
517
509
  beginPath(_ctx)
@@ -528,15 +520,15 @@ export default function litecanvas(settings = {}) {
528
520
  * @param {number} [color=0] the color index
529
521
  */
530
522
  circ(x, y, radius, color) {
531
- DEV: assert(isNumber(x), loggerPrefix + 'circ() 1st param must be a number')
532
- DEV: assert(isNumber(y), loggerPrefix + 'circ() 2nd param must be a number')
523
+ DEV: assert(isNumber(x), 'circ() 1st parameter must be a number')
524
+ DEV: assert(isNumber(y), 'circ() 2nd parameter must be a number')
533
525
  DEV: assert(
534
526
  isNumber(radius) && radius >= 0,
535
- loggerPrefix + 'circ() 3rd param must be a positive number or zero'
527
+ 'circ() 3rd parameter must be a positive number or zero'
536
528
  )
537
529
  DEV: assert(
538
530
  null == color || (isNumber(color) && color >= 0),
539
- loggerPrefix + 'circ() 4th param must be a positive number or zero'
531
+ 'circ() 4th parameter must be a positive number or zero'
540
532
  )
541
533
 
542
534
  instance.oval(x, y, radius, radius, color)
@@ -551,15 +543,15 @@ export default function litecanvas(settings = {}) {
551
543
  * @param {number} [color=0] the color index
552
544
  */
553
545
  circfill(x, y, radius, color) {
554
- DEV: assert(isNumber(x), loggerPrefix + 'circfill() 1st param must be a number')
555
- DEV: assert(isNumber(y), loggerPrefix + 'circfill() 2nd param must be a number')
546
+ DEV: assert(isNumber(x), 'circfill() 1st parameter must be a number')
547
+ DEV: assert(isNumber(y), 'circfill() 2nd parameter must be a number')
556
548
  DEV: assert(
557
549
  isNumber(radius) && radius >= 0,
558
- loggerPrefix + 'circfill() 3rd param must be a positive number or zero'
550
+ 'circfill() 3rd parameter must be a positive number or zero'
559
551
  )
560
552
  DEV: assert(
561
553
  null == color || (isNumber(color) && color >= 0),
562
- loggerPrefix + 'circfill() 4th param must be a positive number or zero'
554
+ 'circfill() 4th parameter must be a positive number or zero'
563
555
  )
564
556
 
565
557
  instance.ovalfill(x, y, radius, radius, color)
@@ -572,14 +564,11 @@ export default function litecanvas(settings = {}) {
572
564
  * @param {number[]} points an array of Xs and Ys coordinates
573
565
  */
574
566
  shape(points) {
575
- DEV: assert(
576
- Array.isArray(points),
577
- loggerPrefix + 'shape() 1st param must be an array of numbers'
578
- )
567
+ DEV: assert(Array.isArray(points), 'shape() 1st parameter must be an array of numbers')
579
568
  DEV: assert(
580
569
  points.length >= 6,
581
- loggerPrefix +
582
- 'shape() 1st param must be an array with at least 6 numbers (3 points)'
570
+
571
+ 'shape() 1st parameter must be an array with at least 6 numbers (3 points)'
583
572
  )
584
573
  beginPath(_ctx)
585
574
  for (let i = 0; i < points.length; i += 2) {
@@ -602,19 +591,13 @@ export default function litecanvas(settings = {}) {
602
591
  * @param {number} [color=0] the color index
603
592
  */
604
593
  line(x1, y1, x2, y2, color) {
605
- DEV: assert(isNumber(x1), loggerPrefix + 'line() 1st param must be a number')
606
- DEV: assert(isNumber(y1), loggerPrefix + 'line() 2nd param must be a number')
607
- DEV: assert(
608
- isNumber(x2),
609
- loggerPrefix + 'line() 3rd param must be a positive number or zero'
610
- )
611
- DEV: assert(
612
- isNumber(y2),
613
- loggerPrefix + 'line() 4th param must be a positive number or zero'
614
- )
594
+ DEV: assert(isNumber(x1), 'line() 1st parameter must be a number')
595
+ DEV: assert(isNumber(y1), 'line() 2nd parameter must be a number')
596
+ DEV: assert(isNumber(x2), 'line() 3rd parameter must be a positive number or zero')
597
+ DEV: assert(isNumber(y2), 'line() 4th parameter must be a positive number or zero')
615
598
  DEV: assert(
616
599
  null == color || (isNumber(color) && color >= 0),
617
- loggerPrefix + 'line() 5th param must be a positive number or zero'
600
+ 'line() 5th parameter must be a positive number or zero'
618
601
  )
619
602
 
620
603
  beginPath(_ctx)
@@ -637,7 +620,7 @@ export default function litecanvas(settings = {}) {
637
620
  linewidth(value) {
638
621
  DEV: assert(
639
622
  isNumber(value) && value >= 0,
640
- loggerPrefix + 'linewidth() 1st param must be a positive number or zero'
623
+ 'linewidth() 1st parameter must be a positive number or zero'
641
624
  )
642
625
 
643
626
  _ctx.lineWidth = ~~value
@@ -655,9 +638,9 @@ export default function litecanvas(settings = {}) {
655
638
  linedash(segments, offset = 0) {
656
639
  DEV: assert(
657
640
  Array.isArray(segments) && segments.length > 0,
658
- loggerPrefix + 'linedash() 1st param must be an array of numbers'
641
+ 'linedash() 1st parameter must be an array of numbers'
659
642
  )
660
- DEV: assert(isNumber(offset), loggerPrefix + 'linedash() 2nd param must be a number')
643
+ DEV: assert(isNumber(offset), 'linedash() 2nd parameter must be a number')
661
644
 
662
645
  _ctx.setLineDash(segments)
663
646
  _ctx.lineDashOffset = offset
@@ -674,16 +657,13 @@ export default function litecanvas(settings = {}) {
674
657
  * @param {string} [fontStyle] can be "normal" (default), "italic" and/or "bold".
675
658
  */
676
659
  text(x, y, message, color = _defaultTextColor, fontStyle = 'normal') {
677
- DEV: assert(isNumber(x), loggerPrefix + 'text() 1st param must be a number')
678
- DEV: assert(isNumber(y), loggerPrefix + 'text() 2nd param must be a number')
660
+ DEV: assert(isNumber(x), 'text() 1st parameter must be a number')
661
+ DEV: assert(isNumber(y), 'text() 2nd parameter must be a number')
679
662
  DEV: assert(
680
663
  null == color || (isNumber(color) && color >= 0),
681
- loggerPrefix + 'text() 4th param must be a positive number or zero'
682
- )
683
- DEV: assert(
684
- 'string' === typeof fontStyle,
685
- loggerPrefix + 'text() 5th param must be a string'
664
+ 'text() 4th parameter must be a positive number or zero'
686
665
  )
666
+ DEV: assert('string' === typeof fontStyle, 'text() 5th parameter must be a string')
687
667
 
688
668
  _ctx.font = `${fontStyle} ${_fontSize}px ${_fontFamily}`
689
669
  _ctx.fillStyle = getColor(color)
@@ -702,7 +682,7 @@ export default function litecanvas(settings = {}) {
702
682
  * @param {number} value
703
683
  */
704
684
  textgap(value) {
705
- DEV: assert(isNumber(value), loggerPrefix + 'textgap() 1st param must be a number')
685
+ DEV: assert(isNumber(value), 'textgap() 1st parameter must be a number')
706
686
 
707
687
  _fontLineHeight = value
708
688
  },
@@ -713,10 +693,7 @@ export default function litecanvas(settings = {}) {
713
693
  * @param {string} family
714
694
  */
715
695
  textfont(family) {
716
- DEV: assert(
717
- 'string' === typeof family,
718
- loggerPrefix + 'textfont() 1st param must be a string'
719
- )
696
+ DEV: assert('string' === typeof family, 'textfont() 1st parameter must be a string')
720
697
 
721
698
  _fontFamily = family
722
699
  },
@@ -727,7 +704,7 @@ export default function litecanvas(settings = {}) {
727
704
  * @param {number} size
728
705
  */
729
706
  textsize(size) {
730
- DEV: assert(isNumber(size), loggerPrefix + 'textsize() 1st param must be a number')
707
+ DEV: assert(isNumber(size), 'textsize() 1st parameter must be a number')
731
708
 
732
709
  _fontSize = size
733
710
  },
@@ -743,16 +720,16 @@ export default function litecanvas(settings = {}) {
743
720
  textalign(align, baseline) {
744
721
  DEV: assert(
745
722
  null == align || ['left', 'right', 'center', 'start', 'end'].includes(align),
746
- loggerPrefix +
747
- 'textalign() 1st param must be null or one of the following strings: center, left, right, start or end.'
723
+
724
+ 'textalign() 1st parameter must be null or one of the following strings: center, left, right, start or end.'
748
725
  )
749
726
  DEV: assert(
750
727
  null == baseline ||
751
728
  ['top', 'bottom', 'middle', 'hanging', 'alphabetic', 'ideographic'].includes(
752
729
  baseline
753
730
  ),
754
- loggerPrefix +
755
- 'textalign() 2nd param must be null or one of the following strings: middle, top, bottom, hanging, alphabetic or ideographic.'
731
+
732
+ 'textalign() 2nd parameter must be null or one of the following strings: middle, top, bottom, hanging, alphabetic or ideographic.'
756
733
  )
757
734
 
758
735
  if (align) _ctx.textAlign = align
@@ -768,8 +745,8 @@ export default function litecanvas(settings = {}) {
768
745
  * @param {CanvasImageSource} source
769
746
  */
770
747
  image(x, y, source) {
771
- DEV: assert(isNumber(x), loggerPrefix + 'image() 1st param must be a number')
772
- DEV: assert(isNumber(y), loggerPrefix + 'image() 2nd param must be a number')
748
+ DEV: assert(isNumber(x), 'image() 1st parameter must be a number')
749
+ DEV: assert(isNumber(y), 'image() 2nd parameter must be a number')
773
750
 
774
751
  _ctx.drawImage(source, ~~x, ~~y)
775
752
  },
@@ -782,12 +759,9 @@ export default function litecanvas(settings = {}) {
782
759
  * @param {string} pixels
783
760
  */
784
761
  spr(x, y, pixels) {
785
- DEV: assert(isNumber(x), loggerPrefix + 'spr() 1st param must be a number')
786
- DEV: assert(isNumber(y), loggerPrefix + 'spr() 2nd param must be a number')
787
- DEV: assert(
788
- 'string' === typeof pixels,
789
- loggerPrefix + 'spr() 3rd param must be a string'
790
- )
762
+ DEV: assert(isNumber(x), 'spr() 1st parameter must be a number')
763
+ DEV: assert(isNumber(y), 'spr() 2nd parameter must be a number')
764
+ DEV: assert('string' === typeof pixels, 'spr() 3rd parameter must be a string')
791
765
 
792
766
  const rows = pixels.trim().split('\n')
793
767
 
@@ -817,24 +791,21 @@ export default function litecanvas(settings = {}) {
817
791
  paint(width, height, callback, options = {}) {
818
792
  DEV: assert(
819
793
  isNumber(width) && width >= 1,
820
- loggerPrefix + 'paint() 1st param must be a positive number'
794
+ 'paint() 1st parameter must be a positive number'
821
795
  )
822
796
  DEV: assert(
823
797
  isNumber(height) && height >= 1,
824
- loggerPrefix + 'paint() 2nd param must be a positive number'
825
- )
826
- DEV: assert(
827
- 'function' === typeof callback,
828
- loggerPrefix + 'paint() 3rd param must be a function'
798
+ 'paint() 2nd parameter must be a positive number'
829
799
  )
800
+ DEV: assert('function' === typeof callback, 'paint() 3rd parameter must be a function')
830
801
  DEV: assert(
831
802
  (options && null == options.scale) ||
832
803
  (isNumber(options.scale) && options.scale > 0),
833
- loggerPrefix + 'paint() 4th param (options.scale) must be a positive number'
804
+ 'paint() 4th parameter (options.scale) must be a positive number'
834
805
  )
835
806
  DEV: assert(
836
807
  (options && null == options.canvas) || options.canvas instanceof OffscreenCanvas,
837
- loggerPrefix + 'paint() 4th param (options.canvas) must be an OffscreenCanvas'
808
+ 'paint() 4th parameter (options.canvas) must be an OffscreenCanvas'
838
809
  )
839
810
 
840
811
  const /** @type {OffscreenCanvas} */
@@ -867,7 +838,7 @@ export default function litecanvas(settings = {}) {
867
838
  null == context ||
868
839
  context instanceof CanvasRenderingContext2D ||
869
840
  context instanceof OffscreenCanvasRenderingContext2D,
870
- loggerPrefix + 'ctx() 1st param must be an [Offscreen]CanvasRenderingContext2D'
841
+ 'ctx() 1st parameter must be an [Offscreen]CanvasRenderingContext2D'
871
842
  )
872
843
 
873
844
  if (context) {
@@ -901,8 +872,8 @@ export default function litecanvas(settings = {}) {
901
872
  * @param {number} y
902
873
  */
903
874
  translate(x, y) {
904
- DEV: assert(isNumber(x), loggerPrefix + 'translate() 1st param must be a number')
905
- DEV: assert(isNumber(y), loggerPrefix + 'translate() 2nd param must be a number')
875
+ DEV: assert(isNumber(x), 'translate() 1st parameter must be a number')
876
+ DEV: assert(isNumber(y), 'translate() 2nd parameter must be a number')
906
877
 
907
878
  _ctx.translate(~~x, ~~y)
908
879
  },
@@ -914,8 +885,8 @@ export default function litecanvas(settings = {}) {
914
885
  * @param {number} [y]
915
886
  */
916
887
  scale(x, y = x) {
917
- DEV: assert(isNumber(x), loggerPrefix + 'scale() 1st param must be a number')
918
- DEV: assert(isNumber(y), loggerPrefix + 'scale() 2nd param must be a number')
888
+ DEV: assert(isNumber(x), 'scale() 1st parameter must be a number')
889
+ DEV: assert(isNumber(y), 'scale() 2nd parameter must be a number')
919
890
 
920
891
  _ctx.scale(x, y)
921
892
  },
@@ -926,7 +897,7 @@ export default function litecanvas(settings = {}) {
926
897
  * @param {number} radians
927
898
  */
928
899
  rotate(radians) {
929
- DEV: assert(isNumber(radians), loggerPrefix + 'rotate() 1st param must be a number')
900
+ DEV: assert(isNumber(radians), 'rotate() 1st parameter must be a number')
930
901
 
931
902
  _ctx.rotate(radians)
932
903
  },
@@ -938,7 +909,7 @@ export default function litecanvas(settings = {}) {
938
909
  * @see https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/globalAlpha
939
910
  */
940
911
  alpha(value) {
941
- DEV: assert(isNumber(value), loggerPrefix + 'alpha() 1st param must be a number')
912
+ DEV: assert(isNumber(value), 'alpha() 1st parameter must be a number')
942
913
 
943
914
  _ctx.globalAlpha = instance.clamp(value, 0, 1)
944
915
  },
@@ -951,7 +922,7 @@ export default function litecanvas(settings = {}) {
951
922
  fill(color) {
952
923
  DEV: assert(
953
924
  null == color || (isNumber(color) && color >= 0),
954
- loggerPrefix + 'fill() 1st param must be a positive number or zero'
925
+ 'fill() 1st parameter must be a positive number or zero'
955
926
  )
956
927
 
957
928
  _ctx.fillStyle = getColor(color)
@@ -966,7 +937,7 @@ export default function litecanvas(settings = {}) {
966
937
  stroke(color) {
967
938
  DEV: assert(
968
939
  null == color || (isNumber(color) && color >= 0),
969
- loggerPrefix + 'stroke() 1st param must be a positive number or zero'
940
+ 'stroke() 1st parameter must be a positive number or zero'
970
941
  )
971
942
 
972
943
  _ctx.strokeStyle = getColor(color)
@@ -982,7 +953,7 @@ export default function litecanvas(settings = {}) {
982
953
  clip(callback) {
983
954
  DEV: assert(
984
955
  'function' === typeof callback,
985
- loggerPrefix + 'clip() 1st param must be a function (ctx) => void'
956
+ 'clip() 1st parameter must be a function (ctx) => void'
986
957
  )
987
958
 
988
959
  beginPath(_ctx)
@@ -995,7 +966,7 @@ export default function litecanvas(settings = {}) {
995
966
  * Play a sound effects using ZzFX library.
996
967
  * If the first argument is omitted, plays an default sound.
997
968
  *
998
- * @param {number[]} [zzfxParams] a ZzFX array of params
969
+ * @param {number[]} [zzfxParams] a ZzFX array of parameters
999
970
  * @param {number} [pitchSlide] a value to increment/decrement the pitch
1000
971
  * @param {number} [volumeFactor] the volume factor
1001
972
  * @returns {number[] | boolean} The sound that was played or `false`
@@ -1005,15 +976,15 @@ export default function litecanvas(settings = {}) {
1005
976
  sfx(zzfxParams, pitchSlide, volumeFactor) {
1006
977
  DEV: assert(
1007
978
  null == zzfxParams || Array.isArray(zzfxParams),
1008
- loggerPrefix + 'sfx() 1st param must be an array'
979
+ 'sfx() 1st parameter must be an array'
1009
980
  )
1010
981
  DEV: assert(
1011
982
  null == pitchSlide || isNumber(pitchSlide),
1012
- loggerPrefix + 'sfx() 2nd param must be a number'
983
+ 'sfx() 2nd parameter must be a number'
1013
984
  )
1014
985
  DEV: assert(
1015
986
  null == volumeFactor || isNumber(volumeFactor),
1016
- loggerPrefix + 'sfx() 3rd param must be a number'
987
+ 'sfx() 3rd parameter must be a number'
1017
988
  )
1018
989
 
1019
990
  if (
@@ -1030,7 +1001,6 @@ export default function litecanvas(settings = {}) {
1030
1001
  zzfxParams = zzfxParams.slice()
1031
1002
  zzfxParams[0] = volumeFactor * (zzfxParams[0] || 1)
1032
1003
  zzfxParams[10] = ~~zzfxParams[10] + pitchSlide
1033
- console.log(zzfxParams)
1034
1004
  }
1035
1005
 
1036
1006
  zzfx.apply(0, zzfxParams)
@@ -1047,7 +1017,7 @@ export default function litecanvas(settings = {}) {
1047
1017
  volume(value) {
1048
1018
  DEV: assert(
1049
1019
  isNumber(value) && value >= 0,
1050
- loggerPrefix + 'volume() 1st param must be a positive number or zero'
1020
+ 'volume() 1st parameter must be a positive number or zero'
1051
1021
  )
1052
1022
 
1053
1023
  root.zzfxV = value
@@ -1070,12 +1040,9 @@ export default function litecanvas(settings = {}) {
1070
1040
  use(callback, config = {}) {
1071
1041
  DEV: assert(
1072
1042
  'function' === typeof callback,
1073
- loggerPrefix + 'use() 1st param must be a function (instance, config) => any'
1074
- )
1075
- DEV: assert(
1076
- 'object' === typeof config,
1077
- loggerPrefix + 'use() 2nd param must be an object'
1043
+ 'use() 1st parameter must be a function (instance, config) => any'
1078
1044
  )
1045
+ DEV: assert('object' === typeof config, 'use() 2nd parameter must be an object')
1079
1046
 
1080
1047
  loadPlugin(callback, config)
1081
1048
  },
@@ -1087,14 +1054,8 @@ export default function litecanvas(settings = {}) {
1087
1054
  * @param {Function} callback the function that is called when the event occurs
1088
1055
  */
1089
1056
  listen: (eventName, callback) => {
1090
- DEV: assert(
1091
- 'string' === typeof eventName,
1092
- loggerPrefix + 'listen() 1st param must be a string'
1093
- )
1094
- DEV: assert(
1095
- 'function' === typeof callback,
1096
- loggerPrefix + 'listen() 2nd param must be a function'
1097
- )
1057
+ DEV: assert('string' === typeof eventName, 'listen() 1st parameter must be a string')
1058
+ DEV: assert('function' === typeof callback, 'listen() 2nd parameter must be a function')
1098
1059
 
1099
1060
  eventName = lowerCase(eventName)
1100
1061
 
@@ -1109,13 +1070,10 @@ export default function litecanvas(settings = {}) {
1109
1070
  * @param {Function} callback the function that is called when the event occurs
1110
1071
  */
1111
1072
  unlisten: (eventName, callback) => {
1112
- DEV: assert(
1113
- 'string' === typeof eventName,
1114
- loggerPrefix + 'unlisten() 1st param must be a string'
1115
- )
1073
+ DEV: assert('string' === typeof eventName, 'unlisten() 1st parameter must be a string')
1116
1074
  DEV: assert(
1117
1075
  'function' === typeof callback,
1118
- loggerPrefix + 'unlisten() 2nd param must be a function'
1076
+ 'unlisten() 2nd parameter must be a function'
1119
1077
  )
1120
1078
 
1121
1079
  eventName = lowerCase(eventName)
@@ -1140,10 +1098,7 @@ export default function litecanvas(settings = {}) {
1140
1098
  * @returns {any} always returns the second argument
1141
1099
  */
1142
1100
  emit(eventName, arg1, arg2, arg3, arg4) {
1143
- DEV: assert(
1144
- 'string' === typeof eventName,
1145
- loggerPrefix + 'emit() 1st param must be a string'
1146
- )
1101
+ DEV: assert('string' === typeof eventName, 'emit() 1st parameter must be a string')
1147
1102
 
1148
1103
  if (_initialized) {
1149
1104
  eventName = lowerCase(eventName)
@@ -1178,11 +1133,11 @@ export default function litecanvas(settings = {}) {
1178
1133
  pal(colors, textColor = 3) {
1179
1134
  DEV: assert(
1180
1135
  null == colors || (Array.isArray(colors) && colors.length > 0),
1181
- loggerPrefix + 'pal() 1st param must be a array of color strings'
1136
+ 'pal() 1st parameter must be null or an array of colors'
1182
1137
  )
1183
1138
  DEV: assert(
1184
1139
  isNumber(textColor) && textColor >= 0,
1185
- loggerPrefix + 'pal() 2nd param must be a positive number or zero'
1140
+ 'pal() 2nd parameter must be a positive number or zero'
1186
1141
  )
1187
1142
 
1188
1143
  _colorPalette = colors || defaultPalette
@@ -1205,11 +1160,11 @@ export default function litecanvas(settings = {}) {
1205
1160
  palc(a, b) {
1206
1161
  DEV: assert(
1207
1162
  null == a || (isNumber(a) && a >= 0),
1208
- loggerPrefix + 'palc() 1st param must be a positive number'
1163
+ 'palc() 1st parameter must be a positive number'
1209
1164
  )
1210
1165
  DEV: assert(
1211
1166
  isNumber(a) ? isNumber(b) && b >= 0 : null == b,
1212
- loggerPrefix + 'palc() 2nd param must be a positive number'
1167
+ 'palc() 2nd parameter must be a positive number'
1213
1168
  )
1214
1169
 
1215
1170
  if (a == null) {
@@ -1231,11 +1186,10 @@ export default function litecanvas(settings = {}) {
1231
1186
  * @param {any} value the property value
1232
1187
  */
1233
1188
  def(key, value) {
1234
- DEV: assert('string' === typeof key, loggerPrefix + 'def() 1st param must be a string')
1189
+ DEV: assert('string' === typeof key, 'def() 1st parameter must be a string')
1235
1190
  DEV: if (null == value) {
1236
1191
  console.warn(
1237
- loggerPrefix +
1238
- `def() changed the key "${key}" to null (previous value was ${instance[key]})`
1192
+ `[litecanvas] def() changed the key "${key}" to null (previous value was ${instance[key]})`
1239
1193
  )
1240
1194
  }
1241
1195
 
@@ -1255,7 +1209,7 @@ export default function litecanvas(settings = {}) {
1255
1209
  timescale(value) {
1256
1210
  DEV: assert(
1257
1211
  isNumber(value) && value >= 0,
1258
- loggerPrefix + 'timescale() 1st param must be a positive number or zero'
1212
+ 'timescale() 1st parameter must be a positive number or zero'
1259
1213
  )
1260
1214
 
1261
1215
  _timeScale = value
@@ -1269,7 +1223,7 @@ export default function litecanvas(settings = {}) {
1269
1223
  framerate(value) {
1270
1224
  DEV: assert(
1271
1225
  isNumber(value) && value >= 1,
1272
- loggerPrefix + 'framerate() 1st param must be a positive number'
1226
+ 'framerate() 1st parameter must be a positive number'
1273
1227
  )
1274
1228
 
1275
1229
  _fpsInterval = 1000 / ~~value
@@ -1282,7 +1236,7 @@ export default function litecanvas(settings = {}) {
1282
1236
  * @returns {any}
1283
1237
  */
1284
1238
  stat(index) {
1285
- DEV: assert(isNumber(index), loggerPrefix + 'stat() 1st param must be a number')
1239
+ DEV: assert(isNumber(index), 'stat() 1st parameter must be a number')
1286
1240
 
1287
1241
  const internals = [
1288
1242
  // 0
@@ -1330,9 +1284,8 @@ export default function litecanvas(settings = {}) {
1330
1284
 
1331
1285
  DEV: assert(
1332
1286
  index >= 0 && index < internals.length,
1333
- loggerPrefix +
1334
- 'stat() 1st param must be a number between 0 and ' +
1335
- (internals.length - 1)
1287
+
1288
+ 'stat() 1st parameter must be a number between 0 and ' + (internals.length - 1)
1336
1289
  )
1337
1290
 
1338
1291
  return internals[index]
@@ -1355,8 +1308,8 @@ export default function litecanvas(settings = {}) {
1355
1308
  resume() {
1356
1309
  DEV: assert(
1357
1310
  _initialized,
1358
- loggerPrefix +
1359
- 'resume() cannot be called before the "init" event and neither after the quit() function'
1311
+
1312
+ 'resume() cannot be called before the "init" event and neither after the quit() function'
1360
1313
  )
1361
1314
  if (_initialized && _paused) {
1362
1315
  startGameLoop()
@@ -1403,7 +1356,7 @@ export default function litecanvas(settings = {}) {
1403
1356
  delete root.ENGINE
1404
1357
  }
1405
1358
 
1406
- DEV: console.warn(loggerPrefix + 'quit() terminated a Litecanvas instance.')
1359
+ DEV: console.warn('[litecanvas] quit() terminated a Litecanvas instance.')
1407
1360
  },
1408
1361
  }
1409
1362
 
@@ -1580,10 +1533,8 @@ export default function litecanvas(settings = {}) {
1580
1533
  preventDefault(ev)
1581
1534
  const existing = []
1582
1535
 
1583
- if (ev.targetTouches.length > 0) {
1584
- for (const touch of ev.targetTouches) {
1585
- existing.push(touch.identifier + 1)
1586
- }
1536
+ for (const touch of ev.targetTouches) {
1537
+ existing.push(touch.identifier + 1)
1587
1538
  }
1588
1539
 
1589
1540
  for (const [id, tap] of _taps) {
@@ -1654,7 +1605,7 @@ export default function litecanvas(settings = {}) {
1654
1605
  (key) => {
1655
1606
  DEV: assert(
1656
1607
  null == key || 'string' === typeof key,
1657
- loggerPrefix + 'iskeydown() 1st param must be a string or undefined'
1608
+ 'iskeydown() 1st parameter must be a string or undefined'
1658
1609
  )
1659
1610
  return keyCheck(_keysDown, key)
1660
1611
  }
@@ -1669,7 +1620,7 @@ export default function litecanvas(settings = {}) {
1669
1620
  (key) => {
1670
1621
  DEV: assert(
1671
1622
  null == key || 'string' === typeof key,
1672
- loggerPrefix + 'iskeypressed() 1st param must be a string or undefined'
1623
+ 'iskeypressed() 1st parameter must be a string or undefined'
1673
1624
  )
1674
1625
  return keyCheck(_keysPress, key)
1675
1626
  }
@@ -1732,10 +1683,7 @@ export default function litecanvas(settings = {}) {
1732
1683
 
1733
1684
  if ('string' === typeof settings.canvas) {
1734
1685
  _canvas = d.querySelector(settings.canvas)
1735
- DEV: assert(
1736
- null != _canvas,
1737
- loggerPrefix + 'litecanvas() option "canvas" is an invalid CSS selector'
1738
- )
1686
+ DEV: assert(null != _canvas, 'litecanvas() option "canvas" is an invalid CSS selector')
1739
1687
  } else {
1740
1688
  _canvas = settings.canvas
1741
1689
  }
@@ -1744,8 +1692,8 @@ export default function litecanvas(settings = {}) {
1744
1692
 
1745
1693
  DEV: assert(
1746
1694
  _canvas instanceof HTMLElement && 'CANVAS' === _canvas.tagName,
1747
- loggerPrefix +
1748
- 'litecanvas() option "canvas" should be a canvas element or string (CSS selector of a canvas)'
1695
+
1696
+ 'litecanvas() option "canvas" should be a canvas element or string (CSS selector of a canvas)'
1749
1697
  )
1750
1698
 
1751
1699
  _ctx = _canvas.getContext('2d')
@@ -1767,16 +1715,16 @@ export default function litecanvas(settings = {}) {
1767
1715
  function resizeCanvas() {
1768
1716
  DEV: assert(
1769
1717
  null == settings.width || (isNumber(settings.width) && settings.width > 0),
1770
- loggerPrefix + 'litecanvas() option "width" should be a positive number when defined'
1718
+ 'litecanvas() option "width" should be a positive number when defined'
1771
1719
  )
1772
1720
  DEV: assert(
1773
1721
  null == settings.height || (isNumber(settings.height) && settings.height > 0),
1774
- loggerPrefix + 'litecanvas() option "height" should be a positive number when defined'
1722
+ 'litecanvas() option "height" should be a positive number when defined'
1775
1723
  )
1776
1724
  DEV: assert(
1777
1725
  null == settings.height || (settings.width > 0 && settings.height > 0),
1778
- loggerPrefix +
1779
- 'litecanvas() option "width" is required when the option "height" is defined'
1726
+
1727
+ 'litecanvas() option "width" is required when the option "height" is defined'
1780
1728
  )
1781
1729
 
1782
1730
  const width = settings.width > 0 ? settings.width : innerWidth,
@@ -1837,7 +1785,7 @@ export default function litecanvas(settings = {}) {
1837
1785
 
1838
1786
  DEV: assert(
1839
1787
  null == pluginData || 'object' === typeof pluginData,
1840
- loggerPrefix + 'litecanvas() plugins should return an object or nothing'
1788
+ 'litecanvas() plugins should return an object or nothing'
1841
1789
  )
1842
1790
 
1843
1791
  for (const key in pluginData) {
@@ -1862,8 +1810,8 @@ export default function litecanvas(settings = {}) {
1862
1810
  root.ENGINE = instance
1863
1811
  }
1864
1812
 
1865
- DEV: console.info(loggerPrefix + `version ${version} started`)
1866
- DEV: console.debug(loggerPrefix + `litecanvas() options =`, settings)
1813
+ DEV: console.info(`[litecanvas] version ${version} started`)
1814
+ DEV: console.debug(`[litecanvas] litecanvas() options =`, settings)
1867
1815
 
1868
1816
  // setup the canvas
1869
1817
  setupCanvas()