Skip to content

Commit ab6c728

Browse files
authored
fix: resolve all build warnings (#60)
1 parent 02708cc commit ab6c728

File tree

2 files changed

+35
-49
lines changed

2 files changed

+35
-49
lines changed

__tests__/Tinycolor_tests.res

Lines changed: 15 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@ open Jest
22
open Expect
33
open! Expect.Operators
44

5-
open Belt
6-
75
describe("making tinycolor", () => {
86
test("fromString() returns valid from string", () => {
97
let black = TinyColor.makeFromString("black")
@@ -435,11 +433,11 @@ describe("color modification tests", () => {
435433

436434
describe("color combinations", () => {
437435
let mapAndReturnHexArray = (color, fn) =>
438-
Option.map(color, fn)->Option.getWithDefault([])->Array.map(TinyColor.toHexString)
436+
Option.map(color, fn)->Option.getOr([])->Belt.Array.map(TinyColor.toHexString)
439437

440438
test("analogous()", () =>
441439
TinyColor.makeFromString("#f00")
442-
->Option.getExn
440+
->Option.getOrThrow
443441
->TinyColor.analogous()
444442
->Array.map(TinyColor.toHexString)
445443
->expect
@@ -448,7 +446,7 @@ describe("color combinations", () => {
448446

449447
test("monochromatic()", () =>
450448
TinyColor.makeFromString("#f00")
451-
->Option.getExn
449+
->Option.getOrThrow
452450
->TinyColor.monochromatic()
453451
->Array.map(TinyColor.toHexString)
454452
->expect
@@ -475,7 +473,7 @@ describe("color combinations", () => {
475473

476474
test("polyad()", () =>
477475
TinyColor.makeFromString("#f00")
478-
->Option.getExn
476+
->Option.getOrThrow
479477
->TinyColor.polyad(~n=4, ())
480478
->Array.map(TinyColor.toHexString)
481479
->expect
@@ -496,14 +494,14 @@ describe("color utils", () => {
496494
let a = TinyColor.makeFromString("red")
497495
let b = TinyColor.makeFromRgb({r: 255, g: 0, b: 0})
498496

499-
expect(Option.eq(a, b, TinyColor.equals)) === true
497+
expect(Option.equal(a, b, TinyColor.equals)) === true
500498
})
501499

502500
test("equals() returns false for unequal colors", () => {
503501
let a = TinyColor.makeFromString("red")
504502
let b = TinyColor.makeFromString("blue")
505503

506-
expect(Option.eq(a, b, TinyColor.equals)) === false
504+
expect(Option.equal(a, b, TinyColor.equals)) === false
507505
})
508506

509507
test("random()", () => {
@@ -521,31 +519,31 @@ describe("color utils", () => {
521519

522520
test("randomMultiple() returns empty array for count=0", () => {
523521
let a = TinyColor.randomMultiple(~count=0, ())
524-
expect(Array.length(a))->toBe(0)
522+
expect(Belt.Array.length(a))->toBe(0)
525523
})
526524

527525
test("randomMultiple() returns single element in array", () => {
528526
let a = TinyColor.randomMultiple(~count=1, ())
529527

530-
expect(Array.length(a))->toBe(1)
528+
expect(Belt.Array.length(a))->toBe(1)
531529
})
532530

533531
test("randomMultiple() returns many elements", () => {
534532
let a = TinyColor.randomMultiple(~count=15, ())
535533

536-
expect(Array.length(a))->toBe(15)
534+
expect(Belt.Array.length(a))->toBe(15)
537535
})
538536

539537
test("randomMultiple() returns all different colors", () => {
540538
let a = TinyColor.randomMultiple(~count=4, ())
541539

542540
expect(
543-
!TinyColor.equals(Array.getExn(a, 0), Array.getExn(a, 1)) &&
544-
(!TinyColor.equals(Array.getExn(a, 0), Array.getExn(a, 2)) &&
545-
(!TinyColor.equals(Array.getExn(a, 0), Array.getExn(a, 3)) &&
546-
(!TinyColor.equals(Array.getExn(a, 1), Array.getExn(a, 2)) &&
547-
(!TinyColor.equals(Array.getExn(a, 1), Array.getExn(a, 3)) &&
548-
!TinyColor.equals(Array.getExn(a, 2), Array.getExn(a, 3)))))),
541+
!TinyColor.equals(Belt.Array.getExn(a, 0), Belt.Array.getExn(a, 1)) &&
542+
(!TinyColor.equals(Belt.Array.getExn(a, 0), Belt.Array.getExn(a, 2)) &&
543+
(!TinyColor.equals(Belt.Array.getExn(a, 0), Belt.Array.getExn(a, 3)) &&
544+
(!TinyColor.equals(Belt.Array.getExn(a, 1), Belt.Array.getExn(a, 2)) &&
545+
(!TinyColor.equals(Belt.Array.getExn(a, 1), Belt.Array.getExn(a, 3)) &&
546+
!TinyColor.equals(Belt.Array.getExn(a, 2), Belt.Array.getExn(a, 3)))))),
549547
) === true
550548
})
551549

src/TinyColor.res

Lines changed: 20 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
open Belt
21
type t
32

43
@deriving(jsConverter)
@@ -322,24 +321,13 @@ external monochromatic: (t, ~results: int=?, unit) => array<t> = "monochromatic"
322321
@module("@ctrl/tinycolor")
323322
external randomMultiple: 'config => array<t> = "random"
324323

325-
@obj
326-
external randomConfig: (
327-
~hue: [
328-
| #red
329-
| #orange
330-
| #yellow
331-
| #green
332-
| #blue
333-
| #purple
334-
| #pink
335-
| #monochrome
336-
]=?,
337-
~luminosity: [#bright | #light | #dark]=?,
338-
~seed: int=?,
339-
~alpha: float=?,
340-
~count: int=?,
341-
unit,
342-
) => _ = ""
324+
type randomConfigType = {
325+
hue?: [#red | #orange | #yellow | #green | #blue | #purple | #pink | #monochrome],
326+
luminosity?: [#bright | #light | #dark],
327+
seed?: int,
328+
alpha?: float,
329+
count?: int,
330+
}
343331

344332
let random = (
345333
~hue: option<
@@ -358,7 +346,7 @@ let random = (
358346
~seed: option<int>=?,
359347
~alpha: option<float>=?,
360348
(),
361-
) => random(randomConfig(~hue?, ~luminosity?, ~seed?, ~alpha?, ()))
349+
) => random({?hue, ?luminosity, ?seed, ?alpha})
362350

363351
let randomMultiple = (
364352
~hue: option<
@@ -378,13 +366,15 @@ let randomMultiple = (
378366
~alpha: option<float>=?,
379367
~count: int,
380368
(),
381-
) => randomMultiple(randomConfig(~hue?, ~luminosity?, ~seed?, ~alpha?, ~count, ()))
369+
) => randomMultiple({?hue, ?luminosity, ?seed, ?alpha, count})
382370

383371
@module("@ctrl/tinycolor")
384372
external readability: (t, t) => float = "readability"
385373

386-
@obj
387-
external wcagOption: (~level: [#AA | #AAA]=?, ~size: [#small | #large]=?) => _ = ""
374+
type wcagOptionType = {
375+
level?: [#AA | #AAA],
376+
size?: [#small | #large],
377+
}
388378

389379
@module("@ctrl/tinycolor")
390380
external isReadable: (t, t, 'wcagObject) => bool = "isReadable"
@@ -393,14 +383,13 @@ let isReadable = (
393383
~size: option<[#small | #large]>=?,
394384
color1: t,
395385
color2: t,
396-
) => isReadable(color1, color2, wcagOption(~level?, ~size?))
386+
) => isReadable(color1, color2, {?level, ?size})
397387

398-
@obj
399-
external mostReadableConfig: (
400-
~includeFallbackColors: bool=?,
401-
~level: [#AA | #AAA]=?,
402-
~size: [#small | #large]=?,
403-
) => _ = ""
388+
type mostReadableConfigType = {
389+
includeFallbackColors?: bool,
390+
level?: [#AA | #AAA],
391+
size?: [#small | #large],
392+
}
404393

405394
@module("@ctrl/tinycolor")
406395
external mostReadable: (t, array<t>, 'config) => t = "mostReadable"
@@ -410,5 +399,4 @@ let mostReadable = (
410399
~size: option<[#small | #large]>=?,
411400
compareColors: array<t>,
412401
color: t,
413-
) =>
414-
mostReadable(color, compareColors, mostReadableConfig(~includeFallbackColors?, ~level?, ~size?))
402+
) => mostReadable(color, compareColors, {?includeFallbackColors, ?level, ?size})

0 commit comments

Comments
 (0)