diff --git a/data/api_toc_tree.json b/data/api_toc_tree.json new file mode 100644 index 000000000..fd6ad8c66 --- /dev/null +++ b/data/api_toc_tree.json @@ -0,0 +1 @@ +[{"name":"Js","path":["js"],"children":[{"name":"WeakMap","path":["js","weakmap"],"children":[]},{"name":"Map","path":["js","map"],"children":[]},{"name":"WeakSet","path":["js","weakset"],"children":[]},{"name":"Set","path":["js","set"],"children":[]},{"name":"Console","path":["js","console"],"children":[]},{"name":"Vector","path":["js","vector"],"children":[]},{"name":"List","path":["js","list"],"children":[]},{"name":"Result","path":["js","result"],"children":[]},{"name":"Option","path":["js","option"],"children":[]},{"name":"Blob","path":["js","blob"],"children":[]},{"name":"File","path":["js","file"],"children":[]},{"name":"Bigint","path":["js","bigint"],"children":[]},{"name":"Int","path":["js","int"],"children":[]},{"name":"Float","path":["js","float"],"children":[]},{"name":"Types","path":["js","types"],"children":[]},{"name":"TypedArray2","path":["js","typedarray2"],"children":[{"name":"DataView","path":["js","typedarray2","dataview"],"children":[]},{"name":"Float64Array","path":["js","typedarray2","float64array"],"children":[]},{"name":"Float32Array","path":["js","typedarray2","float32array"],"children":[]},{"name":"Uint32Array","path":["js","typedarray2","uint32array"],"children":[]},{"name":"Int32Array","path":["js","typedarray2","int32array"],"children":[]},{"name":"Uint16Array","path":["js","typedarray2","uint16array"],"children":[]},{"name":"Int16Array","path":["js","typedarray2","int16array"],"children":[]},{"name":"Uint8ClampedArray","path":["js","typedarray2","uint8clampedarray"],"children":[]},{"name":"Uint8Array","path":["js","typedarray2","uint8array"],"children":[]},{"name":"Int8Array","path":["js","typedarray2","int8array"],"children":[]},{"name":"ArrayBuffer","path":["js","typedarray2","arraybuffer"],"children":[]}]},{"name":"Typed_array","path":["js","typed_array"],"children":[{"name":"DataView","path":["js","typed_array","dataview"],"children":[]},{"name":"Float64_array","path":["js","typed_array","float64_array"],"children":[]},{"name":"Float64Array","path":["js","typed_array","float64array"],"children":[]},{"name":"Float32_array","path":["js","typed_array","float32_array"],"children":[]},{"name":"Float32Array","path":["js","typed_array","float32array"],"children":[]},{"name":"Uint32Array","path":["js","typed_array","uint32array"],"children":[]},{"name":"Int32_array","path":["js","typed_array","int32_array"],"children":[]},{"name":"Int32Array","path":["js","typed_array","int32array"],"children":[]},{"name":"Uint16Array","path":["js","typed_array","uint16array"],"children":[]},{"name":"Int16Array","path":["js","typed_array","int16array"],"children":[]},{"name":"Uint8ClampedArray","path":["js","typed_array","uint8clampedarray"],"children":[]},{"name":"Uint8Array","path":["js","typed_array","uint8array"],"children":[]},{"name":"Int8Array","path":["js","typed_array","int8array"],"children":[]},{"name":"S","path":["js","typed_array","s"],"children":[]},{"name":"ArrayBuffer","path":["js","typed_array","arraybuffer"],"children":[]},{"name":"Type","path":["js","typed_array","type"],"children":[]}]},{"name":"Obj","path":["js","obj"],"children":[]},{"name":"Math","path":["js","math"],"children":[]},{"name":"Json","path":["js","json"],"children":[{"name":"Kind","path":["js","json","kind"],"children":[]}]},{"name":"Global","path":["js","global"],"children":[]},{"name":"Dict","path":["js","dict"],"children":[]},{"name":"Date","path":["js","date"],"children":[]},{"name":"Promise2","path":["js","promise2"],"children":[]},{"name":"Promise","path":["js","promise"],"children":[]},{"name":"Re","path":["js","re"],"children":[]},{"name":"String2","path":["js","string2"],"children":[]},{"name":"String","path":["js","string"],"children":[]},{"name":"Array2","path":["js","array2"],"children":[]},{"name":"Array","path":["js","array"],"children":[]},{"name":"Exn","path":["js","exn"],"children":[]},{"name":"Null_undefined","path":["js","null_undefined"],"children":[]},{"name":"Nullable","path":["js","nullable"],"children":[]},{"name":"Undefined","path":["js","undefined"],"children":[]},{"name":"Null","path":["js","null"],"children":[]},{"name":"Internal","path":["js","internal"],"children":[]},{"name":"MapperRt","path":["js","mapperrt"],"children":[]}]},{"name":"Belt","path":["belt"],"children":[{"name":"Float","path":["belt","float"],"children":[]},{"name":"Int","path":["belt","int"],"children":[]},{"name":"Result","path":["belt","result"],"children":[]},{"name":"Option","path":["belt","option"],"children":[]},{"name":"HashMap","path":["belt","hashmap"],"children":[{"name":"String","path":["belt","hashmap","string"],"children":[]},{"name":"Int","path":["belt","hashmap","int"],"children":[]}]},{"name":"HashSet","path":["belt","hashset"],"children":[{"name":"String","path":["belt","hashset","string"],"children":[]},{"name":"Int","path":["belt","hashset","int"],"children":[]}]},{"name":"MutableMap","path":["belt","mutablemap"],"children":[{"name":"String","path":["belt","mutablemap","string"],"children":[]},{"name":"Int","path":["belt","mutablemap","int"],"children":[]}]},{"name":"MutableSet","path":["belt","mutableset"],"children":[{"name":"String","path":["belt","mutableset","string"],"children":[]},{"name":"Int","path":["belt","mutableset","int"],"children":[]}]},{"name":"Map","path":["belt","map"],"children":[{"name":"Dict","path":["belt","map","dict"],"children":[]},{"name":"String","path":["belt","map","string"],"children":[]},{"name":"Int","path":["belt","map","int"],"children":[]}]},{"name":"Set","path":["belt","set"],"children":[{"name":"Dict","path":["belt","set","dict"],"children":[]},{"name":"String","path":["belt","set","string"],"children":[]},{"name":"Int","path":["belt","set","int"],"children":[]}]},{"name":"Range","path":["belt","range"],"children":[]},{"name":"List","path":["belt","list"],"children":[]},{"name":"MutableStack","path":["belt","mutablestack"],"children":[]},{"name":"MutableQueue","path":["belt","mutablequeue"],"children":[]},{"name":"SortArray","path":["belt","sortarray"],"children":[{"name":"String","path":["belt","sortarray","string"],"children":[]},{"name":"Int","path":["belt","sortarray","int"],"children":[]}]},{"name":"Array","path":["belt","array"],"children":[]},{"name":"Id","path":["belt","id"],"children":[{"name":"MakeHashable","path":["belt","id","makehashable"],"children":[]},{"name":"MakeHashableU","path":["belt","id","makehashableu"],"children":[]},{"name":"MakeComparable","path":["belt","id","makecomparable"],"children":[]},{"name":"MakeComparableU","path":["belt","id","makecomparableu"],"children":[]}]}]},{"name":"Dom","path":["dom"],"children":[{"name":"Storage2","path":["dom","storage2"],"children":[]},{"name":"Storage","path":["dom","storage"],"children":[]}]}] \ No newline at end of file diff --git a/data/belt.json b/data/belt.json new file mode 100644 index 000000000..330c58cda --- /dev/null +++ b/data/belt.json @@ -0,0 +1 @@ +{"belt":{"id":"Belt","name":"Belt","docstrings":["The ReScript standard library.\n\nBelt is currently mostly covering collection types. It has no string or date functions yet, although Belt.String is in the works. In the meantime, use [Js.String](js/string) for string functions and [Js.Date](js/date) for date functions.\n\n## Motivation\n\nBelt provides:\n\n- The **highest quality** immutable data structures in JavaScript.\n- Safety by default: A Belt function will never throw exceptions, unless it is\n indicated explicitly in the function name (suffix \"Exn\").\n- Better performance and smaller code size running on the JS platform.\n- Ready for [Tree Shaking](https://webpack.js.org/guides/tree-shaking/).\n\n## Usage\n\nTo use modules from Belt, either refer to them by their fully qualified name (`Belt.List`, `Belt.Array` etc.) or open the `Belt` module by putting\n\n## Examples\n\n```rescript\nopen Belt\n```\n\nat the top of your source files. After opening Belt this way, `Array` will refer to `Belt.Array`, `List` will refer to `Belt.List` etc. in the subsequent code.\n\nIf you want to open Belt globally for all files in your project instead, you can put\n\n```json\n{\n \"bsc-flags\": [\"-open Belt\"]\n}\n```\n\ninto your `bsconfig.json`.\n\n**Note**: this is the **only** `open` we encourage.\n\nExample usage:\n\n## Examples\n\n```rescript\nlet someNumbers = [1, 1, 4, 2, 3, 6, 3, 4, 2]\n\nlet greaterThan2UniqueAndSorted =\n someNumbers\n ->Belt.Array.keep(x => x > 2)\n // convert to and from set to make values unique\n ->Belt.Set.Int.fromArray\n ->Belt.Set.Int.toArray // output is already sorted\n\nJs.log2(\"result\", greaterThan2UniqueAndSorted)\n```\n\n## Curried vs. Uncurried Callbacks\n\nFor functions taking a callback parameter, there are usually two versions\navailable:\n\n- curried (no suffix)\n- uncurried (suffixed with `U`)\n\nE.g.:\n\n## Examples\n\n```rescript\nlet forEach: (t<'a>, 'a => unit) => unit\n\nlet forEachU: (t<'a>, (. 'a) => unit) => unit\n```\n\nThe uncurried version will be faster in some cases, but for simplicity we recommend to stick with the curried version unless you need the extra performance.\n\nThe two versions can be invoked as follows:\n\n## Examples\n\n```rescript\n[\"a\", \"b\", \"c\"]->Belt.Array.forEach(x => Js.log(x))\n\n[\"a\", \"b\", \"c\"]->Belt.Array.forEachU((. x) => Js.log(x))\n```\n\n## Specialized Collections\n\nFor collections types like set or map, Belt provides both a generic module as well as specialized, more efficient implementations for string and int keys.\n\nFor example, Belt has the following set modules:\n\n- [Belt.Set](belt/set)\n- [Belt.Set.Int](belt/set-int)\n- [Belt.Set.String](belt/set-string)\n\n## Implementation Details\n\n### Array access runtime safety\n\nOne common confusion comes from the way Belt handles array access. It differs from than the default standard library's.\n\n## Examples\n\n```rescript\nlet letters = [\"a\", \"b\", \"c\"]\nlet a = letters[0] // a == \"a\"\nlet capitalA = Js.String.toUpperCase(a)\nlet k = letters[10] // Raises an exception! The 10th index doesn't exist.\n```\n\nBecause Belt avoids exceptions and returns `options` instead, this code behaves differently:\n\n## Examples\n\n```rescript\nopen Belt\nlet letters = [\"a\", \"b\", \"c\"]\nlet a = letters[0] // a == Some(\"a\")\nlet captialA = Js.String.toUpperCase(a) // Type error! This code will not compile.\nlet k = letters[10] // k == None\n```\n\nAlthough we've fixed the problem where `k` raises an exception, we now have a type error when trying to capitalize `a`. There are a few things going on here:\n\n- Reason transforms array index access to the function `Array.get`. So `letters[0]` is the same as `Array.get(letters, 0)`.\n- The compiler uses whichever `Array` module is in scope. If you `open Belt`, then it uses `Belt.Array`.\n- `Belt.Array.get` returns values wrapped in options, so `letters[0] == Some(\"a\")`.\n\nFortunately, this is easy to fix:\n\n## Examples\n\n```rescript\nopen Belt\nlet letters = [\"a\", \"b\", \"c\"]\nlet a = letters[0]\n\n// Use a switch statement:\nlet capitalA =\n switch a {\n | Some(a) => Some(Js.String.toUpperCase(a))\n | None => None\n }\n\nlet k = letters[10] // k == None\n```\n\nWith that little bit of tweaking, our code now compiles successfully and is 100% free of runtime errors!\n\n### A Special Encoding for Collection Safety\n\nWhen we create a collection library for a custom data type we need a way to provide a comparator function. Take Set for example, suppose its element type is a pair of ints, it needs a custom compare function that takes two tuples and returns their order. The Set could not just be typed as Set.t (int \\* int) , its customized compare function needs to manifest itself in the signature, otherwise, if the user creates another customized compare function, the two collection could mix which would result in runtime error.\n\nWe use a phantom type to solve the problem:\n\n## Examples\n\n```rescript\nmodule Comparable1 =\n Belt.Id.MakeComparable(\n {\n type t = (int, int)\n let cmp = ((a0, a1), (b0, b1)) =>\n switch Pervasives.compare(a0, b0) {\n | 0 => Pervasives.compare(a1, b1)\n | c => c\n }\n }\n )\n\nlet mySet1 = Belt.Set.make(~id=module(Comparable1))\n\nmodule Comparable2 =\n Belt.Id.MakeComparable(\n {\n type t = (int, int)\n let cmp = ((a0, a1), (b0, b1)) =>\n switch Pervasives.compare(a0, b0) {\n | 0 => Pervasives.compare(a1, b1)\n | c => c\n }\n }\n )\n\nlet mySet2 = Belt.Set.make(~id=module(Comparable2))\n```\n\nHere, the compiler would infer `mySet1` and `mySet2` having different type, so e.g. a `merge` operation that tries to merge these two sets will correctly fail.\n\n## Examples\n\n```rescript\nlet mySet1: t<(int, int), Comparable1.identity>\nlet mySet2: t<(int, int), Comparable2.identity>\n```\n\n`Comparable1.identity` and `Comparable2.identity` are not the same using our encoding scheme."],"items":[]},"belt/hashmap/string":{"id":"Belt.HashMap.String","name":"String","docstrings":["Specalized when key type is `string`, more efficient than the generic type"],"items":[{"id":"Belt.HashMap.String.key","kind":"type","name":"key","docstrings":[],"signature":"type key = string"},{"id":"Belt.HashMap.String.t","kind":"type","name":"t","docstrings":[],"signature":"type t<'b>"},{"id":"Belt.HashMap.String.make","kind":"value","name":"make","docstrings":[],"signature":"let make: (~hintSize: int) => t<'b>"},{"id":"Belt.HashMap.String.clear","kind":"value","name":"clear","docstrings":[],"signature":"let clear: t<'b> => unit"},{"id":"Belt.HashMap.String.isEmpty","kind":"value","name":"isEmpty","docstrings":[],"signature":"let isEmpty: t<'a> => bool"},{"id":"Belt.HashMap.String.set","kind":"value","name":"set","docstrings":["`setDone(tbl, k, v)` if `k` does not exist, add the binding `k,v`, otherwise,\nupdate the old value with the new `v`"],"signature":"let set: (t<'a>, key, 'a) => unit"},{"id":"Belt.HashMap.String.copy","kind":"value","name":"copy","docstrings":[],"signature":"let copy: t<'a> => t<'a>"},{"id":"Belt.HashMap.String.get","kind":"value","name":"get","docstrings":[],"signature":"let get: (t<'a>, key) => option<'a>"},{"id":"Belt.HashMap.String.has","kind":"value","name":"has","docstrings":[],"signature":"let has: (t<'b>, key) => bool"},{"id":"Belt.HashMap.String.remove","kind":"value","name":"remove","docstrings":[],"signature":"let remove: (t<'a>, key) => unit"},{"id":"Belt.HashMap.String.forEachU","kind":"value","name":"forEachU","docstrings":[],"signature":"let forEachU: (t<'b>, (. key, 'b) => unit) => unit"},{"id":"Belt.HashMap.String.forEach","kind":"value","name":"forEach","docstrings":[],"signature":"let forEach: (t<'b>, (key, 'b) => unit) => unit"},{"id":"Belt.HashMap.String.reduceU","kind":"value","name":"reduceU","docstrings":[],"signature":"let reduceU: (t<'b>, 'c, (. 'c, key, 'b) => 'c) => 'c"},{"id":"Belt.HashMap.String.reduce","kind":"value","name":"reduce","docstrings":[],"signature":"let reduce: (t<'b>, 'c, ('c, key, 'b) => 'c) => 'c"},{"id":"Belt.HashMap.String.keepMapInPlaceU","kind":"value","name":"keepMapInPlaceU","docstrings":[],"signature":"let keepMapInPlaceU: (t<'a>, (. key, 'a) => option<'a>) => unit"},{"id":"Belt.HashMap.String.keepMapInPlace","kind":"value","name":"keepMapInPlace","docstrings":[],"signature":"let keepMapInPlace: (t<'a>, (key, 'a) => option<'a>) => unit"},{"id":"Belt.HashMap.String.size","kind":"value","name":"size","docstrings":[],"signature":"let size: t<'a> => int"},{"id":"Belt.HashMap.String.toArray","kind":"value","name":"toArray","docstrings":[],"signature":"let toArray: t<'a> => array<(key, 'a)>"},{"id":"Belt.HashMap.String.keysToArray","kind":"value","name":"keysToArray","docstrings":[],"signature":"let keysToArray: t<'a> => array"},{"id":"Belt.HashMap.String.valuesToArray","kind":"value","name":"valuesToArray","docstrings":[],"signature":"let valuesToArray: t<'a> => array<'a>"},{"id":"Belt.HashMap.String.fromArray","kind":"value","name":"fromArray","docstrings":[],"signature":"let fromArray: array<(key, 'a)> => t<'a>"},{"id":"Belt.HashMap.String.mergeMany","kind":"value","name":"mergeMany","docstrings":[],"signature":"let mergeMany: (t<'a>, array<(key, 'a)>) => unit"},{"id":"Belt.HashMap.String.getBucketHistogram","kind":"value","name":"getBucketHistogram","docstrings":[],"signature":"let getBucketHistogram: t<'a> => array"},{"id":"Belt.HashMap.String.logStats","kind":"value","name":"logStats","docstrings":[],"signature":"let logStats: t<'a> => unit"}]},"belt/hashmap/int":{"id":"Belt.HashMap.Int","name":"Int","docstrings":["Specalized when key type is `int`, more efficient than the generic type"],"items":[{"id":"Belt.HashMap.Int.key","kind":"type","name":"key","docstrings":[],"signature":"type key = int"},{"id":"Belt.HashMap.Int.t","kind":"type","name":"t","docstrings":[],"signature":"type t<'b>"},{"id":"Belt.HashMap.Int.make","kind":"value","name":"make","docstrings":[],"signature":"let make: (~hintSize: int) => t<'b>"},{"id":"Belt.HashMap.Int.clear","kind":"value","name":"clear","docstrings":[],"signature":"let clear: t<'b> => unit"},{"id":"Belt.HashMap.Int.isEmpty","kind":"value","name":"isEmpty","docstrings":[],"signature":"let isEmpty: t<'a> => bool"},{"id":"Belt.HashMap.Int.set","kind":"value","name":"set","docstrings":["`setDone(tbl, k, v)` if `k` does not exist, add the binding `k,v`, otherwise,\nupdate the old value with the new `v`"],"signature":"let set: (t<'a>, key, 'a) => unit"},{"id":"Belt.HashMap.Int.copy","kind":"value","name":"copy","docstrings":[],"signature":"let copy: t<'a> => t<'a>"},{"id":"Belt.HashMap.Int.get","kind":"value","name":"get","docstrings":[],"signature":"let get: (t<'a>, key) => option<'a>"},{"id":"Belt.HashMap.Int.has","kind":"value","name":"has","docstrings":[],"signature":"let has: (t<'b>, key) => bool"},{"id":"Belt.HashMap.Int.remove","kind":"value","name":"remove","docstrings":[],"signature":"let remove: (t<'a>, key) => unit"},{"id":"Belt.HashMap.Int.forEachU","kind":"value","name":"forEachU","docstrings":[],"signature":"let forEachU: (t<'b>, (. key, 'b) => unit) => unit"},{"id":"Belt.HashMap.Int.forEach","kind":"value","name":"forEach","docstrings":[],"signature":"let forEach: (t<'b>, (key, 'b) => unit) => unit"},{"id":"Belt.HashMap.Int.reduceU","kind":"value","name":"reduceU","docstrings":[],"signature":"let reduceU: (t<'b>, 'c, (. 'c, key, 'b) => 'c) => 'c"},{"id":"Belt.HashMap.Int.reduce","kind":"value","name":"reduce","docstrings":[],"signature":"let reduce: (t<'b>, 'c, ('c, key, 'b) => 'c) => 'c"},{"id":"Belt.HashMap.Int.keepMapInPlaceU","kind":"value","name":"keepMapInPlaceU","docstrings":[],"signature":"let keepMapInPlaceU: (t<'a>, (. key, 'a) => option<'a>) => unit"},{"id":"Belt.HashMap.Int.keepMapInPlace","kind":"value","name":"keepMapInPlace","docstrings":[],"signature":"let keepMapInPlace: (t<'a>, (key, 'a) => option<'a>) => unit"},{"id":"Belt.HashMap.Int.size","kind":"value","name":"size","docstrings":[],"signature":"let size: t<'a> => int"},{"id":"Belt.HashMap.Int.toArray","kind":"value","name":"toArray","docstrings":[],"signature":"let toArray: t<'a> => array<(key, 'a)>"},{"id":"Belt.HashMap.Int.keysToArray","kind":"value","name":"keysToArray","docstrings":[],"signature":"let keysToArray: t<'a> => array"},{"id":"Belt.HashMap.Int.valuesToArray","kind":"value","name":"valuesToArray","docstrings":[],"signature":"let valuesToArray: t<'a> => array<'a>"},{"id":"Belt.HashMap.Int.fromArray","kind":"value","name":"fromArray","docstrings":[],"signature":"let fromArray: array<(key, 'a)> => t<'a>"},{"id":"Belt.HashMap.Int.mergeMany","kind":"value","name":"mergeMany","docstrings":[],"signature":"let mergeMany: (t<'a>, array<(key, 'a)>) => unit"},{"id":"Belt.HashMap.Int.getBucketHistogram","kind":"value","name":"getBucketHistogram","docstrings":[],"signature":"let getBucketHistogram: t<'a> => array"},{"id":"Belt.HashMap.Int.logStats","kind":"value","name":"logStats","docstrings":[],"signature":"let logStats: t<'a> => unit"}]},"belt/hashset/string":{"id":"Belt.HashSet.String","name":"String","docstrings":["Specalized when key type is `string`, more efficient than the generic type"],"items":[{"id":"Belt.HashSet.String.key","kind":"type","name":"key","docstrings":[],"signature":"type key = string"},{"id":"Belt.HashSet.String.t","kind":"type","name":"t","docstrings":[],"signature":"type t"},{"id":"Belt.HashSet.String.make","kind":"value","name":"make","docstrings":[],"signature":"let make: (~hintSize: int) => t"},{"id":"Belt.HashSet.String.clear","kind":"value","name":"clear","docstrings":[],"signature":"let clear: t => unit"},{"id":"Belt.HashSet.String.isEmpty","kind":"value","name":"isEmpty","docstrings":[],"signature":"let isEmpty: t => bool"},{"id":"Belt.HashSet.String.add","kind":"value","name":"add","docstrings":[],"signature":"let add: (t, key) => unit"},{"id":"Belt.HashSet.String.copy","kind":"value","name":"copy","docstrings":[],"signature":"let copy: t => t"},{"id":"Belt.HashSet.String.has","kind":"value","name":"has","docstrings":[],"signature":"let has: (t, key) => bool"},{"id":"Belt.HashSet.String.remove","kind":"value","name":"remove","docstrings":[],"signature":"let remove: (t, key) => unit"},{"id":"Belt.HashSet.String.forEachU","kind":"value","name":"forEachU","docstrings":[],"signature":"let forEachU: (t, (. key) => unit) => unit"},{"id":"Belt.HashSet.String.forEach","kind":"value","name":"forEach","docstrings":[],"signature":"let forEach: (t, key => unit) => unit"},{"id":"Belt.HashSet.String.reduceU","kind":"value","name":"reduceU","docstrings":[],"signature":"let reduceU: (t, 'c, (. 'c, key) => 'c) => 'c"},{"id":"Belt.HashSet.String.reduce","kind":"value","name":"reduce","docstrings":[],"signature":"let reduce: (t, 'c, ('c, key) => 'c) => 'c"},{"id":"Belt.HashSet.String.size","kind":"value","name":"size","docstrings":[],"signature":"let size: t => int"},{"id":"Belt.HashSet.String.logStats","kind":"value","name":"logStats","docstrings":[],"signature":"let logStats: t => unit"},{"id":"Belt.HashSet.String.toArray","kind":"value","name":"toArray","docstrings":[],"signature":"let toArray: t => array"},{"id":"Belt.HashSet.String.fromArray","kind":"value","name":"fromArray","docstrings":[],"signature":"let fromArray: array => t"},{"id":"Belt.HashSet.String.mergeMany","kind":"value","name":"mergeMany","docstrings":[],"signature":"let mergeMany: (t, array) => unit"},{"id":"Belt.HashSet.String.getBucketHistogram","kind":"value","name":"getBucketHistogram","docstrings":[],"signature":"let getBucketHistogram: t => array"}]},"belt/hashset/int":{"id":"Belt.HashSet.Int","name":"Int","docstrings":["Specalized when key type is `int`, more efficient than the generic type"],"items":[{"id":"Belt.HashSet.Int.key","kind":"type","name":"key","docstrings":[],"signature":"type key = int"},{"id":"Belt.HashSet.Int.t","kind":"type","name":"t","docstrings":[],"signature":"type t"},{"id":"Belt.HashSet.Int.make","kind":"value","name":"make","docstrings":[],"signature":"let make: (~hintSize: int) => t"},{"id":"Belt.HashSet.Int.clear","kind":"value","name":"clear","docstrings":[],"signature":"let clear: t => unit"},{"id":"Belt.HashSet.Int.isEmpty","kind":"value","name":"isEmpty","docstrings":[],"signature":"let isEmpty: t => bool"},{"id":"Belt.HashSet.Int.add","kind":"value","name":"add","docstrings":[],"signature":"let add: (t, key) => unit"},{"id":"Belt.HashSet.Int.copy","kind":"value","name":"copy","docstrings":[],"signature":"let copy: t => t"},{"id":"Belt.HashSet.Int.has","kind":"value","name":"has","docstrings":[],"signature":"let has: (t, key) => bool"},{"id":"Belt.HashSet.Int.remove","kind":"value","name":"remove","docstrings":[],"signature":"let remove: (t, key) => unit"},{"id":"Belt.HashSet.Int.forEachU","kind":"value","name":"forEachU","docstrings":[],"signature":"let forEachU: (t, (. key) => unit) => unit"},{"id":"Belt.HashSet.Int.forEach","kind":"value","name":"forEach","docstrings":[],"signature":"let forEach: (t, key => unit) => unit"},{"id":"Belt.HashSet.Int.reduceU","kind":"value","name":"reduceU","docstrings":[],"signature":"let reduceU: (t, 'c, (. 'c, key) => 'c) => 'c"},{"id":"Belt.HashSet.Int.reduce","kind":"value","name":"reduce","docstrings":[],"signature":"let reduce: (t, 'c, ('c, key) => 'c) => 'c"},{"id":"Belt.HashSet.Int.size","kind":"value","name":"size","docstrings":[],"signature":"let size: t => int"},{"id":"Belt.HashSet.Int.logStats","kind":"value","name":"logStats","docstrings":[],"signature":"let logStats: t => unit"},{"id":"Belt.HashSet.Int.toArray","kind":"value","name":"toArray","docstrings":[],"signature":"let toArray: t => array"},{"id":"Belt.HashSet.Int.fromArray","kind":"value","name":"fromArray","docstrings":[],"signature":"let fromArray: array => t"},{"id":"Belt.HashSet.Int.mergeMany","kind":"value","name":"mergeMany","docstrings":[],"signature":"let mergeMany: (t, array) => unit"},{"id":"Belt.HashSet.Int.getBucketHistogram","kind":"value","name":"getBucketHistogram","docstrings":[],"signature":"let getBucketHistogram: t => array"}]},"belt/mutablemap/string":{"id":"Belt.MutableMap.String","name":"String","docstrings":[],"items":[{"id":"Belt.MutableMap.String.key","kind":"type","name":"key","docstrings":[],"signature":"type key = string"},{"id":"Belt.MutableMap.String.t","kind":"type","name":"t","docstrings":[],"signature":"type t<'a>"},{"id":"Belt.MutableMap.String.make","kind":"value","name":"make","docstrings":[],"signature":"let make: unit => t<'a>"},{"id":"Belt.MutableMap.String.clear","kind":"value","name":"clear","docstrings":[],"signature":"let clear: t<'a> => unit"},{"id":"Belt.MutableMap.String.isEmpty","kind":"value","name":"isEmpty","docstrings":[],"signature":"let isEmpty: t<'a> => bool"},{"id":"Belt.MutableMap.String.has","kind":"value","name":"has","docstrings":[],"signature":"let has: (t<'a>, key) => bool"},{"id":"Belt.MutableMap.String.cmpU","kind":"value","name":"cmpU","docstrings":[],"signature":"let cmpU: (t<'a>, t<'a>, (. 'a, 'a) => int) => int"},{"id":"Belt.MutableMap.String.cmp","kind":"value","name":"cmp","docstrings":["`cmp(m1, m2, cmp)`. First compare by size, if size is the same, compare by key,\nvalue pair"],"signature":"let cmp: (t<'a>, t<'a>, ('a, 'a) => int) => int"},{"id":"Belt.MutableMap.String.eqU","kind":"value","name":"eqU","docstrings":[],"signature":"let eqU: (t<'a>, t<'a>, (. 'a, 'a) => bool) => bool"},{"id":"Belt.MutableMap.String.eq","kind":"value","name":"eq","docstrings":["`eq(m1, m2, cmp)`"],"signature":"let eq: (t<'a>, t<'a>, ('a, 'a) => bool) => bool"},{"id":"Belt.MutableMap.String.forEachU","kind":"value","name":"forEachU","docstrings":[],"signature":"let forEachU: (t<'a>, (. key, 'a) => unit) => unit"},{"id":"Belt.MutableMap.String.forEach","kind":"value","name":"forEach","docstrings":["`forEach(m, f)` applies `f` to all bindings in map `m`. `f` receives the key as\nfirst argument, and the associated value as second argument. The application \norder of `f` is in increasing order."],"signature":"let forEach: (t<'a>, (key, 'a) => unit) => unit"},{"id":"Belt.MutableMap.String.reduceU","kind":"value","name":"reduceU","docstrings":[],"signature":"let reduceU: (t<'a>, 'b, (. 'b, key, 'a) => 'b) => 'b"},{"id":"Belt.MutableMap.String.reduce","kind":"value","name":"reduce","docstrings":["`reduce(m, a, f)` computes `(f kN dN ... (f k1 d1 a)...)`, where `k1 ... kN` are\nthe keys of all bindings in `m` (in increasing order), and `d1 ... dN` are the\nassociated data."],"signature":"let reduce: (t<'a>, 'b, ('b, key, 'a) => 'b) => 'b"},{"id":"Belt.MutableMap.String.everyU","kind":"value","name":"everyU","docstrings":[],"signature":"let everyU: (t<'a>, (. key, 'a) => bool) => bool"},{"id":"Belt.MutableMap.String.every","kind":"value","name":"every","docstrings":["`every(m, p)` checks if all the bindings of the map satisfy the predicate `p`.\nThe application order of `p` is unspecified."],"signature":"let every: (t<'a>, (key, 'a) => bool) => bool"},{"id":"Belt.MutableMap.String.someU","kind":"value","name":"someU","docstrings":[],"signature":"let someU: (t<'a>, (. key, 'a) => bool) => bool"},{"id":"Belt.MutableMap.String.some","kind":"value","name":"some","docstrings":["`some(m, p)` checks if at least one binding of the map satisfy the predicate `p`.\nThe application order of `p` is unspecified."],"signature":"let some: (t<'a>, (key, 'a) => bool) => bool"},{"id":"Belt.MutableMap.String.size","kind":"value","name":"size","docstrings":[],"signature":"let size: t<'a> => int"},{"id":"Belt.MutableMap.String.toList","kind":"value","name":"toList","docstrings":["In increasing order"],"signature":"let toList: t<'a> => list<(key, 'a)>"},{"id":"Belt.MutableMap.String.toArray","kind":"value","name":"toArray","docstrings":["In increasing order"],"signature":"let toArray: t<'a> => array<(key, 'a)>"},{"id":"Belt.MutableMap.String.fromArray","kind":"value","name":"fromArray","docstrings":[],"signature":"let fromArray: array<(key, 'a)> => t<'a>"},{"id":"Belt.MutableMap.String.keysToArray","kind":"value","name":"keysToArray","docstrings":[],"signature":"let keysToArray: t<'a> => array"},{"id":"Belt.MutableMap.String.valuesToArray","kind":"value","name":"valuesToArray","docstrings":[],"signature":"let valuesToArray: t<'a> => array<'a>"},{"id":"Belt.MutableMap.String.minKey","kind":"value","name":"minKey","docstrings":[],"signature":"let minKey: t<'a> => option"},{"id":"Belt.MutableMap.String.minKeyUndefined","kind":"value","name":"minKeyUndefined","docstrings":[],"signature":"let minKeyUndefined: t<'a> => Js.undefined"},{"id":"Belt.MutableMap.String.maxKey","kind":"value","name":"maxKey","docstrings":[],"signature":"let maxKey: t<'a> => option"},{"id":"Belt.MutableMap.String.maxKeyUndefined","kind":"value","name":"maxKeyUndefined","docstrings":[],"signature":"let maxKeyUndefined: t<'a> => Js.undefined"},{"id":"Belt.MutableMap.String.minimum","kind":"value","name":"minimum","docstrings":[],"signature":"let minimum: t<'a> => option<(key, 'a)>"},{"id":"Belt.MutableMap.String.minUndefined","kind":"value","name":"minUndefined","docstrings":[],"signature":"let minUndefined: t<'a> => Js.undefined<(key, 'a)>"},{"id":"Belt.MutableMap.String.maximum","kind":"value","name":"maximum","docstrings":[],"signature":"let maximum: t<'a> => option<(key, 'a)>"},{"id":"Belt.MutableMap.String.maxUndefined","kind":"value","name":"maxUndefined","docstrings":[],"signature":"let maxUndefined: t<'a> => Js.undefined<(key, 'a)>"},{"id":"Belt.MutableMap.String.get","kind":"value","name":"get","docstrings":[],"signature":"let get: (t<'a>, key) => option<'a>"},{"id":"Belt.MutableMap.String.getUndefined","kind":"value","name":"getUndefined","docstrings":[],"signature":"let getUndefined: (t<'a>, key) => Js.undefined<'a>"},{"id":"Belt.MutableMap.String.getWithDefault","kind":"value","name":"getWithDefault","docstrings":[],"signature":"let getWithDefault: (t<'a>, key, 'a) => 'a"},{"id":"Belt.MutableMap.String.getExn","kind":"value","name":"getExn","docstrings":[],"signature":"let getExn: (t<'a>, key) => 'a"},{"id":"Belt.MutableMap.String.checkInvariantInternal","kind":"value","name":"checkInvariantInternal","docstrings":["**raise** when invariant is not held"],"signature":"let checkInvariantInternal: t<'a> => unit"},{"id":"Belt.MutableMap.String.remove","kind":"value","name":"remove","docstrings":["`remove(m, x)` do the in-place modification"],"signature":"let remove: (t<'a>, key) => unit"},{"id":"Belt.MutableMap.String.removeMany","kind":"value","name":"removeMany","docstrings":[],"signature":"let removeMany: (t<'a>, array) => unit"},{"id":"Belt.MutableMap.String.set","kind":"value","name":"set","docstrings":["`set(m, x, y)` do the in-place modification, return `m` for chaining. If `x` was\nalready bound in `m`, its previous binding disappears."],"signature":"let set: (t<'a>, key, 'a) => unit"},{"id":"Belt.MutableMap.String.updateU","kind":"value","name":"updateU","docstrings":[],"signature":"let updateU: (t<'a>, key, (. option<'a>) => option<'a>) => unit"},{"id":"Belt.MutableMap.String.update","kind":"value","name":"update","docstrings":[],"signature":"let update: (t<'a>, key, option<'a> => option<'a>) => unit"},{"id":"Belt.MutableMap.String.mapU","kind":"value","name":"mapU","docstrings":[],"signature":"let mapU: (t<'a>, (. 'a) => 'b) => t<'b>"},{"id":"Belt.MutableMap.String.map","kind":"value","name":"map","docstrings":["`map(m, f)` returns a map with same domain as `m`, where the associated value `a`\nof all bindings of `m` has been replaced by the result of the application of `f`\nto `a`. The bindings are passed to `f` in increasing order with respect to the\nordering over the type of the keys."],"signature":"let map: (t<'a>, 'a => 'b) => t<'b>"},{"id":"Belt.MutableMap.String.mapWithKeyU","kind":"value","name":"mapWithKeyU","docstrings":[],"signature":"let mapWithKeyU: (t<'a>, (. key, 'a) => 'b) => t<'b>"},{"id":"Belt.MutableMap.String.mapWithKey","kind":"value","name":"mapWithKey","docstrings":[],"signature":"let mapWithKey: (t<'a>, (key, 'a) => 'b) => t<'b>"}]},"belt/mutablemap/int":{"id":"Belt.MutableMap.Int","name":"Int","docstrings":[],"items":[{"id":"Belt.MutableMap.Int.key","kind":"type","name":"key","docstrings":[],"signature":"type key = int"},{"id":"Belt.MutableMap.Int.t","kind":"type","name":"t","docstrings":[],"signature":"type t<'a>"},{"id":"Belt.MutableMap.Int.make","kind":"value","name":"make","docstrings":[],"signature":"let make: unit => t<'a>"},{"id":"Belt.MutableMap.Int.clear","kind":"value","name":"clear","docstrings":[],"signature":"let clear: t<'a> => unit"},{"id":"Belt.MutableMap.Int.isEmpty","kind":"value","name":"isEmpty","docstrings":[],"signature":"let isEmpty: t<'a> => bool"},{"id":"Belt.MutableMap.Int.has","kind":"value","name":"has","docstrings":[],"signature":"let has: (t<'a>, key) => bool"},{"id":"Belt.MutableMap.Int.cmpU","kind":"value","name":"cmpU","docstrings":[],"signature":"let cmpU: (t<'a>, t<'a>, (. 'a, 'a) => int) => int"},{"id":"Belt.MutableMap.Int.cmp","kind":"value","name":"cmp","docstrings":["`cmp(m1, m2, cmp)`. First compare by size, if size is the same, compare by key,\nvalue pair"],"signature":"let cmp: (t<'a>, t<'a>, ('a, 'a) => int) => int"},{"id":"Belt.MutableMap.Int.eqU","kind":"value","name":"eqU","docstrings":[],"signature":"let eqU: (t<'a>, t<'a>, (. 'a, 'a) => bool) => bool"},{"id":"Belt.MutableMap.Int.eq","kind":"value","name":"eq","docstrings":["`eq(m1, m2, cmp)`"],"signature":"let eq: (t<'a>, t<'a>, ('a, 'a) => bool) => bool"},{"id":"Belt.MutableMap.Int.forEachU","kind":"value","name":"forEachU","docstrings":[],"signature":"let forEachU: (t<'a>, (. key, 'a) => unit) => unit"},{"id":"Belt.MutableMap.Int.forEach","kind":"value","name":"forEach","docstrings":["`forEach(m, f)` applies `f` to all bindings in map `m`. `f` receives the key as\nfirst argument, and the associated value as second argument. The application \norder of `f` is in increasing order."],"signature":"let forEach: (t<'a>, (key, 'a) => unit) => unit"},{"id":"Belt.MutableMap.Int.reduceU","kind":"value","name":"reduceU","docstrings":[],"signature":"let reduceU: (t<'a>, 'b, (. 'b, key, 'a) => 'b) => 'b"},{"id":"Belt.MutableMap.Int.reduce","kind":"value","name":"reduce","docstrings":["`reduce(m, a, f)` computes `(f kN dN ... (f k1 d1 a)...)`, where `k1 ... kN` are\nthe keys of all bindings in `m` (in increasing order), and `d1 ... dN` are the\nassociated data."],"signature":"let reduce: (t<'a>, 'b, ('b, key, 'a) => 'b) => 'b"},{"id":"Belt.MutableMap.Int.everyU","kind":"value","name":"everyU","docstrings":[],"signature":"let everyU: (t<'a>, (. key, 'a) => bool) => bool"},{"id":"Belt.MutableMap.Int.every","kind":"value","name":"every","docstrings":["`every(m, p)` checks if all the bindings of the map satisfy the predicate `p`.\nThe application order of `p` is unspecified."],"signature":"let every: (t<'a>, (key, 'a) => bool) => bool"},{"id":"Belt.MutableMap.Int.someU","kind":"value","name":"someU","docstrings":[],"signature":"let someU: (t<'a>, (. key, 'a) => bool) => bool"},{"id":"Belt.MutableMap.Int.some","kind":"value","name":"some","docstrings":["`some(m, p)` checks if at least one binding of the map satisfy the predicate `p`.\nThe application order of `p` is unspecified."],"signature":"let some: (t<'a>, (key, 'a) => bool) => bool"},{"id":"Belt.MutableMap.Int.size","kind":"value","name":"size","docstrings":[],"signature":"let size: t<'a> => int"},{"id":"Belt.MutableMap.Int.toList","kind":"value","name":"toList","docstrings":["In increasing order"],"signature":"let toList: t<'a> => list<(key, 'a)>"},{"id":"Belt.MutableMap.Int.toArray","kind":"value","name":"toArray","docstrings":["In increasing order"],"signature":"let toArray: t<'a> => array<(key, 'a)>"},{"id":"Belt.MutableMap.Int.fromArray","kind":"value","name":"fromArray","docstrings":[],"signature":"let fromArray: array<(key, 'a)> => t<'a>"},{"id":"Belt.MutableMap.Int.keysToArray","kind":"value","name":"keysToArray","docstrings":[],"signature":"let keysToArray: t<'a> => array"},{"id":"Belt.MutableMap.Int.valuesToArray","kind":"value","name":"valuesToArray","docstrings":[],"signature":"let valuesToArray: t<'a> => array<'a>"},{"id":"Belt.MutableMap.Int.minKey","kind":"value","name":"minKey","docstrings":[],"signature":"let minKey: t<'a> => option"},{"id":"Belt.MutableMap.Int.minKeyUndefined","kind":"value","name":"minKeyUndefined","docstrings":[],"signature":"let minKeyUndefined: t<'a> => Js.undefined"},{"id":"Belt.MutableMap.Int.maxKey","kind":"value","name":"maxKey","docstrings":[],"signature":"let maxKey: t<'a> => option"},{"id":"Belt.MutableMap.Int.maxKeyUndefined","kind":"value","name":"maxKeyUndefined","docstrings":[],"signature":"let maxKeyUndefined: t<'a> => Js.undefined"},{"id":"Belt.MutableMap.Int.minimum","kind":"value","name":"minimum","docstrings":[],"signature":"let minimum: t<'a> => option<(key, 'a)>"},{"id":"Belt.MutableMap.Int.minUndefined","kind":"value","name":"minUndefined","docstrings":[],"signature":"let minUndefined: t<'a> => Js.undefined<(key, 'a)>"},{"id":"Belt.MutableMap.Int.maximum","kind":"value","name":"maximum","docstrings":[],"signature":"let maximum: t<'a> => option<(key, 'a)>"},{"id":"Belt.MutableMap.Int.maxUndefined","kind":"value","name":"maxUndefined","docstrings":[],"signature":"let maxUndefined: t<'a> => Js.undefined<(key, 'a)>"},{"id":"Belt.MutableMap.Int.get","kind":"value","name":"get","docstrings":[],"signature":"let get: (t<'a>, key) => option<'a>"},{"id":"Belt.MutableMap.Int.getUndefined","kind":"value","name":"getUndefined","docstrings":[],"signature":"let getUndefined: (t<'a>, key) => Js.undefined<'a>"},{"id":"Belt.MutableMap.Int.getWithDefault","kind":"value","name":"getWithDefault","docstrings":[],"signature":"let getWithDefault: (t<'a>, key, 'a) => 'a"},{"id":"Belt.MutableMap.Int.getExn","kind":"value","name":"getExn","docstrings":[],"signature":"let getExn: (t<'a>, key) => 'a"},{"id":"Belt.MutableMap.Int.checkInvariantInternal","kind":"value","name":"checkInvariantInternal","docstrings":["**raise** when invariant is not held"],"signature":"let checkInvariantInternal: t<'a> => unit"},{"id":"Belt.MutableMap.Int.remove","kind":"value","name":"remove","docstrings":["`remove(m, x)` do the in-place modification"],"signature":"let remove: (t<'a>, key) => unit"},{"id":"Belt.MutableMap.Int.removeMany","kind":"value","name":"removeMany","docstrings":[],"signature":"let removeMany: (t<'a>, array) => unit"},{"id":"Belt.MutableMap.Int.set","kind":"value","name":"set","docstrings":["`set(m, x, y)` do the in-place modification, return `m` for chaining. If `x` was\nalready bound in `m`, its previous binding disappears."],"signature":"let set: (t<'a>, key, 'a) => unit"},{"id":"Belt.MutableMap.Int.updateU","kind":"value","name":"updateU","docstrings":[],"signature":"let updateU: (t<'a>, key, (. option<'a>) => option<'a>) => unit"},{"id":"Belt.MutableMap.Int.update","kind":"value","name":"update","docstrings":[],"signature":"let update: (t<'a>, key, option<'a> => option<'a>) => unit"},{"id":"Belt.MutableMap.Int.mapU","kind":"value","name":"mapU","docstrings":[],"signature":"let mapU: (t<'a>, (. 'a) => 'b) => t<'b>"},{"id":"Belt.MutableMap.Int.map","kind":"value","name":"map","docstrings":["`map(m, f)` returns a map with same domain as `m`, where the associated value `a`\nof all bindings of `m` has been replaced by the result of the application of `f`\nto `a`. The bindings are passed to `f` in increasing order with respect to the\nordering over the type of the keys."],"signature":"let map: (t<'a>, 'a => 'b) => t<'b>"},{"id":"Belt.MutableMap.Int.mapWithKeyU","kind":"value","name":"mapWithKeyU","docstrings":[],"signature":"let mapWithKeyU: (t<'a>, (. key, 'a) => 'b) => t<'b>"},{"id":"Belt.MutableMap.Int.mapWithKey","kind":"value","name":"mapWithKey","docstrings":[],"signature":"let mapWithKey: (t<'a>, (key, 'a) => 'b) => t<'b>"}]},"belt/mutableset/string":{"id":"Belt.MutableSet.String","name":"String","docstrings":["Specialized when key type is `string`, more efficient than the generic type"],"items":[{"id":"Belt.MutableSet.String.value","kind":"type","name":"value","docstrings":["The type of the set elements."],"signature":"type value = string"},{"id":"Belt.MutableSet.String.t","kind":"type","name":"t","docstrings":["The type of sets."],"signature":"type t"},{"id":"Belt.MutableSet.String.make","kind":"value","name":"make","docstrings":[],"signature":"let make: unit => t"},{"id":"Belt.MutableSet.String.fromArray","kind":"value","name":"fromArray","docstrings":[],"signature":"let fromArray: array => t"},{"id":"Belt.MutableSet.String.fromSortedArrayUnsafe","kind":"value","name":"fromSortedArrayUnsafe","docstrings":[],"signature":"let fromSortedArrayUnsafe: array => t"},{"id":"Belt.MutableSet.String.copy","kind":"value","name":"copy","docstrings":[],"signature":"let copy: t => t"},{"id":"Belt.MutableSet.String.isEmpty","kind":"value","name":"isEmpty","docstrings":[],"signature":"let isEmpty: t => bool"},{"id":"Belt.MutableSet.String.has","kind":"value","name":"has","docstrings":[],"signature":"let has: (t, value) => bool"},{"id":"Belt.MutableSet.String.add","kind":"value","name":"add","docstrings":[],"signature":"let add: (t, value) => unit"},{"id":"Belt.MutableSet.String.addCheck","kind":"value","name":"addCheck","docstrings":[],"signature":"let addCheck: (t, value) => bool"},{"id":"Belt.MutableSet.String.mergeMany","kind":"value","name":"mergeMany","docstrings":[],"signature":"let mergeMany: (t, array) => unit"},{"id":"Belt.MutableSet.String.remove","kind":"value","name":"remove","docstrings":[],"signature":"let remove: (t, value) => unit"},{"id":"Belt.MutableSet.String.removeCheck","kind":"value","name":"removeCheck","docstrings":[],"signature":"let removeCheck: (t, value) => bool"},{"id":"Belt.MutableSet.String.removeMany","kind":"value","name":"removeMany","docstrings":[],"signature":"let removeMany: (t, array) => unit"},{"id":"Belt.MutableSet.String.union","kind":"value","name":"union","docstrings":[],"signature":"let union: (t, t) => t"},{"id":"Belt.MutableSet.String.intersect","kind":"value","name":"intersect","docstrings":[],"signature":"let intersect: (t, t) => t"},{"id":"Belt.MutableSet.String.diff","kind":"value","name":"diff","docstrings":[],"signature":"let diff: (t, t) => t"},{"id":"Belt.MutableSet.String.subset","kind":"value","name":"subset","docstrings":[],"signature":"let subset: (t, t) => bool"},{"id":"Belt.MutableSet.String.cmp","kind":"value","name":"cmp","docstrings":[],"signature":"let cmp: (t, t) => int"},{"id":"Belt.MutableSet.String.eq","kind":"value","name":"eq","docstrings":[],"signature":"let eq: (t, t) => bool"},{"id":"Belt.MutableSet.String.forEachU","kind":"value","name":"forEachU","docstrings":[],"signature":"let forEachU: (t, (. value) => unit) => unit"},{"id":"Belt.MutableSet.String.forEach","kind":"value","name":"forEach","docstrings":["In increasing order"],"signature":"let forEach: (t, value => unit) => unit"},{"id":"Belt.MutableSet.String.reduceU","kind":"value","name":"reduceU","docstrings":[],"signature":"let reduceU: (t, 'a, (. 'a, value) => 'a) => 'a"},{"id":"Belt.MutableSet.String.reduce","kind":"value","name":"reduce","docstrings":["Iterate in increasing order."],"signature":"let reduce: (t, 'a, ('a, value) => 'a) => 'a"},{"id":"Belt.MutableSet.String.everyU","kind":"value","name":"everyU","docstrings":[],"signature":"let everyU: (t, (. value) => bool) => bool"},{"id":"Belt.MutableSet.String.every","kind":"value","name":"every","docstrings":["`every(p, s)` checks if all elements of the set satisfy the predicate `p`.\nOrder unspecified."],"signature":"let every: (t, value => bool) => bool"},{"id":"Belt.MutableSet.String.someU","kind":"value","name":"someU","docstrings":[],"signature":"let someU: (t, (. value) => bool) => bool"},{"id":"Belt.MutableSet.String.some","kind":"value","name":"some","docstrings":["`some(p, s)` checks if at least one element of the set satisfies the predicate\n`p`. Oder unspecified."],"signature":"let some: (t, value => bool) => bool"},{"id":"Belt.MutableSet.String.keepU","kind":"value","name":"keepU","docstrings":[],"signature":"let keepU: (t, (. value) => bool) => t"},{"id":"Belt.MutableSet.String.keep","kind":"value","name":"keep","docstrings":["`keep(s, p)` returns a fresh copy of the set of all elements in `s` that satisfy\npredicate `p`."],"signature":"let keep: (t, value => bool) => t"},{"id":"Belt.MutableSet.String.partitionU","kind":"value","name":"partitionU","docstrings":[],"signature":"let partitionU: (t, (. value) => bool) => (t, t)"},{"id":"Belt.MutableSet.String.partition","kind":"value","name":"partition","docstrings":["`partition(s, p)` returns a fresh copy pair of sets `(s1, s2)`, where `s1` is\nthe set of all the elements of `s` that satisfy the predicate `p`, and `s2` is\nthe set of all the elements of `s` that do not satisfy `p`."],"signature":"let partition: (t, value => bool) => (t, t)"},{"id":"Belt.MutableSet.String.size","kind":"value","name":"size","docstrings":[],"signature":"let size: t => int"},{"id":"Belt.MutableSet.String.toList","kind":"value","name":"toList","docstrings":["In increasing order with respect"],"signature":"let toList: t => list"},{"id":"Belt.MutableSet.String.toArray","kind":"value","name":"toArray","docstrings":["In increasing order with respect"],"signature":"let toArray: t => array"},{"id":"Belt.MutableSet.String.minimum","kind":"value","name":"minimum","docstrings":[],"signature":"let minimum: t => option"},{"id":"Belt.MutableSet.String.minUndefined","kind":"value","name":"minUndefined","docstrings":[],"signature":"let minUndefined: t => Js.undefined"},{"id":"Belt.MutableSet.String.maximum","kind":"value","name":"maximum","docstrings":[],"signature":"let maximum: t => option"},{"id":"Belt.MutableSet.String.maxUndefined","kind":"value","name":"maxUndefined","docstrings":[],"signature":"let maxUndefined: t => Js.undefined"},{"id":"Belt.MutableSet.String.get","kind":"value","name":"get","docstrings":[],"signature":"let get: (t, value) => option"},{"id":"Belt.MutableSet.String.getUndefined","kind":"value","name":"getUndefined","docstrings":[],"signature":"let getUndefined: (t, value) => Js.undefined"},{"id":"Belt.MutableSet.String.getExn","kind":"value","name":"getExn","docstrings":[],"signature":"let getExn: (t, value) => value"},{"id":"Belt.MutableSet.String.split","kind":"value","name":"split","docstrings":["`split(s, key)` return a fresh copy of each"],"signature":"let split: (t, value) => ((t, t), bool)"},{"id":"Belt.MutableSet.String.checkInvariantInternal","kind":"value","name":"checkInvariantInternal","docstrings":["**raise** when invariant is not held"],"signature":"let checkInvariantInternal: t => unit"}]},"belt/mutableset/int":{"id":"Belt.MutableSet.Int","name":"Int","docstrings":["Specialized when key type is `int`, more efficient than the generic type"],"items":[{"id":"Belt.MutableSet.Int.value","kind":"type","name":"value","docstrings":["The type of the set elements."],"signature":"type value = int"},{"id":"Belt.MutableSet.Int.t","kind":"type","name":"t","docstrings":["The type of sets."],"signature":"type t"},{"id":"Belt.MutableSet.Int.make","kind":"value","name":"make","docstrings":[],"signature":"let make: unit => t"},{"id":"Belt.MutableSet.Int.fromArray","kind":"value","name":"fromArray","docstrings":[],"signature":"let fromArray: array => t"},{"id":"Belt.MutableSet.Int.fromSortedArrayUnsafe","kind":"value","name":"fromSortedArrayUnsafe","docstrings":[],"signature":"let fromSortedArrayUnsafe: array => t"},{"id":"Belt.MutableSet.Int.copy","kind":"value","name":"copy","docstrings":[],"signature":"let copy: t => t"},{"id":"Belt.MutableSet.Int.isEmpty","kind":"value","name":"isEmpty","docstrings":[],"signature":"let isEmpty: t => bool"},{"id":"Belt.MutableSet.Int.has","kind":"value","name":"has","docstrings":[],"signature":"let has: (t, value) => bool"},{"id":"Belt.MutableSet.Int.add","kind":"value","name":"add","docstrings":[],"signature":"let add: (t, value) => unit"},{"id":"Belt.MutableSet.Int.addCheck","kind":"value","name":"addCheck","docstrings":[],"signature":"let addCheck: (t, value) => bool"},{"id":"Belt.MutableSet.Int.mergeMany","kind":"value","name":"mergeMany","docstrings":[],"signature":"let mergeMany: (t, array) => unit"},{"id":"Belt.MutableSet.Int.remove","kind":"value","name":"remove","docstrings":[],"signature":"let remove: (t, value) => unit"},{"id":"Belt.MutableSet.Int.removeCheck","kind":"value","name":"removeCheck","docstrings":[],"signature":"let removeCheck: (t, value) => bool"},{"id":"Belt.MutableSet.Int.removeMany","kind":"value","name":"removeMany","docstrings":[],"signature":"let removeMany: (t, array) => unit"},{"id":"Belt.MutableSet.Int.union","kind":"value","name":"union","docstrings":[],"signature":"let union: (t, t) => t"},{"id":"Belt.MutableSet.Int.intersect","kind":"value","name":"intersect","docstrings":[],"signature":"let intersect: (t, t) => t"},{"id":"Belt.MutableSet.Int.diff","kind":"value","name":"diff","docstrings":[],"signature":"let diff: (t, t) => t"},{"id":"Belt.MutableSet.Int.subset","kind":"value","name":"subset","docstrings":[],"signature":"let subset: (t, t) => bool"},{"id":"Belt.MutableSet.Int.cmp","kind":"value","name":"cmp","docstrings":[],"signature":"let cmp: (t, t) => int"},{"id":"Belt.MutableSet.Int.eq","kind":"value","name":"eq","docstrings":[],"signature":"let eq: (t, t) => bool"},{"id":"Belt.MutableSet.Int.forEachU","kind":"value","name":"forEachU","docstrings":[],"signature":"let forEachU: (t, (. value) => unit) => unit"},{"id":"Belt.MutableSet.Int.forEach","kind":"value","name":"forEach","docstrings":["In increasing order"],"signature":"let forEach: (t, value => unit) => unit"},{"id":"Belt.MutableSet.Int.reduceU","kind":"value","name":"reduceU","docstrings":[],"signature":"let reduceU: (t, 'a, (. 'a, value) => 'a) => 'a"},{"id":"Belt.MutableSet.Int.reduce","kind":"value","name":"reduce","docstrings":["Iterate in increasing order."],"signature":"let reduce: (t, 'a, ('a, value) => 'a) => 'a"},{"id":"Belt.MutableSet.Int.everyU","kind":"value","name":"everyU","docstrings":[],"signature":"let everyU: (t, (. value) => bool) => bool"},{"id":"Belt.MutableSet.Int.every","kind":"value","name":"every","docstrings":["`every(p, s)` checks if all elements of the set satisfy the predicate `p`.\nOrder unspecified."],"signature":"let every: (t, value => bool) => bool"},{"id":"Belt.MutableSet.Int.someU","kind":"value","name":"someU","docstrings":[],"signature":"let someU: (t, (. value) => bool) => bool"},{"id":"Belt.MutableSet.Int.some","kind":"value","name":"some","docstrings":["`some(p, s)` checks if at least one element of the set satisfies the predicate\n`p`. Oder unspecified."],"signature":"let some: (t, value => bool) => bool"},{"id":"Belt.MutableSet.Int.keepU","kind":"value","name":"keepU","docstrings":[],"signature":"let keepU: (t, (. value) => bool) => t"},{"id":"Belt.MutableSet.Int.keep","kind":"value","name":"keep","docstrings":["`keep(s, p)` returns a fresh copy of the set of all elements in `s` that satisfy\npredicate `p`."],"signature":"let keep: (t, value => bool) => t"},{"id":"Belt.MutableSet.Int.partitionU","kind":"value","name":"partitionU","docstrings":[],"signature":"let partitionU: (t, (. value) => bool) => (t, t)"},{"id":"Belt.MutableSet.Int.partition","kind":"value","name":"partition","docstrings":["`partition(s, p)` returns a fresh copy pair of sets `(s1, s2)`, where `s1` is\nthe set of all the elements of `s` that satisfy the predicate `p`, and `s2` is\nthe set of all the elements of `s` that do not satisfy `p`."],"signature":"let partition: (t, value => bool) => (t, t)"},{"id":"Belt.MutableSet.Int.size","kind":"value","name":"size","docstrings":[],"signature":"let size: t => int"},{"id":"Belt.MutableSet.Int.toList","kind":"value","name":"toList","docstrings":["In increasing order with respect"],"signature":"let toList: t => list"},{"id":"Belt.MutableSet.Int.toArray","kind":"value","name":"toArray","docstrings":["In increasing order with respect"],"signature":"let toArray: t => array"},{"id":"Belt.MutableSet.Int.minimum","kind":"value","name":"minimum","docstrings":[],"signature":"let minimum: t => option"},{"id":"Belt.MutableSet.Int.minUndefined","kind":"value","name":"minUndefined","docstrings":[],"signature":"let minUndefined: t => Js.undefined"},{"id":"Belt.MutableSet.Int.maximum","kind":"value","name":"maximum","docstrings":[],"signature":"let maximum: t => option"},{"id":"Belt.MutableSet.Int.maxUndefined","kind":"value","name":"maxUndefined","docstrings":[],"signature":"let maxUndefined: t => Js.undefined"},{"id":"Belt.MutableSet.Int.get","kind":"value","name":"get","docstrings":[],"signature":"let get: (t, value) => option"},{"id":"Belt.MutableSet.Int.getUndefined","kind":"value","name":"getUndefined","docstrings":[],"signature":"let getUndefined: (t, value) => Js.undefined"},{"id":"Belt.MutableSet.Int.getExn","kind":"value","name":"getExn","docstrings":[],"signature":"let getExn: (t, value) => value"},{"id":"Belt.MutableSet.Int.split","kind":"value","name":"split","docstrings":["`split(s, key)` return a fresh copy of each"],"signature":"let split: (t, value) => ((t, t), bool)"},{"id":"Belt.MutableSet.Int.checkInvariantInternal","kind":"value","name":"checkInvariantInternal","docstrings":["**raise** when invariant is not held"],"signature":"let checkInvariantInternal: t => unit"}]},"belt/map/dict":{"id":"Belt.Map.Dict","name":"Dict","docstrings":[],"items":[{"id":"Belt.Map.Dict.t","kind":"type","name":"t","docstrings":[],"signature":"type t<'key, 'value, 'id>"},{"id":"Belt.Map.Dict.cmp","kind":"type","name":"cmp","docstrings":[],"signature":"type cmp<'key, 'id> = Belt_Id.cmp<'key, 'id>"},{"id":"Belt.Map.Dict.empty","kind":"value","name":"empty","docstrings":[],"signature":"let empty: t<'k, 'v, 'id>"},{"id":"Belt.Map.Dict.isEmpty","kind":"value","name":"isEmpty","docstrings":[],"signature":"let isEmpty: t<'k, 'v, 'id> => bool"},{"id":"Belt.Map.Dict.has","kind":"value","name":"has","docstrings":[],"signature":"let has: (t<'k, 'a, 'id>, 'k, ~cmp: cmp<'k, 'id>) => bool"},{"id":"Belt.Map.Dict.cmpU","kind":"value","name":"cmpU","docstrings":[],"signature":"let cmpU: (\\n t<'k, 'v, 'id>,\\n t<'k, 'v, 'id>,\\n ~kcmp: cmp<'k, 'id>,\\n ~vcmp: (. 'v, 'v) => int,\\n) => int"},{"id":"Belt.Map.Dict.cmp","kind":"value","name":"cmp","docstrings":[],"signature":"let cmp: (\\n t<'k, 'v, 'id>,\\n t<'k, 'v, 'id>,\\n ~kcmp: cmp<'k, 'id>,\\n ~vcmp: ('v, 'v) => int,\\n) => int"},{"id":"Belt.Map.Dict.eqU","kind":"value","name":"eqU","docstrings":[],"signature":"let eqU: (\\n t<'k, 'a, 'id>,\\n t<'k, 'a, 'id>,\\n ~kcmp: cmp<'k, 'id>,\\n ~veq: (. 'a, 'a) => bool,\\n) => bool"},{"id":"Belt.Map.Dict.eq","kind":"value","name":"eq","docstrings":["`eq(m1, m2, cmp)` tests whether the maps `m1` and `m2` are equal, that is,\ncontain equal keys and associate them with equal data. `cmp` is the\nequality predicate used to compare the data associated with the keys."],"signature":"let eq: (\\n t<'k, 'a, 'id>,\\n t<'k, 'a, 'id>,\\n ~kcmp: cmp<'k, 'id>,\\n ~veq: ('a, 'a) => bool,\\n) => bool"},{"id":"Belt.Map.Dict.findFirstByU","kind":"value","name":"findFirstByU","docstrings":[],"signature":"let findFirstByU: (t<'k, 'v, 'id>, (. 'k, 'v) => bool) => option<('k, 'v)>"},{"id":"Belt.Map.Dict.findFirstBy","kind":"value","name":"findFirstBy","docstrings":["`findFirstBy(m, p)` uses function `f` to find the first key value pair to\nmatch predicate `p`.\n\n## Examples\n\n```rescript\nmodule IntCmp = Belt.Id.MakeComparable({\n type t = int\n let cmp = Pervasives.compare\n})\n\nlet s0 = Belt.Map.Dict.fromArray([(4, \"4\"), (1, \"1\"), (2, \"2\"), (3, \"3\")], ~cmp=IntCmp.cmp)\n\nBelt.Map.Dict.findFirstBy(s0, (k, _) => k == 4) == Some((4, \"4\"))\n```"],"signature":"let findFirstBy: (t<'k, 'v, 'id>, ('k, 'v) => bool) => option<('k, 'v)>"},{"id":"Belt.Map.Dict.forEachU","kind":"value","name":"forEachU","docstrings":[],"signature":"let forEachU: (t<'k, 'a, 'id>, (. 'k, 'a) => unit) => unit"},{"id":"Belt.Map.Dict.forEach","kind":"value","name":"forEach","docstrings":["`forEach(m, f)` applies `f` to all bindings in map `m`. `f` receives the\nkey as first argument, and the associated value as second argument. The\nbindings are passed to `f` in increasing order with respect to the ordering\nover the type of the keys."],"signature":"let forEach: (t<'k, 'a, 'id>, ('k, 'a) => unit) => unit"},{"id":"Belt.Map.Dict.reduceU","kind":"value","name":"reduceU","docstrings":[],"signature":"let reduceU: (t<'k, 'a, 'id>, 'b, (. 'b, 'k, 'a) => 'b) => 'b"},{"id":"Belt.Map.Dict.reduce","kind":"value","name":"reduce","docstrings":["`reduce(m, a, f)` computes `f(kN, dN ... f(k1, d1, a)...)`, where `k1 ... kN` \nare the keys of all bindings in `m` (in increasing order), and `d1 ... dN` \nare the associated data."],"signature":"let reduce: (t<'k, 'a, 'id>, 'b, ('b, 'k, 'a) => 'b) => 'b"},{"id":"Belt.Map.Dict.everyU","kind":"value","name":"everyU","docstrings":[],"signature":"let everyU: (t<'k, 'a, 'id>, (. 'k, 'a) => bool) => bool"},{"id":"Belt.Map.Dict.every","kind":"value","name":"every","docstrings":["`every(m, p)` checks if all the bindings of the map satisfy the predicate\n`p`. Order unspecified"],"signature":"let every: (t<'k, 'a, 'id>, ('k, 'a) => bool) => bool"},{"id":"Belt.Map.Dict.someU","kind":"value","name":"someU","docstrings":[],"signature":"let someU: (t<'k, 'a, 'id>, (. 'k, 'a) => bool) => bool"},{"id":"Belt.Map.Dict.some","kind":"value","name":"some","docstrings":["`some(m, p)` checks if at least one binding of the map satisfy the\npredicate `p`. Order unspecified"],"signature":"let some: (t<'k, 'a, 'id>, ('k, 'a) => bool) => bool"},{"id":"Belt.Map.Dict.size","kind":"value","name":"size","docstrings":[],"signature":"let size: t<'k, 'a, 'id> => int"},{"id":"Belt.Map.Dict.toList","kind":"value","name":"toList","docstrings":["In increasing order."],"signature":"let toList: t<'k, 'a, 'id> => list<('k, 'a)>"},{"id":"Belt.Map.Dict.toArray","kind":"value","name":"toArray","docstrings":[],"signature":"let toArray: t<'k, 'a, 'id> => array<('k, 'a)>"},{"id":"Belt.Map.Dict.fromArray","kind":"value","name":"fromArray","docstrings":[],"signature":"let fromArray: (array<('k, 'a)>, ~cmp: cmp<'k, 'id>) => t<'k, 'a, 'id>"},{"id":"Belt.Map.Dict.keysToArray","kind":"value","name":"keysToArray","docstrings":[],"signature":"let keysToArray: t<'k, 'a, 'id> => array<'k>"},{"id":"Belt.Map.Dict.valuesToArray","kind":"value","name":"valuesToArray","docstrings":[],"signature":"let valuesToArray: t<'k, 'a, 'id> => array<'a>"},{"id":"Belt.Map.Dict.minKey","kind":"value","name":"minKey","docstrings":[],"signature":"let minKey: t<'k, 'a, 'b> => option<'k>"},{"id":"Belt.Map.Dict.minKeyUndefined","kind":"value","name":"minKeyUndefined","docstrings":[],"signature":"let minKeyUndefined: t<'k, 'a, 'b> => Js.undefined<'k>"},{"id":"Belt.Map.Dict.maxKey","kind":"value","name":"maxKey","docstrings":[],"signature":"let maxKey: t<'k, 'a, 'b> => option<'k>"},{"id":"Belt.Map.Dict.maxKeyUndefined","kind":"value","name":"maxKeyUndefined","docstrings":[],"signature":"let maxKeyUndefined: t<'k, 'a, 'b> => Js.undefined<'k>"},{"id":"Belt.Map.Dict.minimum","kind":"value","name":"minimum","docstrings":[],"signature":"let minimum: t<'k, 'a, 'b> => option<('k, 'a)>"},{"id":"Belt.Map.Dict.minUndefined","kind":"value","name":"minUndefined","docstrings":[],"signature":"let minUndefined: t<'k, 'a, 'b> => Js.undefined<('k, 'a)>"},{"id":"Belt.Map.Dict.maximum","kind":"value","name":"maximum","docstrings":[],"signature":"let maximum: t<'k, 'a, 'b> => option<('k, 'a)>"},{"id":"Belt.Map.Dict.maxUndefined","kind":"value","name":"maxUndefined","docstrings":[],"signature":"let maxUndefined: t<'k, 'a, 'b> => Js.undefined<('k, 'a)>"},{"id":"Belt.Map.Dict.get","kind":"value","name":"get","docstrings":[],"signature":"let get: (t<'k, 'a, 'id>, 'k, ~cmp: cmp<'k, 'id>) => option<'a>"},{"id":"Belt.Map.Dict.getUndefined","kind":"value","name":"getUndefined","docstrings":[],"signature":"let getUndefined: (t<'k, 'a, 'id>, 'k, ~cmp: cmp<'k, 'id>) => Js.undefined<'a>"},{"id":"Belt.Map.Dict.getWithDefault","kind":"value","name":"getWithDefault","docstrings":[],"signature":"let getWithDefault: (t<'k, 'a, 'id>, 'k, 'a, ~cmp: cmp<'k, 'id>) => 'a"},{"id":"Belt.Map.Dict.getExn","kind":"value","name":"getExn","docstrings":[],"signature":"let getExn: (t<'k, 'a, 'id>, 'k, ~cmp: cmp<'k, 'id>) => 'a"},{"id":"Belt.Map.Dict.checkInvariantInternal","kind":"value","name":"checkInvariantInternal","docstrings":[],"signature":"let checkInvariantInternal: t<'a, 'b, 'c> => unit"},{"id":"Belt.Map.Dict.remove","kind":"value","name":"remove","docstrings":["`remove(m, x)` returns a map containing the same bindings as `m`, except\nfor `x` which is unbound in the returned map."],"signature":"let remove: (t<'a, 'b, 'id>, 'a, ~cmp: cmp<'a, 'id>) => t<'a, 'b, 'id>"},{"id":"Belt.Map.Dict.removeMany","kind":"value","name":"removeMany","docstrings":[],"signature":"let removeMany: (\\n t<'a, 'b, 'id>,\\n array<'a>,\\n ~cmp: cmp<'a, 'id>,\\n) => t<'a, 'b, 'id>"},{"id":"Belt.Map.Dict.set","kind":"value","name":"set","docstrings":["`set(m, x, y)` returns a map containing the same bindings as `m`, plus a\nbinding of `x` to `y`. If `x` was already bound in `m`, its previous\nbinding disappears."],"signature":"let set: (\\n t<'a, 'b, 'id>,\\n 'a,\\n 'b,\\n ~cmp: cmp<'a, 'id>,\\n) => t<'a, 'b, 'id>"},{"id":"Belt.Map.Dict.updateU","kind":"value","name":"updateU","docstrings":[],"signature":"let updateU: (\\n t<'a, 'b, 'id>,\\n 'a,\\n (. option<'b>) => option<'b>,\\n ~cmp: cmp<'a, 'id>,\\n) => t<'a, 'b, 'id>"},{"id":"Belt.Map.Dict.update","kind":"value","name":"update","docstrings":[],"signature":"let update: (\\n t<'a, 'b, 'id>,\\n 'a,\\n option<'b> => option<'b>,\\n ~cmp: cmp<'a, 'id>,\\n) => t<'a, 'b, 'id>"},{"id":"Belt.Map.Dict.mergeU","kind":"value","name":"mergeU","docstrings":[],"signature":"let mergeU: (\\n t<'a, 'b, 'id>,\\n t<'a, 'c, 'id>,\\n (. 'a, option<'b>, option<'c>) => option<'d>,\\n ~cmp: cmp<'a, 'id>,\\n) => t<'a, 'd, 'id>"},{"id":"Belt.Map.Dict.merge","kind":"value","name":"merge","docstrings":["`merge(m1, m2, f)` computes a map whose keys is a subset of keys of `m1`\nand of `m2`. The presence of each such binding, and the corresponding\nvalue, is determined with the function `f`."],"signature":"let merge: (\\n t<'a, 'b, 'id>,\\n t<'a, 'c, 'id>,\\n ('a, option<'b>, option<'c>) => option<'d>,\\n ~cmp: cmp<'a, 'id>,\\n) => t<'a, 'd, 'id>"},{"id":"Belt.Map.Dict.mergeMany","kind":"value","name":"mergeMany","docstrings":[],"signature":"let mergeMany: (\\n t<'a, 'b, 'id>,\\n array<('a, 'b)>,\\n ~cmp: cmp<'a, 'id>,\\n) => t<'a, 'b, 'id>"},{"id":"Belt.Map.Dict.keepU","kind":"value","name":"keepU","docstrings":[],"signature":"let keepU: (t<'k, 'a, 'id>, (. 'k, 'a) => bool) => t<'k, 'a, 'id>"},{"id":"Belt.Map.Dict.keep","kind":"value","name":"keep","docstrings":["`keep(m, p)` returns the map with all the bindings in `m` that satisfy\npredicate `p`."],"signature":"let keep: (t<'k, 'a, 'id>, ('k, 'a) => bool) => t<'k, 'a, 'id>"},{"id":"Belt.Map.Dict.partitionU","kind":"value","name":"partitionU","docstrings":[],"signature":"let partitionU: (\\n t<'k, 'a, 'id>,\\n (. 'k, 'a) => bool,\\n) => (t<'k, 'a, 'id>, t<'k, 'a, 'id>)"},{"id":"Belt.Map.Dict.partition","kind":"value","name":"partition","docstrings":["`partition(m, p)` returns a pair of maps `(m1, m2)`, where `m1` contains\nall the bindings of `s` that satisfy the predicate `p`, and `m2` is the map\nwith all the bindings of `s` that do not satisfy `p`."],"signature":"let partition: (\\n t<'k, 'a, 'id>,\\n ('k, 'a) => bool,\\n) => (t<'k, 'a, 'id>, t<'k, 'a, 'id>)"},{"id":"Belt.Map.Dict.split","kind":"value","name":"split","docstrings":["`split(x, m)` returns a triple `(l, data, r)`, where `l` is the map with\nall the bindings of `m` whose key is strictly less than `x`; `r` is the map\nwith all the bindings of `m` whose key is strictly greater than `x`; `data`\nis `None` if `m` contains no binding for `x`, or `Some(v)` if `m` binds `v`\nto `x`."],"signature":"let split: (\\n t<'a, 'b, 'id>,\\n 'a,\\n ~cmp: cmp<'a, 'id>,\\n) => ((t<'a, 'b, 'id>, t<'a, 'b, 'id>), option<'b>)"},{"id":"Belt.Map.Dict.mapU","kind":"value","name":"mapU","docstrings":[],"signature":"let mapU: (t<'k, 'a, 'id>, (. 'a) => 'b) => t<'k, 'b, 'id>"},{"id":"Belt.Map.Dict.map","kind":"value","name":"map","docstrings":["`map(m, f)` returns a map with same domain as `m`, where the associated\nvalue `a` of all bindings of `m` has been replaced by the result of the\napplication of `f` to `a`. The bindings are passed to `f` in increasing\norder with respect to the ordering over the type of the keys."],"signature":"let map: (t<'k, 'a, 'id>, 'a => 'b) => t<'k, 'b, 'id>"},{"id":"Belt.Map.Dict.mapWithKeyU","kind":"value","name":"mapWithKeyU","docstrings":[],"signature":"let mapWithKeyU: (t<'k, 'a, 'id>, (. 'k, 'a) => 'b) => t<'k, 'b, 'id>"},{"id":"Belt.Map.Dict.mapWithKey","kind":"value","name":"mapWithKey","docstrings":[],"signature":"let mapWithKey: (t<'k, 'a, 'id>, ('k, 'a) => 'b) => t<'k, 'b, 'id>"}]},"belt/map/string":{"id":"Belt.Map.String","name":"String","docstrings":[],"items":[{"id":"Belt.Map.String.key","kind":"type","name":"key","docstrings":[],"signature":"type key = string"},{"id":"Belt.Map.String.t","kind":"type","name":"t","docstrings":["The type of maps from type `key` to type `'value`."],"signature":"type t<'value>"},{"id":"Belt.Map.String.empty","kind":"value","name":"empty","docstrings":[],"signature":"let empty: t<'v>"},{"id":"Belt.Map.String.isEmpty","kind":"value","name":"isEmpty","docstrings":[],"signature":"let isEmpty: t<'v> => bool"},{"id":"Belt.Map.String.has","kind":"value","name":"has","docstrings":[],"signature":"let has: (t<'v>, key) => bool"},{"id":"Belt.Map.String.cmpU","kind":"value","name":"cmpU","docstrings":[],"signature":"let cmpU: (t<'v>, t<'v>, (. 'v, 'v) => int) => int"},{"id":"Belt.Map.String.cmp","kind":"value","name":"cmp","docstrings":[],"signature":"let cmp: (t<'v>, t<'v>, ('v, 'v) => int) => int"},{"id":"Belt.Map.String.eqU","kind":"value","name":"eqU","docstrings":[],"signature":"let eqU: (t<'v>, t<'v>, (. 'v, 'v) => bool) => bool"},{"id":"Belt.Map.String.eq","kind":"value","name":"eq","docstrings":["`eq(m1, m2)` tests whether the maps `m1` and `m2` are\nequal, that is, contain equal keys and associate them with\nequal data."],"signature":"let eq: (t<'v>, t<'v>, ('v, 'v) => bool) => bool"},{"id":"Belt.Map.String.findFirstByU","kind":"value","name":"findFirstByU","docstrings":[],"signature":"let findFirstByU: (t<'v>, (. key, 'v) => bool) => option<(key, 'v)>"},{"id":"Belt.Map.String.findFirstBy","kind":"value","name":"findFirstBy","docstrings":["`findFirstBy(m, p)` uses funcion `f` to find the first key value pair\nto match predicate `p`.\n\n```rescript\nlet s0 = fromArray(~id=module(IntCmp), [(4, \"4\"), (1, \"1\"), (2, \"2,\"(3, \"\"))])\nfindFirstBy(s0, (k, v) => k == 4) == option((4, \"4\"))\n```"],"signature":"let findFirstBy: (t<'v>, (key, 'v) => bool) => option<(key, 'v)>"},{"id":"Belt.Map.String.forEachU","kind":"value","name":"forEachU","docstrings":[],"signature":"let forEachU: (t<'v>, (. key, 'v) => unit) => unit"},{"id":"Belt.Map.String.forEach","kind":"value","name":"forEach","docstrings":["`forEach(m, f)` applies `f` to all bindings in map `m`.\n`f` receives the key as first argument, and the associated value\nas second argument. The bindings are passed to `f` in increasing\norder with respect to the ordering over the type of the keys."],"signature":"let forEach: (t<'v>, (key, 'v) => unit) => unit"},{"id":"Belt.Map.String.reduceU","kind":"value","name":"reduceU","docstrings":[],"signature":"let reduceU: (t<'v>, 'v2, (. 'v2, key, 'v) => 'v2) => 'v2"},{"id":"Belt.Map.String.reduce","kind":"value","name":"reduce","docstrings":["`reduce(m, a, f)` computes `(f kN dN ... (f k1 d1 a)...)`,\nwhere `k1 ... kN` are the keys of all bindings in `m`\n(in increasing order), and `d1 ... dN` are the associated data."],"signature":"let reduce: (t<'v>, 'v2, ('v2, key, 'v) => 'v2) => 'v2"},{"id":"Belt.Map.String.everyU","kind":"value","name":"everyU","docstrings":[],"signature":"let everyU: (t<'v>, (. key, 'v) => bool) => bool"},{"id":"Belt.Map.String.every","kind":"value","name":"every","docstrings":["`every(m, p)` checks if all the bindings of the map satisfy the predicate `p`.\nOrder unspecified"],"signature":"let every: (t<'v>, (key, 'v) => bool) => bool"},{"id":"Belt.Map.String.someU","kind":"value","name":"someU","docstrings":[],"signature":"let someU: (t<'v>, (. key, 'v) => bool) => bool"},{"id":"Belt.Map.String.some","kind":"value","name":"some","docstrings":["`some(m, p)` checks if at least one binding of the map satisfy the predicate\n`p`. Order unspecified"],"signature":"let some: (t<'v>, (key, 'v) => bool) => bool"},{"id":"Belt.Map.String.size","kind":"value","name":"size","docstrings":[],"signature":"let size: t<'v> => int"},{"id":"Belt.Map.String.toList","kind":"value","name":"toList","docstrings":["In increasing order."],"signature":"let toList: t<'v> => list<(key, 'v)>"},{"id":"Belt.Map.String.toArray","kind":"value","name":"toArray","docstrings":[],"signature":"let toArray: t<'v> => array<(key, 'v)>"},{"id":"Belt.Map.String.fromArray","kind":"value","name":"fromArray","docstrings":[],"signature":"let fromArray: array<(key, 'v)> => t<'v>"},{"id":"Belt.Map.String.keysToArray","kind":"value","name":"keysToArray","docstrings":[],"signature":"let keysToArray: t<'v> => array"},{"id":"Belt.Map.String.valuesToArray","kind":"value","name":"valuesToArray","docstrings":[],"signature":"let valuesToArray: t<'v> => array<'v>"},{"id":"Belt.Map.String.minKey","kind":"value","name":"minKey","docstrings":[],"signature":"let minKey: t<'a> => option"},{"id":"Belt.Map.String.minKeyUndefined","kind":"value","name":"minKeyUndefined","docstrings":[],"signature":"let minKeyUndefined: t<'a> => Js.undefined"},{"id":"Belt.Map.String.maxKey","kind":"value","name":"maxKey","docstrings":[],"signature":"let maxKey: t<'a> => option"},{"id":"Belt.Map.String.maxKeyUndefined","kind":"value","name":"maxKeyUndefined","docstrings":[],"signature":"let maxKeyUndefined: t<'a> => Js.undefined"},{"id":"Belt.Map.String.minimum","kind":"value","name":"minimum","docstrings":[],"signature":"let minimum: t<'v> => option<(key, 'v)>"},{"id":"Belt.Map.String.minUndefined","kind":"value","name":"minUndefined","docstrings":[],"signature":"let minUndefined: t<'v> => Js.undefined<(key, 'v)>"},{"id":"Belt.Map.String.maximum","kind":"value","name":"maximum","docstrings":[],"signature":"let maximum: t<'v> => option<(key, 'v)>"},{"id":"Belt.Map.String.maxUndefined","kind":"value","name":"maxUndefined","docstrings":[],"signature":"let maxUndefined: t<'v> => Js.undefined<(key, 'v)>"},{"id":"Belt.Map.String.get","kind":"value","name":"get","docstrings":[],"signature":"let get: (t<'v>, key) => option<'v>"},{"id":"Belt.Map.String.getUndefined","kind":"value","name":"getUndefined","docstrings":[],"signature":"let getUndefined: (t<'v>, key) => Js.undefined<'v>"},{"id":"Belt.Map.String.getWithDefault","kind":"value","name":"getWithDefault","docstrings":[],"signature":"let getWithDefault: (t<'v>, key, 'v) => 'v"},{"id":"Belt.Map.String.getExn","kind":"value","name":"getExn","docstrings":[],"signature":"let getExn: (t<'v>, key) => 'v"},{"id":"Belt.Map.String.checkInvariantInternal","kind":"value","name":"checkInvariantInternal","docstrings":["**raise** when invariant is not held"],"signature":"let checkInvariantInternal: t<'a> => unit"},{"id":"Belt.Map.String.remove","kind":"value","name":"remove","docstrings":["`remove m x` returns a map containing the same bindings as\n `m`, except for `x` which is unbound in the returned map."],"signature":"let remove: (t<'v>, key) => t<'v>"},{"id":"Belt.Map.String.removeMany","kind":"value","name":"removeMany","docstrings":[],"signature":"let removeMany: (t<'v>, array) => t<'v>"},{"id":"Belt.Map.String.set","kind":"value","name":"set","docstrings":["`set(m, x, y)` returns a map containing the same bindings as\n`m`, plus a binding of `x` to `y`. If `x` was already bound\nin `m`, its previous binding disappears."],"signature":"let set: (t<'v>, key, 'v) => t<'v>"},{"id":"Belt.Map.String.updateU","kind":"value","name":"updateU","docstrings":[],"signature":"let updateU: (t<'v>, key, (. option<'v>) => option<'v>) => t<'v>"},{"id":"Belt.Map.String.update","kind":"value","name":"update","docstrings":[],"signature":"let update: (t<'v>, key, option<'v> => option<'v>) => t<'v>"},{"id":"Belt.Map.String.mergeU","kind":"value","name":"mergeU","docstrings":[],"signature":"let mergeU: (\\n t<'v>,\\n t<'v2>,\\n (. key, option<'v>, option<'v2>) => option<'c>,\\n) => t<'c>"},{"id":"Belt.Map.String.merge","kind":"value","name":"merge","docstrings":["`merge(m1, m2, f)` computes a map whose keys is a subset of keys of `m1`\nand of `m2`. The presence of each such binding, and the corresponding\nvalue, is determined with the function `f`."],"signature":"let merge: (\\n t<'v>,\\n t<'v2>,\\n (key, option<'v>, option<'v2>) => option<'c>,\\n) => t<'c>"},{"id":"Belt.Map.String.mergeMany","kind":"value","name":"mergeMany","docstrings":[],"signature":"let mergeMany: (t<'v>, array<(key, 'v)>) => t<'v>"},{"id":"Belt.Map.String.keepU","kind":"value","name":"keepU","docstrings":[],"signature":"let keepU: (t<'v>, (. key, 'v) => bool) => t<'v>"},{"id":"Belt.Map.String.keep","kind":"value","name":"keep","docstrings":["`keep(m, p)` returns the map with all the bindings in `m` that satisfy predicate\n`p`."],"signature":"let keep: (t<'v>, (key, 'v) => bool) => t<'v>"},{"id":"Belt.Map.String.partitionU","kind":"value","name":"partitionU","docstrings":[],"signature":"let partitionU: (t<'v>, (. key, 'v) => bool) => (t<'v>, t<'v>)"},{"id":"Belt.Map.String.partition","kind":"value","name":"partition","docstrings":["`partition(m, p)` returns a pair of maps `(m1, m2)`, where `m1` contains all the\nbindings of `s` that satisfy the predicate `p`, and `m2` is the map with all the\nbindings of `s` that do not satisfy `p`."],"signature":"let partition: (t<'v>, (key, 'v) => bool) => (t<'v>, t<'v>)"},{"id":"Belt.Map.String.split","kind":"value","name":"split","docstrings":["`split(x, m)` returns a triple `(l, data, r)`, where `l` is the map with all the\nbindings of `m` whose key is strictly less than `x`; `r` is the map with all the\nbindings of `m` whose key is strictly greater than `x`; `data` is `None` if `m`\ncontains no binding for `x`, or `Some(v)` if `m` binds `v` to `x`."],"signature":"let split: (key, t<'v>) => (t<'v>, option<'v>, t<'v>)"},{"id":"Belt.Map.String.mapU","kind":"value","name":"mapU","docstrings":[],"signature":"let mapU: (t<'v>, (. 'v) => 'v2) => t<'v2>"},{"id":"Belt.Map.String.map","kind":"value","name":"map","docstrings":["`map(m, f)` returns a map with same domain as `m`, where the associated value `a`\nof all bindings of `m` has been replaced by the result of the application of `f`\nto `a`. The bindings are passed to `f` in increasing order with respect to the\nordering over the type of the keys."],"signature":"let map: (t<'v>, 'v => 'v2) => t<'v2>"},{"id":"Belt.Map.String.mapWithKeyU","kind":"value","name":"mapWithKeyU","docstrings":[],"signature":"let mapWithKeyU: (t<'v>, (. key, 'v) => 'v2) => t<'v2>"},{"id":"Belt.Map.String.mapWithKey","kind":"value","name":"mapWithKey","docstrings":[],"signature":"let mapWithKey: (t<'v>, (key, 'v) => 'v2) => t<'v2>"}]},"belt/map/int":{"id":"Belt.Map.Int","name":"Int","docstrings":["## Examples\n\n```rescript\ntype t<'key, 'value, 'identity>\ntype id<'key, 'id> = Belt_Id.comparable<'key, 'id>\n```"],"items":[{"id":"Belt.Map.Int.key","kind":"type","name":"key","docstrings":[],"signature":"type key = int"},{"id":"Belt.Map.Int.t","kind":"type","name":"t","docstrings":["The type of maps from type `key` to type `'value`."],"signature":"type t<'value>"},{"id":"Belt.Map.Int.empty","kind":"value","name":"empty","docstrings":[],"signature":"let empty: t<'v>"},{"id":"Belt.Map.Int.isEmpty","kind":"value","name":"isEmpty","docstrings":[],"signature":"let isEmpty: t<'v> => bool"},{"id":"Belt.Map.Int.has","kind":"value","name":"has","docstrings":[],"signature":"let has: (t<'v>, key) => bool"},{"id":"Belt.Map.Int.cmpU","kind":"value","name":"cmpU","docstrings":[],"signature":"let cmpU: (t<'v>, t<'v>, (. 'v, 'v) => int) => int"},{"id":"Belt.Map.Int.cmp","kind":"value","name":"cmp","docstrings":[],"signature":"let cmp: (t<'v>, t<'v>, ('v, 'v) => int) => int"},{"id":"Belt.Map.Int.eqU","kind":"value","name":"eqU","docstrings":[],"signature":"let eqU: (t<'v>, t<'v>, (. 'v, 'v) => bool) => bool"},{"id":"Belt.Map.Int.eq","kind":"value","name":"eq","docstrings":["`eq(m1, m2)` tests whether the maps `m1` and `m2` are\nequal, that is, contain equal keys and associate them with\nequal data."],"signature":"let eq: (t<'v>, t<'v>, ('v, 'v) => bool) => bool"},{"id":"Belt.Map.Int.findFirstByU","kind":"value","name":"findFirstByU","docstrings":[],"signature":"let findFirstByU: (t<'v>, (. key, 'v) => bool) => option<(key, 'v)>"},{"id":"Belt.Map.Int.findFirstBy","kind":"value","name":"findFirstBy","docstrings":["`findFirstBy(m, p)` uses funcion `f` to find the first key value pair\nto match predicate `p`.\n\n```rescript\nlet s0 = fromArray(~id=module(IntCmp), [(4, \"4\"), (1, \"1\"), (2, \"2,\"(3, \"\"))])\nfindFirstBy(s0, (k, v) => k == 4) == option((4, \"4\"))\n```"],"signature":"let findFirstBy: (t<'v>, (key, 'v) => bool) => option<(key, 'v)>"},{"id":"Belt.Map.Int.forEachU","kind":"value","name":"forEachU","docstrings":[],"signature":"let forEachU: (t<'v>, (. key, 'v) => unit) => unit"},{"id":"Belt.Map.Int.forEach","kind":"value","name":"forEach","docstrings":["`forEach(m, f)` applies `f` to all bindings in map `m`.\n`f` receives the key as first argument, and the associated value\nas second argument. The bindings are passed to `f` in increasing\norder with respect to the ordering over the type of the keys."],"signature":"let forEach: (t<'v>, (key, 'v) => unit) => unit"},{"id":"Belt.Map.Int.reduceU","kind":"value","name":"reduceU","docstrings":[],"signature":"let reduceU: (t<'v>, 'v2, (. 'v2, key, 'v) => 'v2) => 'v2"},{"id":"Belt.Map.Int.reduce","kind":"value","name":"reduce","docstrings":["`reduce(m, a, f)` computes `(f kN dN ... (f k1 d1 a)...)`,\nwhere `k1 ... kN` are the keys of all bindings in `m`\n(in increasing order), and `d1 ... dN` are the associated data."],"signature":"let reduce: (t<'v>, 'v2, ('v2, key, 'v) => 'v2) => 'v2"},{"id":"Belt.Map.Int.everyU","kind":"value","name":"everyU","docstrings":[],"signature":"let everyU: (t<'v>, (. key, 'v) => bool) => bool"},{"id":"Belt.Map.Int.every","kind":"value","name":"every","docstrings":["`every(m, p)` checks if all the bindings of the map satisfy the predicate `p`.\nOrder unspecified"],"signature":"let every: (t<'v>, (key, 'v) => bool) => bool"},{"id":"Belt.Map.Int.someU","kind":"value","name":"someU","docstrings":[],"signature":"let someU: (t<'v>, (. key, 'v) => bool) => bool"},{"id":"Belt.Map.Int.some","kind":"value","name":"some","docstrings":["`some(m, p)` checks if at least one binding of the map satisfy the predicate\n`p`. Order unspecified"],"signature":"let some: (t<'v>, (key, 'v) => bool) => bool"},{"id":"Belt.Map.Int.size","kind":"value","name":"size","docstrings":[],"signature":"let size: t<'v> => int"},{"id":"Belt.Map.Int.toList","kind":"value","name":"toList","docstrings":["In increasing order."],"signature":"let toList: t<'v> => list<(key, 'v)>"},{"id":"Belt.Map.Int.toArray","kind":"value","name":"toArray","docstrings":[],"signature":"let toArray: t<'v> => array<(key, 'v)>"},{"id":"Belt.Map.Int.fromArray","kind":"value","name":"fromArray","docstrings":[],"signature":"let fromArray: array<(key, 'v)> => t<'v>"},{"id":"Belt.Map.Int.keysToArray","kind":"value","name":"keysToArray","docstrings":[],"signature":"let keysToArray: t<'v> => array"},{"id":"Belt.Map.Int.valuesToArray","kind":"value","name":"valuesToArray","docstrings":[],"signature":"let valuesToArray: t<'v> => array<'v>"},{"id":"Belt.Map.Int.minKey","kind":"value","name":"minKey","docstrings":[],"signature":"let minKey: t<'a> => option"},{"id":"Belt.Map.Int.minKeyUndefined","kind":"value","name":"minKeyUndefined","docstrings":[],"signature":"let minKeyUndefined: t<'a> => Js.undefined"},{"id":"Belt.Map.Int.maxKey","kind":"value","name":"maxKey","docstrings":[],"signature":"let maxKey: t<'a> => option"},{"id":"Belt.Map.Int.maxKeyUndefined","kind":"value","name":"maxKeyUndefined","docstrings":[],"signature":"let maxKeyUndefined: t<'a> => Js.undefined"},{"id":"Belt.Map.Int.minimum","kind":"value","name":"minimum","docstrings":[],"signature":"let minimum: t<'v> => option<(key, 'v)>"},{"id":"Belt.Map.Int.minUndefined","kind":"value","name":"minUndefined","docstrings":[],"signature":"let minUndefined: t<'v> => Js.undefined<(key, 'v)>"},{"id":"Belt.Map.Int.maximum","kind":"value","name":"maximum","docstrings":[],"signature":"let maximum: t<'v> => option<(key, 'v)>"},{"id":"Belt.Map.Int.maxUndefined","kind":"value","name":"maxUndefined","docstrings":[],"signature":"let maxUndefined: t<'v> => Js.undefined<(key, 'v)>"},{"id":"Belt.Map.Int.get","kind":"value","name":"get","docstrings":[],"signature":"let get: (t<'v>, key) => option<'v>"},{"id":"Belt.Map.Int.getUndefined","kind":"value","name":"getUndefined","docstrings":[],"signature":"let getUndefined: (t<'v>, key) => Js.undefined<'v>"},{"id":"Belt.Map.Int.getWithDefault","kind":"value","name":"getWithDefault","docstrings":[],"signature":"let getWithDefault: (t<'v>, key, 'v) => 'v"},{"id":"Belt.Map.Int.getExn","kind":"value","name":"getExn","docstrings":[],"signature":"let getExn: (t<'v>, key) => 'v"},{"id":"Belt.Map.Int.checkInvariantInternal","kind":"value","name":"checkInvariantInternal","docstrings":["**raise** when invariant is not held"],"signature":"let checkInvariantInternal: t<'a> => unit"},{"id":"Belt.Map.Int.remove","kind":"value","name":"remove","docstrings":["`remove m x` returns a map containing the same bindings as\n `m`, except for `x` which is unbound in the returned map."],"signature":"let remove: (t<'v>, key) => t<'v>"},{"id":"Belt.Map.Int.removeMany","kind":"value","name":"removeMany","docstrings":[],"signature":"let removeMany: (t<'v>, array) => t<'v>"},{"id":"Belt.Map.Int.set","kind":"value","name":"set","docstrings":["`set(m, x, y)` returns a map containing the same bindings as\n`m`, plus a binding of `x` to `y`. If `x` was already bound\nin `m`, its previous binding disappears."],"signature":"let set: (t<'v>, key, 'v) => t<'v>"},{"id":"Belt.Map.Int.updateU","kind":"value","name":"updateU","docstrings":[],"signature":"let updateU: (t<'v>, key, (. option<'v>) => option<'v>) => t<'v>"},{"id":"Belt.Map.Int.update","kind":"value","name":"update","docstrings":[],"signature":"let update: (t<'v>, key, option<'v> => option<'v>) => t<'v>"},{"id":"Belt.Map.Int.mergeU","kind":"value","name":"mergeU","docstrings":[],"signature":"let mergeU: (\\n t<'v>,\\n t<'v2>,\\n (. key, option<'v>, option<'v2>) => option<'c>,\\n) => t<'c>"},{"id":"Belt.Map.Int.merge","kind":"value","name":"merge","docstrings":["`merge(m1, m2, f)` computes a map whose keys is a subset of keys of `m1`\nand of `m2`. The presence of each such binding, and the corresponding\nvalue, is determined with the function `f`."],"signature":"let merge: (\\n t<'v>,\\n t<'v2>,\\n (key, option<'v>, option<'v2>) => option<'c>,\\n) => t<'c>"},{"id":"Belt.Map.Int.mergeMany","kind":"value","name":"mergeMany","docstrings":[],"signature":"let mergeMany: (t<'v>, array<(key, 'v)>) => t<'v>"},{"id":"Belt.Map.Int.keepU","kind":"value","name":"keepU","docstrings":[],"signature":"let keepU: (t<'v>, (. key, 'v) => bool) => t<'v>"},{"id":"Belt.Map.Int.keep","kind":"value","name":"keep","docstrings":["`keep(m, p)` returns the map with all the bindings in `m` that satisfy predicate\n`p`."],"signature":"let keep: (t<'v>, (key, 'v) => bool) => t<'v>"},{"id":"Belt.Map.Int.partitionU","kind":"value","name":"partitionU","docstrings":[],"signature":"let partitionU: (t<'v>, (. key, 'v) => bool) => (t<'v>, t<'v>)"},{"id":"Belt.Map.Int.partition","kind":"value","name":"partition","docstrings":["`partition(m, p)` returns a pair of maps `(m1, m2)`, where `m1` contains all the\nbindings of `s` that satisfy the predicate `p`, and `m2` is the map with all the\nbindings of `s` that do not satisfy `p`."],"signature":"let partition: (t<'v>, (key, 'v) => bool) => (t<'v>, t<'v>)"},{"id":"Belt.Map.Int.split","kind":"value","name":"split","docstrings":["`split(x, m)` returns a triple `(l, data, r)`, where `l` is the map with all the\nbindings of `m` whose key is strictly less than `x`; `r` is the map with all the\nbindings of `m` whose key is strictly greater than `x`; `data` is `None` if `m`\ncontains no binding for `x`, or `Some(v)` if `m` binds `v` to `x`."],"signature":"let split: (key, t<'v>) => (t<'v>, option<'v>, t<'v>)"},{"id":"Belt.Map.Int.mapU","kind":"value","name":"mapU","docstrings":[],"signature":"let mapU: (t<'v>, (. 'v) => 'v2) => t<'v2>"},{"id":"Belt.Map.Int.map","kind":"value","name":"map","docstrings":["`map(m, f)` returns a map with same domain as `m`, where the associated value `a`\nof all bindings of `m` has been replaced by the result of the application of `f`\nto `a`. The bindings are passed to `f` in increasing order with respect to the\nordering over the type of the keys."],"signature":"let map: (t<'v>, 'v => 'v2) => t<'v2>"},{"id":"Belt.Map.Int.mapWithKeyU","kind":"value","name":"mapWithKeyU","docstrings":[],"signature":"let mapWithKeyU: (t<'v>, (. key, 'v) => 'v2) => t<'v2>"},{"id":"Belt.Map.Int.mapWithKey","kind":"value","name":"mapWithKey","docstrings":[],"signature":"let mapWithKey: (t<'v>, (key, 'v) => 'v2) => t<'v2>"}]},"belt/set/dict":{"id":"Belt.Set.Dict","name":"Dict","docstrings":["This module separates identity from data, it is a bit more verbose but slightly\nmore efficient due to the fact that there is no need to pack identity and data back\nafter each operation"],"items":[{"id":"Belt.Set.Dict.t","kind":"type","name":"t","docstrings":["`'value` is the element type\n\n`'identity` the identity of the collection"],"signature":"type t<'value, 'identity>"},{"id":"Belt.Set.Dict.cmp","kind":"type","name":"cmp","docstrings":["Type of compare function."],"signature":"type cmp<'value, 'id> = Belt_Id.cmp<'value, 'id>"},{"id":"Belt.Set.Dict.empty","kind":"value","name":"empty","docstrings":["## Examples\n\n```rescript\nlet s0 = Belt.Set.Dict.empty\n```"],"signature":"let empty: t<'value, 'id>"},{"id":"Belt.Set.Dict.fromArray","kind":"value","name":"fromArray","docstrings":["Creates new set from array of elements.\n\n## Examples\n\n```rescript\nmodule IntCmp = Belt.Id.MakeComparable({\n type t = int\n let cmp = Pervasives.compare\n})\n\nlet s0 = Belt.Set.Dict.fromArray([1, 3, 2, 4], ~cmp=IntCmp.cmp)\n\ns0->Belt.Set.Dict.toArray /* [1, 2, 3, 4] */\n```"],"signature":"let fromArray: (array<'value>, ~cmp: cmp<'value, 'id>) => t<'value, 'id>"},{"id":"Belt.Set.Dict.fromSortedArrayUnsafe","kind":"value","name":"fromSortedArrayUnsafe","docstrings":["The same as [fromArray][#fromarray] except it is after assuming the input array\nis already sorted."],"signature":"let fromSortedArrayUnsafe: array<'value> => t<'value, 'id>"},{"id":"Belt.Set.Dict.isEmpty","kind":"value","name":"isEmpty","docstrings":["Checks if set is empty.\n\n## Examples\n\n```rescript\nmodule IntCmp = Belt.Id.MakeComparable({\n type t = int\n let cmp = Pervasives.compare\n})\n\nlet empty = Belt.Set.Dict.fromArray([], ~cmp=IntCmp.cmp)\nlet notEmpty = Belt.Set.Dict.fromArray([1], ~cmp=IntCmp.cmp)\n\nBelt.Set.Dict.isEmpty(empty) /* true */\nBelt.Set.Dict.isEmpty(notEmpty) /* false */\n```"],"signature":"let isEmpty: t<'a, 'b> => bool"},{"id":"Belt.Set.Dict.has","kind":"value","name":"has","docstrings":["Checks if an element exists in the set.\n\n## Examples\n\n```rescript\nmodule IntCmp = Belt.Id.MakeComparable({\n type t = int\n let cmp = Pervasives.compare\n})\n\nlet set = Belt.Set.Dict.fromArray([1, 4, 2, 5], ~cmp=IntCmp.cmp)\n\nset->Belt.Set.Dict.has(3, ~cmp=IntCmp.cmp) /* false */\nset->Belt.Set.Dict.has(1, ~cmp=IntCmp.cmp) /* true */\n```"],"signature":"let has: (t<'value, 'id>, 'value, ~cmp: cmp<'value, 'id>) => bool"},{"id":"Belt.Set.Dict.add","kind":"value","name":"add","docstrings":["Adds element to set. If element existed in set, value is unchanged.\n\n## Examples\n\n```rescript\nmodule IntCmp = Belt.Id.MakeComparable({\n type t = int\n let cmp = Pervasives.compare\n})\n\nlet s0 = Belt.Set.Dict.empty\nlet s1 = s0->Belt.Set.Dict.add(1, ~cmp=IntCmp.cmp)\nlet s2 = s1->Belt.Set.Dict.add(2, ~cmp=IntCmp.cmp)\nlet s3 = s2->Belt.Set.Dict.add(2, ~cmp=IntCmp.cmp)\ns0->Belt.Set.Dict.toArray /* [] */\ns1->Belt.Set.Dict.toArray /* [1] */\ns2->Belt.Set.Dict.toArray /* [1, 2] */\ns3->Belt.Set.Dict.toArray /* [1,2 ] */\ns2 == s3 /* true */\n```"],"signature":"let add: (\\n t<'value, 'id>,\\n 'value,\\n ~cmp: cmp<'value, 'id>,\\n) => t<'value, 'id>"},{"id":"Belt.Set.Dict.mergeMany","kind":"value","name":"mergeMany","docstrings":["Adds each element of array to set. Unlike [add](#add), the reference of return value might be changed even if all values in array already exist in set\n\n## Examples\n\n```rescript\nmodule IntCmp = Belt.Id.MakeComparable({\n type t = int\n let cmp = Pervasives.compare\n})\n\nlet set = Belt.Set.Dict.empty\n\nlet newSet = set->Belt.Set.Dict.mergeMany([5, 4, 3, 2, 1], ~cmp=IntCmp.cmp)\nnewSet->Belt.Set.Dict.toArray /* [1, 2, 3, 4, 5] */\n```"],"signature":"let mergeMany: (\\n t<'value, 'id>,\\n array<'value>,\\n ~cmp: cmp<'value, 'id>,\\n) => t<'value, 'id>"},{"id":"Belt.Set.Dict.remove","kind":"value","name":"remove","docstrings":["Removes element from set. If element did not exist in set, value is unchanged.\n\n## Examples\n\n```rescript\nmodule IntCmp = Belt.Id.MakeComparable({\n type t = int\n let cmp = Pervasives.compare\n})\n\nlet s0 = Belt.Set.Dict.fromArray([2, 3, 1, 4, 5], ~cmp=IntCmp.cmp)\nlet s1 = s0->Belt.Set.Dict.remove(1, ~cmp=IntCmp.cmp)\nlet s2 = s1->Belt.Set.Dict.remove(3, ~cmp=IntCmp.cmp)\nlet s3 = s2->Belt.Set.Dict.remove(3, ~cmp=IntCmp.cmp)\n\ns1->Belt.Set.Dict.toArray /* [2,3,4,5] */\ns2->Belt.Set.Dict.toArray /* [2,4,5] */\ns2 == s3 /* true */\n```"],"signature":"let remove: (\\n t<'value, 'id>,\\n 'value,\\n ~cmp: cmp<'value, 'id>,\\n) => t<'value, 'id>"},{"id":"Belt.Set.Dict.removeMany","kind":"value","name":"removeMany","docstrings":["Removes each element of array from set. Unlike [remove](#remove), the reference of return value might be changed even if any values in array not existed in set.\n\n## Examples\n\n```rescript\nmodule IntCmp = Belt.Id.MakeComparable({\n type t = int\n let cmp = Pervasives.compare\n})\n\nlet set = Belt.Set.Dict.fromArray([1, 2, 3, 4], ~cmp=IntCmp.cmp)\n\nlet newSet = set->Belt.Set.Dict.removeMany([5, 4, 3, 2, 1], ~cmp=IntCmp.cmp)\nnewSet->Belt.Set.Dict.toArray /* [] */\n```"],"signature":"let removeMany: (\\n t<'value, 'id>,\\n array<'value>,\\n ~cmp: cmp<'value, 'id>,\\n) => t<'value, 'id>"},{"id":"Belt.Set.Dict.union","kind":"value","name":"union","docstrings":["Returns union of two sets.\n\n## Examples\n\n```rescript\nmodule IntCmp = Belt.Id.MakeComparable({\n type t = int\n let cmp = Pervasives.compare\n})\n\nlet s0 = Belt.Set.Dict.fromArray([5, 2, 3, 5, 6], ~cmp=IntCmp.cmp)\nlet s1 = Belt.Set.Dict.fromArray([5, 2, 3, 1, 5, 4], ~cmp=IntCmp.cmp)\nlet union = Belt.Set.Dict.union(s0, s1, ~cmp=IntCmp.cmp)\nunion->Belt.Set.Dict.toArray /* [1,2,3,4,5,6] */\n```"],"signature":"let union: (\\n t<'value, 'id>,\\n t<'value, 'id>,\\n ~cmp: cmp<'value, 'id>,\\n) => t<'value, 'id>"},{"id":"Belt.Set.Dict.intersect","kind":"value","name":"intersect","docstrings":["Returns intersection of two sets.\n\n## Examples\n\n```rescript\nmodule IntCmp = Belt.Id.MakeComparable({\n type t = int\n let cmp = Pervasives.compare\n})\n\nlet s0 = Belt.Set.Dict.fromArray([5, 2, 3, 5, 6], ~cmp=IntCmp.cmp)\nlet s1 = Belt.Set.Dict.fromArray([5, 2, 3, 1, 5, 4], ~cmp=IntCmp.cmp)\nlet intersect = Belt.Set.Dict.intersect(s0, s1, ~cmp=IntCmp.cmp)\nintersect->Belt.Set.Dict.toArray /* [2,3,5] */\n```"],"signature":"let intersect: (\\n t<'value, 'id>,\\n t<'value, 'id>,\\n ~cmp: cmp<'value, 'id>,\\n) => t<'value, 'id>"},{"id":"Belt.Set.Dict.diff","kind":"value","name":"diff","docstrings":["Returns elements from first set, not existing in second set.\n\n## Examples\n\n```rescript\nmodule IntCmp = Belt.Id.MakeComparable({\n type t = int\n let cmp = Pervasives.compare\n})\n\nlet s0 = Belt.Set.Dict.fromArray([5, 2, 3, 5, 6], ~cmp=IntCmp.cmp)\nlet s1 = Belt.Set.Dict.fromArray([5, 2, 3, 1, 5, 4], ~cmp=IntCmp.cmp)\n\nlet diff1 = Belt.Set.Dict.diff(s0, s1, ~cmp=IntCmp.cmp)\nlet diff2 = Belt.Set.Dict.diff(s1, s0, ~cmp=IntCmp.cmp)\n\ndiff1->Belt.Set.Dict.toArray /* [6] */\ndiff2->Belt.Set.Dict.toArray /* [1,4] */\n```"],"signature":"let diff: (\\n t<'value, 'id>,\\n t<'value, 'id>,\\n ~cmp: cmp<'value, 'id>,\\n) => t<'value, 'id>"},{"id":"Belt.Set.Dict.subset","kind":"value","name":"subset","docstrings":["Checks if second set is subset of first set.\n\n## Examples\n\n```rescript\nmodule IntCmp = Belt.Id.MakeComparable({\n type t = int\n let cmp = Pervasives.compare\n})\n\nlet s0 = Belt.Set.Dict.fromArray([5, 2, 3, 5, 6], ~cmp=IntCmp.cmp)\nlet s1 = Belt.Set.Dict.fromArray([5, 2, 3, 1, 5, 4], ~cmp=IntCmp.cmp)\nlet s2 = Belt.Set.Dict.intersect(s0, s1, ~cmp=IntCmp.cmp)\nBelt.Set.Dict.subset(s2, s0, ~cmp=IntCmp.cmp) /* true */\nBelt.Set.Dict.subset(s2, s1, ~cmp=IntCmp.cmp) /* true */\nBelt.Set.Dict.subset(s1, s0, ~cmp=IntCmp.cmp) /* false */\n```"],"signature":"let subset: (\\n t<'value, 'id>,\\n t<'value, 'id>,\\n ~cmp: cmp<'value, 'id>,\\n) => bool"},{"id":"Belt.Set.Dict.cmp","kind":"value","name":"cmp","docstrings":["Total ordering between sets. Can be used as the ordering function for doing sets\nof sets. It compares size first and then iterates over each element following the\norder of elements."],"signature":"let cmp: (\\n t<'value, 'id>,\\n t<'value, 'id>,\\n ~cmp: cmp<'value, 'id>,\\n) => int"},{"id":"Belt.Set.Dict.eq","kind":"value","name":"eq","docstrings":["Checks if two sets are equal.\n\n## Examples\n\n```rescript\nmodule IntCmp = Belt.Id.MakeComparable({\n type t = int\n let cmp = Pervasives.compare\n})\n\nlet s0 = Belt.Set.Dict.fromArray([5, 2, 3], ~cmp=IntCmp.cmp)\nlet s1 = Belt.Set.Dict.fromArray([3, 2, 5], ~cmp=IntCmp.cmp)\n\nBelt.Set.Dict.eq(s0, s1, ~cmp=IntCmp.cmp) /* true */\n```"],"signature":"let eq: (\\n t<'value, 'id>,\\n t<'value, 'id>,\\n ~cmp: cmp<'value, 'id>,\\n) => bool"},{"id":"Belt.Set.Dict.forEachU","kind":"value","name":"forEachU","docstrings":["Same as [forEach](##forEach) but takes uncurried functon."],"signature":"let forEachU: (t<'value, 'id>, (. 'value) => unit) => unit"},{"id":"Belt.Set.Dict.forEach","kind":"value","name":"forEach","docstrings":["Applies function `f` in turn to all elements of set in increasing order.\n\n## Examples\n\n```rescript\nmodule IntCmp = Belt.Id.MakeComparable({\n type t = int\n let cmp = Pervasives.compare\n})\n\nlet s0 = Belt.Set.Dict.fromArray([5, 2, 3, 5, 6], ~cmp=IntCmp.cmp)\nlet acc = ref(list{})\ns0->Belt.Set.Dict.forEach(x => acc := Belt.List.add(acc.contents, x))\nacc /* [6,5,3,2] */\n```"],"signature":"let forEach: (t<'value, 'id>, 'value => unit) => unit"},{"id":"Belt.Set.Dict.reduceU","kind":"value","name":"reduceU","docstrings":[],"signature":"let reduceU: (t<'value, 'id>, 'a, (. 'a, 'value) => 'a) => 'a"},{"id":"Belt.Set.Dict.reduce","kind":"value","name":"reduce","docstrings":["Applies function `f` to each element of set in increasing order. Function `f` has two parameters: the item from the set and an “accumulator”, which starts with a value of `initialValue`. `reduce` returns the final value of the accumulator.\n\n## Examples\n\n```rescript\nmodule IntCmp = Belt.Id.MakeComparable({\n type t = int\n let cmp = Pervasives.compare\n})\n\nlet s0 = Belt.Set.Dict.fromArray([5, 2, 3, 5, 6], ~cmp=IntCmp.cmp)\ns0->Belt.Set.Dict.reduce(list{}, (acc, element) => acc->Belt.List.add(element)) /* [6,5,3,2] */\n```"],"signature":"let reduce: (t<'value, 'id>, 'a, ('a, 'value) => 'a) => 'a"},{"id":"Belt.Set.Dict.everyU","kind":"value","name":"everyU","docstrings":[],"signature":"let everyU: (t<'value, 'id>, (. 'value) => bool) => bool"},{"id":"Belt.Set.Dict.every","kind":"value","name":"every","docstrings":["Checks if all elements of the set satisfy the predicate. Order unspecified.\n\n## Examples\n\n```rescript\nmodule IntCmp = Belt.Id.MakeComparable({\n type t = int\n let cmp = Pervasives.compare\n})\n\nlet isEven = x => mod(x, 2) == 0\n\nlet s0 = Belt.Set.Dict.fromArray([2, 4, 6, 8], ~cmp=IntCmp.cmp)\ns0->Belt.Set.Dict.every(isEven) /* true */\n```"],"signature":"let every: (t<'value, 'id>, 'value => bool) => bool"},{"id":"Belt.Set.Dict.someU","kind":"value","name":"someU","docstrings":[],"signature":"let someU: (t<'value, 'id>, (. 'value) => bool) => bool"},{"id":"Belt.Set.Dict.some","kind":"value","name":"some","docstrings":["Checks if at least one element of the set satisfies the predicate.\n\n## Examples\n\n```rescript\nmodule IntCmp = Belt.Id.MakeComparable({\n type t = int\n let cmp = Pervasives.compare\n})\n\nlet isOdd = x => mod(x, 2) != 0\n\nlet s0 = Belt.Set.Dict.fromArray([1, 2, 4, 6, 8], ~cmp=IntCmp.cmp)\ns0->Belt.Set.Dict.some(isOdd) /* true */\n```"],"signature":"let some: (t<'value, 'id>, 'value => bool) => bool"},{"id":"Belt.Set.Dict.keepU","kind":"value","name":"keepU","docstrings":[],"signature":"let keepU: (t<'value, 'id>, (. 'value) => bool) => t<'value, 'id>"},{"id":"Belt.Set.Dict.keep","kind":"value","name":"keep","docstrings":["Returns the set of all elements that satisfy the predicate.\n\n## Examples\n\n```rescript\nmodule IntCmp = Belt.Id.MakeComparable({\n type t = int\n let cmp = Pervasives.compare\n})\n\nlet isEven = x => mod(x, 2) == 0\n\nlet s0 = Belt.Set.Dict.fromArray([1, 2, 3, 4, 5], ~cmp=IntCmp.cmp)\nlet s1 = s0->Belt.Set.Dict.keep(isEven)\n\ns1->Belt.Set.Dict.toArray /* [2,4] */\n```"],"signature":"let keep: (t<'value, 'id>, 'value => bool) => t<'value, 'id>"},{"id":"Belt.Set.Dict.partitionU","kind":"value","name":"partitionU","docstrings":[],"signature":"let partitionU: (\\n t<'value, 'id>,\\n (. 'value) => bool,\\n) => (t<'value, 'id>, t<'value, 'id>)"},{"id":"Belt.Set.Dict.partition","kind":"value","name":"partition","docstrings":["Returns a pair of sets, where first is the set of all the elements of set that satisfy the predicate, and second is the set of all the elements of set that do not satisfy the predicate.\n\n## Examples\n\n```rescript\nmodule IntCmp = Belt.Id.MakeComparable({\n type t = int\n let cmp = Pervasives.compare\n})\n\nlet isOdd = x => mod(x, 2) != 0\n\nlet s0 = Belt.Set.Dict.fromArray([1, 2, 3, 4, 5], ~cmp=IntCmp.cmp)\nlet (s1, s2) = s0->Belt.Set.Dict.partition(isOdd)\n\ns1->Belt.Set.Dict.toArray /* [1,3,5] */\ns2->Belt.Set.Dict.toArray /* [2,4] */\n```"],"signature":"let partition: (\\n t<'value, 'id>,\\n 'value => bool,\\n) => (t<'value, 'id>, t<'value, 'id>)"},{"id":"Belt.Set.Dict.size","kind":"value","name":"size","docstrings":["Returns size of the set.\n\n## Examples\n\n```rescript\nmodule IntCmp = Belt.Id.MakeComparable({\n type t = int\n let cmp = Pervasives.compare\n})\n\nlet s0 = Belt.Set.Dict.fromArray([1, 2, 3, 4], ~cmp=IntCmp.cmp)\n\ns0->Belt.Set.Dict.size /* 4 */\n```"],"signature":"let size: t<'value, 'id> => int"},{"id":"Belt.Set.Dict.toList","kind":"value","name":"toList","docstrings":["Returns list of ordered set elements.\n\n## Examples\n\n```rescript\nmodule IntCmp = Belt.Id.MakeComparable({\n type t = int\n let cmp = Pervasives.compare\n})\n\nlet s0 = Belt.Set.Dict.fromArray([3, 2, 1, 5], ~cmp=IntCmp.cmp)\n\ns0->Belt.Set.Dict.toList /* [1,2,3,5] */\n```"],"signature":"let toList: t<'value, 'id> => list<'value>"},{"id":"Belt.Set.Dict.toArray","kind":"value","name":"toArray","docstrings":["Returns array of ordered set elements.\n\n## Examples\n\n```rescript\nmodule IntCmp = Belt.Id.MakeComparable({\n type t = int\n let cmp = Pervasives.compare\n})\n\nlet s0 = Belt.Set.Dict.fromArray([3, 2, 1, 5], ~cmp=IntCmp.cmp)\n\ns0->Belt.Set.Dict.toArray /* [1,2,3,5] */\n```"],"signature":"let toArray: t<'value, 'id> => array<'value>"},{"id":"Belt.Set.Dict.minimum","kind":"value","name":"minimum","docstrings":["Returns minimum value of the collection. `None` if collection is empty.\n\n## Examples\n\n```rescript\nmodule IntCmp = Belt.Id.MakeComparable({\n type t = int\n let cmp = Pervasives.compare\n})\n\nlet s0 = Belt.Set.Dict.empty\nlet s1 = Belt.Set.Dict.fromArray([3, 2, 1, 5], ~cmp=IntCmp.cmp)\n\ns0->Belt.Set.Dict.minimum /* None */\ns1->Belt.Set.Dict.minimum /* Some(1) */\n```"],"signature":"let minimum: t<'value, 'id> => option<'value>"},{"id":"Belt.Set.Dict.minUndefined","kind":"value","name":"minUndefined","docstrings":["Returns minimum value of the collection. `undefined` if collection is empty.\n\n## Examples\n\n```rescript\nmodule IntCmp = Belt.Id.MakeComparable({\n type t = int\n let cmp = Pervasives.compare\n})\n\nlet s0 = Belt.Set.Dict.empty\nlet s1 = Belt.Set.Dict.fromArray([3, 2, 1, 5], ~cmp=IntCmp.cmp)\n\ns0->Belt.Set.Dict.minUndefined /* undefined */\ns1->Belt.Set.Dict.minUndefined /* 1 */\n```"],"signature":"let minUndefined: t<'value, 'id> => Js.undefined<'value>"},{"id":"Belt.Set.Dict.maximum","kind":"value","name":"maximum","docstrings":["Returns maximum value of the collection. `None` if collection is empty.\n\n## Examples\n\n```rescript\nmodule IntCmp = Belt.Id.MakeComparable({\n type t = int\n let cmp = Pervasives.compare\n})\n\nlet s0 = Belt.Set.Dict.empty\nlet s1 = Belt.Set.Dict.fromArray([3, 2, 1, 5], ~cmp=IntCmp.cmp)\n\ns0->Belt.Set.Dict.maximum /* None */\ns1->Belt.Set.Dict.maximum /* Some(5) */\n```"],"signature":"let maximum: t<'value, 'id> => option<'value>"},{"id":"Belt.Set.Dict.maxUndefined","kind":"value","name":"maxUndefined","docstrings":["Returns maximum value of the collection. `undefined` if collection is empty.\n\n## Examples\n\n```rescript\nmodule IntCmp = Belt.Id.MakeComparable({\n type t = int\n let cmp = Pervasives.compare\n})\n\nlet s0 = Belt.Set.Dict.empty\nlet s1 = Belt.Set.Dict.fromArray([3, 2, 1, 5], ~cmp=IntCmp.cmp)\n\ns0->Belt.Set.Dict.maxUndefined /* undefined */\ns1->Belt.Set.Dict.maxUndefined /* 5 */\n```"],"signature":"let maxUndefined: t<'value, 'id> => Js.undefined<'value>"},{"id":"Belt.Set.Dict.get","kind":"value","name":"get","docstrings":["Returns the reference of the value which is equivalent to value using the comparator\nspecifiecd by this collection. Returns `None` if element does not exist.\n\n## Examples\n\n```rescript\nmodule IntCmp = Belt.Id.MakeComparable({\n type t = int\n let cmp = Pervasives.compare\n})\n\nlet s0 = Belt.Set.Dict.fromArray([1, 2, 3, 4, 5], ~cmp=IntCmp.cmp)\n\ns0->Belt.Set.Dict.get(3, ~cmp=IntCmp.cmp) /* Some(3) */\ns0->Belt.Set.Dict.get(20, ~cmp=IntCmp.cmp) /* None */\n```"],"signature":"let get: (\\n t<'value, 'id>,\\n 'value,\\n ~cmp: cmp<'value, 'id>,\\n) => option<'value>"},{"id":"Belt.Set.Dict.getUndefined","kind":"value","name":"getUndefined","docstrings":["Same as [get](#get) but returns `undefined` when element does not exist."],"signature":"let getUndefined: (\\n t<'value, 'id>,\\n 'value,\\n ~cmp: cmp<'value, 'id>,\\n) => Js.undefined<'value>"},{"id":"Belt.Set.Dict.getExn","kind":"value","name":"getExn","docstrings":["Same as [get](#get) but raise when element does not exist."],"signature":"let getExn: (t<'value, 'id>, 'value, ~cmp: cmp<'value, 'id>) => 'value"},{"id":"Belt.Set.Dict.split","kind":"value","name":"split","docstrings":["Returns a tuple `((smaller, larger), present)`, `present` is true when element exist in set.\n\n## Examples\n\n```rescript\nmodule IntCmp = Belt.Id.MakeComparable({\n type t = int\n let cmp = Pervasives.compare\n})\n\nlet s0 = Belt.Set.Dict.fromArray([1, 2, 3, 4, 5], ~cmp=IntCmp.cmp)\n\nlet ((smaller, larger), present) = s0->Belt.Set.Dict.split(3, ~cmp=IntCmp.cmp)\n\npresent /* true */\nsmaller->Belt.Set.Dict.toArray /* [1,2] */\nlarger->Belt.Set.Dict.toArray /* [4,5] */\n```"],"signature":"let split: (\\n t<'value, 'id>,\\n 'value,\\n ~cmp: cmp<'value, 'id>,\\n) => ((t<'value, 'id>, t<'value, 'id>), bool)"},{"id":"Belt.Set.Dict.checkInvariantInternal","kind":"value","name":"checkInvariantInternal","docstrings":["**raise** when invariant is not held"],"signature":"let checkInvariantInternal: t<'a, 'b> => unit"}]},"belt/set/string":{"id":"Belt.Set.String","name":"String","docstrings":["Specialized when value type is `string`, more efficient than the generic type,\nits compare behavior is fixed using the built-in comparison"],"items":[{"id":"Belt.Set.String.value","kind":"type","name":"value","docstrings":["The type of the set elements."],"signature":"type value = string"},{"id":"Belt.Set.String.t","kind":"type","name":"t","docstrings":["The type of sets."],"signature":"type t"},{"id":"Belt.Set.String.empty","kind":"value","name":"empty","docstrings":[],"signature":"let empty: t"},{"id":"Belt.Set.String.fromArray","kind":"value","name":"fromArray","docstrings":[],"signature":"let fromArray: array => t"},{"id":"Belt.Set.String.fromSortedArrayUnsafe","kind":"value","name":"fromSortedArrayUnsafe","docstrings":[],"signature":"let fromSortedArrayUnsafe: array => t"},{"id":"Belt.Set.String.isEmpty","kind":"value","name":"isEmpty","docstrings":[],"signature":"let isEmpty: t => bool"},{"id":"Belt.Set.String.has","kind":"value","name":"has","docstrings":[],"signature":"let has: (t, value) => bool"},{"id":"Belt.Set.String.add","kind":"value","name":"add","docstrings":["`add(s, x)` If `x` was already in `s`, `s` is returned unchanged."],"signature":"let add: (t, value) => t"},{"id":"Belt.Set.String.mergeMany","kind":"value","name":"mergeMany","docstrings":[],"signature":"let mergeMany: (t, array) => t"},{"id":"Belt.Set.String.remove","kind":"value","name":"remove","docstrings":["`remove(m, x)` If `x` was not in `m`, `m` is returned reference unchanged."],"signature":"let remove: (t, value) => t"},{"id":"Belt.Set.String.removeMany","kind":"value","name":"removeMany","docstrings":[],"signature":"let removeMany: (t, array) => t"},{"id":"Belt.Set.String.union","kind":"value","name":"union","docstrings":[],"signature":"let union: (t, t) => t"},{"id":"Belt.Set.String.intersect","kind":"value","name":"intersect","docstrings":[],"signature":"let intersect: (t, t) => t"},{"id":"Belt.Set.String.diff","kind":"value","name":"diff","docstrings":[],"signature":"let diff: (t, t) => t"},{"id":"Belt.Set.String.subset","kind":"value","name":"subset","docstrings":["`subset(s1, s2)` tests whether the set `s1` is a subset of the set `s2`."],"signature":"let subset: (t, t) => bool"},{"id":"Belt.Set.String.cmp","kind":"value","name":"cmp","docstrings":["Total ordering between sets. Can be used as the ordering function for doing sets\nof sets."],"signature":"let cmp: (t, t) => int"},{"id":"Belt.Set.String.eq","kind":"value","name":"eq","docstrings":["`eq(s1, s2)` tests whether the sets `s1` and `s2` are equal, that is, contain\nequal elements."],"signature":"let eq: (t, t) => bool"},{"id":"Belt.Set.String.forEachU","kind":"value","name":"forEachU","docstrings":[],"signature":"let forEachU: (t, (. value) => unit) => unit"},{"id":"Belt.Set.String.forEach","kind":"value","name":"forEach","docstrings":["`forEach(s, f)` applies `f` in turn to all elements of `s`. In increasing order"],"signature":"let forEach: (t, value => unit) => unit"},{"id":"Belt.Set.String.reduceU","kind":"value","name":"reduceU","docstrings":[],"signature":"let reduceU: (t, 'a, (. 'a, value) => 'a) => 'a"},{"id":"Belt.Set.String.reduce","kind":"value","name":"reduce","docstrings":["Iterate in increasing order."],"signature":"let reduce: (t, 'a, ('a, value) => 'a) => 'a"},{"id":"Belt.Set.String.everyU","kind":"value","name":"everyU","docstrings":[],"signature":"let everyU: (t, (. value) => bool) => bool"},{"id":"Belt.Set.String.every","kind":"value","name":"every","docstrings":["`every(p, s)` checks if all elements of the set satisfy the predicate `p`.\nOrder unspecified."],"signature":"let every: (t, value => bool) => bool"},{"id":"Belt.Set.String.someU","kind":"value","name":"someU","docstrings":[],"signature":"let someU: (t, (. value) => bool) => bool"},{"id":"Belt.Set.String.some","kind":"value","name":"some","docstrings":["`some(p, s)` checks if at least one element of the set satisfies the predicate\n`p`. Oder unspecified."],"signature":"let some: (t, value => bool) => bool"},{"id":"Belt.Set.String.keepU","kind":"value","name":"keepU","docstrings":[],"signature":"let keepU: (t, (. value) => bool) => t"},{"id":"Belt.Set.String.keep","kind":"value","name":"keep","docstrings":["`keep(p, s)` returns the set of all elements in `s` that satisfy predicate `p`."],"signature":"let keep: (t, value => bool) => t"},{"id":"Belt.Set.String.partitionU","kind":"value","name":"partitionU","docstrings":[],"signature":"let partitionU: (t, (. value) => bool) => (t, t)"},{"id":"Belt.Set.String.partition","kind":"value","name":"partition","docstrings":["`partition(p, s)` returns a pair of sets `(s1, s2)`, where\n`s1` is the set of all the elements of `s` that satisfy the\npredicate `p`, and `s2` is the set of all the elements of\n`s` that do not satisfy `p`."],"signature":"let partition: (t, value => bool) => (t, t)"},{"id":"Belt.Set.String.size","kind":"value","name":"size","docstrings":[],"signature":"let size: t => int"},{"id":"Belt.Set.String.toList","kind":"value","name":"toList","docstrings":["In increasing order"],"signature":"let toList: t => list"},{"id":"Belt.Set.String.toArray","kind":"value","name":"toArray","docstrings":[],"signature":"let toArray: t => array"},{"id":"Belt.Set.String.minimum","kind":"value","name":"minimum","docstrings":[],"signature":"let minimum: t => option"},{"id":"Belt.Set.String.minUndefined","kind":"value","name":"minUndefined","docstrings":[],"signature":"let minUndefined: t => Js.undefined"},{"id":"Belt.Set.String.maximum","kind":"value","name":"maximum","docstrings":[],"signature":"let maximum: t => option"},{"id":"Belt.Set.String.maxUndefined","kind":"value","name":"maxUndefined","docstrings":[],"signature":"let maxUndefined: t => Js.undefined"},{"id":"Belt.Set.String.get","kind":"value","name":"get","docstrings":[],"signature":"let get: (t, value) => option"},{"id":"Belt.Set.String.getUndefined","kind":"value","name":"getUndefined","docstrings":[],"signature":"let getUndefined: (t, value) => Js.undefined"},{"id":"Belt.Set.String.getExn","kind":"value","name":"getExn","docstrings":[],"signature":"let getExn: (t, value) => value"},{"id":"Belt.Set.String.split","kind":"value","name":"split","docstrings":["`split(x, s)` returns a triple `(l, present, r)`, where\n`l` is the set of elements of `s` that are\nstrictly less than `x`;\n`r` is the set of elements of `s` that are\nstrictly greater than `x`;\n`present` is `false` if `s` contains no element equal to `x`,\nor `true` if `s` contains an element equal to `x`."],"signature":"let split: (t, value) => ((t, t), bool)"},{"id":"Belt.Set.String.checkInvariantInternal","kind":"value","name":"checkInvariantInternal","docstrings":["**raise** when invariant is not held"],"signature":"let checkInvariantInternal: t => unit"}]},"belt/set/int":{"id":"Belt.Set.Int","name":"Int","docstrings":["Specialized when value type is `int`, more efficient than the generic type, its\ncompare behavior is fixed using the built-in comparison"],"items":[{"id":"Belt.Set.Int.value","kind":"type","name":"value","docstrings":["The type of the set elements."],"signature":"type value = int"},{"id":"Belt.Set.Int.t","kind":"type","name":"t","docstrings":["The type of sets."],"signature":"type t"},{"id":"Belt.Set.Int.empty","kind":"value","name":"empty","docstrings":[],"signature":"let empty: t"},{"id":"Belt.Set.Int.fromArray","kind":"value","name":"fromArray","docstrings":[],"signature":"let fromArray: array => t"},{"id":"Belt.Set.Int.fromSortedArrayUnsafe","kind":"value","name":"fromSortedArrayUnsafe","docstrings":[],"signature":"let fromSortedArrayUnsafe: array => t"},{"id":"Belt.Set.Int.isEmpty","kind":"value","name":"isEmpty","docstrings":[],"signature":"let isEmpty: t => bool"},{"id":"Belt.Set.Int.has","kind":"value","name":"has","docstrings":[],"signature":"let has: (t, value) => bool"},{"id":"Belt.Set.Int.add","kind":"value","name":"add","docstrings":["`add(s, x)` if `x` was already in `s`, `s` is returned unchanged."],"signature":"let add: (t, value) => t"},{"id":"Belt.Set.Int.mergeMany","kind":"value","name":"mergeMany","docstrings":[],"signature":"let mergeMany: (t, array) => t"},{"id":"Belt.Set.Int.remove","kind":"value","name":"remove","docstrings":["`remove(m, x)` if `x` was not in `m`, `m` is returned reference unchanged."],"signature":"let remove: (t, value) => t"},{"id":"Belt.Set.Int.removeMany","kind":"value","name":"removeMany","docstrings":[],"signature":"let removeMany: (t, array) => t"},{"id":"Belt.Set.Int.union","kind":"value","name":"union","docstrings":[],"signature":"let union: (t, t) => t"},{"id":"Belt.Set.Int.intersect","kind":"value","name":"intersect","docstrings":[],"signature":"let intersect: (t, t) => t"},{"id":"Belt.Set.Int.diff","kind":"value","name":"diff","docstrings":[],"signature":"let diff: (t, t) => t"},{"id":"Belt.Set.Int.subset","kind":"value","name":"subset","docstrings":["`subset(s1, s2)` tests whether the set `s1` is a subset of the set `s2`."],"signature":"let subset: (t, t) => bool"},{"id":"Belt.Set.Int.cmp","kind":"value","name":"cmp","docstrings":["Total ordering between sets. Can be used as the ordering function for doing sets\nof sets."],"signature":"let cmp: (t, t) => int"},{"id":"Belt.Set.Int.eq","kind":"value","name":"eq","docstrings":["`eq(s1, s2)` tests whether the sets `s1` and `s2` are equal, that is, contain\nequal elements."],"signature":"let eq: (t, t) => bool"},{"id":"Belt.Set.Int.forEachU","kind":"value","name":"forEachU","docstrings":[],"signature":"let forEachU: (t, (. value) => unit) => unit"},{"id":"Belt.Set.Int.forEach","kind":"value","name":"forEach","docstrings":["`forEach(s, f)` applies `f` in turn to all elements of `s`. In increasing order"],"signature":"let forEach: (t, value => unit) => unit"},{"id":"Belt.Set.Int.reduceU","kind":"value","name":"reduceU","docstrings":[],"signature":"let reduceU: (t, 'a, (. 'a, value) => 'a) => 'a"},{"id":"Belt.Set.Int.reduce","kind":"value","name":"reduce","docstrings":["Iterate in increasing order."],"signature":"let reduce: (t, 'a, ('a, value) => 'a) => 'a"},{"id":"Belt.Set.Int.everyU","kind":"value","name":"everyU","docstrings":[],"signature":"let everyU: (t, (. value) => bool) => bool"},{"id":"Belt.Set.Int.every","kind":"value","name":"every","docstrings":["`every(p, s)` checks if all elements of the set satisfy the predicate `p`. Order\nunspecified."],"signature":"let every: (t, value => bool) => bool"},{"id":"Belt.Set.Int.someU","kind":"value","name":"someU","docstrings":[],"signature":"let someU: (t, (. value) => bool) => bool"},{"id":"Belt.Set.Int.some","kind":"value","name":"some","docstrings":["`some(p, s)` checks if at least one element of the set satisfies the predicate\n`p`. Oder unspecified."],"signature":"let some: (t, value => bool) => bool"},{"id":"Belt.Set.Int.keepU","kind":"value","name":"keepU","docstrings":[],"signature":"let keepU: (t, (. value) => bool) => t"},{"id":"Belt.Set.Int.keep","kind":"value","name":"keep","docstrings":["`keep(p, s)` returns the set of all elements in `s` that satisfy predicate `p`."],"signature":"let keep: (t, value => bool) => t"},{"id":"Belt.Set.Int.partitionU","kind":"value","name":"partitionU","docstrings":[],"signature":"let partitionU: (t, (. value) => bool) => (t, t)"},{"id":"Belt.Set.Int.partition","kind":"value","name":"partition","docstrings":["`partition(p, s)` returns a pair of sets `(s1, s2)`, where `s1` is the set of\nall the elements of `s` that satisfy the predicate `p`, and `s2` is the set of\nall the elements of `s` that do not satisfy `p`."],"signature":"let partition: (t, value => bool) => (t, t)"},{"id":"Belt.Set.Int.size","kind":"value","name":"size","docstrings":[],"signature":"let size: t => int"},{"id":"Belt.Set.Int.toList","kind":"value","name":"toList","docstrings":["In increasing order"],"signature":"let toList: t => list"},{"id":"Belt.Set.Int.toArray","kind":"value","name":"toArray","docstrings":[],"signature":"let toArray: t => array"},{"id":"Belt.Set.Int.minimum","kind":"value","name":"minimum","docstrings":[],"signature":"let minimum: t => option"},{"id":"Belt.Set.Int.minUndefined","kind":"value","name":"minUndefined","docstrings":[],"signature":"let minUndefined: t => Js.undefined"},{"id":"Belt.Set.Int.maximum","kind":"value","name":"maximum","docstrings":[],"signature":"let maximum: t => option"},{"id":"Belt.Set.Int.maxUndefined","kind":"value","name":"maxUndefined","docstrings":[],"signature":"let maxUndefined: t => Js.undefined"},{"id":"Belt.Set.Int.get","kind":"value","name":"get","docstrings":[],"signature":"let get: (t, value) => option"},{"id":"Belt.Set.Int.getUndefined","kind":"value","name":"getUndefined","docstrings":[],"signature":"let getUndefined: (t, value) => Js.undefined"},{"id":"Belt.Set.Int.getExn","kind":"value","name":"getExn","docstrings":[],"signature":"let getExn: (t, value) => value"},{"id":"Belt.Set.Int.split","kind":"value","name":"split","docstrings":["`split(x, s)` returns a triple `(l, present, r)`, where\n`l` is the set of elements of `s` that are\nstrictly less than `x`;\n`r` is the set of elements of `s` that are\nstrictly greater than `x`;\n`present` is `false` if `s` contains no element equal to `x`,\nor `true` if `s` contains an element equal to `x`."],"signature":"let split: (t, value) => ((t, t), bool)"},{"id":"Belt.Set.Int.checkInvariantInternal","kind":"value","name":"checkInvariantInternal","docstrings":["**raise** when invariant is not held"],"signature":"let checkInvariantInternal: t => unit"}]},"belt/sortarray/string":{"id":"Belt.SortArray.String","name":"String","docstrings":["Specalized when key type is `string`, more efficient than the generic type"],"items":[{"id":"Belt.SortArray.String.element","kind":"type","name":"element","docstrings":[],"signature":"type element = string"},{"id":"Belt.SortArray.String.strictlySortedLength","kind":"value","name":"strictlySortedLength","docstrings":["The same as [`Belt_SortArray.strictlySortedLength`]() except the comparator is fixed\n\n**return** `+n` means increasing order `-n` means negative order"],"signature":"let strictlySortedLength: array => int"},{"id":"Belt.SortArray.String.isSorted","kind":"value","name":"isSorted","docstrings":["`sorted(xs)` return true if `xs` is in non strict increasing order"],"signature":"let isSorted: array => bool"},{"id":"Belt.SortArray.String.stableSortInPlace","kind":"value","name":"stableSortInPlace","docstrings":["The same as [`Belt_SortArray.stableSortInPlaceBy`]() except the comparator is fixed"],"signature":"let stableSortInPlace: array => unit"},{"id":"Belt.SortArray.String.stableSort","kind":"value","name":"stableSort","docstrings":["The same as [`Belt_SortArray.stableSortBy`]() except the comparator is fixed"],"signature":"let stableSort: array => array"},{"id":"Belt.SortArray.String.binarySearch","kind":"value","name":"binarySearch","docstrings":["If value is not found and value is less than one or more elements in array,\nthe negative number returned is the bitwise complement of the index of the first element\nthat is larger than value.\n\nIf value is not found and value is greater than all elements in array,\nthe negative number returned is the bitwise complement of\n(the index of the last element plus 1)\n\nfor example, if `key` is smaller than all elements return `-1` since `lnot (-1) = 0`\nif `key` is larger than all elements return `- (len + 1)` since `lnot (-(len+1)) = len`"],"signature":"let binarySearch: (array, element) => int"},{"id":"Belt.SortArray.String.union","kind":"value","name":"union","docstrings":["`union(src, src1ofs, src1len, src2, src2ofs, src2len, dst, dstofs, cmp)` assume\n`src` and `src2` is strictly sorted. for equivalent elements, it is picked from\n`src` also assume that `dst` is large enough to store all elements"],"signature":"let union: (\\n array,\\n int,\\n int,\\n array,\\n int,\\n int,\\n array,\\n int,\\n) => int"},{"id":"Belt.SortArray.String.intersect","kind":"value","name":"intersect","docstrings":[],"signature":"let intersect: (\\n array,\\n int,\\n int,\\n array,\\n int,\\n int,\\n array,\\n int,\\n) => int"},{"id":"Belt.SortArray.String.diff","kind":"value","name":"diff","docstrings":[],"signature":"let diff: (\\n array,\\n int,\\n int,\\n array,\\n int,\\n int,\\n array,\\n int,\\n) => int"}]},"belt/sortarray/int":{"id":"Belt.SortArray.Int","name":"Int","docstrings":["Specalized when key type is `int`, more efficient than the generic type"],"items":[{"id":"Belt.SortArray.Int.element","kind":"type","name":"element","docstrings":[],"signature":"type element = int"},{"id":"Belt.SortArray.Int.strictlySortedLength","kind":"value","name":"strictlySortedLength","docstrings":["The same as [`Belt_SortArray.strictlySortedLength`]() except the comparator is fixed\n\n**return** `+n` means increasing order `-n` means negative order"],"signature":"let strictlySortedLength: array => int"},{"id":"Belt.SortArray.Int.isSorted","kind":"value","name":"isSorted","docstrings":["`sorted(xs)` return true if `xs` is in non strict increasing order"],"signature":"let isSorted: array => bool"},{"id":"Belt.SortArray.Int.stableSortInPlace","kind":"value","name":"stableSortInPlace","docstrings":["The same as [`Belt_SortArray.stableSortInPlaceBy`]() except the comparator is fixed"],"signature":"let stableSortInPlace: array => unit"},{"id":"Belt.SortArray.Int.stableSort","kind":"value","name":"stableSort","docstrings":["The same as [`Belt_SortArray.stableSortBy`]() except the comparator is fixed"],"signature":"let stableSort: array => array"},{"id":"Belt.SortArray.Int.binarySearch","kind":"value","name":"binarySearch","docstrings":["If value is not found and value is less than one or more elements in array,\nthe negative number returned is the bitwise complement of the index of the first element\nthat is larger than value.\n\nIf value is not found and value is greater than all elements in array,\nthe negative number returned is the bitwise complement of\n(the index of the last element plus 1)\n\nfor example, if `key` is smaller than all elements return `-1` since `lnot (-1) = 0`\nif `key` is larger than all elements return `- (len + 1)` since `lnot (-(len+1)) = len`"],"signature":"let binarySearch: (array, element) => int"},{"id":"Belt.SortArray.Int.union","kind":"value","name":"union","docstrings":["`union(src, src1ofs, src1len, src2, src2ofs, src2len, dst, dstofs, cmp)` assume\n`src` and `src2` is strictly sorted. for equivalent elements, it is picked from\n`src` also assume that `dst` is large enough to store all elements"],"signature":"let union: (\\n array,\\n int,\\n int,\\n array,\\n int,\\n int,\\n array,\\n int,\\n) => int"},{"id":"Belt.SortArray.Int.intersect","kind":"value","name":"intersect","docstrings":[],"signature":"let intersect: (\\n array,\\n int,\\n int,\\n array,\\n int,\\n int,\\n array,\\n int,\\n) => int"},{"id":"Belt.SortArray.Int.diff","kind":"value","name":"diff","docstrings":[],"signature":"let diff: (\\n array,\\n int,\\n int,\\n array,\\n int,\\n int,\\n array,\\n int,\\n) => int"}]},"belt/id/makehashable":{"id":"Belt.Id.MakeHashable","name":"MakeHashable","docstrings":[],"items":[{"id":"Belt.Id.MakeHashable.identity","kind":"type","name":"identity","docstrings":[],"signature":"type identity"},{"id":"Belt.Id.MakeHashable.t","kind":"type","name":"t","docstrings":[],"signature":"type t = M.t"},{"id":"Belt.Id.MakeHashable.hash","kind":"value","name":"hash","docstrings":[],"signature":"let hash: hash"},{"id":"Belt.Id.MakeHashable.eq","kind":"value","name":"eq","docstrings":[],"signature":"let eq: eq"}]},"belt/id/makehashableu":{"id":"Belt.Id.MakeHashableU","name":"MakeHashableU","docstrings":[],"items":[{"id":"Belt.Id.MakeHashableU.identity","kind":"type","name":"identity","docstrings":[],"signature":"type identity"},{"id":"Belt.Id.MakeHashableU.t","kind":"type","name":"t","docstrings":[],"signature":"type t = M.t"},{"id":"Belt.Id.MakeHashableU.hash","kind":"value","name":"hash","docstrings":[],"signature":"let hash: hash"},{"id":"Belt.Id.MakeHashableU.eq","kind":"value","name":"eq","docstrings":[],"signature":"let eq: eq"}]},"belt/id/makecomparable":{"id":"Belt.Id.MakeComparable","name":"MakeComparable","docstrings":[],"items":[{"id":"Belt.Id.MakeComparable.identity","kind":"type","name":"identity","docstrings":[],"signature":"type identity"},{"id":"Belt.Id.MakeComparable.t","kind":"type","name":"t","docstrings":[],"signature":"type t = M.t"},{"id":"Belt.Id.MakeComparable.cmp","kind":"value","name":"cmp","docstrings":[],"signature":"let cmp: cmp"}]},"belt/id/makecomparableu":{"id":"Belt.Id.MakeComparableU","name":"MakeComparableU","docstrings":[],"items":[{"id":"Belt.Id.MakeComparableU.identity","kind":"type","name":"identity","docstrings":[],"signature":"type identity"},{"id":"Belt.Id.MakeComparableU.t","kind":"type","name":"t","docstrings":[],"signature":"type t = M.t"},{"id":"Belt.Id.MakeComparableU.cmp","kind":"value","name":"cmp","docstrings":[],"signature":"let cmp: cmp"}]},"belt/float":{"id":"Belt.Float","name":"Float","docstrings":["[`Belt.Float`]()\n\n Utilities for Float."],"items":[{"id":"Belt.Float.toInt","kind":"value","name":"toInt","docstrings":["Converts a given `float` to an `int`.\n\n## Examples\n\n```rescript\nJs.log(Belt.Float.toInt(1.0) === 1) /* true */\n```"],"signature":"let toInt: float => int"},{"id":"Belt.Float.fromInt","kind":"value","name":"fromInt","docstrings":["Converts a given `int` to a `float`.\n\n## Examples\n\n```rescript\nJs.log(Belt.Float.fromInt(1) === 1.0) /* true */\n```"],"signature":"let fromInt: int => float"},{"id":"Belt.Float.fromString","kind":"value","name":"fromString","docstrings":["Converts a given `string` to a `float`. Returns `Some(float)` when the input is a number, `None` otherwise.\n\n## Examples\n\n```rescript\nJs.log(Belt.Float.fromString(\"1.0\") === Some(1.0)) /* true */\n```"],"signature":"let fromString: string => option"},{"id":"Belt.Float.toString","kind":"value","name":"toString","docstrings":["Converts a given `float` to a `string`. Uses the JavaScript `String` constructor under the hood.\n\n## Examples\n\n```rescript\nJs.log(Belt.Float.toString(1.0) === \"1.0\") /* true */\n```"],"signature":"let toString: float => string"},{"id":"Belt.Float.+","kind":"value","name":"+","docstrings":["Addition of two `float` values.\nCan be opened in a module to avoid dot-notation (`+.`), however this yields a shadow warning (Warning number 44) in the default configuration.\n\n## Examples\n\n```rescript\nopen Belt.Float\nJs.log(2.0 + 2.0 === 4.0) /* true */\n```"],"signature":"let +: (float, float) => float"},{"id":"Belt.Float.-","kind":"value","name":"-","docstrings":["Subtraction of two `float` values.\nCan be opened in a module to avoid dot-notation (`-.`), however this yields a shadow warning (Warning number 44) in the default configuration.\n\n## Examples\n\n```rescript\nopen Belt.Float\nJs.log(2.0 - 1.0 === 1.0) /* true */\n```"],"signature":"let -: (float, float) => float"},{"id":"Belt.Float.*","kind":"value","name":"*","docstrings":["Multiplication of two `float` values.\nCan be opened in a module to avoid dot-notation (`*.`), however this yields a shadow warning (Warning number 44) in the default configuration.\n\n## Examples\n\n```rescript\nopen Belt.Float\nJs.log(2.0 * 2.0 === 4.0) /* true */\n```"],"signature":"let *: (float, float) => float"},{"id":"Belt.Float./","kind":"value","name":"/","docstrings":["Division of two `float` values.\nCan be opened in a module to avoid dot-notation (`/.`), however this yields a shadow warning (Warning number 44) in the default configuration.\n\n## Examples\n\n```rescript\nopen Belt.Float\nJs.log(4.0 / 2.0 === 2.0) /* true */\n```"],"signature":"let /: (float, float) => float"}]},"belt/int":{"id":"Belt.Int","name":"Int","docstrings":["[`Belt.Int`]()\n\n Utilities for Int."],"items":[{"id":"Belt.Int.toFloat","kind":"value","name":"toFloat","docstrings":["Converts a given `int` to a `float`.\n\n## Examples\n\n```rescript\nJs.log(Belt.Int.toFloat(1) === 1.0) /* true */\n```"],"signature":"let toFloat: int => float"},{"id":"Belt.Int.fromFloat","kind":"value","name":"fromFloat","docstrings":["Converts a given `float` to an `int`.\n\n## Examples\n\n```rescript\nJs.log(Belt.Int.fromFloat(1.0) === 1) /* true */\n```"],"signature":"let fromFloat: float => int"},{"id":"Belt.Int.fromString","kind":"value","name":"fromString","docstrings":["Converts a given `string` to an `int`. Returns `Some(int)` when the input is a number, `None` otherwise.\n\n## Examples\n\n```rescript\nJs.log(Belt.Int.fromString(\"1\") === Some(1)) /* true */\n```"],"signature":"let fromString: string => option"},{"id":"Belt.Int.toString","kind":"value","name":"toString","docstrings":["Converts a given `int` to a `string`. Uses the JavaScript `String` constructor under the hood.\n\n## Examples\n\n```rescript\nJs.log(Belt.Int.toString(1) === \"1\") /* true */\n```"],"signature":"let toString: int => string"},{"id":"Belt.Int.+","kind":"value","name":"+","docstrings":["Addition of two `int` values. Same as the addition from `Pervasives`.\n\n## Examples\n\n```rescript\nopen Belt.Int\nJs.log(2 + 2 === 4) /* true */\n```"],"signature":"let +: (int, int) => int"},{"id":"Belt.Int.-","kind":"value","name":"-","docstrings":["Subtraction of two `int` values. Same as the subtraction from `Pervasives`.\n\n## Examples\n\n```rescript\nopen Belt.Int\nJs.log(2 - 1 === 1) /* true */\n```"],"signature":"let -: (int, int) => int"},{"id":"Belt.Int.*","kind":"value","name":"*","docstrings":["Multiplication of two `int` values. Same as the multiplication from `Pervasives`.\n\n## Examples\n\n```rescript\nopen Belt.Int\nJs.log(2 * 2 === 4) /* true */\n```"],"signature":"let *: (int, int) => int"},{"id":"Belt.Int./","kind":"value","name":"/","docstrings":["Division of two `int` values. Same as the division from `Pervasives`.\n\n## Examples\n\n```rescript\nopen Belt.Int\nJs.log(4 / 2 === 2); /* true */\n```"],"signature":"let /: (int, int) => int"}]},"belt/result":{"id":"Belt.Result","name":"Result","docstrings":["[`Belt.Result`]()\n\n Utilities for result data type."],"items":[{"id":"Belt.Result.t","kind":"type","name":"t","docstrings":[],"signature":"type t<'a, 'b> = result<'a, 'b> = Ok('a) | Error('b)"},{"id":"Belt.Result.getExn","kind":"value","name":"getExn","docstrings":["`getExn(res)`: when `res` is `Ok(n)`, returns `n` when `res` is `Error(m)`, raise an exception\n\n## Examples\n\n```rescript\nBelt.Result.getExn(Belt.Result.Ok(42)) == 42\n\nBelt.Result.getExn(Belt.Result.Error(\"Invalid data\")) /* raises exception */\n```"],"signature":"let getExn: t<'a, 'b> => 'a"},{"id":"Belt.Result.mapWithDefaultU","kind":"value","name":"mapWithDefaultU","docstrings":[],"signature":"let mapWithDefaultU: (t<'a, 'c>, 'b, (. 'a) => 'b) => 'b"},{"id":"Belt.Result.mapWithDefault","kind":"value","name":"mapWithDefault","docstrings":["`mapWithDefault(res, default, f)`: When res is `Ok(n)`, returns `f(n)`,\notherwise `default`.\n\n## Examples\n\n```rescript\nlet ok = Belt.Result.Ok(42)\nBelt.Result.mapWithDefault(ok, 0, (x) => x / 2) == 21\n\nlet error = Belt.Result.Error(\"Invalid data\")\nBelt.Result.mapWithDefault(error, 0, (x) => x / 2) == 0\n```"],"signature":"let mapWithDefault: (t<'a, 'c>, 'b, 'a => 'b) => 'b"},{"id":"Belt.Result.mapU","kind":"value","name":"mapU","docstrings":[],"signature":"let mapU: (t<'a, 'c>, (. 'a) => 'b) => t<'b, 'c>"},{"id":"Belt.Result.map","kind":"value","name":"map","docstrings":["`map(res, f)`: When res is `Ok(n)`, returns `Ok(f(n))`. Otherwise returns res\nunchanged. Function `f` takes a value of the same type as `n` and returns an\nordinary value.\n\n## Examples\n\n```rescript\nlet f = (x) => sqrt(Belt.Int.toFloat(x))\n\nBelt.Result.map(Ok(64), f) == Ok(8.0)\n\nBelt.Result.map(Error(\"Invalid data\"), f) == Error(\"Invalid data\")\n```"],"signature":"let map: (t<'a, 'c>, 'a => 'b) => t<'b, 'c>"},{"id":"Belt.Result.flatMapU","kind":"value","name":"flatMapU","docstrings":[],"signature":"let flatMapU: (t<'a, 'c>, (. 'a) => t<'b, 'c>) => t<'b, 'c>"},{"id":"Belt.Result.flatMap","kind":"value","name":"flatMap","docstrings":["`flatMap(res, f)`: When res is `Ok(n)`, returns `f(n)`. Otherwise, returns res\nunchanged. Function `f` takes a value of the same type as `n` and returns a\n`Belt.Result`.\n\n## Examples\n\n```rescript\nlet recip = (x) =>\n if (x !== 0.0) {\n Belt.Result.Ok(1.0 /. x)\n } else {\n Belt.Result.Error(\"Divide by zero\")\n }\n\nBelt.Result.flatMap(Ok(2.0), recip) == Ok(0.5)\n\nBelt.Result.flatMap(Ok(0.0), recip) == Error(\"Divide by zero\")\n\nBelt.Result.flatMap(Error(\"Already bad\"), recip) == Error(\"Already bad\")\n```"],"signature":"let flatMap: (t<'a, 'c>, 'a => t<'b, 'c>) => t<'b, 'c>"},{"id":"Belt.Result.getWithDefault","kind":"value","name":"getWithDefault","docstrings":["`getWithDefault(res, defaultValue)`: If `res` is `Ok(n)`, returns `n`,\notherwise `default`\n\n## Examples\n\n```rescript\nBelt.Result.getWithDefault(Ok(42), 0) == 42\n\nBelt.Result.getWithDefault(Error(\"Invalid Data\"), 0) == 0\n```"],"signature":"let getWithDefault: (t<'a, 'b>, 'a) => 'a"},{"id":"Belt.Result.isOk","kind":"value","name":"isOk","docstrings":["`isOk(res)`: Returns `true` if `res` is of the form `Ok(n)`, `false` if it is\nthe `Error(e)` variant."],"signature":"let isOk: t<'a, 'b> => bool"},{"id":"Belt.Result.isError","kind":"value","name":"isError","docstrings":["`isError(res)`: Returns `true` if `res` is of the form `Error(e)`, `false` if\nit is the `Ok(n)` variant."],"signature":"let isError: t<'a, 'b> => bool"},{"id":"Belt.Result.eqU","kind":"value","name":"eqU","docstrings":[],"signature":"let eqU: (t<'a, 'c>, t<'b, 'd>, (. 'a, 'b) => bool) => bool"},{"id":"Belt.Result.eq","kind":"value","name":"eq","docstrings":["`eq(res1, res2, f)`: Determine if two `Belt.Result` variables are equal with\nrespect to an equality function. If `res1` and `res2` are of the form `Ok(n)`\nand `Ok(m)`, return the result of `f(n, m)`. If one of `res1` and `res2` are of\nthe form `Error(e)`, return false If both `res1` and `res2` are of the form\n`Error(e)`, return true\n\n## Examples\n\n```rescript\nlet good1 = Belt.Result.Ok(42)\n\nlet good2 = Belt.Result.Ok(32)\n\nlet bad1 = Belt.Result.Error(\"invalid\")\n\nlet bad2 = Belt.Result.Error(\"really invalid\")\n\nlet mod10equal = (a, b) => mod(a, 10) === mod(b, 10)\n\nBelt.Result.eq(good1, good2, mod10equal) == true\n\nBelt.Result.eq(good1, bad1, mod10equal) == false\n\nBelt.Result.eq(bad2, good2, mod10equal) == false\n\nBelt.Result.eq(bad1, bad2, mod10equal) == true\n```"],"signature":"let eq: (t<'a, 'c>, t<'b, 'd>, ('a, 'b) => bool) => bool"},{"id":"Belt.Result.cmpU","kind":"value","name":"cmpU","docstrings":[],"signature":"let cmpU: (t<'a, 'c>, t<'b, 'd>, (. 'a, 'b) => int) => int"},{"id":"Belt.Result.cmp","kind":"value","name":"cmp","docstrings":["`cmp(res1, res2, f)`: Compare two `Belt.Result` variables with respect to a\ncomparison function. The comparison function returns -1 if the first variable\nis \"less than\" the second, 0 if the two variables are equal, and 1 if the first\nis \"greater than\" the second.\n\nIf `res1` and `res2` are of the form `Ok(n)` and `Ok(m)`, return the result of\n`f(n, m)`. If `res1` is of the form `Error(e)` and `res2` of the form `Ok(n)`,\nreturn -1 (nothing is less than something) If `res1` is of the form `Ok(n)` and\n`res2` of the form `Error(e)`, return 1 (something is greater than nothing) If\nboth `res1` and `res2` are of the form `Error(e)`, return 0 (equal)\n\n## Examples\n\n```rescript\nlet good1 = Belt.Result.Ok(59)\n\nlet good2 = Belt.Result.Ok(37)\n\nlet bad1 = Belt.Result.Error(\"invalid\")\n\nlet bad2 = Belt.Result.Error(\"really invalid\")\n\nlet mod10cmp = (a, b) => Pervasives.compare(mod(a, 10), mod(b, 10))\n\nBelt.Result.cmp(Ok(39), Ok(57), mod10cmp) == 1\n\nBelt.Result.cmp(Ok(57), Ok(39), mod10cmp) == (-1)\n\nBelt.Result.cmp(Ok(39), Error(\"y\"), mod10cmp) == 1\n\nBelt.Result.cmp(Error(\"x\"), Ok(57), mod10cmp) == (-1)\n\nBelt.Result.cmp(Error(\"x\"), Error(\"y\"), mod10cmp) == 0\n```"],"signature":"let cmp: (t<'a, 'c>, t<'b, 'd>, ('a, 'b) => int) => int"}]},"belt/option":{"id":"Belt.Option","name":"Option","docstrings":["[`Belt.Option`]()\n\n Utilities for option data type."],"items":[{"id":"Belt.Option.keepU","kind":"value","name":"keepU","docstrings":["Uncurried version of `keep`"],"signature":"let keepU: (option<'a>, (. 'a) => bool) => option<'a>"},{"id":"Belt.Option.keep","kind":"value","name":"keep","docstrings":["If `optionValue` is `Some(value)` and `p(value) = true`, it returns `Some(value)`; otherwise returns `None`\n\n## Examples\n\n```rescript\nBelt.Option.keep(Some(10), x => x > 5) /* returns `Some(10)` */\nBelt.Option.keep(Some(4), x => x > 5) /* returns `None` */\nBelt.Option.keep(None, x => x > 5) /* returns `None` */\n```"],"signature":"let keep: (option<'a>, 'a => bool) => option<'a>"},{"id":"Belt.Option.forEachU","kind":"value","name":"forEachU","docstrings":["Uncurried version of `forEach`"],"signature":"let forEachU: (option<'a>, (. 'a) => unit) => unit"},{"id":"Belt.Option.forEach","kind":"value","name":"forEach","docstrings":["If `optionValue` is `Some(value`), it calls `f(value)`; otherwise returns `()`\n\n## Examples\n\n```rescript\nBelt.Option.forEach(Some(\"thing\"), x => Js.log(x)) /* logs \"thing\" */\nBelt.Option.forEach(None, x => Js.log(x)) /* returns () */\n```"],"signature":"let forEach: (option<'a>, 'a => unit) => unit"},{"id":"Belt.Option.getExn","kind":"value","name":"getExn","docstrings":["Raises an Error in case `None` is provided. Use with care.\n\n## Examples\n\n```rescript\nBelt.Option.getExn(Some(3)) /* 3 */\n\nBelt.Option.getExn(None) /* Raises an Error */\n```"],"signature":"let getExn: option<'a> => 'a"},{"id":"Belt.Option.getUnsafe","kind":"value","name":"getUnsafe","docstrings":["`getUnsafe(x)` returns `x`\n\nThis is an unsafe operation, it assumes `x` is neither `None`\nnor `Some(None(...)))`"],"signature":"let getUnsafe: option<'a> => 'a"},{"id":"Belt.Option.mapWithDefaultU","kind":"value","name":"mapWithDefaultU","docstrings":["Uncurried version of `mapWithDefault`"],"signature":"let mapWithDefaultU: (option<'a>, 'b, (. 'a) => 'b) => 'b"},{"id":"Belt.Option.mapWithDefault","kind":"value","name":"mapWithDefault","docstrings":["If `optionValue` is of `Some(value)`,\nthis function returns that value applied with `f`, in other words `f(value)`.\n\nIf `optionValue` is `None`, the default is returned.\n\n## Examples\n\n```rescript\nlet someValue = Some(3)\nsomeValue->Belt.Option.mapWithDefault(0, x => x + 5) /* 8 */\n\nlet noneValue = None\nnoneValue->Belt.Option.mapWithDefault(0, x => x + 5) /* 0 */\n```"],"signature":"let mapWithDefault: (option<'a>, 'b, 'a => 'b) => 'b"},{"id":"Belt.Option.mapU","kind":"value","name":"mapU","docstrings":["Uncurried version of `map`"],"signature":"let mapU: (option<'a>, (. 'a) => 'b) => option<'b>"},{"id":"Belt.Option.map","kind":"value","name":"map","docstrings":["If `optionValue` is `Some(value)` this returns `f(value)`, otherwise it returns `None`.\n\n## Examples\n\n```rescript\nBelt.Option.map(Some(3), x => x * x) /* Some(9) */\n\nBelt.Option.map(None, x => x * x) /* None */\n```"],"signature":"let map: (option<'a>, 'a => 'b) => option<'b>"},{"id":"Belt.Option.flatMapU","kind":"value","name":"flatMapU","docstrings":["Uncurried version of `flatMap`"],"signature":"let flatMapU: (option<'a>, (. 'a) => option<'b>) => option<'b>"},{"id":"Belt.Option.flatMap","kind":"value","name":"flatMap","docstrings":["If `optionValue` is `Some(value)`, returns `f(value)`, otherwise returns\n`None`.
\nThe function `f` must have a return type of `option<'b>`.\n\n## Examples\n\n```rescript\nlet addIfAboveOne = value =>\n if (value > 1) {\n Some(value + 1)\n } else {\n None\n }\n\nBelt.Option.flatMap(Some(2), addIfAboveOne) /* Some(3) */\n\nBelt.Option.flatMap(Some(-4), addIfAboveOne) /* None */\n\nBelt.Option.flatMap(None, addIfAboveOne) /* None */\n```"],"signature":"let flatMap: (option<'a>, 'a => option<'b>) => option<'b>"},{"id":"Belt.Option.getWithDefault","kind":"value","name":"getWithDefault","docstrings":["If `optionalValue` is `Some(value)`, returns `value`, otherwise default.\n\n## Examples\n\n```rescript\nBelt.Option.getWithDefault(None, \"Banana\") /* Banana */\n\nBelt.Option.getWithDefault(Some(\"Apple\"), \"Banana\") /* Apple */\n```\n\n```rescript\nlet greet = (firstName: option) =>\n \"Greetings \" ++ firstName->Belt.Option.getWithDefault(\"Anonymous\")\n\nSome(\"Jane\")->greet /* \"Greetings Jane\" */\n\nNone->greet /* \"Greetings Anonymous\" */\n```"],"signature":"let getWithDefault: (option<'a>, 'a) => 'a"},{"id":"Belt.Option.orElse","kind":"value","name":"orElse","docstrings":["`orElse(optionalValue, otherOptional)`\n\nIf `optionalValue` is `Some(value)`, returns `Some(value)`, otherwise `otherOptional`\n\n## Examples\n\n```rescript\nBelt.Option.orElse(Some(1812), Some(1066)) == Some(1812)\nBelt.Option.orElse(None, Some(1066)) == Some(1066)\nBelt.Option.orElse(None, None) == None\n```"],"signature":"let orElse: (option<'a>, option<'a>) => option<'a>"},{"id":"Belt.Option.isSome","kind":"value","name":"isSome","docstrings":["Returns `true` if the argument is `Some(value)`, `false` otherwise.\n\n## Examples\n\n```rescript\nBelt.Option.isSome(None) /* false */\n\nBelt.Option.isSome(Some(1)) /* true */\n```"],"signature":"let isSome: option<'a> => bool"},{"id":"Belt.Option.isNone","kind":"value","name":"isNone","docstrings":["Returns `true` if the argument is `None`, `false` otherwise.\n\n## Examples\n\n```rescript\nBelt.Option.isNone(None) /* true */\n\nBelt.Option.isNone(Some(1)) /* false */\n```"],"signature":"let isNone: option<'a> => bool"},{"id":"Belt.Option.eqU","kind":"value","name":"eqU","docstrings":["Uncurried version of `eq`"],"signature":"let eqU: (option<'a>, option<'b>, (. 'a, 'b) => bool) => bool"},{"id":"Belt.Option.eq","kind":"value","name":"eq","docstrings":["Evaluates two optional values for equality with respect to a predicate\nfunction. If both `optValue1` and `optValue2` are `None`, returns `true`.\nIf one of the arguments is `Some(value)` and the other is `None`, returns\n`false`.\n\nIf arguments are `Some(value1)` and `Some(value2)`, returns the result of\n`predicate(value1, value2)`; the predicate function must return a bool.\n\n## Examples\n\n```rescript\nlet clockEqual = (a, b) => mod(a, 12) == mod(b, 12)\n\nopen Belt.Option\n\neq(Some(3), Some(15), clockEqual) /* true */\n\neq(Some(3), None, clockEqual) /* false */\n\neq(None, Some(3), clockEqual) /* false */\n\neq(None, None, clockEqual) /* true */\n```"],"signature":"let eq: (option<'a>, option<'b>, ('a, 'b) => bool) => bool"},{"id":"Belt.Option.cmpU","kind":"value","name":"cmpU","docstrings":["Uncurried version of `cmp`"],"signature":"let cmpU: (option<'a>, option<'b>, (. 'a, 'b) => int) => int"},{"id":"Belt.Option.cmp","kind":"value","name":"cmp","docstrings":["`cmp(optValue1, optValue2, comparisonFunction)` compares two optional values\nwith respect to given `comparisonFunction`.\n\nIf both `optValue1` and `optValue2` are `None`, it returns `0`.\n\nIf the first argument is `Some(value1)` and the second is `None`, returns `1`\n(something is greater than nothing).\n\nIf the first argument is `None` and the second is `Some(value2)`, returns `-1`\n(nothing is less than something).\n\nIf the arguments are `Some(value1)` and `Some(value2)`, returns the result of\n`comparisonFunction(value1, value2)`; comparisonFunction takes two arguments\nand returns `-1` if the first argument is less than the second, `0` if the\narguments are equal, and `1` if the first argument is greater than the second.\n\n## Examples\n\n```rescript\nlet clockCompare = (a, b) => compare(mod(a, 12), mod(b, 12))\n\nopen Belt.Option\n\ncmp(Some(3), Some(15), clockCompare) /* 0 */\n\ncmp(Some(3), Some(14), clockCompare) /* 1 */\n\ncmp(Some(2), Some(15), clockCompare) /* (-1) */\n\ncmp(None, Some(15), clockCompare) /* (-1) */\n\ncmp(Some(14), None, clockCompare) /* 1 */\n\ncmp(None, None, clockCompare) /* 0 */\n```"],"signature":"let cmp: (option<'a>, option<'b>, ('a, 'b) => int) => int"}]},"belt/hashmap":{"id":"Belt.HashMap","name":"HashMap","docstrings":["[`Belt.HashMap`]()\n\n The top level provides generic **mutable** hash map operations.\n\n It also has two specialized inner modules\n [`Belt.HashMap.Int`]() and [`Belt.HashMap.String`]()"],"items":[{"id":"Belt.HashMap.t","kind":"type","name":"t","docstrings":["The type of hash tables from type `'key` to type `'value`."],"signature":"type t<'key, 'value, 'id>"},{"id":"Belt.HashMap.id","kind":"type","name":"id","docstrings":["The identity needed for making an empty hash map."],"signature":"type id<'a, 'id> = Belt_Id.hashable<'a, 'id>"},{"id":"Belt.HashMap.make","kind":"value","name":"make","docstrings":["`make(~hintSize=10, ~id)` creates a new map by taking in the comparator and `hintSize`.\n\n## Examples\n\n```rescript\nmodule IntHash = Belt.Id.MakeHashable({\n type t = int\n let hash = a => a\n let eq = (a, b) => a == b\n})\n\nlet hMap = Belt.HashMap.make(~hintSize=10, ~id=module(IntHash))\n\nBelt.HashMap.set(hMap, 0, \"a\")\n```"],"signature":"let make: (~hintSize: int, ~id: id<'key, 'id>) => t<'key, 'value, 'id>"},{"id":"Belt.HashMap.clear","kind":"value","name":"clear","docstrings":["Clears a hash table.\n\n## Examples\n\n```rescript\nmodule IntHash = Belt.Id.MakeHashable({\n type t = int\n let hash = a => a\n let eq = (a, b) => a == b\n})\n\nlet hMap = Belt.HashMap.fromArray([(1, \"1\")], ~id=module(IntHash))\nBelt.HashMap.clear(hMap)\nBelt.HashMap.isEmpty(hMap) == true\n```"],"signature":"let clear: t<'key, 'value, 'id> => unit"},{"id":"Belt.HashMap.isEmpty","kind":"value","name":"isEmpty","docstrings":["`isEmpty(m)` checks whether a hash map is empty.\n\n## Examples\n\n```rescript\nmodule IntHash = Belt.Id.MakeHashable({\n type t = int\n let hash = a => a\n let eq = (a, b) => a == b\n})\n\nBelt.HashMap.isEmpty(Belt.HashMap.fromArray([(1, \"1\")], ~id=module(IntHash))) == false\n```"],"signature":"let isEmpty: t<'a, 'b, 'c> => bool"},{"id":"Belt.HashMap.set","kind":"value","name":"set","docstrings":["`set(hMap, k, v)` if `k` does not exist, add the binding `k,v`, otherwise, update the old value with the new `v`.\n\n## Examples\n\n```rescript\nmodule IntHash = Belt.Id.MakeHashable({\n type t = int\n let hash = a => a\n let eq = (a, b) => a == b\n})\n\nlet s0 = Belt.HashMap.fromArray([(2, \"2\"), (1, \"1\"), (3, \"3\")], ~id=module(IntHash))\n\nBelt.HashMap.set(s0, 2, \"3\")\n\nBelt.HashMap.valuesToArray(s0) == [\"1\", \"3\", \"3\"]\n```"],"signature":"let set: (t<'key, 'value, 'id>, 'key, 'value) => unit"},{"id":"Belt.HashMap.copy","kind":"value","name":"copy","docstrings":["Creates copy of a hash map.\n\n## Examples\n\n```rescript\nmodule IntHash = Belt.Id.MakeHashable({\n type t = int\n let hash = a => a\n let eq = (a, b) => a == b\n})\n\nlet s0 = Belt.HashMap.fromArray([(2, \"2\"), (1, \"1\"), (3, \"3\")], ~id=module(IntHash))\nlet s1 = Belt.HashMap.copy(s0)\n\nBelt.HashMap.set(s0, 2, \"3\")\n\nBelt.HashMap.get(s0, 2) != Belt.HashMap.get(s1, 2)\n```"],"signature":"let copy: t<'key, 'value, 'id> => t<'key, 'value, 'id>"},{"id":"Belt.HashMap.get","kind":"value","name":"get","docstrings":["Returns value bound under specific key. If values not exist returns `None`.\n\n## Examples\n\n```rescript\nmodule IntHash = Belt.Id.MakeHashable({\n type t = int\n let hash = a => a\n let eq = (a, b) => a == b\n})\n\nlet s0 = Belt.HashMap.make(~hintSize=10, ~id=module(IntHash))\nBelt.HashMap.set(s0, 1, \"value1\")\n\nBelt.HashMap.get(s0, 1) == Some(\"value1\")\nBelt.HashMap.get(s0, 2) == None\n```"],"signature":"let get: (t<'key, 'value, 'id>, 'key) => option<'value>"},{"id":"Belt.HashMap.has","kind":"value","name":"has","docstrings":["Checks if `x` is bound in `tbl`.\n\n## Examples\n\n```rescript\nmodule IntHash = Belt.Id.MakeHashable({\n type t = int\n let hash = a => a\n let eq = (a, b) => a == b\n})\n\nlet s0 = Belt.HashMap.make(~hintSize=10, ~id=module(IntHash))\nBelt.HashMap.set(s0, 1, \"value1\")\n\nBelt.HashMap.has(s0, 1) == true\nBelt.HashMap.has(s0, 2) == false\n```"],"signature":"let has: (t<'key, 'value, 'id>, 'key) => bool"},{"id":"Belt.HashMap.remove","kind":"value","name":"remove","docstrings":["If bound exists, removes it from the hash map.\n\n## Examples\n\n```rescript\nmodule IntHash = Belt.Id.MakeHashable({\n type t = int\n let hash = a => a\n let eq = (a, b) => a == b\n})\n\nlet s0 = Belt.HashMap.make(~hintSize=10, ~id=module(IntHash))\nBelt.HashMap.set(s0, 1, \"value1\")\nBelt.HashMap.remove(s0, 1)\nBelt.HashMap.has(s0, 1) == false\n```"],"signature":"let remove: (t<'key, 'value, 'id>, 'key) => unit"},{"id":"Belt.HashMap.forEachU","kind":"value","name":"forEachU","docstrings":["Same as [forEach](#forEach) but takes uncurried function."],"signature":"let forEachU: (t<'key, 'value, 'id>, (. 'key, 'value) => unit) => unit"},{"id":"Belt.HashMap.forEach","kind":"value","name":"forEach","docstrings":["`forEach(tbl, f)` applies `f` to all bindings in table `tbl`. `f` receives the key as first argument, and the associated value as second argument. Each binding is presented exactly once to `f`.\n\n## Examples\n\n```rescript\nmodule IntHash = Belt.Id.MakeHashable({\n type t = int\n let hash = a => a\n let eq = (a, b) => a == b\n})\n\nlet s0 = Belt.HashMap.make(~hintSize=10, ~id=module(IntHash))\nBelt.HashMap.set(s0, 1, \"value1\")\nBelt.HashMap.forEach(s0, (key, value) => Js.log2(key, value))\n// prints (1, \"value1\")\n```"],"signature":"let forEach: (t<'key, 'value, 'id>, ('key, 'value) => unit) => unit"},{"id":"Belt.HashMap.reduceU","kind":"value","name":"reduceU","docstrings":[],"signature":"let reduceU: (t<'key, 'value, 'id>, 'c, (. 'c, 'key, 'value) => 'c) => 'c"},{"id":"Belt.HashMap.reduce","kind":"value","name":"reduce","docstrings":["`reduce(tbl, init, f)` computes `(f(kN, dN) ... (f(k1, d1, init))...)`, where `k1 ... kN` are the keys of all bindings in `tbl`, and `d1 ... dN` are the associated values. Each binding is presented exactly once to `f`.\n\nThe order in which the bindings are passed to `f` is unspecified. However, if the table contains several bindings for the same key, they are passed to `f` in reverse order of introduction, that is, the most recent binding is passed first.\n\n## Examples\n\n```rescript\nmodule IntHash = Belt.Id.MakeHashable({\n type t = int\n let hash = a => a\n let eq = (a, b) => a == b\n})\n\nlet s0 = Belt.HashMap.make(~hintSize=10, ~id=module(IntHash))\nBelt.HashMap.set(s0, 1, \"value1\")\nBelt.HashMap.set(s0, 2, \"value2\")\n\nBelt.HashMap.reduce(s0, \"\", (acc, key, value) => acc ++ (\", \" ++ value)) == \"value1, value2\"\n```"],"signature":"let reduce: (t<'key, 'value, 'id>, 'c, ('c, 'key, 'value) => 'c) => 'c"},{"id":"Belt.HashMap.keepMapInPlaceU","kind":"value","name":"keepMapInPlaceU","docstrings":["Same as [keepMapInPlace](#keepMapInPlace) but takes uncurried function."],"signature":"let keepMapInPlaceU: (\\n t<'key, 'value, 'id>,\\n (. 'key, 'value) => option<'value>,\\n) => unit"},{"id":"Belt.HashMap.keepMapInPlace","kind":"value","name":"keepMapInPlace","docstrings":["Filters out values for which function `f` returned `None`.\n\n## Examples\n\n```rescript\nmodule IntHash = Belt.Id.MakeHashable({\n type t = int\n let hash = a => a\n let eq = (a, b) => a == b\n})\n\nlet s0 = Belt.HashMap.make(~hintSize=10, ~id=module(IntHash))\nBelt.HashMap.set(s0, 1, \"value1\")\nBelt.HashMap.set(s0, 2, \"value2\")\n\nBelt.HashMap.keepMapInPlace(s0, (key, value) => key == 1 ? None : Some(value))\n```"],"signature":"let keepMapInPlace: (\\n t<'key, 'value, 'id>,\\n ('key, 'value) => option<'value>,\\n) => unit"},{"id":"Belt.HashMap.size","kind":"value","name":"size","docstrings":["`size(tbl)` returns the number of bindings in `tbl`. It takes constant time.\n\n## Examples\n\n```rescript\nmodule IntHash = Belt.Id.MakeHashable({\n type t = int\n let hash = a => a\n let eq = (a, b) => a == b\n})\n\nlet s0 = Belt.HashMap.make(~hintSize=10, ~id=module(IntHash))\nBelt.HashMap.set(s0, 1, \"value1\")\nBelt.HashMap.set(s0, 2, \"value2\")\n\nBelt.HashMap.size(s0) == 2\n```"],"signature":"let size: t<'a, 'b, 'c> => int"},{"id":"Belt.HashMap.toArray","kind":"value","name":"toArray","docstrings":["Returns array of key value pairs.\n\n## Examples\n\n```rescript\nmodule IntHash = Belt.Id.MakeHashable({\n type t = int\n let hash = a => a\n let eq = (a, b) => a == b\n})\n\nlet s0 = Belt.HashMap.make(~hintSize=10, ~id=module(IntHash))\nBelt.HashMap.set(s0, 1, \"value1\")\nBelt.HashMap.set(s0, 2, \"value2\")\n\nBelt.HashMap.toArray(s0) == [(1, \"value1\"), (2, \"value2\")]\n```"],"signature":"let toArray: t<'key, 'value, 'id> => array<('key, 'value)>"},{"id":"Belt.HashMap.keysToArray","kind":"value","name":"keysToArray","docstrings":["Returns array of keys.\n\n## Examples\n\n```rescript\nmodule IntHash = Belt.Id.MakeHashable({\n type t = int\n let hash = a => a\n let eq = (a, b) => a == b\n})\n\nlet s0 = Belt.HashMap.make(~hintSize=10, ~id=module(IntHash))\nBelt.HashMap.set(s0, 1, \"value1\")\nBelt.HashMap.set(s0, 2, \"value2\")\n\nBelt.HashMap.keysToArray(s0) == [1, 2]\n```"],"signature":"let keysToArray: t<'key, 'a, 'b> => array<'key>"},{"id":"Belt.HashMap.valuesToArray","kind":"value","name":"valuesToArray","docstrings":["Returns array of values.\n\n## Examples\n\n```rescript\nmodule IntHash = Belt.Id.MakeHashable({\n type t = int\n let hash = a => a\n let eq = (a, b) => a == b\n})\n\nlet s0 = Belt.HashMap.make(~hintSize=10, ~id=module(IntHash))\nBelt.HashMap.set(s0, 1, \"value1\")\nBelt.HashMap.set(s0, 2, \"value2\")\n\nBelt.HashMap.valuesToArray(s0) == [\"value1\", \"value2\"]\n```"],"signature":"let valuesToArray: t<'a, 'value, 'b> => array<'value>"},{"id":"Belt.HashMap.fromArray","kind":"value","name":"fromArray","docstrings":["Creates new hash map from array of pairs.\n\nReturns array of values.\n\n## Examples\n\n```rescript\nmodule IntHash = Belt.Id.MakeHashable({\n type t = int\n let hash = a => a\n let eq = (a, b) => a == b\n})\n\nlet s0 = Belt.HashMap.fromArray([(1, \"value1\"), (2, \"value2\")], ~id=module(IntHash))\nBelt.HashMap.toArray(s0) == [(1, \"value1\"), (2, \"value2\")]\n```"],"signature":"let fromArray: (\\n array<('key, 'value)>,\\n ~id: id<'key, 'id>,\\n) => t<'key, 'value, 'id>"},{"id":"Belt.HashMap.mergeMany","kind":"value","name":"mergeMany","docstrings":["## Examples\n\n```rescript\nmodule IntHash = Belt.Id.MakeHashable({\n type t = int\n let hash = a => a\n let eq = (a, b) => a == b\n})\n\nlet hMap = Belt.HashMap.make(~hintSize=10, ~id=module(IntHash))\nBelt.HashMap.mergeMany(hMap, [(1, \"1\"), (2, \"2\")])\n```"],"signature":"let mergeMany: (t<'key, 'value, 'id>, array<('key, 'value)>) => unit"},{"id":"Belt.HashMap.getBucketHistogram","kind":"value","name":"getBucketHistogram","docstrings":["## Examples\n\n```rescript\nmodule IntHash = Belt.Id.MakeHashable({\n type t = int\n let hash = a => a\n let eq = (a, b) => a == b\n})\nlet hMap = Belt.HashMap.make(~hintSize=10, ~id=module(IntHash))\nBelt.HashMap.set(hMap, 1, \"1\")\n\nBelt.HashMap.getBucketHistogram(hMap)\n```"],"signature":"let getBucketHistogram: t<'a, 'b, 'c> => array"},{"id":"Belt.HashMap.logStats","kind":"value","name":"logStats","docstrings":["## Examples\n\n```rescript\nmodule IntHash = Belt.Id.MakeHashable({\n type t = int\n let hash = a => a\n let eq = (a, b) => a == b\n})\nlet hMap = Belt.HashMap.make(~hintSize=10, ~id=module(IntHash))\nBelt.HashMap.set(hMap, 1, \"1\")\n\nBelt.HashMap.logStats(hMap)\n```"],"signature":"let logStats: t<'a, 'b, 'c> => unit"}]},"belt/hashset":{"id":"Belt.HashSet","name":"HashSet","docstrings":["[`Belt.HashSet`]()\n\n The top level provides generic **mutable** hash set operations.\n\n It also has two specialized inner modules\n [`Belt.HashSet.Int`]() and [`Belt.HashSet.String`]()"],"items":[{"id":"Belt.HashSet.t","kind":"type","name":"t","docstrings":[],"signature":"type t<'a, 'id>"},{"id":"Belt.HashSet.id","kind":"type","name":"id","docstrings":["The type of hash tables from type `'a` to type `'b`."],"signature":"type id<'a, 'id> = Belt_Id.hashable<'a, 'id>"},{"id":"Belt.HashSet.make","kind":"value","name":"make","docstrings":[],"signature":"let make: (~hintSize: int, ~id: id<'a, 'id>) => t<'a, 'id>"},{"id":"Belt.HashSet.clear","kind":"value","name":"clear","docstrings":[],"signature":"let clear: t<'a, 'id> => unit"},{"id":"Belt.HashSet.isEmpty","kind":"value","name":"isEmpty","docstrings":[],"signature":"let isEmpty: t<'a, 'b> => bool"},{"id":"Belt.HashSet.add","kind":"value","name":"add","docstrings":[],"signature":"let add: (t<'a, 'id>, 'a) => unit"},{"id":"Belt.HashSet.copy","kind":"value","name":"copy","docstrings":[],"signature":"let copy: t<'a, 'id> => t<'a, 'id>"},{"id":"Belt.HashSet.has","kind":"value","name":"has","docstrings":[],"signature":"let has: (t<'a, 'id>, 'a) => bool"},{"id":"Belt.HashSet.remove","kind":"value","name":"remove","docstrings":[],"signature":"let remove: (t<'a, 'id>, 'a) => unit"},{"id":"Belt.HashSet.forEachU","kind":"value","name":"forEachU","docstrings":[],"signature":"let forEachU: (t<'a, 'id>, (. 'a) => unit) => unit"},{"id":"Belt.HashSet.forEach","kind":"value","name":"forEach","docstrings":["Order unspecified."],"signature":"let forEach: (t<'a, 'id>, 'a => unit) => unit"},{"id":"Belt.HashSet.reduceU","kind":"value","name":"reduceU","docstrings":[],"signature":"let reduceU: (t<'a, 'id>, 'c, (. 'c, 'a) => 'c) => 'c"},{"id":"Belt.HashSet.reduce","kind":"value","name":"reduce","docstrings":["Order unspecified."],"signature":"let reduce: (t<'a, 'id>, 'c, ('c, 'a) => 'c) => 'c"},{"id":"Belt.HashSet.size","kind":"value","name":"size","docstrings":[],"signature":"let size: t<'a, 'id> => int"},{"id":"Belt.HashSet.logStats","kind":"value","name":"logStats","docstrings":[],"signature":"let logStats: t<'a, 'b> => unit"},{"id":"Belt.HashSet.toArray","kind":"value","name":"toArray","docstrings":[],"signature":"let toArray: t<'a, 'id> => array<'a>"},{"id":"Belt.HashSet.fromArray","kind":"value","name":"fromArray","docstrings":[],"signature":"let fromArray: (array<'a>, ~id: id<'a, 'id>) => t<'a, 'id>"},{"id":"Belt.HashSet.mergeMany","kind":"value","name":"mergeMany","docstrings":[],"signature":"let mergeMany: (t<'a, 'id>, array<'a>) => unit"},{"id":"Belt.HashSet.getBucketHistogram","kind":"value","name":"getBucketHistogram","docstrings":[],"signature":"let getBucketHistogram: t<'a, 'b> => array"}]},"belt/mutablemap":{"id":"Belt.MutableMap","name":"MutableMap","docstrings":["[`Belt.MutableMap`]()\n\n The top level provides generic **mutable** map operations.\n\n It also has two specialized inner modules\n [`Belt.MutableMap.Int`]() and [`Belt.MutableMap.String`]()"],"items":[{"id":"Belt.MutableMap.t","kind":"type","name":"t","docstrings":[],"signature":"type t<'k, 'v, 'id>"},{"id":"Belt.MutableMap.id","kind":"type","name":"id","docstrings":[],"signature":"type id<'key, 'id> = Belt_Id.comparable<'key, 'id>"},{"id":"Belt.MutableMap.make","kind":"value","name":"make","docstrings":[],"signature":"let make: (~id: id<'k, 'id>) => t<'k, 'a, 'id>"},{"id":"Belt.MutableMap.clear","kind":"value","name":"clear","docstrings":[],"signature":"let clear: t<'a, 'b, 'c> => unit"},{"id":"Belt.MutableMap.isEmpty","kind":"value","name":"isEmpty","docstrings":[],"signature":"let isEmpty: t<'a, 'b, 'c> => bool"},{"id":"Belt.MutableMap.has","kind":"value","name":"has","docstrings":[],"signature":"let has: (t<'k, 'a, 'b>, 'k) => bool"},{"id":"Belt.MutableMap.cmpU","kind":"value","name":"cmpU","docstrings":[],"signature":"let cmpU: (t<'k, 'a, 'id>, t<'k, 'a, 'id>, (. 'a, 'a) => int) => int"},{"id":"Belt.MutableMap.cmp","kind":"value","name":"cmp","docstrings":["`cmp(m1, m2, cmp)` First compare by size, if size is the same, compare by\nkey, value pair."],"signature":"let cmp: (t<'k, 'a, 'id>, t<'k, 'a, 'id>, ('a, 'a) => int) => int"},{"id":"Belt.MutableMap.eqU","kind":"value","name":"eqU","docstrings":[],"signature":"let eqU: (t<'k, 'a, 'id>, t<'k, 'a, 'id>, (. 'a, 'a) => bool) => bool"},{"id":"Belt.MutableMap.eq","kind":"value","name":"eq","docstrings":["`eq(m1, m2, eqf)` tests whether the maps `m1` and `m2` are equal, that is,\ncontain equal keys and associate them with equal data. `eqf` is the\nequality predicate used to compare the data associated with the keys."],"signature":"let eq: (t<'k, 'a, 'id>, t<'k, 'a, 'id>, ('a, 'a) => bool) => bool"},{"id":"Belt.MutableMap.forEachU","kind":"value","name":"forEachU","docstrings":[],"signature":"let forEachU: (t<'k, 'a, 'id>, (. 'k, 'a) => unit) => unit"},{"id":"Belt.MutableMap.forEach","kind":"value","name":"forEach","docstrings":["`forEach(m, f)` applies f to all bindings in map `m`. `f` receives the `'k`\nas first argument, and the associated value as second argument. The\nbindings are passed to `f` in increasing order with respect to the ordering\nover the type of the keys."],"signature":"let forEach: (t<'k, 'a, 'id>, ('k, 'a) => unit) => unit"},{"id":"Belt.MutableMap.reduceU","kind":"value","name":"reduceU","docstrings":[],"signature":"let reduceU: (t<'k, 'a, 'id>, 'b, (. 'b, 'k, 'a) => 'b) => 'b"},{"id":"Belt.MutableMap.reduce","kind":"value","name":"reduce","docstrings":["`reduce(m, a, f), computes`(f(kN, dN) ... (f(k1, d1, a))...)`, where`k1 ...\nkN`are the keys of all bindings in`m`(in increasing order), and`d1 ... dN`\nare the associated data."],"signature":"let reduce: (t<'k, 'a, 'id>, 'b, ('b, 'k, 'a) => 'b) => 'b"},{"id":"Belt.MutableMap.everyU","kind":"value","name":"everyU","docstrings":[],"signature":"let everyU: (t<'k, 'a, 'id>, (. 'k, 'a) => bool) => bool"},{"id":"Belt.MutableMap.every","kind":"value","name":"every","docstrings":["`every(m, p)` checks if all the bindings of the map satisfy the predicate `p`."],"signature":"let every: (t<'k, 'a, 'id>, ('k, 'a) => bool) => bool"},{"id":"Belt.MutableMap.someU","kind":"value","name":"someU","docstrings":[],"signature":"let someU: (t<'k, 'a, 'id>, (. 'k, 'a) => bool) => bool"},{"id":"Belt.MutableMap.some","kind":"value","name":"some","docstrings":["`some(m, p)` checks if at least one binding of the map satisfy the predicate `p`."],"signature":"let some: (t<'k, 'a, 'id>, ('k, 'a) => bool) => bool"},{"id":"Belt.MutableMap.size","kind":"value","name":"size","docstrings":[],"signature":"let size: t<'k, 'a, 'id> => int"},{"id":"Belt.MutableMap.toList","kind":"value","name":"toList","docstrings":["In increasing order."],"signature":"let toList: t<'k, 'a, 'id> => list<('k, 'a)>"},{"id":"Belt.MutableMap.toArray","kind":"value","name":"toArray","docstrings":[],"signature":"let toArray: t<'k, 'a, 'id> => array<('k, 'a)>"},{"id":"Belt.MutableMap.fromArray","kind":"value","name":"fromArray","docstrings":[],"signature":"let fromArray: (array<('k, 'a)>, ~id: id<'k, 'id>) => t<'k, 'a, 'id>"},{"id":"Belt.MutableMap.keysToArray","kind":"value","name":"keysToArray","docstrings":[],"signature":"let keysToArray: t<'k, 'a, 'b> => array<'k>"},{"id":"Belt.MutableMap.valuesToArray","kind":"value","name":"valuesToArray","docstrings":[],"signature":"let valuesToArray: t<'b, 'a, 'c> => array<'a>"},{"id":"Belt.MutableMap.minKey","kind":"value","name":"minKey","docstrings":[],"signature":"let minKey: t<'k, 'a, 'b> => option<'k>"},{"id":"Belt.MutableMap.minKeyUndefined","kind":"value","name":"minKeyUndefined","docstrings":[],"signature":"let minKeyUndefined: t<'k, 'a, 'b> => Js.undefined<'k>"},{"id":"Belt.MutableMap.maxKey","kind":"value","name":"maxKey","docstrings":[],"signature":"let maxKey: t<'k, 'a, 'b> => option<'k>"},{"id":"Belt.MutableMap.maxKeyUndefined","kind":"value","name":"maxKeyUndefined","docstrings":[],"signature":"let maxKeyUndefined: t<'k, 'a, 'b> => Js.undefined<'k>"},{"id":"Belt.MutableMap.minimum","kind":"value","name":"minimum","docstrings":[],"signature":"let minimum: t<'k, 'a, 'b> => option<('k, 'a)>"},{"id":"Belt.MutableMap.minUndefined","kind":"value","name":"minUndefined","docstrings":[],"signature":"let minUndefined: t<'k, 'a, 'b> => Js.undefined<('k, 'a)>"},{"id":"Belt.MutableMap.maximum","kind":"value","name":"maximum","docstrings":[],"signature":"let maximum: t<'k, 'a, 'b> => option<('k, 'a)>"},{"id":"Belt.MutableMap.maxUndefined","kind":"value","name":"maxUndefined","docstrings":[],"signature":"let maxUndefined: t<'k, 'a, 'b> => Js.undefined<('k, 'a)>"},{"id":"Belt.MutableMap.get","kind":"value","name":"get","docstrings":[],"signature":"let get: (t<'k, 'a, 'id>, 'k) => option<'a>"},{"id":"Belt.MutableMap.getUndefined","kind":"value","name":"getUndefined","docstrings":[],"signature":"let getUndefined: (t<'k, 'a, 'id>, 'k) => Js.undefined<'a>"},{"id":"Belt.MutableMap.getWithDefault","kind":"value","name":"getWithDefault","docstrings":[],"signature":"let getWithDefault: (t<'k, 'a, 'id>, 'k, 'a) => 'a"},{"id":"Belt.MutableMap.getExn","kind":"value","name":"getExn","docstrings":[],"signature":"let getExn: (t<'k, 'a, 'id>, 'k) => 'a"},{"id":"Belt.MutableMap.checkInvariantInternal","kind":"value","name":"checkInvariantInternal","docstrings":["Raise when invariant is not held."],"signature":"let checkInvariantInternal: t<'a, 'b, 'c> => unit"},{"id":"Belt.MutableMap.remove","kind":"value","name":"remove","docstrings":["`remove(m, x)` do the in-place modification."],"signature":"let remove: (t<'k, 'a, 'id>, 'k) => unit"},{"id":"Belt.MutableMap.removeMany","kind":"value","name":"removeMany","docstrings":[],"signature":"let removeMany: (t<'k, 'a, 'id>, array<'k>) => unit"},{"id":"Belt.MutableMap.set","kind":"value","name":"set","docstrings":["`set(m, x, y)` do the in-place modification"],"signature":"let set: (t<'k, 'a, 'id>, 'k, 'a) => unit"},{"id":"Belt.MutableMap.updateU","kind":"value","name":"updateU","docstrings":[],"signature":"let updateU: (t<'k, 'a, 'id>, 'k, (. option<'a>) => option<'a>) => unit"},{"id":"Belt.MutableMap.update","kind":"value","name":"update","docstrings":[],"signature":"let update: (t<'k, 'a, 'id>, 'k, option<'a> => option<'a>) => unit"},{"id":"Belt.MutableMap.mergeMany","kind":"value","name":"mergeMany","docstrings":[],"signature":"let mergeMany: (t<'k, 'a, 'id>, array<('k, 'a)>) => unit"},{"id":"Belt.MutableMap.mapU","kind":"value","name":"mapU","docstrings":[],"signature":"let mapU: (t<'k, 'a, 'id>, (. 'a) => 'b) => t<'k, 'b, 'id>"},{"id":"Belt.MutableMap.map","kind":"value","name":"map","docstrings":["`map(m, f)` returns a map with same domain as `m`, where the associated\nvalue a of all bindings of `m` has been replaced by the result of the\napplication of `f` to `a`. The bindings are passed to `f` in increasing\norder with respect to the ordering over the type of the keys."],"signature":"let map: (t<'k, 'a, 'id>, 'a => 'b) => t<'k, 'b, 'id>"},{"id":"Belt.MutableMap.mapWithKeyU","kind":"value","name":"mapWithKeyU","docstrings":[],"signature":"let mapWithKeyU: (t<'k, 'a, 'id>, (. 'k, 'a) => 'b) => t<'k, 'b, 'id>"},{"id":"Belt.MutableMap.mapWithKey","kind":"value","name":"mapWithKey","docstrings":[],"signature":"let mapWithKey: (t<'k, 'a, 'id>, ('k, 'a) => 'b) => t<'k, 'b, 'id>"}]},"belt/mutableset":{"id":"Belt.MutableSet","name":"MutableSet","docstrings":["[`Belt.MutableSet`]()\n\n The top level provides generic **mutable** set operations.\n\n It also has two specialized inner modules\n [`Belt.MutableSet.Int`]() and [`Belt.MutableSet.String`]()"],"items":[{"id":"Belt.MutableSet.t","kind":"type","name":"t","docstrings":["`'value` is the element type\n\n`'identity` the identity of the collection"],"signature":"type t<'value, 'identity>"},{"id":"Belt.MutableSet.id","kind":"type","name":"id","docstrings":["The identity needed for making a set from scratch"],"signature":"type id<'value, 'id> = Belt_Id.comparable<'value, 'id>"},{"id":"Belt.MutableSet.make","kind":"value","name":"make","docstrings":["Creates a new set by taking in the comparator"],"signature":"let make: (~id: id<'value, 'id>) => t<'value, 'id>"},{"id":"Belt.MutableSet.fromArray","kind":"value","name":"fromArray","docstrings":["Creates new set from array of elements.\n\n## Examples\n\n```rescript\nmodule IntCmp = Belt.Id.MakeComparable({\n type t = int\n let cmp = Pervasives.compare\n})\n\nlet s0 = Belt.MutableSet.fromArray([1, 3, 2, 4], ~id=module(IntCmp))\n\ns0->Belt.MutableSet.toArray /* [1, 2, 3, 4] */\n```"],"signature":"let fromArray: (array<'value>, ~id: id<'value, 'id>) => t<'value, 'id>"},{"id":"Belt.MutableSet.fromSortedArrayUnsafe","kind":"value","name":"fromSortedArrayUnsafe","docstrings":["The same as [fromArray][#fromarray] except it is after assuming the input array is already sorted."],"signature":"let fromSortedArrayUnsafe: (array<'value>, ~id: id<'value, 'id>) => t<'value, 'id>"},{"id":"Belt.MutableSet.copy","kind":"value","name":"copy","docstrings":["Returns copy of a set.\n\n## Examples\n\n```rescript\nmodule IntCmp = Belt.Id.MakeComparable({\n type t = int\n let cmp = Pervasives.compare\n})\n\nlet s0 = Belt.MutableSet.fromArray([1, 3, 2, 4], ~id=module(IntCmp))\n\nlet copied = s0->Belt.MutableSet.copy\ncopied->Belt.MutableSet.toArray /* [1, 2, 3, 4] */\n```"],"signature":"let copy: t<'value, 'id> => t<'value, 'id>"},{"id":"Belt.MutableSet.isEmpty","kind":"value","name":"isEmpty","docstrings":["Checks if set is empty.\n\n## Examples\n\n```rescript\nmodule IntCmp = Belt.Id.MakeComparable({\n type t = int\n let cmp = Pervasives.compare\n})\n\nlet empty = Belt.MutableSet.fromArray([], ~id=module(IntCmp))\nlet notEmpty = Belt.MutableSet.fromArray([1], ~id=module(IntCmp))\n\nBelt.MutableSet.isEmpty(empty) /* true */\nBelt.MutableSet.isEmpty(notEmpty) /* false */\n```"],"signature":"let isEmpty: t<'a, 'b> => bool"},{"id":"Belt.MutableSet.has","kind":"value","name":"has","docstrings":["Checks if element exists in set.\n\n## Examples\n\n```rescript\nmodule IntCmp = Belt.Id.MakeComparable({\n type t = int\n let cmp = Pervasives.compare\n})\n\nlet set = Belt.MutableSet.fromArray([1, 4, 2, 5], ~id=module(IntCmp))\n\nset->Belt.MutableSet.has(3) /* false */\nset->Belt.MutableSet.has(1) /* true */\n```"],"signature":"let has: (t<'value, 'id>, 'value) => bool"},{"id":"Belt.MutableSet.add","kind":"value","name":"add","docstrings":["Adds element to set. If element existed in set, value is unchanged.\n\n## Examples\n\n```rescript\nmodule IntCmp = Belt.Id.MakeComparable({\n type t = int\n let cmp = Pervasives.compare\n})\n\nlet s0 = Belt.MutableSet.make(~id=module(IntCmp))\ns0->Belt.MutableSet.add(1)\ns0->Belt.MutableSet.add(2)\ns0->Belt.MutableSet.add(2)\n\ns0->Belt.MutableSet.toArray /* [1, 2] */\n```"],"signature":"let add: (t<'value, 'id>, 'value) => unit"},{"id":"Belt.MutableSet.addCheck","kind":"value","name":"addCheck","docstrings":[],"signature":"let addCheck: (t<'value, 'id>, 'value) => bool"},{"id":"Belt.MutableSet.mergeMany","kind":"value","name":"mergeMany","docstrings":["Adds each element of array to set.\n\n## Examples\n\n```rescript\nmodule IntCmp = Belt.Id.MakeComparable({\n type t = int\n let cmp = Pervasives.compare\n})\n\nlet set = Belt.MutableSet.make(~id=module(IntCmp))\n\nset->Belt.MutableSet.mergeMany([5, 4, 3, 2, 1])\nset->Belt.MutableSet.toArray /* [1, 2, 3, 4, 5] */\n```"],"signature":"let mergeMany: (t<'value, 'id>, array<'value>) => unit"},{"id":"Belt.MutableSet.remove","kind":"value","name":"remove","docstrings":["Removes element from set. If element did not exist in set, value is unchanged.\n\n## Examples\n\n```rescript\nmodule IntCmp = Belt.Id.MakeComparable({\n type t = int\n let cmp = Pervasives.compare\n})\n\nlet s0 = Belt.MutableSet.fromArray([2, 3, 1, 4, 5], ~id=module(IntCmp))\ns0->Belt.MutableSet.remove(1)\ns0->Belt.MutableSet.remove(3)\ns0->Belt.MutableSet.remove(3)\n\ns0->Belt.MutableSet.toArray /* [2,4,5] */\n```"],"signature":"let remove: (t<'value, 'id>, 'value) => unit"},{"id":"Belt.MutableSet.removeCheck","kind":"value","name":"removeCheck","docstrings":[],"signature":"let removeCheck: (t<'value, 'id>, 'value) => bool"},{"id":"Belt.MutableSet.removeMany","kind":"value","name":"removeMany","docstrings":["Removes each element of array from set.\n\n## Examples\n\n```rescript\nmodule IntCmp = Belt.Id.MakeComparable({\n type t = int\n let cmp = Pervasives.compare\n})\n\nlet set = Belt.MutableSet.fromArray([1, 2, 3, 4], ~id=module(IntCmp))\n\nset->Belt.MutableSet.removeMany([5, 4, 3, 2, 1])\nset->Belt.MutableSet.toArray /* [] */\n```"],"signature":"let removeMany: (t<'value, 'id>, array<'value>) => unit"},{"id":"Belt.MutableSet.union","kind":"value","name":"union","docstrings":["Returns union of two sets.\n\n## Examples\n\n```rescript\nmodule IntCmp = Belt.Id.MakeComparable({\n type t = int\n let cmp = Pervasives.compare\n})\n\nlet s0 = Belt.MutableSet.fromArray([5, 2, 3, 5, 6], ~id=module(IntCmp))\nlet s1 = Belt.MutableSet.fromArray([5, 2, 3, 1, 5, 4], ~id=module(IntCmp))\nlet union = Belt.MutableSet.union(s0, s1)\nunion->Belt.MutableSet.toArray /* [1,2,3,4,5,6] */\n```"],"signature":"let union: (t<'value, 'id>, t<'value, 'id>) => t<'value, 'id>"},{"id":"Belt.MutableSet.intersect","kind":"value","name":"intersect","docstrings":["Returns intersection of two sets.\n\n## Examples\n\n```rescript\nmodule IntCmp = Belt.Id.MakeComparable({\n type t = int\n let cmp = Pervasives.compare\n})\n\nlet s0 = Belt.MutableSet.fromArray([5, 2, 3, 5, 6], ~id=module(IntCmp))\nlet s1 = Belt.MutableSet.fromArray([5, 2, 3, 1, 5, 4], ~id=module(IntCmp))\nlet intersect = Belt.MutableSet.intersect(s0, s1)\nintersect->Belt.MutableSet.toArray /* [2,3,5] */\n```"],"signature":"let intersect: (t<'value, 'id>, t<'value, 'id>) => t<'value, 'id>"},{"id":"Belt.MutableSet.diff","kind":"value","name":"diff","docstrings":["Returns elements from first set, not existing in second set.\n\n## Examples\n\n```rescript\nmodule IntCmp = Belt.Id.MakeComparable({\n type t = int\n let cmp = Pervasives.compare\n})\n\nlet s0 = Belt.MutableSet.fromArray([5, 2, 3, 5, 6], ~id=module(IntCmp))\nlet s1 = Belt.MutableSet.fromArray([5, 2, 3, 1, 5, 4], ~id=module(IntCmp))\nBelt.MutableSet.toArray(Belt.MutableSet.diff(s0, s1)) /* [6] */\nBelt.MutableSet.toArray(Belt.MutableSet.diff(s1, s0)) /* [1,4] */\n```"],"signature":"let diff: (t<'value, 'id>, t<'value, 'id>) => t<'value, 'id>"},{"id":"Belt.MutableSet.subset","kind":"value","name":"subset","docstrings":["Checks if second set is subset of first set.\n\n## Examples\n\n```rescript\nmodule IntCmp = Belt.Id.MakeComparable({\n type t = int\n let cmp = Pervasives.compare\n})\n\nlet s0 = Belt.MutableSet.fromArray([5, 2, 3, 5, 6], ~id=module(IntCmp))\nlet s1 = Belt.MutableSet.fromArray([5, 2, 3, 1, 5, 4], ~id=module(IntCmp))\nlet s2 = Belt.MutableSet.intersect(s0, s1)\nBelt.MutableSet.subset(s2, s0) /* true */\nBelt.MutableSet.subset(s2, s1) /* true */\nBelt.MutableSet.subset(s1, s0) /* false */\n```"],"signature":"let subset: (t<'value, 'id>, t<'value, 'id>) => bool"},{"id":"Belt.MutableSet.cmp","kind":"value","name":"cmp","docstrings":["Total ordering between sets. Can be used as the ordering function for doing sets of sets.\nIt compares size first and then iterates over each element following the order of elements."],"signature":"let cmp: (t<'value, 'id>, t<'value, 'id>) => int"},{"id":"Belt.MutableSet.eq","kind":"value","name":"eq","docstrings":["Checks if two sets are equal.\n\n## Examples\n\n```rescript\nmodule IntCmp = Belt.Id.MakeComparable({\n type t = int\n let cmp = Pervasives.compare\n})\n\nlet s0 = Belt.MutableSet.fromArray([5, 2, 3], ~id=module(IntCmp))\nlet s1 = Belt.MutableSet.fromArray([3, 2, 5], ~id=module(IntCmp))\n\nBelt.MutableSet.eq(s0, s1) /* true */\n```"],"signature":"let eq: (t<'value, 'id>, t<'value, 'id>) => bool"},{"id":"Belt.MutableSet.forEachU","kind":"value","name":"forEachU","docstrings":["Same as [forEach](##forEach) but takes uncurried functon."],"signature":"let forEachU: (t<'value, 'id>, (. 'value) => unit) => unit"},{"id":"Belt.MutableSet.forEach","kind":"value","name":"forEach","docstrings":["Applies function `f` in turn to all elements of set in increasing order.\n\n## Examples\n\n```rescript\nmodule IntCmp = Belt.Id.MakeComparable({\n type t = int\n let cmp = Pervasives.compare\n})\n\nlet s0 = Belt.MutableSet.fromArray([5, 2, 3, 5, 6], ~id=module(IntCmp))\nlet acc = ref(list{})\ns0->Belt.MutableSet.forEach(x => acc := Belt.List.add(acc.contents, x))\nacc /* [6,5,3,2] */\n```"],"signature":"let forEach: (t<'value, 'id>, 'value => unit) => unit"},{"id":"Belt.MutableSet.reduceU","kind":"value","name":"reduceU","docstrings":[],"signature":"let reduceU: (t<'value, 'id>, 'a, (. 'a, 'value) => 'a) => 'a"},{"id":"Belt.MutableSet.reduce","kind":"value","name":"reduce","docstrings":["Applies function `f` to each element of set in increasing order. Function `f` has two parameters: the item from the set and an “accumulator”, which starts with a value of `initialValue`. `reduce` returns the final value of the accumulator.\n\n## Examples\n\n```rescript\nmodule IntCmp = Belt.Id.MakeComparable({\n type t = int\n let cmp = Pervasives.compare\n})\n\nlet s0 = Belt.MutableSet.fromArray([5, 2, 3, 5, 6], ~id=module(IntCmp))\ns0->Belt.MutableSet.reduce(list{}, (acc, element) => acc->Belt.List.add(element)) /* [6,5,3,2] */\n```"],"signature":"let reduce: (t<'value, 'id>, 'a, ('a, 'value) => 'a) => 'a"},{"id":"Belt.MutableSet.everyU","kind":"value","name":"everyU","docstrings":[],"signature":"let everyU: (t<'value, 'id>, (. 'value) => bool) => bool"},{"id":"Belt.MutableSet.every","kind":"value","name":"every","docstrings":["Checks if all elements of the set satisfy the predicate. Order unspecified.\n\n## Examples\n\n```rescript\nmodule IntCmp = Belt.Id.MakeComparable({\n type t = int\n let cmp = Pervasives.compare\n})\n\nlet isEven = x => mod(x, 2) == 0\n\nlet s0 = Belt.MutableSet.fromArray([2, 4, 6, 8], ~id=module(IntCmp))\ns0->Belt.MutableSet.every(isEven) /* true */\n```"],"signature":"let every: (t<'value, 'id>, 'value => bool) => bool"},{"id":"Belt.MutableSet.someU","kind":"value","name":"someU","docstrings":[],"signature":"let someU: (t<'value, 'id>, (. 'value) => bool) => bool"},{"id":"Belt.MutableSet.some","kind":"value","name":"some","docstrings":["Checks if at least one element of the set satisfies the predicate.\n\n## Examples\n\n```rescript\nmodule IntCmp = Belt.Id.MakeComparable({\n type t = int\n let cmp = Pervasives.compare\n})\n\nlet isOdd = x => mod(x, 2) != 0\n\nlet s0 = Belt.MutableSet.fromArray([1, 2, 4, 6, 8], ~id=module(IntCmp))\ns0->Belt.MutableSet.some(isOdd) /* true */\n```"],"signature":"let some: (t<'value, 'id>, 'value => bool) => bool"},{"id":"Belt.MutableSet.keepU","kind":"value","name":"keepU","docstrings":[],"signature":"let keepU: (t<'value, 'id>, (. 'value) => bool) => t<'value, 'id>"},{"id":"Belt.MutableSet.keep","kind":"value","name":"keep","docstrings":["Returns the set of all elements that satisfy the predicate.\n\n## Examples\n\n```rescript\nmodule IntCmp = Belt.Id.MakeComparable({\n type t = int\n let cmp = Pervasives.compare\n})\n\nlet isEven = x => mod(x, 2) == 0\n\nlet s0 = Belt.MutableSet.fromArray([1, 2, 3, 4, 5], ~id=module(IntCmp))\nlet s1 = s0->Belt.MutableSet.keep(isEven)\n\ns1->Belt.MutableSet.toArray /* [2, 4] */\n```"],"signature":"let keep: (t<'value, 'id>, 'value => bool) => t<'value, 'id>"},{"id":"Belt.MutableSet.partitionU","kind":"value","name":"partitionU","docstrings":[],"signature":"let partitionU: (\\n t<'value, 'id>,\\n (. 'value) => bool,\\n) => (t<'value, 'id>, t<'value, 'id>)"},{"id":"Belt.MutableSet.partition","kind":"value","name":"partition","docstrings":["## Examples\n\n```rescript\nmodule IntCmp = Belt.Id.MakeComparable({\n type t = int\n let cmp = Pervasives.compare\n})\n\nlet isOdd = x => mod(x, 2) != 0\n\nlet s0 = Belt.MutableSet.fromArray([1, 2, 3, 4, 5], ~id=module(IntCmp))\nlet (s1, s2) = s0->Belt.MutableSet.partition(isOdd)\n\ns1->Belt.MutableSet.toArray /* [1,3,5] */\ns2->Belt.MutableSet.toArray /* [2,4] */\n```"],"signature":"let partition: (\\n t<'value, 'id>,\\n 'value => bool,\\n) => (t<'value, 'id>, t<'value, 'id>)"},{"id":"Belt.MutableSet.size","kind":"value","name":"size","docstrings":["Returns size of the set.\n\n## Examples\n\n```rescript\nmodule IntCmp = Belt.Id.MakeComparable({\n type t = int\n let cmp = Pervasives.compare\n})\n\nlet s0 = Belt.MutableSet.fromArray([1, 2, 3, 4], ~id=module(IntCmp))\n\ns0->Belt.MutableSet.size /* 4 */\n```"],"signature":"let size: t<'value, 'id> => int"},{"id":"Belt.MutableSet.toList","kind":"value","name":"toList","docstrings":["Returns list of ordered set elements.\n\n## Examples\n\n```rescript\nmodule IntCmp = Belt.Id.MakeComparable({\n type t = int\n let cmp = Pervasives.compare\n})\n\nlet s0 = Belt.MutableSet.fromArray([3, 2, 1, 5], ~id=module(IntCmp))\n\ns0->Belt.MutableSet.toList /* [1,2,3,5] */\n```"],"signature":"let toList: t<'value, 'id> => list<'value>"},{"id":"Belt.MutableSet.toArray","kind":"value","name":"toArray","docstrings":["Returns array of ordered set elements.\n\n## Examples\n\n```rescript\nmodule IntCmp = Belt.Id.MakeComparable({\n type t = int\n let cmp = Pervasives.compare\n})\n\nlet s0 = Belt.MutableSet.fromArray([3, 2, 1, 5], ~id=module(IntCmp))\n\ns0->Belt.MutableSet.toArray /* [1,2,3,5] */\n```"],"signature":"let toArray: t<'value, 'id> => array<'value>"},{"id":"Belt.MutableSet.minimum","kind":"value","name":"minimum","docstrings":["Returns minimum value of the collection. `None` if collection is empty.\n\n## Examples\n\n```rescript\nmodule IntCmp = Belt.Id.MakeComparable({\n type t = int\n let cmp = Pervasives.compare\n})\n\nlet s0 = Belt.MutableSet.make(~id=module(IntCmp))\nlet s1 = Belt.MutableSet.fromArray([3, 2, 1, 5], ~id=module(IntCmp))\n\ns0->Belt.MutableSet.minimum /* None */\ns1->Belt.MutableSet.minimum /* Some(1) */\n```"],"signature":"let minimum: t<'value, 'id> => option<'value>"},{"id":"Belt.MutableSet.minUndefined","kind":"value","name":"minUndefined","docstrings":["Returns minimum value of the collection. `undefined` if collection is empty.\n\n## Examples\n\n```rescript\nmodule IntCmp = Belt.Id.MakeComparable({\n type t = int\n let cmp = Pervasives.compare\n})\n\nlet s0 = Belt.MutableSet.make(~id=module(IntCmp))\nlet s1 = Belt.MutableSet.fromArray([3, 2, 1, 5], ~id=module(IntCmp))\n\ns0->Belt.MutableSet.minUndefined /* undefined */\ns1->Belt.MutableSet.minUndefined /* 1 */\n```"],"signature":"let minUndefined: t<'value, 'id> => Js.undefined<'value>"},{"id":"Belt.MutableSet.maximum","kind":"value","name":"maximum","docstrings":["Returns maximum value of the collection. `None` if collection is empty.\n\n## Examples\n\n```rescript\nmodule IntCmp = Belt.Id.MakeComparable({\n type t = int\n let cmp = Pervasives.compare\n})\n\nlet s0 = Belt.MutableSet.make(~id=module(IntCmp))\nlet s1 = Belt.MutableSet.fromArray([3, 2, 1, 5], ~id=module(IntCmp))\n\ns0->Belt.MutableSet.maximum /* None */\ns1->Belt.MutableSet.maximum /* Some(5) */\n```"],"signature":"let maximum: t<'value, 'id> => option<'value>"},{"id":"Belt.MutableSet.maxUndefined","kind":"value","name":"maxUndefined","docstrings":["Returns maximum value of the collection. `undefined` if collection is empty.\n\n## Examples\n\n```rescript\nmodule IntCmp = Belt.Id.MakeComparable({\n type t = int\n let cmp = Pervasives.compare\n})\n\nlet s0 = Belt.MutableSet.make(~id=module(IntCmp))\nlet s1 = Belt.MutableSet.fromArray([3, 2, 1, 5], ~id=module(IntCmp))\n\ns0->Belt.MutableSet.maxUndefined /* undefined */\ns1->Belt.MutableSet.maxUndefined /* 5 */\n```"],"signature":"let maxUndefined: t<'value, 'id> => Js.undefined<'value>"},{"id":"Belt.MutableSet.get","kind":"value","name":"get","docstrings":["Returns the reference of the value which is equivalent to value using the comparator specifiecd by this collection. Returns `None` if element does not exist.\n\n## Examples\n\n```rescript\nmodule IntCmp = Belt.Id.MakeComparable({\n type t = int\n let cmp = Pervasives.compare\n})\n\nlet s0 = Belt.MutableSet.fromArray([1, 2, 3, 4, 5], ~id=module(IntCmp))\n\ns0->Belt.MutableSet.get(3) /* Some(3) */\ns0->Belt.MutableSet.get(20) /* None */\n```"],"signature":"let get: (t<'value, 'id>, 'value) => option<'value>"},{"id":"Belt.MutableSet.getUndefined","kind":"value","name":"getUndefined","docstrings":["Same as [get](#get) but returns `undefined` when element does not exist."],"signature":"let getUndefined: (t<'value, 'id>, 'value) => Js.undefined<'value>"},{"id":"Belt.MutableSet.getExn","kind":"value","name":"getExn","docstrings":["Same as [get](#get) but raise when element does not exist."],"signature":"let getExn: (t<'value, 'id>, 'value) => 'value"},{"id":"Belt.MutableSet.split","kind":"value","name":"split","docstrings":["Returns a tuple `((smaller, larger), present)`, `present` is true when element exist in set.\n\n## Examples\n\n```rescript\nmodule IntCmp = Belt.Id.MakeComparable({\n type t = int\n let cmp = Pervasives.compare\n})\n\nlet s0 = Belt.MutableSet.fromArray([1, 2, 3, 4, 5], ~id=module(IntCmp))\n\nlet ((smaller, larger), present) = s0->Belt.MutableSet.split(3)\n\npresent /* true */\nsmaller->Belt.MutableSet.toArray /* [1,2] */\nlarger->Belt.MutableSet.toArray /* [4,5] */\n```"],"signature":"let split: (\\n t<'value, 'id>,\\n 'value,\\n) => ((t<'value, 'id>, t<'value, 'id>), bool)"},{"id":"Belt.MutableSet.checkInvariantInternal","kind":"value","name":"checkInvariantInternal","docstrings":["**raise** when invariant is not held"],"signature":"let checkInvariantInternal: t<'a, 'b> => unit"}]},"belt/map":{"id":"Belt.Map","name":"Map","docstrings":["[`Belt.Map`](),\n\n The top level provides generic **immutable** map operations.\n\n It also has three specialized inner modules\n [`Belt.Map.Int`](), [`Belt.Map.String`]() and\n\n [`Belt.Map.Dict`](): This module separates data from function\n which is more verbose but slightly more efficient"],"items":[{"id":"Belt.Map.t","kind":"type","name":"t","docstrings":["`'key` is the field type\n\n`'value` is the element type\n\n`'identity` the identity of the collection"],"signature":"type t<'key, 'value, 'identity>"},{"id":"Belt.Map.id","kind":"type","name":"id","docstrings":["The identity needed for making an empty map."],"signature":"type id<'key, 'id> = Belt_Id.comparable<'key, 'id>"},{"id":"Belt.Map.make","kind":"value","name":"make","docstrings":["`make(~id)` creates a new map by taking in the comparator.\n\n## Examples\n\n```rescript\nmodule IntCmp = Belt.Id.MakeComparable({\n type t = int\n let cmp = (a, b) => Pervasives.compare(a, b)\n})\n\nlet m = Belt.Map.make(~id=module(IntCmp))\n\nBelt.Map.set(m, 0, \"a\")\n```"],"signature":"let make: (~id: id<'k, 'id>) => t<'k, 'v, 'id>"},{"id":"Belt.Map.isEmpty","kind":"value","name":"isEmpty","docstrings":["`isEmpty(m)` checks whether a map m is empty.\n\n## Examples\n\n```rescript\nmodule IntCmp = Belt.Id.MakeComparable({\n type t = int\n let cmp = (a, b) => Pervasives.compare(a, b)\n})\n\nBelt.Map.isEmpty(Belt.Map.fromArray([(1, \"1\")], ~id=module(IntCmp))) == false\n```"],"signature":"let isEmpty: t<'a, 'b, 'c> => bool"},{"id":"Belt.Map.has","kind":"value","name":"has","docstrings":["`has(m, k)` checks whether `m` has the key `k`.\n\n## Examples\n\n```rescript\nmodule IntCmp = Belt.Id.MakeComparable({\n type t = int\n let cmp = (a, b) => Pervasives.compare(a, b)\n})\n\nBelt.Map.has(Belt.Map.fromArray([(1, \"1\")], ~id=module(IntCmp)), 1) == true\n```"],"signature":"let has: (t<'k, 'v, 'id>, 'k) => bool"},{"id":"Belt.Map.cmpU","kind":"value","name":"cmpU","docstrings":[],"signature":"let cmpU: (t<'k, 'v, 'id>, t<'k, 'v, 'id>, (. 'v, 'v) => int) => int"},{"id":"Belt.Map.cmp","kind":"value","name":"cmp","docstrings":["`cmp(m0, m1, vcmp);`\n\nTotal ordering of map given total ordering of value function.\n\nIt will compare size first and each element following the order one by one."],"signature":"let cmp: (t<'k, 'v, 'id>, t<'k, 'v, 'id>, ('v, 'v) => int) => int"},{"id":"Belt.Map.eqU","kind":"value","name":"eqU","docstrings":[],"signature":"let eqU: (t<'k, 'v, 'id>, t<'k, 'v, 'id>, (. 'v, 'v) => bool) => bool"},{"id":"Belt.Map.eq","kind":"value","name":"eq","docstrings":["eq(m1, m2, veq)` tests whether the maps `m1` and `m2` are equal, that is,\ncontain equal keys and associate them with equal data. `veq` is the\nequality predicate used to compare the data associated with the keys."],"signature":"let eq: (t<'k, 'v, 'id>, t<'k, 'v, 'id>, ('v, 'v) => bool) => bool"},{"id":"Belt.Map.findFirstByU","kind":"value","name":"findFirstByU","docstrings":[],"signature":"let findFirstByU: (t<'k, 'v, 'id>, (. 'k, 'v) => bool) => option<('k, 'v)>"},{"id":"Belt.Map.findFirstBy","kind":"value","name":"findFirstBy","docstrings":["`\nfindFirstBy(m, p)` uses function `f` to find the first key value pair to match predicate `p`.\n\n## Examples\n\n```rescript\nmodule IntCmp = Belt.Id.MakeComparable({\n type t = int\n let cmp = (a, b) => Pervasives.compare(a, b)\n})\n\nlet s0 = Belt.Map.fromArray(~id=module(IntCmp), [(4, \"4\"), (1, \"1\"), (2, \"2\"), (3, \"\")])\n\nBelt.Map.findFirstBy(s0, (k, v) => k == 4) /* (4, \"4\") */\n```"],"signature":"let findFirstBy: (t<'k, 'v, 'id>, ('k, 'v) => bool) => option<('k, 'v)>"},{"id":"Belt.Map.forEachU","kind":"value","name":"forEachU","docstrings":[],"signature":"let forEachU: (t<'k, 'v, 'id>, (. 'k, 'v) => unit) => unit"},{"id":"Belt.Map.forEach","kind":"value","name":"forEach","docstrings":["`forEach(m, f)` applies `f` to all bindings in map `m`. `f` receives the\n`'k` as first argument, and the associated value as second argument. The\nbindings are passed to `f` in increasing order with respect to the ordering\nover the type of the keys.\n\n## Examples\n\n```rescript\nmodule IntCmp = Belt.Id.MakeComparable({\n type t = int\n let cmp = (a, b) => Pervasives.compare(a, b)\n})\n\nlet s0 = Belt.Map.fromArray(~id=module(IntCmp), [(4, \"4\"), (1, \"1\"), (2, \"2\"), (3, \"\")])\n\nlet acc = ref(list{})\n\nBelt.Map.forEach(s0, (k, v) => acc := list{(k, v), ...acc.contents})\n\nacc.contents == list{(4, \"4\"), (3, \"3\"), (2, \"2\"), (1, \"1\")}\n```"],"signature":"let forEach: (t<'k, 'v, 'id>, ('k, 'v) => unit) => unit"},{"id":"Belt.Map.reduceU","kind":"value","name":"reduceU","docstrings":[],"signature":"let reduceU: (t<'k, 'v, 'id>, 'acc, (. 'acc, 'k, 'v) => 'acc) => 'acc"},{"id":"Belt.Map.reduce","kind":"value","name":"reduce","docstrings":["`reduce(m, a, f)` computes `(f(kN, dN) ... (f(k1, d1, a))...)`, where `k1\n... kN` are the keys of all bindings in m (in increasing order), and `d1\n... dN` are the associated data.\n\n## Examples\n\n```rescript\nmodule IntCmp = Belt.Id.MakeComparable({\n type t = int\n let cmp = (a, b) => Pervasives.compare(a, b)\n})\n\nlet s0 = Belt.Map.fromArray(~id=module(IntCmp), [(4, \"4\"), (1, \"1\"), (2, \"2\"), (3, \"3\")])\n\nBelt.Map.reduce(s0, list{}, (acc, k, v) => list{\n (k, v),\n ...acc,\n}) /* [(4, \"4\"), (3, \"3\"), (2, \"2\"), (1, \"1\"), 0] */\n```"],"signature":"let reduce: (t<'k, 'v, 'id>, 'acc, ('acc, 'k, 'v) => 'acc) => 'acc"},{"id":"Belt.Map.everyU","kind":"value","name":"everyU","docstrings":[],"signature":"let everyU: (t<'k, 'v, 'id>, (. 'k, 'v) => bool) => bool"},{"id":"Belt.Map.every","kind":"value","name":"every","docstrings":["`every(m, p)` checks if all the bindings of the map satisfy the predicate\n`p`. Order unspecified"],"signature":"let every: (t<'k, 'v, 'id>, ('k, 'v) => bool) => bool"},{"id":"Belt.Map.someU","kind":"value","name":"someU","docstrings":[],"signature":"let someU: (t<'k, 'v, 'id>, (. 'k, 'v) => bool) => bool"},{"id":"Belt.Map.some","kind":"value","name":"some","docstrings":["`some(m, p)` checks if at least one binding of the map satisfy the predicate \n`p`. Order unspecified"],"signature":"let some: (t<'k, 'v, 'id>, ('k, 'v) => bool) => bool"},{"id":"Belt.Map.size","kind":"value","name":"size","docstrings":["`size(s)`\n\n## Examples\n\n```rescript\nmodule IntCmp = Belt.Id.MakeComparable({\n type t = int\n let cmp = (a, b) => Pervasives.compare(a, b)\n})\n\nBelt.Map.size(Belt.Map.fromArray([(2, \"2\"), (2, \"1\"), (3, \"3\")], ~id=module(IntCmp))) == 2\n```"],"signature":"let size: t<'k, 'v, 'id> => int"},{"id":"Belt.Map.toArray","kind":"value","name":"toArray","docstrings":["`toArray(s)`\n\n## Examples\n\n```rescript\nmodule IntCmp = Belt.Id.MakeComparable({\n type t = int\n let cmp = (a, b) => Pervasives.compare(a, b)\n})\n\nBelt.Map.toArray(Belt.Map.fromArray([(2, \"2\"), (1, \"1\"), (3, \"3\")], ~id=module(IntCmp))) == [\n (1, \"1\"),\n (2, \"2\"),\n (3, \"3\"),\n ]\n```"],"signature":"let toArray: t<'k, 'v, 'id> => array<('k, 'v)>"},{"id":"Belt.Map.toList","kind":"value","name":"toList","docstrings":["In increasing order. See `Belt.Map.toArray`"],"signature":"let toList: t<'k, 'v, 'id> => list<('k, 'v)>"},{"id":"Belt.Map.fromArray","kind":"value","name":"fromArray","docstrings":["`fromArray(kvs, ~id);`\n\n## Examples\n\n```rescript\nmodule IntCmp = Belt.Id.MakeComparable({\n type t = int\n let cmp = (a, b) => Pervasives.compare(a, b)\n})\n\nBelt.Map.toArray(Belt.Map.fromArray([(2, \"2\"), (1, \"1\"), (3, \"3\")], ~id=module(IntCmp))) == [\n (1, \"1\"),\n (2, \"2\"),\n (3, \"3\"),\n ]\n```"],"signature":"let fromArray: (array<('k, 'v)>, ~id: id<'k, 'id>) => t<'k, 'v, 'id>"},{"id":"Belt.Map.keysToArray","kind":"value","name":"keysToArray","docstrings":["`keysToArray(s);`\n\n## Examples\n\n```rescript\nmodule IntCmp = Belt.Id.MakeComparable({\n type t = int\n let cmp = (a, b) => Pervasives.compare(a, b)\n})\n\nBelt.Map.keysToArray(Belt.Map.fromArray([(2, \"2\"), (1, \"1\"), (3, \"3\")], ~id=module(IntCmp))) == [\n 1,\n 2,\n 3,\n ]\n```"],"signature":"let keysToArray: t<'k, 'v, 'id> => array<'k>"},{"id":"Belt.Map.valuesToArray","kind":"value","name":"valuesToArray","docstrings":["`valuesToArray(s);`\n\n## Examples\n\n```rescript\nmodule IntCmp = Belt.Id.MakeComparable({\n type t = int\n let cmp = (a, b) => Pervasives.compare(a, b)\n})\n\nBelt.Map.valuesToArray(\n Belt.Map.fromArray([(2, \"2\"), (1, \"1\"), (3, \"3\")], ~id=module(IntCmp)),\n) == [\"1\", \"2\", \"3\"]\n```"],"signature":"let valuesToArray: t<'k, 'v, 'id> => array<'v>"},{"id":"Belt.Map.minKey","kind":"value","name":"minKey","docstrings":["`minKey(s)` returns the minimum key, None if not exist."],"signature":"let minKey: t<'k, 'a, 'b> => option<'k>"},{"id":"Belt.Map.minKeyUndefined","kind":"value","name":"minKeyUndefined","docstrings":["See `Belt.Map.minKey`"],"signature":"let minKeyUndefined: t<'k, 'a, 'b> => Js.undefined<'k>"},{"id":"Belt.Map.maxKey","kind":"value","name":"maxKey","docstrings":["`maxKey(s)` returns the maximum key, None if not exist."],"signature":"let maxKey: t<'k, 'a, 'b> => option<'k>"},{"id":"Belt.Map.maxKeyUndefined","kind":"value","name":"maxKeyUndefined","docstrings":["See `Belt.Map.maxKey`"],"signature":"let maxKeyUndefined: t<'k, 'a, 'b> => Js.undefined<'k>"},{"id":"Belt.Map.minimum","kind":"value","name":"minimum","docstrings":["`minimum(s)` returns the minimum key value pair, None if not exist."],"signature":"let minimum: t<'k, 'v, 'a> => option<('k, 'v)>"},{"id":"Belt.Map.minUndefined","kind":"value","name":"minUndefined","docstrings":["See `Belt.Map.minimum`"],"signature":"let minUndefined: t<'k, 'v, 'a> => Js.undefined<('k, 'v)>"},{"id":"Belt.Map.maximum","kind":"value","name":"maximum","docstrings":["`maximum(s)` returns the maximum key value pair, None if not exist."],"signature":"let maximum: t<'k, 'v, 'a> => option<('k, 'v)>"},{"id":"Belt.Map.maxUndefined","kind":"value","name":"maxUndefined","docstrings":["See `Belt.Map.maximum`"],"signature":"let maxUndefined: t<'k, 'v, 'a> => Js.undefined<('k, 'v)>"},{"id":"Belt.Map.get","kind":"value","name":"get","docstrings":["`get(s, k)`\n\n## Examples\n\n```rescript\nmodule IntCmp = Belt.Id.MakeComparable({\n type t = int\n let cmp = (a, b) => Pervasives.compare(a, b)\n})\n\nBelt.Map.get(Belt.Map.fromArray([(2, \"2\"), (1, \"1\"), (3, \"3\")], ~id=module(IntCmp)), 2) ==\n Some(\"2\")\n\nBelt.Map.get(Belt.Map.fromArray([(2, \"2\"), (1, \"1\"), (3, \"3\")], ~id=module(IntCmp)), 2) == None\n```"],"signature":"let get: (t<'k, 'v, 'id>, 'k) => option<'v>"},{"id":"Belt.Map.getUndefined","kind":"value","name":"getUndefined","docstrings":["See `Belt.Map.get`. Returns `undefined` when not found"],"signature":"let getUndefined: (t<'k, 'v, 'id>, 'k) => Js.undefined<'v>"},{"id":"Belt.Map.getWithDefault","kind":"value","name":"getWithDefault","docstrings":["`getWithDefault(s, k, default)`\n\nSee `Belt.Map.get`\n\nReturns default when `k` is not found."],"signature":"let getWithDefault: (t<'k, 'v, 'id>, 'k, 'v) => 'v"},{"id":"Belt.Map.getExn","kind":"value","name":"getExn","docstrings":["`getExn(s, k)`\n\nSee `Belt.Map.getExn`\n\nraise when `k` not exist"],"signature":"let getExn: (t<'k, 'v, 'id>, 'k) => 'v"},{"id":"Belt.Map.remove","kind":"value","name":"remove","docstrings":["`remove(m, x)` when `x` is not in `m`, `m` is returned reference unchanged.\n\n## Examples\n\n```rescript\nmodule IntCmp = Belt.Id.MakeComparable({\n type t = int\n let cmp = (a, b) => Pervasives.compare(a, b)\n})\n\nlet s0 = Belt.Map.fromArray([(2, \"2\"), (1, \"1\"), (3, \"3\")], ~id=module(IntCmp))\n\nlet s1 = Belt.Map.remove(s0, 1)\n\nlet s2 = Belt.Map.remove(s1, 1)\n\ns1 === s2\n\nBelt.Map.keysToArray(s1) == [2, 3]\n```"],"signature":"let remove: (t<'k, 'v, 'id>, 'k) => t<'k, 'v, 'id>"},{"id":"Belt.Map.removeMany","kind":"value","name":"removeMany","docstrings":["`removeMany(s, xs)`\n\nRemoving each of `xs` to `s`, note unlike `Belt.Map.remove`, the reference\nof return value might be changed even if none in `xs` exists `s`."],"signature":"let removeMany: (t<'k, 'v, 'id>, array<'k>) => t<'k, 'v, 'id>"},{"id":"Belt.Map.set","kind":"value","name":"set","docstrings":["`set(m, x, y)` returns a map containing the same bindings as `m`, with a\nnew binding of `x` to `y`. If `x` was already bound in `m`, its previous\nbinding disappears.\n\n## Examples\n\n```rescript\nmodule IntCmp = Belt.Id.MakeComparable({\n type t = int\n let cmp = (a, b) => Pervasives.compare(a, b)\n})\n\nlet s0 = Belt.Map.fromArray([(2, \"2\"), (1, \"1\"), (3, \"3\")], ~id=module(IntCmp))\n\nlet s1 = Belt.Map.set(s0, 2, \"3\")\n\nBelt.Map.valuesToArray(s1) == [\"1\", \"3\", \"3\"]\n```"],"signature":"let set: (t<'k, 'v, 'id>, 'k, 'v) => t<'k, 'v, 'id>"},{"id":"Belt.Map.updateU","kind":"value","name":"updateU","docstrings":[],"signature":"let updateU: (\\n t<'k, 'v, 'id>,\\n 'k,\\n (. option<'v>) => option<'v>,\\n) => t<'k, 'v, 'id>"},{"id":"Belt.Map.update","kind":"value","name":"update","docstrings":["`update(m, x, f)` returns a map containing the same bindings as `m`, except\nfor the binding of `x`. Depending on the value of `y` where `y` is\n`f(get(m, x))`, the binding of `x` is added, removed or updated. If `y` is\n`None`, the binding is removed if it exists; otherwise, if `y` is `Some(z)`\nthen `x` is associated to `z` in the resulting map."],"signature":"let update: (\\n t<'k, 'v, 'id>,\\n 'k,\\n option<'v> => option<'v>,\\n) => t<'k, 'v, 'id>"},{"id":"Belt.Map.mergeMany","kind":"value","name":"mergeMany","docstrings":["`mergeMany(s, xs)`\n\nAdding each of `xs` to `s`, note unlike `add`, the reference of return\nvalue might be changed even if all values in `xs` exist `s`."],"signature":"let mergeMany: (t<'k, 'v, 'id>, array<('k, 'v)>) => t<'k, 'v, 'id>"},{"id":"Belt.Map.mergeU","kind":"value","name":"mergeU","docstrings":[],"signature":"let mergeU: (\\n t<'k, 'v, 'id>,\\n t<'k, 'v2, 'id>,\\n (. 'k, option<'v>, option<'v2>) => option<'v3>,\\n) => t<'k, 'v3, 'id>"},{"id":"Belt.Map.merge","kind":"value","name":"merge","docstrings":["`merge(m1, m2, f)` computes a map whose keys is a subset of keys of `m1`\nand of `m2`. The presence of each such binding, and the corresponding\nvalue, is determined with the function `f`."],"signature":"let merge: (\\n t<'k, 'v, 'id>,\\n t<'k, 'v2, 'id>,\\n ('k, option<'v>, option<'v2>) => option<'v3>,\\n) => t<'k, 'v3, 'id>"},{"id":"Belt.Map.keepU","kind":"value","name":"keepU","docstrings":[],"signature":"let keepU: (t<'k, 'v, 'id>, (. 'k, 'v) => bool) => t<'k, 'v, 'id>"},{"id":"Belt.Map.keep","kind":"value","name":"keep","docstrings":["`keep(m, p)` returns the map with all the bindings in m that satisfy\npredicate `p`."],"signature":"let keep: (t<'k, 'v, 'id>, ('k, 'v) => bool) => t<'k, 'v, 'id>"},{"id":"Belt.Map.partitionU","kind":"value","name":"partitionU","docstrings":[],"signature":"let partitionU: (\\n t<'k, 'v, 'id>,\\n (. 'k, 'v) => bool,\\n) => (t<'k, 'v, 'id>, t<'k, 'v, 'id>)"},{"id":"Belt.Map.partition","kind":"value","name":"partition","docstrings":["`partition(m, p)` returns a pair of maps `(m1, m2)`, where `m1` contains\nall the bindings of `s` that satisfy the predicate `p`, and `m2` is the map\nwith all the bindings of `s` that do not satisfy `p`."],"signature":"let partition: (\\n t<'k, 'v, 'id>,\\n ('k, 'v) => bool,\\n) => (t<'k, 'v, 'id>, t<'k, 'v, 'id>)"},{"id":"Belt.Map.split","kind":"value","name":"split","docstrings":["`split(x, m)` returns a tuple `(l, r)`, data, where `l` is the map with all\nthe bindings of `m` whose 'k is strictly less than `x`; `r` is the map with\nall the bindings of m whose 'k is strictly greater than `x`; `data` is\n`None` if `m` contains no binding for `x`, or `Some(v)` if `m` binds `v` to\n`x`."],"signature":"let split: (\\n t<'k, 'v, 'id>,\\n 'k,\\n) => ((t<'k, 'v, 'id>, t<'k, 'v, 'id>), option<'v>)"},{"id":"Belt.Map.mapU","kind":"value","name":"mapU","docstrings":[],"signature":"let mapU: (t<'k, 'v, 'id>, (. 'v) => 'v2) => t<'k, 'v2, 'id>"},{"id":"Belt.Map.map","kind":"value","name":"map","docstrings":["`map(m, f) returns a map with same domain as`m`, where the associated\nvalue`a`of all bindings of`m`has been replaced by the result of the\napplication of`f`to`a`. The bindings are passed to`f` in increasing order\nwith respect to the ordering over the type of the keys."],"signature":"let map: (t<'k, 'v, 'id>, 'v => 'v2) => t<'k, 'v2, 'id>"},{"id":"Belt.Map.mapWithKeyU","kind":"value","name":"mapWithKeyU","docstrings":[],"signature":"let mapWithKeyU: (t<'k, 'v, 'id>, (. 'k, 'v) => 'v2) => t<'k, 'v2, 'id>"},{"id":"Belt.Map.mapWithKey","kind":"value","name":"mapWithKey","docstrings":["`mapWithKey(m, f)`\n\nThe same as `Belt.Map.map` except that `f` is supplied with one more\nargument: the key."],"signature":"let mapWithKey: (t<'k, 'v, 'id>, ('k, 'v) => 'v2) => t<'k, 'v2, 'id>"},{"id":"Belt.Map.getData","kind":"value","name":"getData","docstrings":["`getData(s0)`\n\nAdvanced usage only\n\nReturns the raw data (detached from comparator), but its type is still\nmanifested, so that user can pass identity directly without boxing."],"signature":"let getData: t<'k, 'v, 'id> => Belt_MapDict.t<'k, 'v, 'id>"},{"id":"Belt.Map.getId","kind":"value","name":"getId","docstrings":["Advanced usage only. Returns the identity of s0."],"signature":"let getId: t<'k, 'v, 'id> => id<'k, 'id>"},{"id":"Belt.Map.packIdData","kind":"value","name":"packIdData","docstrings":["`packIdData(~id, ~data)`\n\nAdvanced usage only\n\nReturns the packed collection."],"signature":"let packIdData: (\\n ~id: id<'k, 'id>,\\n ~data: Belt_MapDict.t<'k, 'v, 'id>,\\n) => t<'k, 'v, 'id>"},{"id":"Belt.Map.checkInvariantInternal","kind":"value","name":"checkInvariantInternal","docstrings":["**raise** when invariant is not held"],"signature":"let checkInvariantInternal: t<'a, 'b, 'c> => unit"}]},"belt/set":{"id":"Belt.Set","name":"Set","docstrings":["[`Belt.Set`]()\n\n The top level provides generic **immutable** set operations.\n\n It also has three specialized inner modules\n [`Belt.Set.Int`](), [`Belt.Set.String`]() and\n\n [`Belt.Set.Dict`](): This module separates data from function\n which is more verbose but slightly more efficient"],"items":[{"id":"Belt.Set.t","kind":"type","name":"t","docstrings":["`'value` is the element type\n\n`'identity` the identity of the collection"],"signature":"type t<'value, 'identity>"},{"id":"Belt.Set.id","kind":"type","name":"id","docstrings":["The identity needed for making a set from scratch"],"signature":"type id<'value, 'id> = Belt_Id.comparable<'value, 'id>"},{"id":"Belt.Set.make","kind":"value","name":"make","docstrings":["Creates a new set by taking in the comparator\n\n## Examples\n\n```rescript\nlet set = Belt.Set.make(~id=module(IntCmp))\n```"],"signature":"let make: (~id: id<'value, 'id>) => t<'value, 'id>"},{"id":"Belt.Set.fromArray","kind":"value","name":"fromArray","docstrings":["Creates new set from array of elements.\n\n## Examples\n\n```rescript\nlet s0 = Belt.Set.fromArray([1, 3, 2, 4], ~id=module(IntCmp))\n\ns0->Belt.Set.toArray /* [1, 2, 3, 4] */\n```"],"signature":"let fromArray: (array<'value>, ~id: id<'value, 'id>) => t<'value, 'id>"},{"id":"Belt.Set.fromSortedArrayUnsafe","kind":"value","name":"fromSortedArrayUnsafe","docstrings":["The same as [fromArray][#fromarray] except it is after assuming the input array\nis already sorted."],"signature":"let fromSortedArrayUnsafe: (array<'value>, ~id: id<'value, 'id>) => t<'value, 'id>"},{"id":"Belt.Set.isEmpty","kind":"value","name":"isEmpty","docstrings":["Checks if set is empty.\n\n## Examples\n\n```rescript\nlet empty = Belt.Set.fromArray([], ~id=module(IntCmp))\nlet notEmpty = Belt.Set.fromArray([1],~id=module(IntCmp))\n\nBelt.Set.isEmpty(empty) /* true */\nBelt.Set.isEmpty(notEmpty) /* false */\n```"],"signature":"let isEmpty: t<'a, 'b> => bool"},{"id":"Belt.Set.has","kind":"value","name":"has","docstrings":["Checks if element exists in set.\n\n## Examples\n\n```rescript\nlet set = Belt.Set.fromArray([1, 4, 2, 5], ~id=module(IntCmp))\n\nset->Belt.Set.has(3) /* false */\nset->Belt.Set.has(1) /* true */\n```"],"signature":"let has: (t<'value, 'id>, 'value) => bool"},{"id":"Belt.Set.add","kind":"value","name":"add","docstrings":["Adds element to set. If element existed in set, value is unchanged.\n\n## Examples\n\n```rescript\nlet s0 = Belt.Set.make(~id=module(IntCmp))\nlet s1 = s0->Belt.Set.add(1)\nlet s2 = s1->Belt.Set.add(2)\nlet s3 = s2->Belt.Set.add(2)\ns0->Belt.Set.toArray /* [] */\ns1->Belt.Set.toArray /* [1] */\ns2->Belt.Set.toArray /* [1, 2] */\ns3->Belt.Set.toArray /* [1,2 ] */\ns2 == s3 /* true */\n```"],"signature":"let add: (t<'value, 'id>, 'value) => t<'value, 'id>"},{"id":"Belt.Set.mergeMany","kind":"value","name":"mergeMany","docstrings":["Adds each element of array to set. Unlike [add](#add), the reference of return value might be changed even if all values in array already exist in set\n\n## Examples\n\n```rescript\nlet set = Belt.Set.make(~id=module(IntCmp))\n\nlet newSet = set->Belt.Set.mergeMany([5, 4, 3, 2, 1])\nnewSet->Belt.Set.toArray /* [1, 2, 3, 4, 5] */\n```"],"signature":"let mergeMany: (t<'value, 'id>, array<'value>) => t<'value, 'id>"},{"id":"Belt.Set.remove","kind":"value","name":"remove","docstrings":["Removes element from set. If element did not exist in set, value is unchanged.\n\n## Examples\n\n```rescript\nlet s0 = Belt.Set.fromArray([2,3,1,4,5], ~id=module(IntCmp))\nlet s1 = s0->Belt.Set.remove(1)\nlet s2 = s1->Belt.Set.remove(3)\nlet s3 = s2->Belt.Set.remove(3)\n\ns1->Belt.Set.toArray /* [2,3,4,5] */\ns2->Belt.Set.toArray /* [2,4,5] */\ns2 == s3 /* true */\n```"],"signature":"let remove: (t<'value, 'id>, 'value) => t<'value, 'id>"},{"id":"Belt.Set.removeMany","kind":"value","name":"removeMany","docstrings":["Removes each element of array from set. Unlike [remove](#remove), the reference of return value might be changed even if none of values in array existed in set.\n\n## Examples\n\n```rescript\nlet set = Belt.Set.fromArray([1, 2, 3, 4],~id=module(IntCmp))\n\nlet newSet = set->Belt.Set.removeMany([5, 4, 3, 2, 1])\nnewSet->Belt.Set.toArray /* [] */\n```"],"signature":"let removeMany: (t<'value, 'id>, array<'value>) => t<'value, 'id>"},{"id":"Belt.Set.union","kind":"value","name":"union","docstrings":["Returns union of two sets.\n\n## Examples\n\n```rescript\nlet s0 = Belt.Set.fromArray([5,2,3,5,6], ~id=module(IntCmp))\nlet s1 = Belt.Set.fromArray([5,2,3,1,5,4], ~id=module(IntCmp))\nlet union = Belt.Set.union(s0, s1)\nunion->Belt.Set.toArray /* [1,2,3,4,5,6] */\n```"],"signature":"let union: (t<'value, 'id>, t<'value, 'id>) => t<'value, 'id>"},{"id":"Belt.Set.intersect","kind":"value","name":"intersect","docstrings":["Returns intersection of two sets.\n\n## Examples\n\n```rescript\nlet s0 = Belt.Set.fromArray([5,2,3,5,6], ~id=module(IntCmp))\nlet s1 = Belt.Set.fromArray([5,2,3,1,5,4], ~id=module(IntCmp))\nlet intersect = Belt.Set.intersect(s0, s1)\nintersect->Belt.Set.toArray /* [2,3,5] */\n```"],"signature":"let intersect: (t<'value, 'id>, t<'value, 'id>) => t<'value, 'id>"},{"id":"Belt.Set.diff","kind":"value","name":"diff","docstrings":["Returns elements from first set, not existing in second set.\n\n## Examples\n\n```rescript\nlet s0 = Belt.Set.fromArray([5,2,3,5,6], ~id=module(IntCmp))\nlet s1 = Belt.Set.fromArray([5,2,3,1,5,4], ~id=module(IntCmp))\nBelt.Set.toArray(Belt.Set.diff(s0, s1)) /* [6] */\nBelt.Set.toArray(Belt.Set.diff(s1,s0)) /* [1,4] */\n```"],"signature":"let diff: (t<'value, 'id>, t<'value, 'id>) => t<'value, 'id>"},{"id":"Belt.Set.subset","kind":"value","name":"subset","docstrings":["Checks if second set is subset of first set.\n\n## Examples\n\n```rescript\nlet s0 = Belt.Set.fromArray([5,2,3,5,6], ~id=module(IntCmp))\nlet s1 = Belt.Set.fromArray([5,2,3,1,5,4], ~id=module(IntCmp))\nlet s2 = Belt.Set.intersect(s0, s1)\nBelt.Set.subset(s2, s0) /* true */\nBelt.Set.subset(s2, s1) /* true */\nBelt.Set.subset(s1, s0) /* false */\n```"],"signature":"let subset: (t<'value, 'id>, t<'value, 'id>) => bool"},{"id":"Belt.Set.cmp","kind":"value","name":"cmp","docstrings":["Total ordering between sets. Can be used as the ordering function for doing sets\nof sets. It compares size first and then iterates over each element following\nthe order of elements."],"signature":"let cmp: (t<'value, 'id>, t<'value, 'id>) => int"},{"id":"Belt.Set.eq","kind":"value","name":"eq","docstrings":["Checks if two sets are equal.\n\n## Examples\n\n```rescript\nlet s0 = Belt.Set.fromArray([5,2,3], ~id=module(IntCmp))\nlet s1 = Belt.Set.fromArray([3,2,5], ~id=module(IntCmp))\n\nBelt.Set.eq(s0, s1) /* true */\n```"],"signature":"let eq: (t<'value, 'id>, t<'value, 'id>) => bool"},{"id":"Belt.Set.forEachU","kind":"value","name":"forEachU","docstrings":["Same as [forEach](##forEach) but takes uncurried functon."],"signature":"let forEachU: (t<'value, 'id>, (. 'value) => unit) => unit"},{"id":"Belt.Set.forEach","kind":"value","name":"forEach","docstrings":["Applies function `f` in turn to all elements of set in increasing order.\n\n## Examples\n\n```rescript\nlet s0 = Belt.Set.fromArray([5,2,3,5,6], ~id=module(IntCmp))\nlet acc = ref(list{})\ns0->Belt.Set.forEach(x => {\n acc := Belt.List.add(acc.contents, x)\n})\nacc /* [6,5,3,2] */\n```"],"signature":"let forEach: (t<'value, 'id>, 'value => unit) => unit"},{"id":"Belt.Set.reduceU","kind":"value","name":"reduceU","docstrings":[],"signature":"let reduceU: (t<'value, 'id>, 'a, (. 'a, 'value) => 'a) => 'a"},{"id":"Belt.Set.reduce","kind":"value","name":"reduce","docstrings":["Applies function `f` to each element of set in increasing order. Function `f` has two parameters: the item from the set and an “accumulator”, which starts with a value of `initialValue`. `reduce` returns the final value of the accumulator.\n\n## Examples\n\n```rescript\nlet s0 = Belt.Set.fromArray([5,2,3,5,6], ~id=module(IntCmp))\ns0->Belt.Set.reduce(list{}, (acc, element) =>\n acc->Belt.List.add(element)\n) /* [6,5,3,2] */\n```"],"signature":"let reduce: (t<'value, 'id>, 'a, ('a, 'value) => 'a) => 'a"},{"id":"Belt.Set.everyU","kind":"value","name":"everyU","docstrings":[],"signature":"let everyU: (t<'value, 'id>, (. 'value) => bool) => bool"},{"id":"Belt.Set.every","kind":"value","name":"every","docstrings":["Checks if all elements of the set satisfy the predicate. Order unspecified.\n\n## Examples\n\n```rescript\nlet isEven = x => mod(x, 2) == 0\n\nlet s0 = Belt.Set.fromArray([2,4,6,8], ~id=module(IntCmp))\ns0->Belt.Set.every(isEven) /* true */\n```"],"signature":"let every: (t<'value, 'id>, 'value => bool) => bool"},{"id":"Belt.Set.someU","kind":"value","name":"someU","docstrings":[],"signature":"let someU: (t<'value, 'id>, (. 'value) => bool) => bool"},{"id":"Belt.Set.some","kind":"value","name":"some","docstrings":["Checks if at least one element of the set satisfies the predicate.\n\n## Examples\n\n```rescript\nlet isOdd = x => mod(x, 2) != 0\n\nlet s0 = Belt.Set.fromArray([1,2,4,6,8], ~id=module(IntCmp))\ns0->Belt.Set.some(isOdd) /* true */\n```"],"signature":"let some: (t<'value, 'id>, 'value => bool) => bool"},{"id":"Belt.Set.keepU","kind":"value","name":"keepU","docstrings":[],"signature":"let keepU: (t<'value, 'id>, (. 'value) => bool) => t<'value, 'id>"},{"id":"Belt.Set.keep","kind":"value","name":"keep","docstrings":["Returns the set of all elements that satisfy the predicate.\n\n## Examples\n\n```rescript\nlet isEven = x => mod(x, 2) == 0\n\nlet s0 = Belt.Set.fromArray([1,2,3,4,5], ~id=module(IntCmp))\nlet s1 = s0->Belt.Set.keep(isEven)\n\ns1->Belt.Set.toArray /* [2,4] */\n```"],"signature":"let keep: (t<'value, 'id>, 'value => bool) => t<'value, 'id>"},{"id":"Belt.Set.partitionU","kind":"value","name":"partitionU","docstrings":[],"signature":"let partitionU: (\\n t<'value, 'id>,\\n (. 'value) => bool,\\n) => (t<'value, 'id>, t<'value, 'id>)"},{"id":"Belt.Set.partition","kind":"value","name":"partition","docstrings":["Returns a pair of sets, where first is the set of all the elements of set that satisfy the predicate, and second is the set of all the elements of set that do not satisfy the predicate.\n\n## Examples\n\n```rescript\nlet isOdd = x => mod(x, 2) != 0\n\nlet s0 = Belt.Set.fromArray([1,2,3,4,5], ~id=module(IntCmp))\nlet (s1, s2) = s0->Belt.Set.partition(isOdd)\n\ns1->Belt.Set.toArray /* [1,3,5] */\ns2->Belt.Set.toArray /* [2,4] */\n```"],"signature":"let partition: (\\n t<'value, 'id>,\\n 'value => bool,\\n) => (t<'value, 'id>, t<'value, 'id>)"},{"id":"Belt.Set.size","kind":"value","name":"size","docstrings":["Returns size of the set.\n\n## Examples\n\n```rescript\nlet s0 = Belt.Set.fromArray([1,2,3,4], ~id=module(IntCmp))\n\ns0->Belt.Set.size /* 4 */\n```"],"signature":"let size: t<'value, 'id> => int"},{"id":"Belt.Set.toArray","kind":"value","name":"toArray","docstrings":["Returns array of ordered set elements.\n\n## Examples\n\n```rescript\nlet s0 = Belt.Set.fromArray([3,2,1,5], ~id=module(IntCmp))\n\ns0->Belt.Set.toArray /* [1,2,3,5] */\n```"],"signature":"let toArray: t<'value, 'id> => array<'value>"},{"id":"Belt.Set.toList","kind":"value","name":"toList","docstrings":["Returns list of ordered set elements.\n\n## Examples\n\n```rescript\nlet s0 = Belt.Set.fromArray([3,2,1,5], ~id=module(IntCmp))\n\ns0->Belt.Set.toList /* [1,2,3,5] */\n```"],"signature":"let toList: t<'value, 'id> => list<'value>"},{"id":"Belt.Set.minimum","kind":"value","name":"minimum","docstrings":["Returns minimum value of the collection. `None` if collection is empty.\n\n## Examples\n\n```rescript\nlet s0 = Belt.Set.make(~id=module(IntCmp))\nlet s1 = Belt.Set.fromArray([3,2,1,5], ~id=module(IntCmp))\n\ns0->Belt.Set.minimum /* None */\ns1->Belt.Set.minimum /* Some(1) */\n```"],"signature":"let minimum: t<'value, 'id> => option<'value>"},{"id":"Belt.Set.minUndefined","kind":"value","name":"minUndefined","docstrings":["Returns minimum value of the collection. `undefined` if collection is empty.\n\n## Examples\n\n```rescript\nlet s0 = Belt.Set.make(~id=module(IntCmp))\nlet s1 = Belt.Set.fromArray([3,2,1,5], ~id=module(IntCmp))\n\ns0->Belt.Set.minUndefined /* undefined */\ns1->Belt.Set.minUndefined /* 1 */\n```"],"signature":"let minUndefined: t<'value, 'id> => Js.undefined<'value>"},{"id":"Belt.Set.maximum","kind":"value","name":"maximum","docstrings":["Returns maximum value of the collection. `None` if collection is empty.\n\n## Examples\n\n```rescript\nlet s0 = Belt.Set.make(~id=module(IntCmp))\nlet s1 = Belt.Set.fromArray([3,2,1,5], ~id=module(IntCmp))\n\ns0->Belt.Set.maximum /* None */\ns1->Belt.Set.maximum /* Some(5) */\n```"],"signature":"let maximum: t<'value, 'id> => option<'value>"},{"id":"Belt.Set.maxUndefined","kind":"value","name":"maxUndefined","docstrings":["Returns maximum value of the collection. `undefined` if collection is empty.\n\n## Examples\n\n```rescript\nlet s0 = Belt.Set.make(~id=module(IntCmp))\nlet s1 = Belt.Set.fromArray([3,2,1,5], ~id=module(IntCmp))\n\ns0->Belt.Set.maxUndefined /* undefined */\ns1->Belt.Set.maxUndefined /* 5 */\n```"],"signature":"let maxUndefined: t<'value, 'id> => Js.undefined<'value>"},{"id":"Belt.Set.get","kind":"value","name":"get","docstrings":["Returns the reference of the value which is equivalent to value using the comparator specifiecd by this collection. Returns `None` if element does not exist.\n\n## Examples\n\n```rescript\nlet s0 = Belt.Set.fromArray([1,2,3,4,5], ~id=module(IntCmp))\n\ns0->Belt.Set.get(3) /* Some(3) */\ns0->Belt.Set.get(20) /* None */\n```"],"signature":"let get: (t<'value, 'id>, 'value) => option<'value>"},{"id":"Belt.Set.getUndefined","kind":"value","name":"getUndefined","docstrings":["Same as [get](#get) but returns `undefined` when element does not exist."],"signature":"let getUndefined: (t<'value, 'id>, 'value) => Js.undefined<'value>"},{"id":"Belt.Set.getExn","kind":"value","name":"getExn","docstrings":["Same as [get](#get) but raise when element does not exist."],"signature":"let getExn: (t<'value, 'id>, 'value) => 'value"},{"id":"Belt.Set.split","kind":"value","name":"split","docstrings":["Returns a tuple `((smaller, larger), present)`, `present` is true when element exist in set.\n\n## Examples\n\n```rescript\nlet s0 = Belt.Set.fromArray([1,2,3,4,5], ~id=module(IntCmp))\n\nlet ((smaller, larger), present) = s0->Belt.Set.split(3)\n\npresent /* true */\nsmaller->Belt.Set.toArray /* [1,2] */\nlarger->Belt.Set.toArray /* [4,5] */\n\n```"],"signature":"let split: (\\n t<'value, 'id>,\\n 'value,\\n) => ((t<'value, 'id>, t<'value, 'id>), bool)"},{"id":"Belt.Set.checkInvariantInternal","kind":"value","name":"checkInvariantInternal","docstrings":["**raise** when invariant is not held"],"signature":"let checkInvariantInternal: t<'a, 'b> => unit"},{"id":"Belt.Set.getData","kind":"value","name":"getData","docstrings":["**Advanced usage only**\n\nReturns the raw data (detached from comparator), but its type is still manifested,\nso that user can pass identity directly without boxing."],"signature":"let getData: t<'value, 'id> => Belt_SetDict.t<'value, 'id>"},{"id":"Belt.Set.getId","kind":"value","name":"getId","docstrings":["**Advanced usage only**\n\nReturns the identity of set."],"signature":"let getId: t<'value, 'id> => id<'value, 'id>"},{"id":"Belt.Set.packIdData","kind":"value","name":"packIdData","docstrings":["**Advanced usage only**\n\nReturns the packed collection."],"signature":"let packIdData: (\\n ~id: id<'value, 'id>,\\n ~data: Belt_SetDict.t<'value, 'id>,\\n) => t<'value, 'id>"}]},"belt/range":{"id":"Belt.Range","name":"Range","docstrings":["[`Belt.Range`]()\n\n Utilities for a closed range `(from, start)`"],"items":[{"id":"Belt.Range.forEachU","kind":"value","name":"forEachU","docstrings":[],"signature":"let forEachU: (int, int, (. int) => unit) => unit"},{"id":"Belt.Range.forEach","kind":"value","name":"forEach","docstrings":["`forEach(start, finish, action)`\n\nequivalent to `Belt.Array.(forEach(range(start, finish), action))`\n\n## Examples\n\n```rescript\nBelt.Range.forEach(0, 4, (i) => Js.log(i))\n\n// Prints:\n// 0\n// 1\n// 2\n// 3\n// 4\n```"],"signature":"let forEach: (int, int, int => unit) => unit"},{"id":"Belt.Range.everyU","kind":"value","name":"everyU","docstrings":[],"signature":"let everyU: (int, int, (. int) => bool) => bool"},{"id":"Belt.Range.every","kind":"value","name":"every","docstrings":["`every(start, finish, p)`\n\nequivalent to `Belt.Array.(every(range(start, finish), p))`\n\n## Examples\n\n```rescript\nBelt.Range.every(0, 4, (i) => i < 5) /* true */\n\nBelt.Range.every(0, 4, (i) => i < 4) /* false */\n```"],"signature":"let every: (int, int, int => bool) => bool"},{"id":"Belt.Range.everyByU","kind":"value","name":"everyByU","docstrings":[],"signature":"let everyByU: (int, int, ~step: int, (. int) => bool) => bool"},{"id":"Belt.Range.everyBy","kind":"value","name":"everyBy","docstrings":["`everyBy(start, finish, ~step, p)`\n\nSee `Belt_Array.rangeBy`\n\nequivalent to `Belt.Array.(every(rangeBy(start, finish, ~step), p))`\n\n## Examples\n\n```rescript\nBelt.Range.everyBy(0, 4, ~step=1, (i) => mod(i, 2) === 0) /* false */\n\nBelt.Range.everyBy(0, 4, ~step=2, (i) => mod(i, 2) === 0) /* true */\n```"],"signature":"let everyBy: (int, int, ~step: int, int => bool) => bool"},{"id":"Belt.Range.someU","kind":"value","name":"someU","docstrings":[],"signature":"let someU: (int, int, (. int) => bool) => bool"},{"id":"Belt.Range.some","kind":"value","name":"some","docstrings":["`some(start, finish, p)`\n\nequivalent to `Belt.Array.(some(range(start, finish), p))`\n\n## Examples\n\n```rescript\nBelt.Range.some(0, 4, (i) => i > 5) /* false */\n\nBelt.Range.some(0, 4, (i) => i > 2) /* true */\n```"],"signature":"let some: (int, int, int => bool) => bool"},{"id":"Belt.Range.someByU","kind":"value","name":"someByU","docstrings":[],"signature":"let someByU: (int, int, ~step: int, (. int) => bool) => bool"},{"id":"Belt.Range.someBy","kind":"value","name":"someBy","docstrings":["`someBy(start, finish, ~step, p)`\n\nSee `Belt_Array.rangeBy`\n\nequivalent to `Belt.Array.(some(rangeBy(start, finish, ~step), p))`\n\n## Examples\n\n```rescript\nBelt.Range.someBy(1, 5, ~step=2, (i) => mod(i, 2) === 0) /* false */\nBelt.Range.someBy(0, 4, ~step=2, (i) => mod(i, 2) === 0) /* true */\n```"],"signature":"let someBy: (int, int, ~step: int, int => bool) => bool"}]},"belt/list":{"id":"Belt.List","name":"List","docstrings":["[`Belt.List`]()\n\n Utilities for List data type"],"items":[{"id":"Belt.List.t","kind":"type","name":"t","docstrings":["`'a t` is compatible with built-in `list` type"],"signature":"type t<'a> = list<'a>"},{"id":"Belt.List.length","kind":"value","name":"length","docstrings":["Returns the length of a list.\n\n## Examples\n\n```rescript\nBelt.List.length(list{1, 2, 3}) // 3\n```"],"signature":"let length: t<'a> => int"},{"id":"Belt.List.size","kind":"value","name":"size","docstrings":["**See** [`length`](##length)"],"signature":"let size: t<'a> => int"},{"id":"Belt.List.head","kind":"value","name":"head","docstrings":["Returns `Some(value)` where `value` is the first element in the list, or\n`None` if `someList` is an empty list.\n\n## Examples\n\n```rescript\nBelt.List.head(list{}) // None\nBelt.List.head(list{1, 2, 3}) // Some(1)\n```"],"signature":"let head: t<'a> => option<'a>"},{"id":"Belt.List.headExn","kind":"value","name":"headExn","docstrings":["Same as [head](#head), but raises an exception if `someList` is empty. Use\nwith care.\n\n## Examples\n\n```rescript\nBelt.List.headExn(list{1, 2, 3}) // 1\n\nBelt.List.headExn(list{}) // Raises an Error\n```"],"signature":"let headExn: t<'a> => 'a"},{"id":"Belt.List.tail","kind":"value","name":"tail","docstrings":["Returns `None` if `someList` is empty, otherwise it returns `Some(tail)`\nwhere `tail` is everything except the first element of `someList`.\n\n## Examples\n\n```rescript\nBelt.List.tail(list{1, 2, 3}) // Some(list{2, 3})\n\nBelt.List.tail(list{}) // None\n```"],"signature":"let tail: t<'a> => option>"},{"id":"Belt.List.tailExn","kind":"value","name":"tailExn","docstrings":["Same as [tail](#tail), but raises an exception if `someList` is empty. Use\nwith care.\n\n## Examples\n\n```rescript\nBelt.List.tailExn(list{1, 2, 3}) // list{2, 3}\n\nBelt.List.tailExn(list{}) // Raises an Error\n```"],"signature":"let tailExn: t<'a> => t<'a>"},{"id":"Belt.List.add","kind":"value","name":"add","docstrings":["Adds `value` to the beginning of `someList`.\n\n## Examples\n\n```rescript\nBelt.List.add(list{2, 3}, 1) // list{1, 2, 3}\n\nBelt.List.add(list{\"World\", \"!\"}, \"Hello\") // list{\"Hello\", \"World\", \"!\"}\n```"],"signature":"let add: (t<'a>, 'a) => t<'a>"},{"id":"Belt.List.get","kind":"value","name":"get","docstrings":["Return the nth element in `someList`, or `None` if `index` is larger than the\nlength.\n\n## Examples\n\n```rescript\nlet abc = list{\"A\", \"B\", \"C\"}\n\nabc->Belt.List.get(1) // Some(\"B\")\n\nabc->Belt.List.get(4) // None\n```"],"signature":"let get: (t<'a>, int) => option<'a>"},{"id":"Belt.List.getExn","kind":"value","name":"getExn","docstrings":["Same as [get](#get), but raises an exception if `index` is larger than the\nlength. Use with care.\n\n## Examples\n\n```rescript\nlet abc = list{\"A\", \"B\", \"C\"}\n\nabc->Belt.List.getExn(1) // \"B\"\n\nabc->Belt.List.getExn(4) // Raises an Error\n```"],"signature":"let getExn: (t<'a>, int) => 'a"},{"id":"Belt.List.make","kind":"value","name":"make","docstrings":["Returns a list of length `numItems` with each element filled with value `v`. Returns an empty list if `numItems` is negative.\n\n## Examples\n\n```rescript\nBelt.List.make(3, 1) // list{1, 1, 1}\n```"],"signature":"let make: (int, 'a) => t<'a>"},{"id":"Belt.List.makeByU","kind":"value","name":"makeByU","docstrings":["Uncurried version of [makeBy](#makeBy)"],"signature":"let makeByU: (int, (. int) => 'a) => t<'a>"},{"id":"Belt.List.makeBy","kind":"value","name":"makeBy","docstrings":["Return a list of length `numItems` with element `i` initialized with `f(i)`.\nReturns an empty list if `numItems` is negative.\n\n## Examples\n\n```rescript\nBelt.List.makeBy(5, i => i) // list{0, 1, 2, 3, 4}\n\nBelt.List.makeBy(5, i => i * i) // list{0, 1, 4, 9, 16}\n```"],"signature":"let makeBy: (int, int => 'a) => t<'a>"},{"id":"Belt.List.shuffle","kind":"value","name":"shuffle","docstrings":["Returns a new list in random order.\n\n## Examples\n\n```rescript\nBelt.List.shuffle(list{1, 2, 3}) // list{2, 1, 3}\n```"],"signature":"let shuffle: t<'a> => t<'a>"},{"id":"Belt.List.drop","kind":"value","name":"drop","docstrings":["Return a new list, dropping the first `n` elements. Returns `None` if `someList` has fewer than `n` elements.\n\n## Examples\n\n```rescript\nlist{1, 2, 3}->Belt.List.drop(2) // Some(list{3})\n\nlist{1, 2, 3}->Belt.List.drop(3) // Some(list{})\n\nlist{1, 2, 3}->Belt.List.drop(4) // None\n```"],"signature":"let drop: (t<'a>, int) => option>"},{"id":"Belt.List.take","kind":"value","name":"take","docstrings":["Returns a list with the first `n` elements from `someList`, or `None` if `someList` has fewer than `n` elements.\n\n## Examples\n\n```rescript\nlist{1, 2, 3}->Belt.List.take(1) // Some(list{1})\n\nlist{1, 2, 3}->Belt.List.take(2) // Some(list{1, 2})\n\nlist{1, 2, 3}->Belt.List.take(4) // None\n```"],"signature":"let take: (t<'a>, int) => option>"},{"id":"Belt.List.splitAt","kind":"value","name":"splitAt","docstrings":["Split the list `someList` at `index`. Returns `None` when the length of `someList` is less than `index`.\n\n## Examples\n\n```rescript\nlist{\"Hello\", \"World\"}->Belt.List.splitAt(1) // Some((list{\"Hello\"}, list{\"World\"}))\n\nlist{0, 1, 2, 3, 4}->Belt.List.splitAt(2) // Some((list{0, 1}, list{2, 3, 4}))\n```"],"signature":"let splitAt: (t<'a>, int) => option<(list<'a>, list<'a>)>"},{"id":"Belt.List.concat","kind":"value","name":"concat","docstrings":["Returns the list obtained by adding `secondList` after `firstList`.\n\n## Examples\n\n```rescript\nBelt.List.concat(list{1, 2, 3}, list{4, 5}) // list{1, 2, 3, 4, 5}\n```"],"signature":"let concat: (t<'a>, t<'a>) => t<'a>"},{"id":"Belt.List.concatMany","kind":"value","name":"concatMany","docstrings":["Returns the list obtained by concatenating all the lists in array `a`, in\norder.\n\n## Examples\n\n```rescript\nBelt.List.concatMany([list{1, 2, 3}, list{}, list{3}]) // list{1, 2, 3, 3}\n```"],"signature":"let concatMany: array> => t<'a>"},{"id":"Belt.List.reverseConcat","kind":"value","name":"reverseConcat","docstrings":["Equivalent to writing: `concat(reverse(firstList, secondList)`\n\n## Examples\n\n```rescript\nBelt.List.reverseConcat(list{1, 2}, list{3, 4}) // list{2, 1, 3, 4}\n```"],"signature":"let reverseConcat: (t<'a>, t<'a>) => t<'a>"},{"id":"Belt.List.flatten","kind":"value","name":"flatten","docstrings":["Return the list obtained by concatenating all the lists in list `ls`, in order.\n\n## Examples\n\n```rescript\nBelt.List.flatten(list{list{1, 2, 3}, list{}, list{3}}) // list{1, 2, 3, 3}\n```"],"signature":"let flatten: t> => t<'a>"},{"id":"Belt.List.mapU","kind":"value","name":"mapU","docstrings":["Uncurried version of [map](#map)."],"signature":"let mapU: (t<'a>, (. 'a) => 'b) => t<'b>"},{"id":"Belt.List.map","kind":"value","name":"map","docstrings":["Returns a new list with `f` applied to each element of `someList`.\n\n## Examples\n\n```rescript\nlist{1, 2}->Belt.List.map(x => x + 1) // list{3, 4}\n```"],"signature":"let map: (t<'a>, 'a => 'b) => t<'b>"},{"id":"Belt.List.zip","kind":"value","name":"zip","docstrings":["Returns a list of pairs from the two lists with the length of the shorter list.\n\n## Examples\n\n```rescript\nBelt.List.zip(list{1, 2}, list{3, 4, 5}) // list{(1, 3), (2, 4)}\n```"],"signature":"let zip: (t<'a>, t<'b>) => t<('a, 'b)>"},{"id":"Belt.List.zipByU","kind":"value","name":"zipByU","docstrings":["Uncurried version of [zipBy](#zipBy)."],"signature":"let zipByU: (t<'a>, t<'b>, (. 'a, 'b) => 'c) => t<'c>"},{"id":"Belt.List.zipBy","kind":"value","name":"zipBy","docstrings":["**See:** [zip](#zip)\n\n## Examples\n\n```rescript\nBelt.List.zipBy(list{1, 2, 3}, list{4, 5}, (a, b) => 2 * a + b) // list{6, 9}\n```"],"signature":"let zipBy: (t<'a>, t<'b>, ('a, 'b) => 'c) => t<'c>"},{"id":"Belt.List.mapWithIndexU","kind":"value","name":"mapWithIndexU","docstrings":["Uncurried version of [mapWithIndex](#mapWithIndex)."],"signature":"let mapWithIndexU: (t<'a>, (. int, 'a) => 'b) => t<'b>"},{"id":"Belt.List.mapWithIndex","kind":"value","name":"mapWithIndex","docstrings":["Applies `f` to each element of `someList`.\nFunction `f` takes two arguments: the index starting from 0 and the element from `someList`, in that order.\n\n## Examples\n\n```rescript\nlist{1, 2, 3}->Belt.List.mapWithIndex((index, x) => index + x) // list{1, 3, 5}\n```"],"signature":"let mapWithIndex: (t<'a>, (int, 'a) => 'b) => t<'b>"},{"id":"Belt.List.fromArray","kind":"value","name":"fromArray","docstrings":["Converts the given array to a list.\n\n## Examples\n\n```rescript\nBelt.List.fromArray([1, 2, 3]) // list{1, 2, 3}\n```"],"signature":"let fromArray: array<'a> => t<'a>"},{"id":"Belt.List.toArray","kind":"value","name":"toArray","docstrings":["Converts the given list to an array.\n\n## Examples\n\n```rescript\nBelt.List.toArray(list{1, 2, 3}) // [1, 2, 3]\n```"],"signature":"let toArray: t<'a> => array<'a>"},{"id":"Belt.List.reverse","kind":"value","name":"reverse","docstrings":["Returns a new list whose elements are those of `someList` in reversed order.\n\n## Examples\n\n```rescript\nBelt.List.reverse(list{1, 2, 3}) /* list{3, 2, 1} */\n```"],"signature":"let reverse: t<'a> => t<'a>"},{"id":"Belt.List.mapReverseU","kind":"value","name":"mapReverseU","docstrings":["Uncurried version of [mapReverse](#mapReverse)."],"signature":"let mapReverseU: (t<'a>, (. 'a) => 'b) => t<'b>"},{"id":"Belt.List.mapReverse","kind":"value","name":"mapReverse","docstrings":["Equivalent to:\n\n```res\nmap(someList, f)->reverse\n```\n\n## Examples\n\n```rescript\nlist{3, 4, 5}->Belt.List.mapReverse(x => x * x) /* list{25, 16, 9} */\n```"],"signature":"let mapReverse: (t<'a>, 'a => 'b) => t<'b>"},{"id":"Belt.List.forEachU","kind":"value","name":"forEachU","docstrings":["Uncurried version of [forEach](#forEach)."],"signature":"let forEachU: (t<'a>, (. 'a) => 'b) => unit"},{"id":"Belt.List.forEach","kind":"value","name":"forEach","docstrings":["Call `f` on each element of `someList` from the beginning to end.\n`f` returns `unit`, so no new array is created. Use `forEach` when you are primarily concerned with repetitively creating side effects.\n\n## Examples\n\n```rescript\nBelt.List.forEach(list{\"a\", \"b\", \"c\"}, x => Js.log(\"Item: \" ++ x))\n/*\n prints:\n Item: a\n Item: b\n Item: c\n*/\n```"],"signature":"let forEach: (t<'a>, 'a => 'b) => unit"},{"id":"Belt.List.forEachWithIndexU","kind":"value","name":"forEachWithIndexU","docstrings":["Uncurried version of [forEachWithIndex](#forEachWithIndex)."],"signature":"let forEachWithIndexU: (t<'a>, (. int, 'a) => 'b) => unit"},{"id":"Belt.List.forEachWithIndex","kind":"value","name":"forEachWithIndex","docstrings":["Call `f` on each element of `someList` from beginning to end.\nFunction `f` takes two arguments: the index starting from 0 and the element from `someList`. `f` returns `unit`.\n\n## Examples\n\n```rescript\nBelt.List.forEachWithIndex(list{\"a\", \"b\", \"c\"}, (index, x) => {\n Js.log(\"Item \" ++ Belt.Int.toString(index) ++ \" is \" ++ x)\n})\n/*\n prints:\n Item 0 is a\n Item 1 is b\n Item 2 is cc\n*/\n```"],"signature":"let forEachWithIndex: (t<'a>, (int, 'a) => 'b) => unit"},{"id":"Belt.List.reduceU","kind":"value","name":"reduceU","docstrings":["Uncurried version of [reduce](#reduce)."],"signature":"let reduceU: (t<'a>, 'b, (. 'b, 'a) => 'b) => 'b"},{"id":"Belt.List.reduce","kind":"value","name":"reduce","docstrings":["Applies `f` to each element of `someList` from beginning to end. Function `f` has two parameters: the item from the list and an “accumulator”, which starts with a value of `initialValue`. reduce returns the final value of the accumulator.\n\n## Examples\n\n```rescript\nlist{1, 2, 3, 4}->Belt.List.reduce(0, (a, b) => a + b) /* 10 */\n\n/* same as */\n\nlist{1, 2, 3, 4}->Belt.List.reduce(0, (acc, item) => acc + item) /* 10 */\n```"],"signature":"let reduce: (t<'a>, 'b, ('b, 'a) => 'b) => 'b"},{"id":"Belt.List.reduceWithIndexU","kind":"value","name":"reduceWithIndexU","docstrings":["Uncurried version of [reduceWithIndex](#reduceWithIndex)."],"signature":"let reduceWithIndexU: (t<'a>, 'b, (. 'b, 'a, int) => 'b) => 'b"},{"id":"Belt.List.reduceWithIndex","kind":"value","name":"reduceWithIndex","docstrings":["Applies `f` to each element of `someList` from beginning to end. Function `f` has three parameters: the item from the list and an “accumulator”, which starts with a value of `initialValue` and the index of each element. `reduceWithIndex` returns the final value of the accumulator.\n\n## Examples\n\n```rescript\nlist{1, 2, 3, 4}->Belt.List.reduceWithIndex(0, (acc, item, index) => acc + item + index) /* 16 */\n```"],"signature":"let reduceWithIndex: (t<'a>, 'b, ('b, 'a, int) => 'b) => 'b"},{"id":"Belt.List.reduceReverseU","kind":"value","name":"reduceReverseU","docstrings":["Uncurried version of [reduceReverse](#reduceReverse)."],"signature":"let reduceReverseU: (t<'a>, 'b, (. 'b, 'a) => 'b) => 'b"},{"id":"Belt.List.reduceReverse","kind":"value","name":"reduceReverse","docstrings":["Works like [reduce](#reduce), except that function `f` is applied to each\nitem of `someList` from the last back to the first.\n\n## Examples\n\n```rescript\nlist{1, 2, 3, 4}->Belt.List.reduceReverse(0, (a, b) => a + b) /* 10 */\n\nlist{1, 2, 3, 4}->Belt.List.reduceReverse(10, (a, b) => a - b) /* 0 */\n\nlist{1, 2, 3, 4}->Belt.List.reduceReverse(list{}, Belt.List.add) // list{1, 2, 3, 4}\n```"],"signature":"let reduceReverse: (t<'a>, 'b, ('b, 'a) => 'b) => 'b"},{"id":"Belt.List.mapReverse2U","kind":"value","name":"mapReverse2U","docstrings":["Uncurried version of [mapReverse2](#mapReverse2)."],"signature":"let mapReverse2U: (t<'a>, t<'b>, (. 'a, 'b) => 'c) => t<'c>"},{"id":"Belt.List.mapReverse2","kind":"value","name":"mapReverse2","docstrings":["Equivalent to: `zipBy(xs, ys, f)->reverse`\n\n## Examples\n\n```rescript\n\nBelt.List.mapReverse2(list{1, 2, 3}, list{1, 2}, (a, b) => a + b) // list{4, 2}\n```"],"signature":"let mapReverse2: (t<'a>, t<'b>, ('a, 'b) => 'c) => t<'c>"},{"id":"Belt.List.forEach2U","kind":"value","name":"forEach2U","docstrings":["Uncurried version of [forEach2](#forEach2)."],"signature":"let forEach2U: (t<'a>, t<'b>, (. 'a, 'b) => 'c) => unit"},{"id":"Belt.List.forEach2","kind":"value","name":"forEach2","docstrings":["Stops at the length of the shorter list.\n\n## Examples\n\n```rescript\nBelt.List.forEach2(list{\"Z\", \"Y\"}, list{\"A\", \"B\", \"C\"}, (x, y) => Js.log2(x, y))\n\n/*\n prints:\n \"Z\" \"A\"\n \"Y\" \"B\"\n*/\n```"],"signature":"let forEach2: (t<'a>, t<'b>, ('a, 'b) => 'c) => unit"},{"id":"Belt.List.reduce2U","kind":"value","name":"reduce2U","docstrings":["Uncurried version of [reduce2](#reduce2)."],"signature":"let reduce2U: (t<'b>, t<'c>, 'a, (. 'a, 'b, 'c) => 'a) => 'a"},{"id":"Belt.List.reduce2","kind":"value","name":"reduce2","docstrings":["Applies `f` to each element of `firstList` and `secondList` from beginning to end. Stops with the shorter list. Function `f` has three parameters: an “accumulator” which starts with a value of `initialValue`, an item from `firstList`, and an item from `secondList`. `reduce2` returns the final value of the accumulator.\n\n## Examples\n\n```rescript\nBelt.List.reduce2(list{1, 2, 3}, list{4, 5}, 0, (acc, x, y) => acc + x * x + y) /* 0 + (1 * 1 + 4) + (2 * 2 + 5) */\n```"],"signature":"let reduce2: (t<'b>, t<'c>, 'a, ('a, 'b, 'c) => 'a) => 'a"},{"id":"Belt.List.reduceReverse2U","kind":"value","name":"reduceReverse2U","docstrings":["Uncurried version of [reduceReverse2](#reduceReverse2)."],"signature":"let reduceReverse2U: (t<'a>, t<'b>, 'c, (. 'c, 'a, 'b) => 'c) => 'c"},{"id":"Belt.List.reduceReverse2","kind":"value","name":"reduceReverse2","docstrings":["Applies `f` to each element of `firstList` and `secondList` from end to\nbeginning. Stops with the shorter list. Function `f` has three parameters: an\n“accumulator” which starts with a value of init, an item from `firstList`,\nand an item from `secondList`. `reduce2` returns the final value of the\naccumulator.\n\n## Examples\n\n```rescript\nBelt.List.reduceReverse2(list{1, 2, 3}, list{4, 5}, 0, (acc, x, y) => acc + x * x + y) /* + (1 * 1 + 4) + (2 * 2 + 5) */\n```"],"signature":"let reduceReverse2: (t<'a>, t<'b>, 'c, ('c, 'a, 'b) => 'c) => 'c"},{"id":"Belt.List.everyU","kind":"value","name":"everyU","docstrings":["Uncurried version of [every](#every)."],"signature":"let everyU: (t<'a>, (. 'a) => bool) => bool"},{"id":"Belt.List.every","kind":"value","name":"every","docstrings":["Returns `true` if all elements satisfy `pred`, where `pred` is a predicate: a function taking an element and returning a bool.\n\n## Examples\n\n```rescript\nlet isBelow10 = value => value < 10\n\nlist{1, 9, 8, 2}->Belt.List.every(isBelow10) /* true */\n\nlist{1, 99, 8, 2}->Belt.List.every(isBelow10) /* false */\n```"],"signature":"let every: (t<'a>, 'a => bool) => bool"},{"id":"Belt.List.someU","kind":"value","name":"someU","docstrings":["Uncurried version of [some](#some)."],"signature":"let someU: (t<'a>, (. 'a) => bool) => bool"},{"id":"Belt.List.some","kind":"value","name":"some","docstrings":["Returns `true` if at least _one_ of the elements in `someList` satisfies\n`pred`, where `pred` is a predicate: a function taking an element and\nreturning a bool.\n\n## Examples\n\n```rescript\nlet isAbove100 = value => value > 100\n\nlist{101, 1, 2, 3}->Belt.List.some(isAbove100) /* true */\n\nlist{1, 2, 3, 4}->Belt.List.some(isAbove100) /* false */\n```"],"signature":"let some: (t<'a>, 'a => bool) => bool"},{"id":"Belt.List.every2U","kind":"value","name":"every2U","docstrings":["Uncurried version of [every2](#every2)."],"signature":"let every2U: (t<'a>, t<'b>, (. 'a, 'b) => bool) => bool"},{"id":"Belt.List.every2","kind":"value","name":"every2","docstrings":["Returns `true` if predicate `pred(a, b)` is `true` for all pairs of elements\nup to the shorter length (i.e. `min(length(firstList), length(secondList))`)\n\n## Examples\n\n```rescript\nBelt.List.every2(list{1, 2, 3}, list{0, 1}, (a, b) => a > b) /* true */\n\nBelt.List.every2(list{}, list{1}, (a, b) => a > b) /* true */\n\nBelt.List.every2(list{2, 3}, list{1}, (a, b) => a > b) /* true */\n\nBelt.List.every2(list{0, 1}, list{5, 0}, (a, b) => a > b) /* false */\n```"],"signature":"let every2: (t<'a>, t<'b>, ('a, 'b) => bool) => bool"},{"id":"Belt.List.some2U","kind":"value","name":"some2U","docstrings":["Uncurried version of [some2](#some2)."],"signature":"let some2U: (t<'a>, t<'b>, (. 'a, 'b) => bool) => bool"},{"id":"Belt.List.some2","kind":"value","name":"some2","docstrings":["Returns `true` if predicate `pred(a, b)` is true for any pair of elements up\nto the shorter length (i.e. `min(length(firstList), length(secondList))`)\n\n## Examples\n\n```rescript\nBelt.List.some2(list{1, 2, 3}, list{0, 1}, (a, b) => a > b) /* true */\n\nBelt.List.some2(list{}, list{1}, (a, b) => a > b) /* false */\n\nBelt.List.some2(list{2, 3}, list{1}, (a, b) => a > b) /* true */\n\nBelt.List.some2(list{0, 1}, list{5, 0}, (a, b) => a > b) /* true */\n```"],"signature":"let some2: (t<'a>, t<'b>, ('a, 'b) => bool) => bool"},{"id":"Belt.List.cmpByLength","kind":"value","name":"cmpByLength","docstrings":["Compare two lists solely by length. Returns `-1` if `length(firstList)` is\nless than `length(secondList)`, `0` if `length(firstList)` equals\n`length(secondList)`, and `1` if `length(firstList)` is greater than\n`length(secondList)`.\n\n## Examples\n\n```rescript\nBelt.List.cmpByLength(list{1, 2}, list{3, 4, 5, 6}) /* -1 */\n\nBelt.List.cmpByLength(list{1, 2, 3}, list{4, 5, 6}) /* = 0 */\n\nBelt.List.cmpByLength(list{1, 2, 3, 4}, list{5, 6}) /* = 1 */\n```"],"signature":"let cmpByLength: (t<'a>, t<'a>) => int"},{"id":"Belt.List.cmpU","kind":"value","name":"cmpU","docstrings":["Uncurried version of [cmp](#cmp)."],"signature":"let cmpU: (t<'a>, t<'a>, (. 'a, 'a) => int) => int"},{"id":"Belt.List.cmp","kind":"value","name":"cmp","docstrings":["Compare elements one by one `compareFn(a, b)`. `compareFn` returns a negative number if `a` is \"less than\" `b`, zero if `a` is \"equal to\" `b`, a positive number if `a` is \"greater than\" `b`.\n\nThe comparison returns the first non-zero result of `compareFn`, or zero if `compareFn` returns zero for all `a` and `b`.\n\nIf all items have compared equal, but `firstList` is exhausted first, return `-1`. (`firstList` is shorter).\nIf all items have compared equal, but `secondList` is exhausted first, return `1` (`firstList` is longer).\n\n## Examples\n\n```rescript\nBelt.List.cmp(list{3}, list{3, 7}, (a, b) => compare(a, b)) /* (-1) */\n\nBelt.List.cmp(list{5, 3}, list{5}, (a, b) => compare(a, b)) /* 1 */\n\nBelt.List.cmp(list{1, 3, 5}, list{1, 4, 2}, (a, b) => compare(a, b)) /* (-1) */\n\nBelt.List.cmp(list{1, 3, 5}, list{1, 2, 3}, (a, b) => compare(a, b)) /* 1 */\n\nBelt.List.cmp(list{1, 3, 5}, list{1, 3, 5}, (a, b) => compare(a, b)) /* 0 */\n```\n\n**Please note:** The total ordering of List is different from Array,\nfor Array, we compare the length first and, only if the lengths are equal, elements one by one.\nFor lists, we just compare elements one by one."],"signature":"let cmp: (t<'a>, t<'a>, ('a, 'a) => int) => int"},{"id":"Belt.List.eqU","kind":"value","name":"eqU","docstrings":["Uncurried version of [eq](#eq)."],"signature":"let eqU: (t<'a>, t<'a>, (. 'a, 'a) => bool) => bool"},{"id":"Belt.List.eq","kind":"value","name":"eq","docstrings":["Check equality of `firstList` and `secondList` using `eqElem` for equality on\nelements, where `eqElem` is a function that returns `true` if items `x` and\n`y` meet some criterion for equality, `false` otherwise. eq `false` if length\nof `firstList` and `secondList` are not the same.\n\n## Examples\n\n```rescript\nBelt.List.eq(list{1, 2, 3}, list{1, 2}, (a, b) => a == b) /* false */\n\nBelt.List.eq(list{1, 2}, list{1, 2}, (a, b) => a == b) /* true */\n\nBelt.List.eq(list{1, 2, 3}, list{(-1), (-2), (-3)}, (a, b) => abs(a) == abs(b)) /* true */\n```"],"signature":"let eq: (t<'a>, t<'a>, ('a, 'a) => bool) => bool"},{"id":"Belt.List.hasU","kind":"value","name":"hasU","docstrings":["Uncurried version of [has](#has)."],"signature":"let hasU: (t<'a>, 'b, (. 'a, 'b) => bool) => bool"},{"id":"Belt.List.has","kind":"value","name":"has","docstrings":["Returns `true` if the list contains at least one element for which\n`eqFunction(x)` returns true.\n\n## Examples\n\n```rescript\nlist{1, 2, 3}->Belt.List.has(2, (a, b) => a == b) /* true */\n\nlist{1, 2, 3}->Belt.List.has(4, (a, b) => a == b) /* false */\n\nlist{(-1), (-2), (-3)}->Belt.List.has(2, (a, b) => abs(a) == abs(b)) /* true */\n```"],"signature":"let has: (t<'a>, 'b, ('a, 'b) => bool) => bool"},{"id":"Belt.List.getByU","kind":"value","name":"getByU","docstrings":["Uncurried version of [getBy](#getBy)."],"signature":"let getByU: (t<'a>, (. 'a) => bool) => option<'a>"},{"id":"Belt.List.getBy","kind":"value","name":"getBy","docstrings":["Returns `Some(value)` for the first value in `someList` that satisfies the\npredicate function `pred`. Returns `None` if no element satisfies the function.\n\n## Examples\n\n```rescript\nBelt.List.getBy(list{1, 4, 3, 2}, x => x > 3) /* Some(4) */\n\nBelt.List.getBy(list{1, 4, 3, 2}, x => x > 4) /* None */\n```"],"signature":"let getBy: (t<'a>, 'a => bool) => option<'a>"},{"id":"Belt.List.keepU","kind":"value","name":"keepU","docstrings":["Uncurried version of [keep](#keep)."],"signature":"let keepU: (t<'a>, (. 'a) => bool) => t<'a>"},{"id":"Belt.List.keep","kind":"value","name":"keep","docstrings":["Returns a list of all elements in `someList` which satisfy the predicate function `pred`.\n\n## Examples\n\n```rescript\nlet isEven = x => mod(x, 2) == 0\n\nBelt.List.keep(list{1, 2, 3, 4}, isEven) /* list{2, 4} */\n\nBelt.List.keep(list{None, Some(2), Some(3), None}, Belt.Option.isSome) /* list{Some(2), Some(3)} */\n```"],"signature":"let keep: (t<'a>, 'a => bool) => t<'a>"},{"id":"Belt.List.filter","kind":"value","name":"filter","docstrings":["Returns a list of all elements in `someList` which satisfy the predicate function `pred`.\n\n## Examples\n\n```rescript\nlet isEven = x => mod(x, 2) == 0\n\nBelt.List.filter(list{1, 2, 3, 4}, isEven) /* list{2, 4} */\n\nBelt.List.filter(list{None, Some(2), Some(3), None}, Belt.Option.isSome) /* list{Some(2), Some(3)} */\n```"],"signature":"let filter: (t<'a>, 'a => bool) => t<'a>"},{"id":"Belt.List.keepWithIndexU","kind":"value","name":"keepWithIndexU","docstrings":["Uncurried version of [keepWithIndex](#keepWithIndex)."],"signature":"let keepWithIndexU: (t<'a>, (. 'a, int) => bool) => t<'a>"},{"id":"Belt.List.keepWithIndex","kind":"value","name":"keepWithIndex","docstrings":["Returns a list of all elements in `someList` which satisfy the predicate function `pred`.\n\n## Examples\n\n```rescript\nlet isEven = x => mod(x, 2) == 0\n\nBelt.List.keepWithIndex(list{1, 2, 3, 4}, (_x, index) => isEven(index)) /* list{1, 3} */\n```"],"signature":"let keepWithIndex: (t<'a>, ('a, int) => bool) => t<'a>"},{"id":"Belt.List.filterWithIndex","kind":"value","name":"filterWithIndex","docstrings":["Returns a list of all elements in `someList` which satisfy the predicate function `pred`.\n\n## Examples\n\n```rescript\nlet isEven = x => mod(x, 2) == 0\n\nBelt.List.filterWithIndex(list{1, 2, 3, 4}, (_x, index) => isEven(index)) /* list{1, 3} */\n```"],"signature":"let filterWithIndex: (t<'a>, ('a, int) => bool) => t<'a>"},{"id":"Belt.List.keepMapU","kind":"value","name":"keepMapU","docstrings":["Uncurried version of [keepMap](#keepMap)."],"signature":"let keepMapU: (t<'a>, (. 'a) => option<'b>) => t<'b>"},{"id":"Belt.List.keepMap","kind":"value","name":"keepMap","docstrings":["Applies `f` to each element of `someList`. If `f(x)` returns `Some(value)`, then `value` is _kept_ in the resulting list.\nIf `f(x)` returns `None`, the element is _not_ retained in the result.\n\n## Examples\n\n```rescript\nlet isEven = x => mod(x, 2) == 0\n\nlist{1, 2, 3, 4}\n->Belt.List.keepMap(x =>\n if (isEven(x)) {\n Some(x)\n } else {\n None\n }\n ) /* list{2, 4} */\n\nlist{Some(1), Some(2), None}->Belt.List.keepMap(x => x) /* list{1, 2} */\n```"],"signature":"let keepMap: (t<'a>, 'a => option<'b>) => t<'b>"},{"id":"Belt.List.partitionU","kind":"value","name":"partitionU","docstrings":["Uncurried version of [partition](#partition)."],"signature":"let partitionU: (t<'a>, (. 'a) => bool) => (t<'a>, t<'a>)"},{"id":"Belt.List.partition","kind":"value","name":"partition","docstrings":["Creates a pair of lists; the first list consists of all elements of `someList` that satisfy the predicate function `pred`; the second list consists of all elements of `someList` that _do not_ satisfy `pred.\n\nIn other words:\n\n```rescript\n(elementsThatSatisfies, elementsThatDoesNotSatisfy)\n```\n\n## Examples\n\n```rescript\nBelt.List.partition(list{1, 2, 3, 4}, x => x > 2) /* (list{3, 4}, list{1, 2}) */\n```"],"signature":"let partition: (t<'a>, 'a => bool) => (t<'a>, t<'a>)"},{"id":"Belt.List.unzip","kind":"value","name":"unzip","docstrings":["Takes a list of pairs and creates a pair of lists. The first list contains all the first items of the pairs; the second list contains all the second items.\n\n## Examples\n\n```rescript\nBelt.List.unzip(list{(1, 2), (3, 4)}) /* (list{1, 3}, list{2, 4}) */\n\nBelt.List.unzip(list{(\"H\", \"W\"), (\"e\", \"o\"), (\"l\", \"r\"), (\"l\", \"l\"), (\"o\", \"d\"), (\" \", \"!\")})\n/* (list{\"H\", \"e\", \"l\", \"l\", \"o\", \" \"}, list{\"W\", \"o\", \"r\", \"l\", \"d\", \"!\"}) */\n```"],"signature":"let unzip: t<('a, 'b)> => (t<'a>, t<'b>)"},{"id":"Belt.List.getAssocU","kind":"value","name":"getAssocU","docstrings":["Uncurried version of [getAssoc](#getAssoc)."],"signature":"let getAssocU: (t<('a, 'c)>, 'b, (. 'a, 'b) => bool) => option<'c>"},{"id":"Belt.List.getAssoc","kind":"value","name":"getAssoc","docstrings":["Return the second element of a pair in `someList` where the first element equals `k` as per the predicate function `eqFunction`, or `None` if not found.\n\n## Examples\n\n```rescript\nlist{(1, \"a\"), (2, \"b\"), (3, \"c\")}->Belt.List.getAssoc(3, (a, b) => a == b) /* Some(\"c\") */\n\nlist{(9, \"morning\"), (15, \"afternoon\"), (22, \"night\")}\n->Belt.List.getAssoc(15, (k, item) => k /* 15 */ == item /* 9, 5, 22 */)\n/* Some(\"afternoon\") */\n```"],"signature":"let getAssoc: (t<('a, 'c)>, 'b, ('a, 'b) => bool) => option<'c>"},{"id":"Belt.List.hasAssocU","kind":"value","name":"hasAssocU","docstrings":["Uncurried version of [hasAssoc](#hasAssoc)."],"signature":"let hasAssocU: (t<('a, 'c)>, 'b, (. 'a, 'b) => bool) => bool"},{"id":"Belt.List.hasAssoc","kind":"value","name":"hasAssoc","docstrings":["Returns `true` if there is a pair in `someList` where the first element equals `k` as per the predicate function `eqFunction`.\n\n## Examples\n\n```rescript\nlist{(1, \"a\"), (2, \"b\"), (3, \"c\")}->Belt.List.hasAssoc(1, (a, b) => a == b) /* true */\n\nlist{(9, \"morning\"), (15, \"afternoon\"), (22, \"night\")}\n->Belt.List.hasAssoc(25, (k, item) => k /* 25 */ == item /* 9, 5, 22 */) /* false */\n```"],"signature":"let hasAssoc: (t<('a, 'c)>, 'b, ('a, 'b) => bool) => bool"},{"id":"Belt.List.removeAssocU","kind":"value","name":"removeAssocU","docstrings":["Uncurried version of [removeAssoc](#removeAssoc)."],"signature":"let removeAssocU: (t<('a, 'c)>, 'b, (. 'a, 'b) => bool) => t<('a, 'c)>"},{"id":"Belt.List.removeAssoc","kind":"value","name":"removeAssoc","docstrings":["Return a list after removing the first pair whose first value is `k` per the equality predicate `eqFunction`; if not found, return a new list identical to `someList`.\n\n## Examples\n\n```rescript\nlist{(1, \"a\"), (2, \"b\"), (3, \"c\")}->Belt.List.removeAssoc(1, (a, b) => a == b) /* list{(2, \"b\"), (3, \"c\")} */\n\nlist{(9, \"morning\"), (15, \"afternoon\"), (22, \"night\")}\n->Belt.List.removeAssoc(9, (k, item) => k /* 9 */ == item /* 9, 5, 22 */)\n/* list{(15, \"afternoon\"), (22, \"night\")} */\n```"],"signature":"let removeAssoc: (t<('a, 'c)>, 'b, ('a, 'b) => bool) => t<('a, 'c)>"},{"id":"Belt.List.setAssocU","kind":"value","name":"setAssocU","docstrings":["Uncurried version of [setAssoc](#setAssoc)."],"signature":"let setAssocU: (t<('a, 'c)>, 'a, 'c, (. 'a, 'a) => bool) => t<('a, 'c)>"},{"id":"Belt.List.setAssoc","kind":"value","name":"setAssoc","docstrings":["If `k` exists in `someList` by satisfying the `eqFunction` predicate, return a new list with the key and value replaced by the new `k` and `v`; otherwise, return a new list with the pair `k`, `v` added to the head of `someList`.\n\n## Examples\n\n```rescript\nlist{(1, \"a\"), (2, \"b\"), (3, \"c\")}->Belt.List.setAssoc(2, \"x\", (a, b) => a == b) /* list{(1, \"a\"), (2, \"x\"), (3, \"c\")} */\n\nlist{(1, \"a\"), (3, \"c\")}->Belt.List.setAssoc(2, \"b\", (a, b) => a == b) /* list{(2, \"b\"), (1, \"a\"), (3, \"c\")} */\n\nlist{(9, \"morning\"), (3, \"morning?!\"), (22, \"night\")}\n->Belt.List.setAssoc(15, \"afternoon\", (a, b) => mod(a, 12) == mod(b, 12))\n/* list{(9, \"morning\"), (15, \"afternoon\"), (22, \"night\")} */\n```\n\n**Please note**\n\nIn the last example, since: `15 mod 12` equals `3 mod 12`\n\nBoth the key _and_ the value are replaced in the list."],"signature":"let setAssoc: (t<('a, 'c)>, 'a, 'c, ('a, 'a) => bool) => t<('a, 'c)>"},{"id":"Belt.List.sortU","kind":"value","name":"sortU","docstrings":["Uncurried version of [sort](#sort)."],"signature":"let sortU: (t<'a>, (. 'a, 'a) => int) => t<'a>"},{"id":"Belt.List.sort","kind":"value","name":"sort","docstrings":["Returns a sorted list.\n\n## Examples\n\n```rescript\nBelt.List.sort(list{5, 4, 9, 3, 7}, (a, b) => a - b) // list{3, 4, 5, 7, 9}\n```"],"signature":"let sort: (t<'a>, ('a, 'a) => int) => t<'a>"}]},"belt/mutablestack":{"id":"Belt.MutableStack","name":"MutableStack","docstrings":["[`Belt.MutableStack`]()\n\n An FILO(first in last out) stack data structure"],"items":[{"id":"Belt.MutableStack.t","kind":"type","name":"t","docstrings":[],"signature":"type t<'a>"},{"id":"Belt.MutableStack.make","kind":"value","name":"make","docstrings":["Returns a new stack, initially empty."],"signature":"let make: unit => t<'a>"},{"id":"Belt.MutableStack.clear","kind":"value","name":"clear","docstrings":["Discard all elements from the stack."],"signature":"let clear: t<'a> => unit"},{"id":"Belt.MutableStack.copy","kind":"value","name":"copy","docstrings":["`copy(x)` O(1) operation, return a new stack."],"signature":"let copy: t<'a> => t<'a>"},{"id":"Belt.MutableStack.push","kind":"value","name":"push","docstrings":[],"signature":"let push: (t<'a>, 'a) => unit"},{"id":"Belt.MutableStack.popUndefined","kind":"value","name":"popUndefined","docstrings":[],"signature":"let popUndefined: t<'a> => Js.undefined<'a>"},{"id":"Belt.MutableStack.pop","kind":"value","name":"pop","docstrings":[],"signature":"let pop: t<'a> => option<'a>"},{"id":"Belt.MutableStack.topUndefined","kind":"value","name":"topUndefined","docstrings":[],"signature":"let topUndefined: t<'a> => Js.undefined<'a>"},{"id":"Belt.MutableStack.top","kind":"value","name":"top","docstrings":[],"signature":"let top: t<'a> => option<'a>"},{"id":"Belt.MutableStack.isEmpty","kind":"value","name":"isEmpty","docstrings":[],"signature":"let isEmpty: t<'a> => bool"},{"id":"Belt.MutableStack.size","kind":"value","name":"size","docstrings":[],"signature":"let size: t<'a> => int"},{"id":"Belt.MutableStack.forEachU","kind":"value","name":"forEachU","docstrings":[],"signature":"let forEachU: (t<'a>, (. 'a) => unit) => unit"},{"id":"Belt.MutableStack.forEach","kind":"value","name":"forEach","docstrings":[],"signature":"let forEach: (t<'a>, 'a => unit) => unit"},{"id":"Belt.MutableStack.dynamicPopIterU","kind":"value","name":"dynamicPopIterU","docstrings":[],"signature":"let dynamicPopIterU: (t<'a>, (. 'a) => unit) => unit"},{"id":"Belt.MutableStack.dynamicPopIter","kind":"value","name":"dynamicPopIter","docstrings":["`dynamicPopIter(s, f)` apply `f` to each element of `s`. The item is poped\nbefore applying `f`, `s` will be empty after this opeartion. This function is\nuseful for worklist algorithm."],"signature":"let dynamicPopIter: (t<'a>, 'a => unit) => unit"}]},"belt/mutablequeue":{"id":"Belt.MutableQueue","name":"MutableQueue","docstrings":["[`Belt.MutableQueue`]()\n\n An FIFO(first in first out) queue data structure"],"items":[{"id":"Belt.MutableQueue.t","kind":"type","name":"t","docstrings":["The type of queues containing elements of `type('a)`."],"signature":"type t<'a>"},{"id":"Belt.MutableQueue.make","kind":"value","name":"make","docstrings":["Returns a new queue, initially empty."],"signature":"let make: unit => t<'a>"},{"id":"Belt.MutableQueue.clear","kind":"value","name":"clear","docstrings":["Discard all elements from the queue."],"signature":"let clear: t<'a> => unit"},{"id":"Belt.MutableQueue.isEmpty","kind":"value","name":"isEmpty","docstrings":["Returns `true` if the given queue is empty, `false` otherwise."],"signature":"let isEmpty: t<'a> => bool"},{"id":"Belt.MutableQueue.fromArray","kind":"value","name":"fromArray","docstrings":["`fromArray` a is equivalent to `Array.forEach(a, add(q, a));`"],"signature":"let fromArray: array<'a> => t<'a>"},{"id":"Belt.MutableQueue.add","kind":"value","name":"add","docstrings":["`add(q, x)` adds the element `x` at the end of the queue `q`."],"signature":"let add: (t<'a>, 'a) => unit"},{"id":"Belt.MutableQueue.peek","kind":"value","name":"peek","docstrings":["`peekOpt(q)` returns the first element in queue `q`, without removing it from the queue."],"signature":"let peek: t<'a> => option<'a>"},{"id":"Belt.MutableQueue.peekUndefined","kind":"value","name":"peekUndefined","docstrings":["`peekUndefined(q)` returns `undefined` if not found."],"signature":"let peekUndefined: t<'a> => Js.undefined<'a>"},{"id":"Belt.MutableQueue.peekExn","kind":"value","name":"peekExn","docstrings":["raise an exception if `q` is empty"],"signature":"let peekExn: t<'a> => 'a"},{"id":"Belt.MutableQueue.pop","kind":"value","name":"pop","docstrings":["`pop(q)` removes and returns the first element in queue `q`."],"signature":"let pop: t<'a> => option<'a>"},{"id":"Belt.MutableQueue.popUndefined","kind":"value","name":"popUndefined","docstrings":["`popUndefined(q)` removes and returns the first element in queue `q`. it will\nreturn `undefined` if it is already empty."],"signature":"let popUndefined: t<'a> => Js.undefined<'a>"},{"id":"Belt.MutableQueue.popExn","kind":"value","name":"popExn","docstrings":["`popExn(q)` raise an exception if q is empty."],"signature":"let popExn: t<'a> => 'a"},{"id":"Belt.MutableQueue.copy","kind":"value","name":"copy","docstrings":["`copy(q)` returns a fresh queue."],"signature":"let copy: t<'a> => t<'a>"},{"id":"Belt.MutableQueue.size","kind":"value","name":"size","docstrings":["Returns the number of elements in a queue."],"signature":"let size: t<'a> => int"},{"id":"Belt.MutableQueue.mapU","kind":"value","name":"mapU","docstrings":[],"signature":"let mapU: (t<'a>, (. 'a) => 'b) => t<'b>"},{"id":"Belt.MutableQueue.map","kind":"value","name":"map","docstrings":[],"signature":"let map: (t<'a>, 'a => 'b) => t<'b>"},{"id":"Belt.MutableQueue.forEachU","kind":"value","name":"forEachU","docstrings":[],"signature":"let forEachU: (t<'a>, (. 'a) => unit) => unit"},{"id":"Belt.MutableQueue.forEach","kind":"value","name":"forEach","docstrings":["`forEach(q, f) applies`f`in turn to all elements of`q`, from the least\nrecently entered to the most recently entered. The queue itself is unchanged."],"signature":"let forEach: (t<'a>, 'a => unit) => unit"},{"id":"Belt.MutableQueue.reduceU","kind":"value","name":"reduceU","docstrings":[],"signature":"let reduceU: (t<'a>, 'b, (. 'b, 'a) => 'b) => 'b"},{"id":"Belt.MutableQueue.reduce","kind":"value","name":"reduce","docstrings":["`reduce(q, accu, f)` is equivalent to `List.reduce(l, accu, f)`, where `l` is the\nlist of `q`'s elements. The queue remains unchanged."],"signature":"let reduce: (t<'a>, 'b, ('b, 'a) => 'b) => 'b"},{"id":"Belt.MutableQueue.transfer","kind":"value","name":"transfer","docstrings":["`transfer(q1, q2)` adds all of `q1`'s elements at the end of the queue `q2`,\nthen clears `q1`. It is equivalent to the sequence `forEach((x) => add(x, q2), q1)`;\nclear `q1`, but runs in constant time."],"signature":"let transfer: (t<'a>, t<'a>) => unit"},{"id":"Belt.MutableQueue.toArray","kind":"value","name":"toArray","docstrings":["First added will be in the beginning of the array."],"signature":"let toArray: t<'a> => array<'a>"}]},"belt/sortarray":{"id":"Belt.SortArray","name":"SortArray","docstrings":["[`Belt.SortArray`]()\n\n The top level provides some generic sort related utilities.\n\n It also has two specialized inner modules\n [`Belt.SortArray.Int`]() and [`Belt.SortArray.String`]()"],"items":[{"id":"Belt.SortArray.strictlySortedLengthU","kind":"value","name":"strictlySortedLengthU","docstrings":[],"signature":"let strictlySortedLengthU: (array<'a>, (. 'a, 'a) => bool) => int"},{"id":"Belt.SortArray.strictlySortedLength","kind":"value","name":"strictlySortedLength","docstrings":["`strictlySortedLenght(xs, cmp);` return `+n` means increasing order `-n` means negative order\n\n## Examples\n\n```rescript\nBelt.SortArray.strictlySortedLength([1, 2, 3, 4, 3], (x, y) => x < y) == 4\n\nBelt.SortArray.strictlySortedLength([], (x, y) => x < y) == 0\n\nBelt.SortArray.strictlySortedLength([1], (x, y) => x < y) == 1\n\nBelt.SortArray.strictlySortedLength([4, 3, 2, 1], (x, y) => x < y) == -4\n```"],"signature":"let strictlySortedLength: (array<'a>, ('a, 'a) => bool) => int"},{"id":"Belt.SortArray.isSortedU","kind":"value","name":"isSortedU","docstrings":[],"signature":"let isSortedU: (array<'a>, (. 'a, 'a) => int) => bool"},{"id":"Belt.SortArray.isSorted","kind":"value","name":"isSorted","docstrings":["`isSorted(arr, cmp)`: Returns true if array is increasingly sorted (equal is okay)"],"signature":"let isSorted: (array<'a>, ('a, 'a) => int) => bool"},{"id":"Belt.SortArray.stableSortInPlaceByU","kind":"value","name":"stableSortInPlaceByU","docstrings":[],"signature":"let stableSortInPlaceByU: (array<'a>, (. 'a, 'a) => int) => unit"},{"id":"Belt.SortArray.stableSortInPlaceBy","kind":"value","name":"stableSortInPlaceBy","docstrings":[],"signature":"let stableSortInPlaceBy: (array<'a>, ('a, 'a) => int) => unit"},{"id":"Belt.SortArray.stableSortByU","kind":"value","name":"stableSortByU","docstrings":[],"signature":"let stableSortByU: (array<'a>, (. 'a, 'a) => int) => array<'a>"},{"id":"Belt.SortArray.stableSortBy","kind":"value","name":"stableSortBy","docstrings":["`stableSortBy(xs, cmp)`: Returns a fresh array Sort `xs` in place using\ncomparator `cmp`, the stable means if the elements are equal, their order will\nbe preserved"],"signature":"let stableSortBy: (array<'a>, ('a, 'a) => int) => array<'a>"},{"id":"Belt.SortArray.binarySearchByU","kind":"value","name":"binarySearchByU","docstrings":[],"signature":"let binarySearchByU: (array<'a>, 'a, (. 'a, 'a) => int) => int"},{"id":"Belt.SortArray.binarySearchBy","kind":"value","name":"binarySearchBy","docstrings":["If value is not found and value is less than one or more elements in array, the\nnegative number returned is the bitwise complement of the index of the first\nelement that is larger than value.\n\nIf value is not found and value is greater\nthan all elements in array, the negative number returned is the bitwise\ncomplement of (the index of the last element plus 1)for example, if `key` is\nsmaller than all elements return `-1` since `lnot(-1) == 0` if `key` is larger\nthan all elements return `lnot(-1) == 0` since `lnot(- (len + 1)) == len`\n\n## Examples\n\n```rescript\nBelt.SortArray.binarySearchBy([1, 2, 3, 4, 33, 35, 36], 33, Pervasives.compare) == 4\n\nlnot(Belt.SortArray.binarySearchBy([1, 3, 5, 7], 4, Pervasives.compare)) == 2\n```"],"signature":"let binarySearchBy: (array<'a>, 'a, ('a, 'a) => int) => int"},{"id":"Belt.SortArray.unionU","kind":"value","name":"unionU","docstrings":[],"signature":"let unionU: (\\n array<'a>,\\n int,\\n int,\\n array<'a>,\\n int,\\n int,\\n array<'a>,\\n int,\\n (. 'a, 'a) => int,\\n) => int"},{"id":"Belt.SortArray.union","kind":"value","name":"union","docstrings":["`union src src1ofs src1len src2 src2ofs src2len dst dstofs cmp` assume `src` and\n`src2` is strictly sorted. for equivalent elements, it is picked from `src`\nalso assume that `dst` is large enough to store all elements"],"signature":"let union: (\\n array<'a>,\\n int,\\n int,\\n array<'a>,\\n int,\\n int,\\n array<'a>,\\n int,\\n ('a, 'a) => int,\\n) => int"},{"id":"Belt.SortArray.intersectU","kind":"value","name":"intersectU","docstrings":[],"signature":"let intersectU: (\\n array<'a>,\\n int,\\n int,\\n array<'a>,\\n int,\\n int,\\n array<'a>,\\n int,\\n (. 'a, 'a) => int,\\n) => int"},{"id":"Belt.SortArray.intersect","kind":"value","name":"intersect","docstrings":["`union src src1ofs src1len src2 src2ofs src2len dst dstofs cmp`\n\n**return** the `offset` in the output array"],"signature":"let intersect: (\\n array<'a>,\\n int,\\n int,\\n array<'a>,\\n int,\\n int,\\n array<'a>,\\n int,\\n ('a, 'a) => int,\\n) => int"},{"id":"Belt.SortArray.diffU","kind":"value","name":"diffU","docstrings":[],"signature":"let diffU: (\\n array<'a>,\\n int,\\n int,\\n array<'a>,\\n int,\\n int,\\n array<'a>,\\n int,\\n (. 'a, 'a) => int,\\n) => int"},{"id":"Belt.SortArray.diff","kind":"value","name":"diff","docstrings":[],"signature":"let diff: (\\n array<'a>,\\n int,\\n int,\\n array<'a>,\\n int,\\n int,\\n array<'a>,\\n int,\\n ('a, 'a) => int,\\n) => int"}]},"belt/array":{"id":"Belt.Array","name":"Array","docstrings":["[`Belt.Array`]()\n\n **mutable array**: Utilities functions"],"items":[{"id":"Belt.Array.t","kind":"type","name":"t","docstrings":[],"signature":"type t<'a> = array<'a>"},{"id":"Belt.Array.length","kind":"value","name":"length","docstrings":["return the size of the array\n\n## Examples\n\n```rescript\n// Returns 1\nBelt.Array.length([\"test\"])\n```"],"signature":"let length: t<'a> => int"},{"id":"Belt.Array.size","kind":"value","name":"size","docstrings":["**See** [`length`]()"],"signature":"let size: t<'a> => int"},{"id":"Belt.Array.get","kind":"value","name":"get","docstrings":["If `i <= 0 <= length(arr)` returns `Some(value)` where `value` is the item at index `i`.\nIf `i` is out of range returns `None`.\n\n## Examples\n\n```rescript\nBelt.Array.get([\"a\", \"b\", \"c\"], 0) == Some(\"a\")\nBelt.Array.get([\"a\", \"b\", \"c\"], 3) == None\nBelt.Array.get([\"a\", \"b\", \"c\"], -1) == None\n```"],"signature":"let get: (t<'a>, int) => option<'a>"},{"id":"Belt.Array.getExn","kind":"value","name":"getExn","docstrings":["Raise an exception if `i` is out of range.\nOtherwise return the value at index `i` in `arr`."],"signature":"let getExn: (t<'a>, int) => 'a"},{"id":"Belt.Array.getUnsafe","kind":"value","name":"getUnsafe","docstrings":["`getUnsafe(arr, i)`\n\n**Unsafe**\n\nno bounds checking; this would cause type error if `i` does not stay within range"],"signature":"let getUnsafe: (t<'a>, int) => 'a"},{"id":"Belt.Array.getUndefined","kind":"value","name":"getUndefined","docstrings":["`getUndefined(arr, i)`\n\nIt does the samething in the runtime as [`getUnsafe`]();\nit is _type safe_ since the return type still track whether it is\nin range or not"],"signature":"let getUndefined: (t<'a>, int) => Js.undefined<'a>"},{"id":"Belt.Array.set","kind":"value","name":"set","docstrings":["`set(arr, n, x)` modifies `arr` in place; it replaces the nth element of `arr`\nwith `x`. Returning `false` means not updated due to out of range."],"signature":"let set: (t<'a>, int, 'a) => bool"},{"id":"Belt.Array.setExn","kind":"value","name":"setExn","docstrings":["`setExn(arr, i, x)` raise an exception if `i` is out of range."],"signature":"let setExn: (t<'a>, int, 'a) => unit"},{"id":"Belt.Array.setUnsafe","kind":"value","name":"setUnsafe","docstrings":[],"signature":"let setUnsafe: (t<'a>, int, 'a) => unit"},{"id":"Belt.Array.shuffleInPlace","kind":"value","name":"shuffleInPlace","docstrings":["`shuffleInPlace(arr)` randomly re-orders the items in `arr`"],"signature":"let shuffleInPlace: t<'a> => unit"},{"id":"Belt.Array.shuffle","kind":"value","name":"shuffle","docstrings":["Returns a fresh array with items in original array randomly shuffled."],"signature":"let shuffle: t<'a> => t<'a>"},{"id":"Belt.Array.reverseInPlace","kind":"value","name":"reverseInPlace","docstrings":["`reverseInPlace(arr)` reverses items in `arr` in place.\n\n## Examples\n\n```rescript\nlet arr = [10, 11, 12, 13, 14]\n\nlet () = Belt.Array.reverseInPlace(arr)\n\narr == [14, 13, 12, 11, 10]\n```"],"signature":"let reverseInPlace: t<'a> => unit"},{"id":"Belt.Array.reverse","kind":"value","name":"reverse","docstrings":["`reverse(arr)` returns a fresh array with items in arr in reverse order.\n\n## Examples\n\n```rescript\nBelt.Array.reverse([10, 11, 12, 13, 14]) == [14, 13, 12, 11, 10]\n```"],"signature":"let reverse: t<'a> => t<'a>"},{"id":"Belt.Array.makeUninitialized","kind":"value","name":"makeUninitialized","docstrings":["`makeUninitialized(n)` creates an array of length `n` filled with the undefined\nvalue. You must specify the type of data that will eventually fill the array.\n\n## Examples\n\n```rescript\nlet arr: array> = Belt.Array.makeUninitialized(5)\n\nBelt.Array.getExn(arr, 0) == Js.undefined\n```"],"signature":"let makeUninitialized: int => array>"},{"id":"Belt.Array.makeUninitializedUnsafe","kind":"value","name":"makeUninitializedUnsafe","docstrings":["**Unsafe**\n\n## Examples\n\n```rescript\nlet arr = Belt.Array.makeUninitializedUnsafe(5)\n\nJs.log(Belt.Array.getExn(arr, 0)) // undefined\n\nBelt.Array.setExn(arr, 0, \"example\")\n\nJs.log(Belt.Array.getExn(arr, 0) == \"example\")\n```"],"signature":"let makeUninitializedUnsafe: int => t<'a>"},{"id":"Belt.Array.make","kind":"value","name":"make","docstrings":["`make(n, e)` return an array of size `n` filled with value `e`.\nReturns an empty array when `n` is negative."],"signature":"let make: (int, 'a) => t<'a>"},{"id":"Belt.Array.range","kind":"value","name":"range","docstrings":["`range(start, finish)` create an inclusive array.\n\n## Examples\n\n```rescript\nBelt.Array.range(0, 3) == [0, 1, 2, 3]\n\nBelt.Array.range(3, 0) == []\n\nBelt.Array.range(3, 3) == [3]\n```"],"signature":"let range: (int, int) => array"},{"id":"Belt.Array.rangeBy","kind":"value","name":"rangeBy","docstrings":["`rangeBy(start, finish, ~step)`\n\nReturns empty array when step is 0 or negative. It also return an empty array when `start > finish`.\n\n## Examples\n\n```rescript\nBelt.Array.rangeBy(0, 10, ~step=3) == [0, 3, 6, 9]\n\nBelt.Array.rangeBy(0, 12, ~step=3) == [0, 3, 6, 9, 12]\n\nBelt.Array.rangeBy(33, 0, ~step=1) == []\n\nBelt.Array.rangeBy(33, 0, ~step=-1) == []\n\nBelt.Array.rangeBy(3, 12, ~step=-1) == []\n\nBelt.Array.rangeBy(3, 3, ~step=0) == []\n\nBelt.Array.rangeBy(3, 3, ~step=1) == [3]\n```"],"signature":"let rangeBy: (int, int, ~step: int) => array"},{"id":"Belt.Array.makeByU","kind":"value","name":"makeByU","docstrings":[],"signature":"let makeByU: (int, (. int) => 'a) => t<'a>"},{"id":"Belt.Array.makeBy","kind":"value","name":"makeBy","docstrings":["`makeBy(n, f)`\n\nReturn an empty array when n is negative return an array of size n populated by `f(i)` start from `0` to `n - 1`.\n\n## Examples\n\n```rescript\nBelt.Array.makeBy(5, (i) => i) == [0, 1, 2, 3, 4]\n\nBelt.Array.makeBy(5, (i) => i * i) == [0, 1, 4, 9, 16]\n```"],"signature":"let makeBy: (int, int => 'a) => t<'a>"},{"id":"Belt.Array.makeByAndShuffleU","kind":"value","name":"makeByAndShuffleU","docstrings":[],"signature":"let makeByAndShuffleU: (int, (. int) => 'a) => t<'a>"},{"id":"Belt.Array.makeByAndShuffle","kind":"value","name":"makeByAndShuffle","docstrings":["Equivalent to `shuffle(makeBy(n, f))`"],"signature":"let makeByAndShuffle: (int, int => 'a) => t<'a>"},{"id":"Belt.Array.zip","kind":"value","name":"zip","docstrings":["`zip(a, b)`\n\nCreate an array of pairs from corresponding elements of a and b. Stop with the shorter array.\n\n## Examples\n\n```rescript\nBelt.Array.zip([1, 2], [3, 4, 5]) == [(1, 3), (2, 4)]\n```"],"signature":"let zip: (t<'a>, array<'b>) => array<('a, 'b)>"},{"id":"Belt.Array.zipByU","kind":"value","name":"zipByU","docstrings":[],"signature":"let zipByU: (t<'a>, array<'b>, (. 'a, 'b) => 'c) => array<'c>"},{"id":"Belt.Array.zipBy","kind":"value","name":"zipBy","docstrings":["`zipBy(xs, ys, f)`\n\nCreate an array by applying `f` to corresponding elements of `xs` and `ys`. Stops with shorter array.\n\nEquivalent to `map(zip(xs, ys), ((a, b)) => f(a, b))`\n\n## Examples\n\n```rescript\nBelt.Array.zipBy([1, 2, 3], [4, 5], (a, b) => 2 * a + b) == [6, 9]\n```"],"signature":"let zipBy: (t<'a>, array<'b>, ('a, 'b) => 'c) => array<'c>"},{"id":"Belt.Array.unzip","kind":"value","name":"unzip","docstrings":["`unzip(a)` takes an array of pairs and creates a pair of arrays. The first array contains all the first items of the pairs; the second array contains all the second items.\n\n## Examples\n\n```rescript\nBelt.Array.unzip([(1, 2), (3, 4)]) == ([1, 3], [2, 4])\n\nBelt.Array.unzip([(1, 2), (3, 4), (5, 6), (7, 8)]) == ([1, 3, 5, 7], [2, 4, 6, 8])\n```"],"signature":"let unzip: array<('a, 'b)> => (t<'a>, array<'b>)"},{"id":"Belt.Array.concat","kind":"value","name":"concat","docstrings":["`concat(xs, ys)`\n\nReturns a fresh array containing the concatenation of the arrays `v1` and `v2`;so even if `v1` or `v2` is empty; it can not be shared\n\n## Examples\n\n```rescript\nBelt.Array.concat([1, 2, 3], [4, 5]) == [1, 2, 3, 4, 5]\n\nBelt.Array.concat([], [\"a\", \"b\", \"c\"]) == [\"a\", \"b\", \"c\"]\n```"],"signature":"let concat: (t<'a>, t<'a>) => t<'a>"},{"id":"Belt.Array.concatMany","kind":"value","name":"concatMany","docstrings":["`concatMany(xss)`\n\nReturns a fresh array as the concatenation of `xss` (an array of arrays)\n\n## Examples\n\n```rescript\nBelt.Array.concatMany([[1, 2, 3], [4, 5, 6], [7, 8]]) == [1, 2, 3, 4, 5, 6, 7, 8]\n```"],"signature":"let concatMany: array> => t<'a>"},{"id":"Belt.Array.slice","kind":"value","name":"slice","docstrings":["`slice(xs, offset, len)` creates a new array with the len elements of `xs`\nstarting at `offset` for `offset` can be negative;and is evaluated as\n`length(xs) - offset(slice, xs) - 1(1)` means get the last element as a\nsingleton array `slice(xs, ~-len, len)` will return a copy of the array if the\narray does not have enough data; `slice` extracts through the end of sequence.\n\nif `len` is negative; returns the empty array.\n\n## Examples\n\n```rescript\nBelt.Array.slice([10, 11, 12, 13, 14, 15, 16], ~offset=2, ~len=3) == [12, 13, 14]\n\nBelt.Array.slice([10, 11, 12, 13, 14, 15, 16], ~offset=-4, ~len=3) == [13, 14, 15]\n\nBelt.Array.slice([10, 11, 12, 13, 14, 15, 16], ~offset=4, ~len=9) == [14, 15, 16]\n```"],"signature":"let slice: (t<'a>, ~offset: int, ~len: int) => t<'a>"},{"id":"Belt.Array.sliceToEnd","kind":"value","name":"sliceToEnd","docstrings":["`sliceToEnd(xs, offset)` creates a new array with the elements of `xs` starting\nat `offset`\n\n`offset` can be negative; and is evaluated as `length(xs) - offset(sliceToEnd, xs) - 1`\nmeans get the last element as a singleton array\n\n`sliceToEnd(xs, 0)` will return a copy of the array\n\n## Examples\n\n```rescript\nBelt.Array.sliceToEnd([10, 11, 12, 13, 14, 15, 16], 2) == [12, 13, 14, 15, 16]\n\nBelt.Array.sliceToEnd([10, 11, 12, 13, 14, 15, 16], -4) == [13, 14, 15, 16]\n```"],"signature":"let sliceToEnd: (t<'a>, int) => t<'a>"},{"id":"Belt.Array.copy","kind":"value","name":"copy","docstrings":["`copy(a)`\n\nReturns a copy of a; that is; a fresh array containing the same elements as a."],"signature":"let copy: t<'a> => t<'a>"},{"id":"Belt.Array.fill","kind":"value","name":"fill","docstrings":["`fill(arr, ~offset, ~len, x)`\n\nModifies `arr` in place, storing `x` in elements number `offset` to `offset + len - 1`.\n`offset` can be negative; and is evaluated as `length(arr - offset)`\n\n`fill(arr, ~offset=-1, ~len=1)` means fill the last element, if the array does not have enough data; `fill` will ignore it\n\n## Examples\n\n```rescript\nlet arr = Belt.Array.makeBy(5, (i) => i)\n\nBelt.Array.fill(arr, ~offset=2, ~len=2, 9)\n\narr == [0, 1, 9, 9, 4]\n\nBelt.Array.fill(arr, ~offset=7, ~len=2, 8)\n\narr == [0, 1, 9, 9, 4]"],"signature":"let fill: (t<'a>, ~offset: int, ~len: int, 'a) => unit"},{"id":"Belt.Array.blit","kind":"value","name":"blit","docstrings":["`blit(~src=v1, ~srcOffset=o1, ~dst=v2, ~dstOffset=o2, ~len)`\n\ncopies `len` elements from array `v1`;starting at element number `o1`;to array `v2`, starting at element number `o2`.\n\nIt works correctly even if `v1` and `v2` are the same array;and the source and destination chunks overlap.\n\n`offset` can be negative; `-1` means `len - 1`; if `len + offset` is still negative;it will be set as 0\n\nFor each of the examples;presume that `v1 == [10, 11, 12, 13, 14, 15, 16, 17]` and `v2 == [20, 21, 22, 23, 24, 25, 26, 27]`. The result shown is the content of the destination array.\n\n## Examples\n\n```rescript\nlet v1 = [10, 11, 12, 13, 14, 15, 16, 17]\nlet v2 = [20, 21, 22, 23, 24, 25, 26, 27]\n\nBelt.Array.blit(~src=v1, ~srcOffset=4, ~dst=v2, ~dstOffset=2, ~len=3)\nv2 == [20, 21, 14, 15, 16, 25, 26, 27]\n\nBelt.Array.blit(~src=v1, ~srcOffset=4, ~dst=v1, ~dstOffset=2, ~len=3)\nv1 == [10, 11, 14, 15, 16, 15, 16, 17]\n```"],"signature":"let blit: (\\n ~src: t<'a>,\\n ~srcOffset: int,\\n ~dst: t<'a>,\\n ~dstOffset: int,\\n ~len: int,\\n) => unit"},{"id":"Belt.Array.blitUnsafe","kind":"value","name":"blitUnsafe","docstrings":["Unsafe blit without bounds checking."],"signature":"let blitUnsafe: (\\n ~src: t<'a>,\\n ~srcOffset: int,\\n ~dst: t<'a>,\\n ~dstOffset: int,\\n ~len: int,\\n) => unit"},{"id":"Belt.Array.forEachU","kind":"value","name":"forEachU","docstrings":[],"signature":"let forEachU: (t<'a>, (. 'a) => unit) => unit"},{"id":"Belt.Array.forEach","kind":"value","name":"forEach","docstrings":["`forEach(xs, f)`\n\nCall `f` on each element of `xs` from the beginning to end. `f` returns `unit`;so no new array is created. Use `forEach` when you are primarily concerned with repetitively creating side effects.\n\n## Examples\n\n```rescript\nBelt.Array.forEach([\"a\", \"b\", \"c\"], x => Js.log(\"Item: \" ++ x))\n\n/*\n prints:\n Item: a\n Item: b\n Item: c\n*/\nlet total = ref(0)\n\nBelt.Array.forEach([1, 2, 3, 4], x => total := total.contents + x)\n\ntotal.contents == 1 + 2 + 3 + 4\n```"],"signature":"let forEach: (t<'a>, 'a => unit) => unit"},{"id":"Belt.Array.mapU","kind":"value","name":"mapU","docstrings":[],"signature":"let mapU: (t<'a>, (. 'a) => 'b) => array<'b>"},{"id":"Belt.Array.map","kind":"value","name":"map","docstrings":["`map(xs, f)`\n\nReturns a new array by calling `f` for each element of `xs` from the beginning to end.\n\n## Examples\n\n```rescript\nBelt.Array.map([1, 2], (x) => x + 1) == [3, 4]\n```"],"signature":"let map: (t<'a>, 'a => 'b) => array<'b>"},{"id":"Belt.Array.flatMapU","kind":"value","name":"flatMapU","docstrings":[],"signature":"let flatMapU: (t<'a>, (. 'a) => array<'b>) => array<'b>"},{"id":"Belt.Array.flatMap","kind":"value","name":"flatMap","docstrings":["`flatMap(xs, f)`\n\n**Returns** a new array by calling `f` for each element of `xs` from\nthe beginning to end, concatenating the results.\n\n## Examples\n\n```rescript\nflatMap([1, 2], x => [x + 10, x + 20]) == [11, 21, 12, 22]\n```"],"signature":"let flatMap: (t<'a>, 'a => array<'b>) => array<'b>"},{"id":"Belt.Array.getByU","kind":"value","name":"getByU","docstrings":[],"signature":"let getByU: (t<'a>, (. 'a) => bool) => option<'a>"},{"id":"Belt.Array.getBy","kind":"value","name":"getBy","docstrings":["`getBy(xs, p)`\n\nReturns `Some(value)` for the first value in `xs` that satisifies the predicate\nfunction `p`; returns `None` if no element satisifies the function.\n\n## Examples\n\n```rescript\nBelt.Array.getBy([1, 4, 3, 2], (x) => mod(x, 2) == 0) == Some(4)\nBelt.Array.getBy([15, 13, 11], (x) => mod(x, 2) == 0) == None\n```"],"signature":"let getBy: (t<'a>, 'a => bool) => option<'a>"},{"id":"Belt.Array.getIndexByU","kind":"value","name":"getIndexByU","docstrings":[],"signature":"let getIndexByU: (t<'a>, (. 'a) => bool) => option"},{"id":"Belt.Array.getIndexBy","kind":"value","name":"getIndexBy","docstrings":["`getIndexBy(xs, p)` returns `Some(index)` for the first value in `xs` that\nsatisifies the predicate function `p`; returns `None` if no element satisifies\nthe function.\n\n## Examples\n\n```rescript\nBelt.Array.getIndexBy([1, 4, 3, 2], (x) => mod(x, 2) == 0) == Some(1)\nBelt.Array.getIndexBy([15, 13, 11], (x) => mod(x, 2) == 0) == None\n```"],"signature":"let getIndexBy: (t<'a>, 'a => bool) => option"},{"id":"Belt.Array.keepU","kind":"value","name":"keepU","docstrings":[],"signature":"let keepU: (t<'a>, (. 'a) => bool) => t<'a>"},{"id":"Belt.Array.keep","kind":"value","name":"keep","docstrings":["`keep(xs, p)` returns a new array that keep all elements satisfy `p`."],"signature":"let keep: (t<'a>, 'a => bool) => t<'a>"},{"id":"Belt.Array.keepWithIndexU","kind":"value","name":"keepWithIndexU","docstrings":[],"signature":"let keepWithIndexU: (t<'a>, (. 'a, int) => bool) => t<'a>"},{"id":"Belt.Array.keepWithIndex","kind":"value","name":"keepWithIndex","docstrings":["`keepWithIndex(xs, p)`\n\nReturns a new array that keep all elements satisfy `p`.\n\n## Examples\n\n```rescript\nBelt.Array.keepWithIndex([1, 2, 3], (_x, i) => i == 1) == [2]\n```"],"signature":"let keepWithIndex: (t<'a>, ('a, int) => bool) => t<'a>"},{"id":"Belt.Array.keepMapU","kind":"value","name":"keepMapU","docstrings":[],"signature":"let keepMapU: (t<'a>, (. 'a) => option<'b>) => array<'b>"},{"id":"Belt.Array.keepMap","kind":"value","name":"keepMap","docstrings":["`keepMap(xs, p)`\n\nReturns a new array that keep all elements that return a non-None applied `p`.\n\n## Examples\n\n```rescript\nBelt.Array.keepMap([1, 2, 3], x =>\n if mod(x, 2) == 0 {\n Some(x)\n } else {\n None\n }\n)\n== [2]\n```"],"signature":"let keepMap: (t<'a>, 'a => option<'b>) => array<'b>"},{"id":"Belt.Array.forEachWithIndexU","kind":"value","name":"forEachWithIndexU","docstrings":[],"signature":"let forEachWithIndexU: (t<'a>, (. int, 'a) => unit) => unit"},{"id":"Belt.Array.forEachWithIndex","kind":"value","name":"forEachWithIndex","docstrings":["`forEachWithIndex(xs, f)`\n\nThe same as `Belt.Array.forEach`;\nexcept that `f` is supplied two arguments: the index starting from 0 and the \nelement from `xs`.\n\n## Examples\n\n```rescript\nBelt.Array.forEachWithIndex([\"a\", \"b\", \"c\"], (i, x) => Js.log(\"Item \" ++ Belt.Int.toString(i) ++ \" is \" ++ x))\n\n/*\n prints:\n Item 0 is a\n Item 1 is b\n Item 2 is cc\n*/\nlet total = ref(0)\n\nBelt.Array.forEachWithIndex([10, 11, 12, 13], (i, x) => total := total.contents + x + i)\n\ntotal.contents == 0 + 10 + 1 + 11 + 2 + 12 + 3 + 13\n```"],"signature":"let forEachWithIndex: (t<'a>, (int, 'a) => unit) => unit"},{"id":"Belt.Array.mapWithIndexU","kind":"value","name":"mapWithIndexU","docstrings":[],"signature":"let mapWithIndexU: (t<'a>, (. int, 'a) => 'b) => array<'b>"},{"id":"Belt.Array.mapWithIndex","kind":"value","name":"mapWithIndex","docstrings":["`mapWithIndex(xs, f)`\n\n`mapWithIndex(xs, f)` applies `f` to each element of `xs`. Function `f` takes two\narguments: the index starting from 0 and the element from `xs`.\n\n## Examples\n\n```rescript\nBelt.Array.mapWithIndex([1, 2, 3], (i, x) => i + x) == [0 + 1, 1 + 2, 2 + 3]\n```"],"signature":"let mapWithIndex: (t<'a>, (int, 'a) => 'b) => array<'b>"},{"id":"Belt.Array.partitionU","kind":"value","name":"partitionU","docstrings":[],"signature":"let partitionU: (t<'a>, (. 'a) => bool) => (t<'a>, t<'a>)"},{"id":"Belt.Array.partition","kind":"value","name":"partition","docstrings":["`partition(f, a)` split array into tuple of two arrays based on predicate `f`;\nfirst of tuple where predicate cause true, second where predicate cause false\n\n## Examples\n\n```rescript\nBelt.Array.partition([1, 2, 3, 4, 5], (x) => mod(x, 2) == 0) == ([2, 4], [1, 3, 5])\n\nBelt.Array.partition([1, 2, 3, 4, 5], (x) => mod(x, 2) != 0) == ([1, 3, 5], [2, 4])\n```"],"signature":"let partition: (t<'a>, 'a => bool) => (t<'a>, t<'a>)"},{"id":"Belt.Array.reduceU","kind":"value","name":"reduceU","docstrings":[],"signature":"let reduceU: (array<'b>, 'a, (. 'a, 'b) => 'a) => 'a"},{"id":"Belt.Array.reduce","kind":"value","name":"reduce","docstrings":["`reduce(xs, init, f)`\n\nApplies `f` to each element of `xs` from beginning to end. Function `f` has two\nparameters: the item from the list and an “accumulator”; which starts with a value\nof `init`. `reduce` returns the final value of the accumulator.\n\n## Examples\n\n```rescript\nBelt.Array.reduce([2, 3, 4], 1, (a, b) => a + b) == 10\n\nBelt.Array.reduce([\"a\", \"b\", \"c\", \"d\"], \"\", (a, b) => a ++ b) == \"abcd\"\n```"],"signature":"let reduce: (array<'b>, 'a, ('a, 'b) => 'a) => 'a"},{"id":"Belt.Array.reduceReverseU","kind":"value","name":"reduceReverseU","docstrings":[],"signature":"let reduceReverseU: (array<'b>, 'a, (. 'a, 'b) => 'a) => 'a"},{"id":"Belt.Array.reduceReverse","kind":"value","name":"reduceReverse","docstrings":["`reduceReverse(xs, init, f)`\n\nWorks like `Belt_Array.reduce`; except that function `f` is applied to each item\nof `xs` from the last back to the first.\n\n## Examples\n\n```rescript\nBelt.Array.reduceReverse([\"a\", \"b\", \"c\", \"d\"], \"\", (a, b) => a ++ b) == \"dcba\"\n```"],"signature":"let reduceReverse: (array<'b>, 'a, ('a, 'b) => 'a) => 'a"},{"id":"Belt.Array.reduceReverse2U","kind":"value","name":"reduceReverse2U","docstrings":[],"signature":"let reduceReverse2U: (t<'a>, array<'b>, 'c, (. 'c, 'a, 'b) => 'c) => 'c"},{"id":"Belt.Array.reduceReverse2","kind":"value","name":"reduceReverse2","docstrings":["`reduceReverse2(xs, ys, init, f)`\n\nReduces two arrays xs and ys;taking items starting at `min(length(xs), length(ys))`\ndown to and including zero.\n\n## Examples\n\n```rescript\nBelt.Array.reduceReverse2([1, 2, 3], [1, 2], 0, (acc, x, y) => acc + x + y) == 6\n```"],"signature":"let reduceReverse2: (t<'a>, array<'b>, 'c, ('c, 'a, 'b) => 'c) => 'c"},{"id":"Belt.Array.reduceWithIndexU","kind":"value","name":"reduceWithIndexU","docstrings":[],"signature":"let reduceWithIndexU: (t<'a>, 'b, (. 'b, 'a, int) => 'b) => 'b"},{"id":"Belt.Array.reduceWithIndex","kind":"value","name":"reduceWithIndex","docstrings":["Applies `f` to each element of `xs` from beginning to end. Function `f` has\nthree parameters: the item from the array and an “accumulator”, which starts \nwith a value of `init` and the index of each element. `reduceWithIndex` returns\nthe final value of the accumulator.\n\n## Examples\n\n```rescript\nBelt.Array.reduceWithIndex([1, 2, 3, 4], 0, (acc, x, i) => acc + x + i) == 16\n```"],"signature":"let reduceWithIndex: (t<'a>, 'b, ('b, 'a, int) => 'b) => 'b"},{"id":"Belt.Array.joinWithU","kind":"value","name":"joinWithU","docstrings":[],"signature":"let joinWithU: (t<'a>, string, (. 'a) => string) => string"},{"id":"Belt.Array.joinWith","kind":"value","name":"joinWith","docstrings":["`joinWith(xs, sep, toString)`\n\nConcatenates all the elements of `xs` converted to string with `toString`, each\nseparated by `sep`, the string given as the second argument, into a single string.\nIf the array has only one element, then that element will be returned without \nusing the separator. If the array is empty, the empty string will be returned.\n\n## Examples\n\n```rescript\njoinWith([0, 1], \", \", string_of_int) == \"0, 1\"\njoinWith([], \" \", string_of_int) == \"\"\njoinWith([1], \" \", string_of_int) == \"1\"\n```"],"signature":"let joinWith: (t<'a>, string, 'a => string) => string"},{"id":"Belt.Array.someU","kind":"value","name":"someU","docstrings":[],"signature":"let someU: (t<'a>, (. 'a) => bool) => bool"},{"id":"Belt.Array.some","kind":"value","name":"some","docstrings":["`some(xs, p)`\n\nReturns true if at least one of the elements in `xs` satifies `p`; where `p` is\na predicate: a function taking an element and returning a `bool`.\n\n## Examples\n\n```rescript\nBelt.Array.some([2, 3, 4], (x) => mod(x, 2) == 1) == true\n\nBelt.Array.some([(-1), (-3), (-5)], (x) => x > 0) == false\n```"],"signature":"let some: (t<'a>, 'a => bool) => bool"},{"id":"Belt.Array.everyU","kind":"value","name":"everyU","docstrings":[],"signature":"let everyU: (t<'a>, (. 'a) => bool) => bool"},{"id":"Belt.Array.every","kind":"value","name":"every","docstrings":["`every(xs, p)`\n\nReturns `true` if all elements satisfy `p`; where `p` is a predicate: a function\ntaking an element and returning a `bool`.\n\n## Examples\n\n```rescript\nBelt.Array.every([1, 3, 5], (x) => mod(x, 2) == 1) == true\n\nBelt.Array.every([1, (-3), 5], (x) => x > 0) == false\n```"],"signature":"let every: (t<'a>, 'a => bool) => bool"},{"id":"Belt.Array.every2U","kind":"value","name":"every2U","docstrings":[],"signature":"let every2U: (t<'a>, array<'b>, (. 'a, 'b) => bool) => bool"},{"id":"Belt.Array.every2","kind":"value","name":"every2","docstrings":["`every2(xs, ys, p)`\n\nreturns true if `p(xi, yi)` is true for all pairs of elements up to the shorter\nlength (i.e. `min(length(xs), length(ys))`)\n\n## Examples\n\n```rescript\nBelt.Array.every2([1, 2, 3], [0, 1], (a, b) => a > b) == true\n\nBelt.Array.every2([], [1], (x, y) => x > y) == true\n\nBelt.Array.every2([2, 3], [1], (x, y) => x > y) == true\n\nBelt.Array.every2([0, 1], [5, 0], (x, y) => x > y) == false\n```"],"signature":"let every2: (t<'a>, array<'b>, ('a, 'b) => bool) => bool"},{"id":"Belt.Array.some2U","kind":"value","name":"some2U","docstrings":[],"signature":"let some2U: (t<'a>, array<'b>, (. 'a, 'b) => bool) => bool"},{"id":"Belt.Array.some2","kind":"value","name":"some2","docstrings":["`some2(xs, ys, p)`\n\nreturns true if `p(xi, yi)` is true for any pair of elements up to the shorter\nlength (i.e. `min(length(xs), length(ys))`)\n\n## Examples\n\n```rescript\nBelt.Array.some2([0, 2], [1, 0, 3], (a, b) => a > b) == true\n\nBelt.Array.some2([], [1], (x, y) => x > y) == false\n\nBelt.Array.some2([2, 3], [1, 4], (x, y) => x > y) == true\n```"],"signature":"let some2: (t<'a>, array<'b>, ('a, 'b) => bool) => bool"},{"id":"Belt.Array.cmpU","kind":"value","name":"cmpU","docstrings":[],"signature":"let cmpU: (t<'a>, t<'a>, (. 'a, 'a) => int) => int"},{"id":"Belt.Array.cmp","kind":"value","name":"cmp","docstrings":["`cmp(xs, ys, f)`\n\nCompared by length if `length(xs) != length(ys)`; returning -1 if `length(xs) < length(ys)` or 1 if `length(xs) > length(ys)`\nOtherwise compare one by one `f(x, y)`. `f` returns\na negative number if `x` is “less than” `y`\nzero if `x` is “equal to” `y`\na positive number if `x` is “greater than” `y`\nThe comparison returns the first non-zero result of `f`;or zero if `f` returns zero for all `x` and `y`.\n\n## Examples\n\n```rescript\nBelt.Array.cmp([1, 3, 5], [1, 4, 2], (a, b) => compare(a, b)) == -1\n\nBelt.Array.cmp([1, 3, 5], [1, 2, 3], (a, b) => compare(a, b)) == 1\n\nBelt.Array.cmp([1, 3, 5], [1, 3, 5], (a, b) => compare(a, b)) == 0\n```"],"signature":"let cmp: (t<'a>, t<'a>, ('a, 'a) => int) => int"},{"id":"Belt.Array.eqU","kind":"value","name":"eqU","docstrings":[],"signature":"let eqU: (t<'a>, t<'a>, (. 'a, 'a) => bool) => bool"},{"id":"Belt.Array.eq","kind":"value","name":"eq","docstrings":["`eq(xs, ys)`\n\nreturn false if length is not the same\notherwise compare items one by one using `f(xi, yi)`; and return true if all\nresults are true false otherwise\n\n## Examples\n\n```rescript\nBelt.Array.eq([1, 2, 3], [(-1), (-2), (-3)], (a, b) => abs(a) == abs(b)) == true\n```"],"signature":"let eq: (t<'a>, t<'a>, ('a, 'a) => bool) => bool"},{"id":"Belt.Array.truncateToLengthUnsafe","kind":"value","name":"truncateToLengthUnsafe","docstrings":["Unsafe `truncateToLengthUnsafe(xs, n)` sets length of array `xs` to `n`.\n\nIf `n` is greater than the length of `xs`; the extra elements are set to `Js.Null_undefined.null`.\n\nIf `n` is less than zero; raises a `RangeError`.\n\n## Examples\n\n```rescript\nlet arr = [\"ant\", \"bee\", \"cat\", \"dog\", \"elk\"]\n\nBelt.Array.truncateToLengthUnsafe(arr, 3)\n\narr == [\"ant\", \"bee\", \"cat\"]\n```"],"signature":"let truncateToLengthUnsafe: (t<'a>, int) => unit"},{"id":"Belt.Array.initU","kind":"value","name":"initU","docstrings":[],"signature":"let initU: (int, (. int) => 'a) => t<'a>"},{"id":"Belt.Array.init","kind":"value","name":"init","docstrings":[],"signature":"let init: (int, int => 'a) => t<'a>"},{"id":"Belt.Array.push","kind":"value","name":"push","docstrings":["`arr->push(item)` pushes an element `item` into an array `arr`."],"signature":"let push: (t<'a>, 'a) => unit"}]},"belt/id":{"id":"Belt.Id","name":"Id","docstrings":["[`Belt.Id`]()\n\n Provide utilities to create identified comparators or hashes for\n data structures used below.\n\n It create a unique identifier per module of\n functions so that different data structures with slightly different\n comparison functions won't mix"],"items":[{"id":"Belt.Id.hash","kind":"type","name":"hash","docstrings":["`('a, 'id) hash`\n\nIts runtime represenation is a `hash` function, but signed with a\ntype parameter, so that different hash functions type mismatch"],"signature":"type hash<'a, 'id>"},{"id":"Belt.Id.eq","kind":"type","name":"eq","docstrings":["`('a, 'id) eq`\n\nIts runtime represenation is an `eq` function, but signed with a\ntype parameter, so that different hash functions type mismatch"],"signature":"type eq<'a, 'id>"},{"id":"Belt.Id.cmp","kind":"type","name":"cmp","docstrings":["`('a,'id) cmp`\n\nIts runtime representation is a `cmp` function, but signed with a\ntype parameter, so that different hash functions type mismatch"],"signature":"type cmp<'a, 'id>"},{"id":"Belt.Id.comparable","kind":"type","name":"comparable","docstrings":["`('key, 'id) cmparable` is a module of functions, here it only includes `cmp`.\n\nUnlike normal functions, when created, it comes with a unique identity (guaranteed\nby the type system).\n\nIt can be created using function [`comparableU`]() or [`comparable`]().\n\nThe idea of a unique identity when created is that it makes sure two sets would type\nmismatch if they use different comparison function"],"signature":"type comparable<'key, 'id> = module(Comparable\\n with type identity = 'id\\n with type t = 'key)"},{"id":"Belt.Id.comparableU","kind":"value","name":"comparableU","docstrings":[],"signature":"let comparableU: (\\n ~cmp: (. 'a, 'a) => int,\\n) => module(Comparable with type t = 'a)"},{"id":"Belt.Id.comparable","kind":"value","name":"comparable","docstrings":["## Examples\n\n```rescript\nmodule C = (\n val Belt.Id.comparable ~cmp:(compare : int -> int -> int)\n)\nlet m = Belt.Set.make(module C)\n```\nNote that the name of C can not be ignored"],"signature":"let comparable: (\\n ~cmp: ('a, 'a) => int,\\n) => module(Comparable with type t = 'a)"},{"id":"Belt.Id.hashable","kind":"type","name":"hashable","docstrings":["`('key, 'id) hashable` is a module of functions, here it only includes `hash`, `eq`.\n\nUnlike normal functions, when created, it comes with a unique identity (guaranteed\nby the type system).\n\nIt can be created using function [`hashableU`]() or [`hashable`]().\n\nThe idea of a unique identity when created is that it makes sure two hash sets would type\nmismatch if they use different comparison function"],"signature":"type hashable<'key, 'id> = module(Hashable\\n with type identity = 'id\\n with type t = 'key)"},{"id":"Belt.Id.hashableU","kind":"value","name":"hashableU","docstrings":[],"signature":"let hashableU: (\\n ~hash: (. 'a) => int,\\n ~eq: (. 'a, 'a) => bool,\\n) => module(Hashable with type t = 'a)"},{"id":"Belt.Id.hashable","kind":"value","name":"hashable","docstrings":[],"signature":"let hashable: (\\n ~hash: 'a => int,\\n ~eq: ('a, 'a) => bool,\\n) => module(Hashable with type t = 'a)"},{"id":"Belt.Id.getHashInternal","kind":"value","name":"getHashInternal","docstrings":[],"signature":"let getHashInternal: hash<'a, 'id> => (. 'a) => int"},{"id":"Belt.Id.getEqInternal","kind":"value","name":"getEqInternal","docstrings":[],"signature":"let getEqInternal: eq<'a, 'id> => (. 'a, 'a) => bool"},{"id":"Belt.Id.getCmpInternal","kind":"value","name":"getCmpInternal","docstrings":[],"signature":"let getCmpInternal: cmp<'a, 'id> => (. 'a, 'a) => int"}]}} \ No newline at end of file diff --git a/data/dom.json b/data/dom.json new file mode 100644 index 000000000..aa0357c8d --- /dev/null +++ b/data/dom.json @@ -0,0 +1 @@ +{"dom":{"id":"Dom","name":"Dom","docstrings":[],"items":[{"id":"Dom._baseClass","kind":"type","name":"_baseClass","docstrings":[],"signature":"type _baseClass"},{"id":"Dom.animation","kind":"type","name":"animation","docstrings":[],"signature":"type animation"},{"id":"Dom.cssStyleDeclaration","kind":"type","name":"cssStyleDeclaration","docstrings":[],"signature":"type cssStyleDeclaration"},{"id":"Dom.cssStyleSheet","kind":"type","name":"cssStyleSheet","docstrings":[],"signature":"type cssStyleSheet"},{"id":"Dom.eventTarget_like","kind":"type","name":"eventTarget_like","docstrings":[],"signature":"type eventTarget_like<'a>"},{"id":"Dom.eventTarget","kind":"type","name":"eventTarget","docstrings":[],"signature":"type eventTarget = eventTarget_like<_baseClass>"},{"id":"Dom._node","kind":"type","name":"_node","docstrings":[],"signature":"type _node<'a>"},{"id":"Dom.node_like","kind":"type","name":"node_like","docstrings":[],"signature":"type node_like<'a> = eventTarget_like<_node<'a>>"},{"id":"Dom.node","kind":"type","name":"node","docstrings":[],"signature":"type node = node_like<_baseClass>"},{"id":"Dom._attr","kind":"type","name":"_attr","docstrings":[],"signature":"type _attr"},{"id":"Dom.attr","kind":"type","name":"attr","docstrings":[],"signature":"type attr = node_like<_attr>"},{"id":"Dom._characterData","kind":"type","name":"_characterData","docstrings":[],"signature":"type _characterData<'a>"},{"id":"Dom.characterData_like","kind":"type","name":"characterData_like","docstrings":[],"signature":"type characterData_like<'a> = node_like<_characterData<'a>>"},{"id":"Dom.characterData","kind":"type","name":"characterData","docstrings":[],"signature":"type characterData = characterData_like<_baseClass>"},{"id":"Dom._cdataSection","kind":"type","name":"_cdataSection","docstrings":[],"signature":"type _cdataSection"},{"id":"Dom.cdataSection","kind":"type","name":"cdataSection","docstrings":[],"signature":"type cdataSection = characterData_like<_cdataSection>"},{"id":"Dom._comment","kind":"type","name":"_comment","docstrings":[],"signature":"type _comment"},{"id":"Dom.comment","kind":"type","name":"comment","docstrings":[],"signature":"type comment = characterData_like<_comment>"},{"id":"Dom._document","kind":"type","name":"_document","docstrings":[],"signature":"type _document<'a>"},{"id":"Dom.document_like","kind":"type","name":"document_like","docstrings":[],"signature":"type document_like<'a> = node_like<_document<'a>>"},{"id":"Dom.document","kind":"type","name":"document","docstrings":[],"signature":"type document = document_like<_baseClass>"},{"id":"Dom._documentFragment","kind":"type","name":"_documentFragment","docstrings":[],"signature":"type _documentFragment"},{"id":"Dom.documentFragment","kind":"type","name":"documentFragment","docstrings":[],"signature":"type documentFragment = node_like<_documentFragment>"},{"id":"Dom._documentType","kind":"type","name":"_documentType","docstrings":[],"signature":"type _documentType"},{"id":"Dom.documentType","kind":"type","name":"documentType","docstrings":[],"signature":"type documentType = node_like<_documentType>"},{"id":"Dom.domImplementation","kind":"type","name":"domImplementation","docstrings":[],"signature":"type domImplementation"},{"id":"Dom._element","kind":"type","name":"_element","docstrings":[],"signature":"type _element<'a>"},{"id":"Dom.element_like","kind":"type","name":"element_like","docstrings":[],"signature":"type element_like<'a> = node_like<_element<'a>>"},{"id":"Dom.element","kind":"type","name":"element","docstrings":[],"signature":"type element = element_like<_baseClass>"},{"id":"Dom.htmlCollection","kind":"type","name":"htmlCollection","docstrings":[],"signature":"type htmlCollection"},{"id":"Dom.htmlFormControlsCollection","kind":"type","name":"htmlFormControlsCollection","docstrings":[],"signature":"type htmlFormControlsCollection"},{"id":"Dom.htmlOptionsCollection","kind":"type","name":"htmlOptionsCollection","docstrings":[],"signature":"type htmlOptionsCollection"},{"id":"Dom.intersectionObserver","kind":"type","name":"intersectionObserver","docstrings":[],"signature":"type intersectionObserver"},{"id":"Dom.intersectionObserverEntry","kind":"type","name":"intersectionObserverEntry","docstrings":[],"signature":"type intersectionObserverEntry"},{"id":"Dom.mutationObserver","kind":"type","name":"mutationObserver","docstrings":[],"signature":"type mutationObserver"},{"id":"Dom.mutationRecord","kind":"type","name":"mutationRecord","docstrings":[],"signature":"type mutationRecord"},{"id":"Dom.performanceObserver","kind":"type","name":"performanceObserver","docstrings":[],"signature":"type performanceObserver"},{"id":"Dom.performanceObserverEntryList","kind":"type","name":"performanceObserverEntryList","docstrings":[],"signature":"type performanceObserverEntryList"},{"id":"Dom.reportingObserver","kind":"type","name":"reportingObserver","docstrings":[],"signature":"type reportingObserver"},{"id":"Dom.reportingObserverOptions","kind":"type","name":"reportingObserverOptions","docstrings":[],"signature":"type reportingObserverOptions"},{"id":"Dom.resizeObserver","kind":"type","name":"resizeObserver","docstrings":[],"signature":"type resizeObserver"},{"id":"Dom.resizeObserverEntry","kind":"type","name":"resizeObserverEntry","docstrings":[],"signature":"type resizeObserverEntry"},{"id":"Dom.namedNodeMap","kind":"type","name":"namedNodeMap","docstrings":[],"signature":"type namedNodeMap"},{"id":"Dom.nodeList","kind":"type","name":"nodeList","docstrings":[],"signature":"type nodeList"},{"id":"Dom.radioNodeList","kind":"type","name":"radioNodeList","docstrings":[],"signature":"type radioNodeList"},{"id":"Dom.processingInstruction","kind":"type","name":"processingInstruction","docstrings":[],"signature":"type processingInstruction"},{"id":"Dom._shadowRoot","kind":"type","name":"_shadowRoot","docstrings":[],"signature":"type _shadowRoot"},{"id":"Dom.shadowRoot","kind":"type","name":"shadowRoot","docstrings":[],"signature":"type shadowRoot = node_like<_shadowRoot>"},{"id":"Dom._text","kind":"type","name":"_text","docstrings":[],"signature":"type _text"},{"id":"Dom.text","kind":"type","name":"text","docstrings":[],"signature":"type text = characterData_like<_text>"},{"id":"Dom.domRect","kind":"type","name":"domRect","docstrings":[],"signature":"type domRect"},{"id":"Dom.dataTransfer","kind":"type","name":"dataTransfer","docstrings":[],"signature":"type dataTransfer"},{"id":"Dom.domStringMap","kind":"type","name":"domStringMap","docstrings":[],"signature":"type domStringMap"},{"id":"Dom.history","kind":"type","name":"history","docstrings":[],"signature":"type history"},{"id":"Dom._htmlDocument","kind":"type","name":"_htmlDocument","docstrings":[],"signature":"type _htmlDocument"},{"id":"Dom.htmlDocument","kind":"type","name":"htmlDocument","docstrings":[],"signature":"type htmlDocument = document_like<_htmlDocument>"},{"id":"Dom._htmlElement","kind":"type","name":"_htmlElement","docstrings":[],"signature":"type _htmlElement<'a>"},{"id":"Dom.htmlElement_like","kind":"type","name":"htmlElement_like","docstrings":[],"signature":"type htmlElement_like<'a> = element_like<_htmlElement<'a>>"},{"id":"Dom.htmlElement","kind":"type","name":"htmlElement","docstrings":[],"signature":"type htmlElement = htmlElement_like<_baseClass>"},{"id":"Dom._htmlAnchorElement","kind":"type","name":"_htmlAnchorElement","docstrings":[],"signature":"type _htmlAnchorElement"},{"id":"Dom.htmlAnchorElement","kind":"type","name":"htmlAnchorElement","docstrings":[],"signature":"type htmlAnchorElement = htmlElement_like<\\n _htmlAnchorElement,\\n>"},{"id":"Dom._htmlAreaElement","kind":"type","name":"_htmlAreaElement","docstrings":[],"signature":"type _htmlAreaElement"},{"id":"Dom.htmlAreaElement","kind":"type","name":"htmlAreaElement","docstrings":[],"signature":"type htmlAreaElement = htmlElement_like<_htmlAreaElement>"},{"id":"Dom._htmlAudioElement","kind":"type","name":"_htmlAudioElement","docstrings":[],"signature":"type _htmlAudioElement"},{"id":"Dom.htmlAudioElement","kind":"type","name":"htmlAudioElement","docstrings":[],"signature":"type htmlAudioElement = htmlElement_like<_htmlAudioElement>"},{"id":"Dom._htmlBaseElement","kind":"type","name":"_htmlBaseElement","docstrings":[],"signature":"type _htmlBaseElement"},{"id":"Dom.htmlBaseElement","kind":"type","name":"htmlBaseElement","docstrings":[],"signature":"type htmlBaseElement = htmlElement_like<_htmlBaseElement>"},{"id":"Dom._htmlBodyElement","kind":"type","name":"_htmlBodyElement","docstrings":[],"signature":"type _htmlBodyElement"},{"id":"Dom.htmlBodyElement","kind":"type","name":"htmlBodyElement","docstrings":[],"signature":"type htmlBodyElement = htmlElement_like<_htmlBodyElement>"},{"id":"Dom._htmlBrElement","kind":"type","name":"_htmlBrElement","docstrings":[],"signature":"type _htmlBrElement"},{"id":"Dom.htmlBrElement","kind":"type","name":"htmlBrElement","docstrings":[],"signature":"type htmlBrElement = htmlElement_like<_htmlBrElement>"},{"id":"Dom._htmlButtonElement","kind":"type","name":"_htmlButtonElement","docstrings":[],"signature":"type _htmlButtonElement"},{"id":"Dom.htmlButtonElement","kind":"type","name":"htmlButtonElement","docstrings":[],"signature":"type htmlButtonElement = htmlElement_like<\\n _htmlButtonElement,\\n>"},{"id":"Dom._htmlCanvasElement","kind":"type","name":"_htmlCanvasElement","docstrings":[],"signature":"type _htmlCanvasElement"},{"id":"Dom.htmlCanvasElement","kind":"type","name":"htmlCanvasElement","docstrings":[],"signature":"type htmlCanvasElement = htmlElement_like<\\n _htmlCanvasElement,\\n>"},{"id":"Dom._htmlDataElement","kind":"type","name":"_htmlDataElement","docstrings":[],"signature":"type _htmlDataElement"},{"id":"Dom.htmlDataElement","kind":"type","name":"htmlDataElement","docstrings":[],"signature":"type htmlDataElement = htmlElement_like<_htmlDataElement>"},{"id":"Dom._htmlDataListElement","kind":"type","name":"_htmlDataListElement","docstrings":[],"signature":"type _htmlDataListElement"},{"id":"Dom.htmlDataListElement","kind":"type","name":"htmlDataListElement","docstrings":[],"signature":"type htmlDataListElement = htmlElement_like<\\n _htmlDataListElement,\\n>"},{"id":"Dom._htmlDialogElement","kind":"type","name":"_htmlDialogElement","docstrings":[],"signature":"type _htmlDialogElement"},{"id":"Dom.htmlDialogElement","kind":"type","name":"htmlDialogElement","docstrings":[],"signature":"type htmlDialogElement = htmlElement_like<\\n _htmlDialogElement,\\n>"},{"id":"Dom._htmlDivElement","kind":"type","name":"_htmlDivElement","docstrings":[],"signature":"type _htmlDivElement"},{"id":"Dom.htmlDivElement","kind":"type","name":"htmlDivElement","docstrings":[],"signature":"type htmlDivElement = htmlElement_like<_htmlDivElement>"},{"id":"Dom._htmlDlistElement","kind":"type","name":"_htmlDlistElement","docstrings":[],"signature":"type _htmlDlistElement"},{"id":"Dom.htmlDlistElement","kind":"type","name":"htmlDlistElement","docstrings":[],"signature":"type htmlDlistElement = htmlElement_like<_htmlDlistElement>"},{"id":"Dom._htmlEmbedElement","kind":"type","name":"_htmlEmbedElement","docstrings":[],"signature":"type _htmlEmbedElement"},{"id":"Dom.htmlEmbedElement","kind":"type","name":"htmlEmbedElement","docstrings":[],"signature":"type htmlEmbedElement = htmlElement_like<_htmlEmbedElement>"},{"id":"Dom._htmlFieldSetElement","kind":"type","name":"_htmlFieldSetElement","docstrings":[],"signature":"type _htmlFieldSetElement"},{"id":"Dom.htmlFieldSetElement","kind":"type","name":"htmlFieldSetElement","docstrings":[],"signature":"type htmlFieldSetElement = htmlElement_like<\\n _htmlFieldSetElement,\\n>"},{"id":"Dom._htmlFormElement","kind":"type","name":"_htmlFormElement","docstrings":[],"signature":"type _htmlFormElement"},{"id":"Dom.htmlFormElement","kind":"type","name":"htmlFormElement","docstrings":[],"signature":"type htmlFormElement = htmlElement_like<_htmlFormElement>"},{"id":"Dom._htmlHeadElement","kind":"type","name":"_htmlHeadElement","docstrings":[],"signature":"type _htmlHeadElement"},{"id":"Dom.htmlHeadElement","kind":"type","name":"htmlHeadElement","docstrings":[],"signature":"type htmlHeadElement = htmlElement_like<_htmlHeadElement>"},{"id":"Dom._htmlHeadingElement","kind":"type","name":"_htmlHeadingElement","docstrings":[],"signature":"type _htmlHeadingElement"},{"id":"Dom.htmlHeadingElement","kind":"type","name":"htmlHeadingElement","docstrings":[],"signature":"type htmlHeadingElement = htmlElement_like<\\n _htmlHeadingElement,\\n>"},{"id":"Dom._htmlHrElement","kind":"type","name":"_htmlHrElement","docstrings":[],"signature":"type _htmlHrElement"},{"id":"Dom.htmlHrElement","kind":"type","name":"htmlHrElement","docstrings":[],"signature":"type htmlHrElement = htmlElement_like<_htmlHrElement>"},{"id":"Dom._htmlHtmlElement","kind":"type","name":"_htmlHtmlElement","docstrings":[],"signature":"type _htmlHtmlElement"},{"id":"Dom.htmlHtmlElement","kind":"type","name":"htmlHtmlElement","docstrings":[],"signature":"type htmlHtmlElement = htmlElement_like<_htmlHtmlElement>"},{"id":"Dom._htmlIframeElement","kind":"type","name":"_htmlIframeElement","docstrings":[],"signature":"type _htmlIframeElement"},{"id":"Dom.htmlIframeElement","kind":"type","name":"htmlIframeElement","docstrings":[],"signature":"type htmlIframeElement = htmlElement_like<\\n _htmlIframeElement,\\n>"},{"id":"Dom._htmlImageElement","kind":"type","name":"_htmlImageElement","docstrings":[],"signature":"type _htmlImageElement"},{"id":"Dom.htmlImageElement","kind":"type","name":"htmlImageElement","docstrings":[],"signature":"type htmlImageElement = htmlElement_like<_htmlImageElement>"},{"id":"Dom._htmlInputElement","kind":"type","name":"_htmlInputElement","docstrings":[],"signature":"type _htmlInputElement"},{"id":"Dom.htmlInputElement","kind":"type","name":"htmlInputElement","docstrings":[],"signature":"type htmlInputElement = htmlElement_like<_htmlInputElement>"},{"id":"Dom._htmlLabelElement","kind":"type","name":"_htmlLabelElement","docstrings":[],"signature":"type _htmlLabelElement"},{"id":"Dom.htmlLabelElement","kind":"type","name":"htmlLabelElement","docstrings":[],"signature":"type htmlLabelElement = htmlElement_like<_htmlLabelElement>"},{"id":"Dom._htmlLegendElement","kind":"type","name":"_htmlLegendElement","docstrings":[],"signature":"type _htmlLegendElement"},{"id":"Dom.htmlLegendElement","kind":"type","name":"htmlLegendElement","docstrings":[],"signature":"type htmlLegendElement = htmlElement_like<\\n _htmlLegendElement,\\n>"},{"id":"Dom._htmlLiElement","kind":"type","name":"_htmlLiElement","docstrings":[],"signature":"type _htmlLiElement"},{"id":"Dom.htmlLiElement","kind":"type","name":"htmlLiElement","docstrings":[],"signature":"type htmlLiElement = htmlElement_like<_htmlLiElement>"},{"id":"Dom._htmlLinkElement","kind":"type","name":"_htmlLinkElement","docstrings":[],"signature":"type _htmlLinkElement"},{"id":"Dom.htmlLinkElement","kind":"type","name":"htmlLinkElement","docstrings":[],"signature":"type htmlLinkElement = htmlElement_like<_htmlLinkElement>"},{"id":"Dom._htmlMapElement","kind":"type","name":"_htmlMapElement","docstrings":[],"signature":"type _htmlMapElement"},{"id":"Dom.htmlMapElement","kind":"type","name":"htmlMapElement","docstrings":[],"signature":"type htmlMapElement = htmlElement_like<_htmlMapElement>"},{"id":"Dom._htmlMediaElement","kind":"type","name":"_htmlMediaElement","docstrings":[],"signature":"type _htmlMediaElement"},{"id":"Dom.htmlMediaElement","kind":"type","name":"htmlMediaElement","docstrings":[],"signature":"type htmlMediaElement = htmlElement_like<_htmlMediaElement>"},{"id":"Dom._htmlMenuElement","kind":"type","name":"_htmlMenuElement","docstrings":[],"signature":"type _htmlMenuElement"},{"id":"Dom.htmlMenuElement","kind":"type","name":"htmlMenuElement","docstrings":[],"signature":"type htmlMenuElement = htmlElement_like<_htmlMenuElement>"},{"id":"Dom._htmlMetaElement","kind":"type","name":"_htmlMetaElement","docstrings":[],"signature":"type _htmlMetaElement"},{"id":"Dom.htmlMetaElement","kind":"type","name":"htmlMetaElement","docstrings":[],"signature":"type htmlMetaElement = htmlElement_like<_htmlMetaElement>"},{"id":"Dom._htmlMeterElement","kind":"type","name":"_htmlMeterElement","docstrings":[],"signature":"type _htmlMeterElement"},{"id":"Dom.htmlMeterElement","kind":"type","name":"htmlMeterElement","docstrings":[],"signature":"type htmlMeterElement = htmlElement_like<_htmlMeterElement>"},{"id":"Dom._htmlModElement","kind":"type","name":"_htmlModElement","docstrings":[],"signature":"type _htmlModElement"},{"id":"Dom.htmlModElement","kind":"type","name":"htmlModElement","docstrings":[],"signature":"type htmlModElement = htmlElement_like<_htmlModElement>"},{"id":"Dom._htmlOListElement","kind":"type","name":"_htmlOListElement","docstrings":[],"signature":"type _htmlOListElement"},{"id":"Dom.htmlOListElement","kind":"type","name":"htmlOListElement","docstrings":[],"signature":"type htmlOListElement = htmlElement_like<_htmlOListElement>"},{"id":"Dom._htmlObjectElement","kind":"type","name":"_htmlObjectElement","docstrings":[],"signature":"type _htmlObjectElement"},{"id":"Dom.htmlObjectElement","kind":"type","name":"htmlObjectElement","docstrings":[],"signature":"type htmlObjectElement = htmlElement_like<\\n _htmlObjectElement,\\n>"},{"id":"Dom._htmlOptGroupElement","kind":"type","name":"_htmlOptGroupElement","docstrings":[],"signature":"type _htmlOptGroupElement"},{"id":"Dom.htmlOptGroupElement","kind":"type","name":"htmlOptGroupElement","docstrings":[],"signature":"type htmlOptGroupElement = htmlElement_like<\\n _htmlOptGroupElement,\\n>"},{"id":"Dom._htmlOptionElement","kind":"type","name":"_htmlOptionElement","docstrings":[],"signature":"type _htmlOptionElement"},{"id":"Dom.htmlOptionElement","kind":"type","name":"htmlOptionElement","docstrings":[],"signature":"type htmlOptionElement = htmlElement_like<\\n _htmlOptionElement,\\n>"},{"id":"Dom._htmlOutputElement","kind":"type","name":"_htmlOutputElement","docstrings":[],"signature":"type _htmlOutputElement"},{"id":"Dom.htmlOutputElement","kind":"type","name":"htmlOutputElement","docstrings":[],"signature":"type htmlOutputElement = htmlElement_like<\\n _htmlOutputElement,\\n>"},{"id":"Dom._htmlParagraphElement","kind":"type","name":"_htmlParagraphElement","docstrings":[],"signature":"type _htmlParagraphElement"},{"id":"Dom.htmlParagraphElement","kind":"type","name":"htmlParagraphElement","docstrings":[],"signature":"type htmlParagraphElement = htmlElement_like<\\n _htmlParagraphElement,\\n>"},{"id":"Dom._htmlParamElement","kind":"type","name":"_htmlParamElement","docstrings":[],"signature":"type _htmlParamElement"},{"id":"Dom.htmlParamElement","kind":"type","name":"htmlParamElement","docstrings":[],"signature":"type htmlParamElement = htmlElement_like<_htmlParamElement>"},{"id":"Dom._htmlPreElement","kind":"type","name":"_htmlPreElement","docstrings":[],"signature":"type _htmlPreElement"},{"id":"Dom.htmlPreElement","kind":"type","name":"htmlPreElement","docstrings":[],"signature":"type htmlPreElement = htmlElement_like<_htmlPreElement>"},{"id":"Dom._htmlProgressElement","kind":"type","name":"_htmlProgressElement","docstrings":[],"signature":"type _htmlProgressElement"},{"id":"Dom.htmlProgressElement","kind":"type","name":"htmlProgressElement","docstrings":[],"signature":"type htmlProgressElement = htmlElement_like<\\n _htmlProgressElement,\\n>"},{"id":"Dom._htmlQuoteElement","kind":"type","name":"_htmlQuoteElement","docstrings":[],"signature":"type _htmlQuoteElement"},{"id":"Dom.htmlQuoteElement","kind":"type","name":"htmlQuoteElement","docstrings":[],"signature":"type htmlQuoteElement = htmlElement_like<_htmlQuoteElement>"},{"id":"Dom._htmlScriptElement","kind":"type","name":"_htmlScriptElement","docstrings":[],"signature":"type _htmlScriptElement"},{"id":"Dom.htmlScriptElement","kind":"type","name":"htmlScriptElement","docstrings":[],"signature":"type htmlScriptElement = htmlElement_like<\\n _htmlScriptElement,\\n>"},{"id":"Dom._htmlSelectElement","kind":"type","name":"_htmlSelectElement","docstrings":[],"signature":"type _htmlSelectElement"},{"id":"Dom.htmlSelectElement","kind":"type","name":"htmlSelectElement","docstrings":[],"signature":"type htmlSelectElement = htmlElement_like<\\n _htmlSelectElement,\\n>"},{"id":"Dom._htmlSlotElement","kind":"type","name":"_htmlSlotElement","docstrings":[],"signature":"type _htmlSlotElement"},{"id":"Dom.htmlSlotElement","kind":"type","name":"htmlSlotElement","docstrings":[],"signature":"type htmlSlotElement = htmlElement_like<_htmlSlotElement>"},{"id":"Dom._htmlSourceElement","kind":"type","name":"_htmlSourceElement","docstrings":[],"signature":"type _htmlSourceElement"},{"id":"Dom.htmlSourceElement","kind":"type","name":"htmlSourceElement","docstrings":[],"signature":"type htmlSourceElement = htmlElement_like<\\n _htmlSourceElement,\\n>"},{"id":"Dom._htmlSpanElement","kind":"type","name":"_htmlSpanElement","docstrings":[],"signature":"type _htmlSpanElement"},{"id":"Dom.htmlSpanElement","kind":"type","name":"htmlSpanElement","docstrings":[],"signature":"type htmlSpanElement = htmlElement_like<_htmlSpanElement>"},{"id":"Dom._htmlStyleElement","kind":"type","name":"_htmlStyleElement","docstrings":[],"signature":"type _htmlStyleElement"},{"id":"Dom.htmlStyleElement","kind":"type","name":"htmlStyleElement","docstrings":[],"signature":"type htmlStyleElement = htmlElement_like<_htmlStyleElement>"},{"id":"Dom._htmlTableCaptionElement","kind":"type","name":"_htmlTableCaptionElement","docstrings":[],"signature":"type _htmlTableCaptionElement"},{"id":"Dom.htmlTableCaptionElement","kind":"type","name":"htmlTableCaptionElement","docstrings":[],"signature":"type htmlTableCaptionElement = htmlElement_like<\\n _htmlTableCaptionElement,\\n>"},{"id":"Dom._htmlTableCellElement","kind":"type","name":"_htmlTableCellElement","docstrings":[],"signature":"type _htmlTableCellElement"},{"id":"Dom.htmlTableCellElement","kind":"type","name":"htmlTableCellElement","docstrings":[],"signature":"type htmlTableCellElement = htmlElement_like<\\n _htmlTableCellElement,\\n>"},{"id":"Dom._htmlTableColElement","kind":"type","name":"_htmlTableColElement","docstrings":[],"signature":"type _htmlTableColElement"},{"id":"Dom.htmlTableColElement","kind":"type","name":"htmlTableColElement","docstrings":[],"signature":"type htmlTableColElement = htmlElement_like<\\n _htmlTableColElement,\\n>"},{"id":"Dom._htmlTableDataCellElement","kind":"type","name":"_htmlTableDataCellElement","docstrings":[],"signature":"type _htmlTableDataCellElement"},{"id":"Dom.htmlTableDataCellElement","kind":"type","name":"htmlTableDataCellElement","docstrings":[],"signature":"type htmlTableDataCellElement = htmlElement_like<\\n _htmlTableDataCellElement,\\n>"},{"id":"Dom._htmlTableElement","kind":"type","name":"_htmlTableElement","docstrings":[],"signature":"type _htmlTableElement"},{"id":"Dom.htmlTableElement","kind":"type","name":"htmlTableElement","docstrings":[],"signature":"type htmlTableElement = htmlElement_like<_htmlTableElement>"},{"id":"Dom._htmlTableHeaderCellElement","kind":"type","name":"_htmlTableHeaderCellElement","docstrings":[],"signature":"type _htmlTableHeaderCellElement"},{"id":"Dom.htmlTableHeaderCellElement","kind":"type","name":"htmlTableHeaderCellElement","docstrings":[],"signature":"type htmlTableHeaderCellElement = htmlElement_like<\\n _htmlTableHeaderCellElement,\\n>"},{"id":"Dom._htmlTableRowElement","kind":"type","name":"_htmlTableRowElement","docstrings":[],"signature":"type _htmlTableRowElement"},{"id":"Dom.htmlTableRowElement","kind":"type","name":"htmlTableRowElement","docstrings":[],"signature":"type htmlTableRowElement = htmlElement_like<\\n _htmlTableRowElement,\\n>"},{"id":"Dom._htmlTableSectionElement","kind":"type","name":"_htmlTableSectionElement","docstrings":[],"signature":"type _htmlTableSectionElement"},{"id":"Dom.htmlTableSectionElement","kind":"type","name":"htmlTableSectionElement","docstrings":[],"signature":"type htmlTableSectionElement = htmlElement_like<\\n _htmlTableSectionElement,\\n>"},{"id":"Dom._htmlTextAreaElement","kind":"type","name":"_htmlTextAreaElement","docstrings":[],"signature":"type _htmlTextAreaElement"},{"id":"Dom.htmlTextAreaElement","kind":"type","name":"htmlTextAreaElement","docstrings":[],"signature":"type htmlTextAreaElement = htmlElement_like<\\n _htmlTextAreaElement,\\n>"},{"id":"Dom._htmlTimeElement","kind":"type","name":"_htmlTimeElement","docstrings":[],"signature":"type _htmlTimeElement"},{"id":"Dom.htmlTimeElement","kind":"type","name":"htmlTimeElement","docstrings":[],"signature":"type htmlTimeElement = htmlElement_like<_htmlTimeElement>"},{"id":"Dom._htmlTitleElement","kind":"type","name":"_htmlTitleElement","docstrings":[],"signature":"type _htmlTitleElement"},{"id":"Dom.htmlTitleElement","kind":"type","name":"htmlTitleElement","docstrings":[],"signature":"type htmlTitleElement = htmlElement_like<_htmlTitleElement>"},{"id":"Dom._htmlTrackElement","kind":"type","name":"_htmlTrackElement","docstrings":[],"signature":"type _htmlTrackElement"},{"id":"Dom.htmlTrackElement","kind":"type","name":"htmlTrackElement","docstrings":[],"signature":"type htmlTrackElement = htmlElement_like<_htmlTrackElement>"},{"id":"Dom._htmlUlistElement","kind":"type","name":"_htmlUlistElement","docstrings":[],"signature":"type _htmlUlistElement"},{"id":"Dom.htmlUlistElement","kind":"type","name":"htmlUlistElement","docstrings":[],"signature":"type htmlUlistElement = htmlElement_like<_htmlUlistElement>"},{"id":"Dom._htmlUnknownElement","kind":"type","name":"_htmlUnknownElement","docstrings":[],"signature":"type _htmlUnknownElement"},{"id":"Dom.htmlUnknownElement","kind":"type","name":"htmlUnknownElement","docstrings":[],"signature":"type htmlUnknownElement = htmlElement_like<\\n _htmlUnknownElement,\\n>"},{"id":"Dom._htmlVideoElement","kind":"type","name":"_htmlVideoElement","docstrings":[],"signature":"type _htmlVideoElement"},{"id":"Dom.htmlVideoElement","kind":"type","name":"htmlVideoElement","docstrings":[],"signature":"type htmlVideoElement = htmlElement_like<_htmlVideoElement>"},{"id":"Dom.location","kind":"type","name":"location","docstrings":[],"signature":"type location"},{"id":"Dom.window","kind":"type","name":"window","docstrings":[],"signature":"type window"},{"id":"Dom._xmlDocument","kind":"type","name":"_xmlDocument","docstrings":[],"signature":"type _xmlDocument"},{"id":"Dom.xmlDocument","kind":"type","name":"xmlDocument","docstrings":[],"signature":"type xmlDocument = document_like<_xmlDocument>"},{"id":"Dom.event_like","kind":"type","name":"event_like","docstrings":[],"signature":"type event_like<'a>"},{"id":"Dom.event","kind":"type","name":"event","docstrings":[],"signature":"type event = event_like<_baseClass>"},{"id":"Dom._uiEvent","kind":"type","name":"_uiEvent","docstrings":[],"signature":"type _uiEvent<'a>"},{"id":"Dom.uiEvent_like","kind":"type","name":"uiEvent_like","docstrings":[],"signature":"type uiEvent_like<'a> = event_like<_uiEvent<'a>>"},{"id":"Dom.uiEvent","kind":"type","name":"uiEvent","docstrings":[],"signature":"type uiEvent = uiEvent_like<_baseClass>"},{"id":"Dom._animationEvent","kind":"type","name":"_animationEvent","docstrings":[],"signature":"type _animationEvent"},{"id":"Dom.animationEvent","kind":"type","name":"animationEvent","docstrings":[],"signature":"type animationEvent = event_like<_animationEvent>"},{"id":"Dom._beforeUnloadEvent","kind":"type","name":"_beforeUnloadEvent","docstrings":[],"signature":"type _beforeUnloadEvent"},{"id":"Dom.beforeUnloadEvent","kind":"type","name":"beforeUnloadEvent","docstrings":[],"signature":"type beforeUnloadEvent = event_like<_beforeUnloadEvent>"},{"id":"Dom._clipboardEvent","kind":"type","name":"_clipboardEvent","docstrings":[],"signature":"type _clipboardEvent"},{"id":"Dom.clipboardEvent","kind":"type","name":"clipboardEvent","docstrings":[],"signature":"type clipboardEvent = event_like<_clipboardEvent>"},{"id":"Dom._closeEvent","kind":"type","name":"_closeEvent","docstrings":[],"signature":"type _closeEvent"},{"id":"Dom.closeEvent","kind":"type","name":"closeEvent","docstrings":[],"signature":"type closeEvent = event_like<_closeEvent>"},{"id":"Dom._compositionEvent","kind":"type","name":"_compositionEvent","docstrings":[],"signature":"type _compositionEvent"},{"id":"Dom.compositionEvent","kind":"type","name":"compositionEvent","docstrings":[],"signature":"type compositionEvent = uiEvent_like<_compositionEvent>"},{"id":"Dom._customEvent","kind":"type","name":"_customEvent","docstrings":[],"signature":"type _customEvent"},{"id":"Dom.customEvent","kind":"type","name":"customEvent","docstrings":[],"signature":"type customEvent = event_like<_customEvent>"},{"id":"Dom._dragEvent","kind":"type","name":"_dragEvent","docstrings":[],"signature":"type _dragEvent"},{"id":"Dom.dragEvent","kind":"type","name":"dragEvent","docstrings":[],"signature":"type dragEvent = event_like<_dragEvent>"},{"id":"Dom._errorEvent","kind":"type","name":"_errorEvent","docstrings":[],"signature":"type _errorEvent"},{"id":"Dom.errorEvent","kind":"type","name":"errorEvent","docstrings":[],"signature":"type errorEvent = event_like<_errorEvent>"},{"id":"Dom._focusEvent","kind":"type","name":"_focusEvent","docstrings":[],"signature":"type _focusEvent"},{"id":"Dom.focusEvent","kind":"type","name":"focusEvent","docstrings":[],"signature":"type focusEvent = uiEvent_like<_focusEvent>"},{"id":"Dom._idbVersionChangeEvent","kind":"type","name":"_idbVersionChangeEvent","docstrings":[],"signature":"type _idbVersionChangeEvent"},{"id":"Dom.idbVersionChangeEvent","kind":"type","name":"idbVersionChangeEvent","docstrings":[],"signature":"type idbVersionChangeEvent = event_like<\\n _idbVersionChangeEvent,\\n>"},{"id":"Dom._inputEvent","kind":"type","name":"_inputEvent","docstrings":[],"signature":"type _inputEvent"},{"id":"Dom.inputEvent","kind":"type","name":"inputEvent","docstrings":[],"signature":"type inputEvent = uiEvent_like<_inputEvent>"},{"id":"Dom._keyboardEvent","kind":"type","name":"_keyboardEvent","docstrings":[],"signature":"type _keyboardEvent"},{"id":"Dom.keyboardEvent","kind":"type","name":"keyboardEvent","docstrings":[],"signature":"type keyboardEvent = uiEvent_like<_keyboardEvent>"},{"id":"Dom._mouseEvent","kind":"type","name":"_mouseEvent","docstrings":[],"signature":"type _mouseEvent<'a>"},{"id":"Dom.mouseEvent_like","kind":"type","name":"mouseEvent_like","docstrings":[],"signature":"type mouseEvent_like<'a> = uiEvent_like<_mouseEvent<'a>>"},{"id":"Dom.mouseEvent","kind":"type","name":"mouseEvent","docstrings":[],"signature":"type mouseEvent = mouseEvent_like<_baseClass>"},{"id":"Dom._pageTransitionEvent","kind":"type","name":"_pageTransitionEvent","docstrings":[],"signature":"type _pageTransitionEvent"},{"id":"Dom.pageTransitionEvent","kind":"type","name":"pageTransitionEvent","docstrings":[],"signature":"type pageTransitionEvent = event_like<_pageTransitionEvent>"},{"id":"Dom._pointerEvent","kind":"type","name":"_pointerEvent","docstrings":[],"signature":"type _pointerEvent"},{"id":"Dom.pointerEvent","kind":"type","name":"pointerEvent","docstrings":[],"signature":"type pointerEvent = mouseEvent_like<_pointerEvent>"},{"id":"Dom._popStateEvent","kind":"type","name":"_popStateEvent","docstrings":[],"signature":"type _popStateEvent"},{"id":"Dom.popStateEvent","kind":"type","name":"popStateEvent","docstrings":[],"signature":"type popStateEvent = event_like<_popStateEvent>"},{"id":"Dom._progressEvent","kind":"type","name":"_progressEvent","docstrings":[],"signature":"type _progressEvent"},{"id":"Dom.progressEvent","kind":"type","name":"progressEvent","docstrings":[],"signature":"type progressEvent = event_like<_progressEvent>"},{"id":"Dom._relatedEvent","kind":"type","name":"_relatedEvent","docstrings":[],"signature":"type _relatedEvent"},{"id":"Dom.relatedEvent","kind":"type","name":"relatedEvent","docstrings":[],"signature":"type relatedEvent = event_like<_relatedEvent>"},{"id":"Dom._storageEvent","kind":"type","name":"_storageEvent","docstrings":[],"signature":"type _storageEvent"},{"id":"Dom.storageEvent","kind":"type","name":"storageEvent","docstrings":[],"signature":"type storageEvent = event_like<_storageEvent>"},{"id":"Dom._svgZoomEvent","kind":"type","name":"_svgZoomEvent","docstrings":[],"signature":"type _svgZoomEvent"},{"id":"Dom.svgZoomEvent","kind":"type","name":"svgZoomEvent","docstrings":[],"signature":"type svgZoomEvent = event_like<_svgZoomEvent>"},{"id":"Dom._timeEvent","kind":"type","name":"_timeEvent","docstrings":[],"signature":"type _timeEvent"},{"id":"Dom.timeEvent","kind":"type","name":"timeEvent","docstrings":[],"signature":"type timeEvent = event_like<_timeEvent>"},{"id":"Dom._touchEvent","kind":"type","name":"_touchEvent","docstrings":[],"signature":"type _touchEvent"},{"id":"Dom.touchEvent","kind":"type","name":"touchEvent","docstrings":[],"signature":"type touchEvent = uiEvent_like<_touchEvent>"},{"id":"Dom._trackEvent","kind":"type","name":"_trackEvent","docstrings":[],"signature":"type _trackEvent"},{"id":"Dom.trackEvent","kind":"type","name":"trackEvent","docstrings":[],"signature":"type trackEvent = event_like<_trackEvent>"},{"id":"Dom._transitionEvent","kind":"type","name":"_transitionEvent","docstrings":[],"signature":"type _transitionEvent"},{"id":"Dom.transitionEvent","kind":"type","name":"transitionEvent","docstrings":[],"signature":"type transitionEvent = event_like<_transitionEvent>"},{"id":"Dom._webGlContextEvent","kind":"type","name":"_webGlContextEvent","docstrings":[],"signature":"type _webGlContextEvent"},{"id":"Dom.webGlContextEvent","kind":"type","name":"webGlContextEvent","docstrings":[],"signature":"type webGlContextEvent = event_like<_webGlContextEvent>"},{"id":"Dom._wheelEvent","kind":"type","name":"_wheelEvent","docstrings":[],"signature":"type _wheelEvent"},{"id":"Dom.wheelEvent","kind":"type","name":"wheelEvent","docstrings":[],"signature":"type wheelEvent = uiEvent_like<_wheelEvent>"},{"id":"Dom.range","kind":"type","name":"range","docstrings":[],"signature":"type range"},{"id":"Dom.selection","kind":"type","name":"selection","docstrings":[],"signature":"type selection"},{"id":"Dom.domTokenList","kind":"type","name":"domTokenList","docstrings":[],"signature":"type domTokenList"},{"id":"Dom.domSettableTokenList","kind":"type","name":"domSettableTokenList","docstrings":[],"signature":"type domSettableTokenList"},{"id":"Dom.nodeFilter","kind":"type","name":"nodeFilter","docstrings":[],"signature":"type nodeFilter = {acceptNode: element => int}"},{"id":"Dom.nodeIterator","kind":"type","name":"nodeIterator","docstrings":[],"signature":"type nodeIterator"},{"id":"Dom.treeWalker","kind":"type","name":"treeWalker","docstrings":[],"signature":"type treeWalker"},{"id":"Dom.svgRect","kind":"type","name":"svgRect","docstrings":[],"signature":"type svgRect"},{"id":"Dom.svgPoint","kind":"type","name":"svgPoint","docstrings":[],"signature":"type svgPoint"},{"id":"Dom.eventPointerId","kind":"type","name":"eventPointerId","docstrings":[],"signature":"type eventPointerId"}]},"dom/storage2":{"id":"Dom.Storage2","name":"Storage2","docstrings":[],"items":[{"id":"Dom.Storage2.t","kind":"type","name":"t","docstrings":[],"signature":"type t"},{"id":"Dom.Storage2.getItem","kind":"value","name":"getItem","docstrings":[],"signature":"let getItem: (t, string) => option"},{"id":"Dom.Storage2.setItem","kind":"value","name":"setItem","docstrings":[],"signature":"let setItem: (t, string, string) => unit"},{"id":"Dom.Storage2.removeItem","kind":"value","name":"removeItem","docstrings":[],"signature":"let removeItem: (t, string) => unit"},{"id":"Dom.Storage2.clear","kind":"value","name":"clear","docstrings":[],"signature":"let clear: t => unit"},{"id":"Dom.Storage2.key","kind":"value","name":"key","docstrings":[],"signature":"let key: (t, int) => option"},{"id":"Dom.Storage2.length","kind":"value","name":"length","docstrings":[],"signature":"let length: t => int"},{"id":"Dom.Storage2.localStorage","kind":"value","name":"localStorage","docstrings":[],"signature":"let localStorage: t"},{"id":"Dom.Storage2.sessionStorage","kind":"value","name":"sessionStorage","docstrings":[],"signature":"let sessionStorage: t"}]},"dom/storage":{"id":"Dom.Storage","name":"Storage","docstrings":[],"items":[{"id":"Dom.Storage.t","kind":"type","name":"t","docstrings":[],"signature":"type t = Dom_storage2.t"},{"id":"Dom.Storage.getItem","kind":"value","name":"getItem","docstrings":[],"signature":"let getItem: (t, string) => option"},{"id":"Dom.Storage.getItem","kind":"value","name":"getItem","docstrings":[],"signature":"let getItem: (string, t) => option"},{"id":"Dom.Storage.setItem","kind":"value","name":"setItem","docstrings":[],"signature":"let setItem: (t, string, string) => unit"},{"id":"Dom.Storage.setItem","kind":"value","name":"setItem","docstrings":[],"signature":"let setItem: (string, string, t) => unit"},{"id":"Dom.Storage.removeItem","kind":"value","name":"removeItem","docstrings":[],"signature":"let removeItem: (t, string) => unit"},{"id":"Dom.Storage.removeItem","kind":"value","name":"removeItem","docstrings":[],"signature":"let removeItem: (string, t) => unit"},{"id":"Dom.Storage.clear","kind":"value","name":"clear","docstrings":[],"signature":"let clear: t => unit"},{"id":"Dom.Storage.key","kind":"value","name":"key","docstrings":[],"signature":"let key: (t, int) => option"},{"id":"Dom.Storage.key","kind":"value","name":"key","docstrings":[],"signature":"let key: (int, t) => option"},{"id":"Dom.Storage.length","kind":"value","name":"length","docstrings":[],"signature":"let length: t => int"},{"id":"Dom.Storage.localStorage","kind":"value","name":"localStorage","docstrings":[],"signature":"let localStorage: t"},{"id":"Dom.Storage.sessionStorage","kind":"value","name":"sessionStorage","docstrings":[],"signature":"let sessionStorage: t"}]}} \ No newline at end of file diff --git a/data/js.json b/data/js.json new file mode 100644 index 000000000..da89ba6a7 --- /dev/null +++ b/data/js.json @@ -0,0 +1 @@ +{"js":{"id":"Js","name":"Js","docstrings":["The Js module mostly contains ReScript bindings to _standard JavaScript APIs_\nlike [console.log](https://developer.mozilla.org/en-US/docs/Web/API/Console/log),\nor the JavaScript\n[String](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String),\n[Date](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date), and\n[Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise)\nclasses.\n\nIt is meant as a zero-abstraction interop layer and directly exposes JavaScript functions as they are. If you can find your API in this module, prefer this over an equivalent Belt helper. For example, prefer [Js.Array2](js/array-2) over [Belt.Array](belt/array)\n\n## Argument Order\n\nFor historical reasons, some APIs in the Js namespace (e.g. [Js.String](js/string)) are\nusing the data-last argument order whereas others (e.g. [Js.Date](js/date)) are using data-first.\n\nFor more information about these argument orders and the trade-offs between them, see\n[this blog post](https://www.javierchavarri.com/data-first-and-data-last-a-comparison/).\n\n_Eventually, all modules in the Js namespace are going to be migrated to data-first though._\n\nIn the meantime, there are several options for dealing with the data-last APIs:\n\n## Examples\n\n```rescript\n/* Js.String (data-last API used with pipe last operator) */\nJs.log(\"2019-11-10\" |> Js.String.split(\"-\"))\nJs.log(\"ReScript\" |> Js.String.startsWith(\"Re\"))\n\n/* Js.String (data-last API used with pipe first operator) */\nJs.log(\"2019-11-10\"->Js.String.split(\"-\", _))\nJs.log(\"ReScript\"->Js.String.startsWith(\"Re\", _))\n\n/* Js.String (data-last API used without any piping) */\nJs.log(Js.String.split(\"-\", \"2019-11-10\"))\nJs.log(Js.String.startsWith(\"Re\", \"ReScript\"))\n```\n## Js.Xxx2 Modules\n\nPrefer `Js.Array2` over `Js.Array`, `Js.String2` over `Js.String`, etc. The latters are old modules."],"items":[{"id":"Js.t","kind":"type","name":"t","docstrings":["JS object type"],"signature":"type t<'a> = 'a\\n constraint 'a = {..}"},{"id":"Js.null","kind":"type","name":"null","docstrings":["Nullable value of this type can be either null or 'a. This type is equivalent to Js.Null.t."],"signature":"type null<'a> = Value('a) | Null"},{"id":"Js.undefined","kind":"type","name":"undefined","docstrings":["A value of this type can be either undefined or 'a. This type is equivalent to Js.Undefined.t."],"signature":"type undefined<+'a>"},{"id":"Js.nullable","kind":"type","name":"nullable","docstrings":[],"signature":"type nullable<'a> = Value('a) | Null | Undefined"},{"id":"Js.null_undefined","kind":"type","name":"null_undefined","docstrings":[],"signature":"type null_undefined<'a> = nullable<'a>"},{"id":"Js.toOption","kind":"value","name":"toOption","docstrings":[],"signature":"let toOption: nullable<'a> => option<'a>"},{"id":"Js.undefinedToOption","kind":"value","name":"undefinedToOption","docstrings":[],"signature":"let undefinedToOption: undefined<'a> => option<'a>"},{"id":"Js.nullToOption","kind":"value","name":"nullToOption","docstrings":[],"signature":"let nullToOption: null<'a> => option<'a>"},{"id":"Js.isNullable","kind":"value","name":"isNullable","docstrings":[],"signature":"let isNullable: nullable<'a> => bool"},{"id":"Js.import","kind":"value","name":"import","docstrings":[],"signature":"let import: 'a => promise<'a>"},{"id":"Js.testAny","kind":"value","name":"testAny","docstrings":["The same as {!test} except that it is more permissive on the types of input"],"signature":"let testAny: 'a => bool"},{"id":"Js.promise","kind":"type","name":"promise","docstrings":["The promise type, defined here for interoperation across packages."],"signature":"type promise<+'a, +'e>"},{"id":"Js.null","kind":"value","name":"null","docstrings":["The same as empty in `Js.Null`. Compiles to `null`."],"signature":"let null: null<'a>"},{"id":"Js.undefined","kind":"value","name":"undefined","docstrings":["The same as empty `Js.Undefined`. Compiles to `undefined`."],"signature":"let undefined: undefined<'a>"},{"id":"Js.typeof","kind":"value","name":"typeof","docstrings":["`typeof x` will be compiled as `typeof x` in JS. Please consider functions in\n`Js.Types` for a type safe way of reflection."],"signature":"let typeof: 'a => string"},{"id":"Js.log","kind":"value","name":"log","docstrings":["Equivalent to console.log any value."],"signature":"let log: 'a => unit"},{"id":"Js.log2","kind":"value","name":"log2","docstrings":[],"signature":"let log2: ('a, 'b) => unit"},{"id":"Js.log3","kind":"value","name":"log3","docstrings":[],"signature":"let log3: ('a, 'b, 'c) => unit"},{"id":"Js.log4","kind":"value","name":"log4","docstrings":[],"signature":"let log4: ('a, 'b, 'c, 'd) => unit"},{"id":"Js.logMany","kind":"value","name":"logMany","docstrings":["A convenience function to console.log more than 4 arguments"],"signature":"let logMany: array<'a> => unit"},{"id":"Js.eqNull","kind":"value","name":"eqNull","docstrings":[],"signature":"let eqNull: ('a, null<'a>) => bool"},{"id":"Js.eqUndefined","kind":"value","name":"eqUndefined","docstrings":[],"signature":"let eqUndefined: ('a, undefined<'a>) => bool"},{"id":"Js.eqNullable","kind":"value","name":"eqNullable","docstrings":[],"signature":"let eqNullable: ('a, nullable<'a>) => bool"},{"id":"Js.unsafe_lt","kind":"value","name":"unsafe_lt","docstrings":["`unsafe_lt(a, b)` will be compiled as `a < b`.\n It is marked as unsafe, since it is impossible\n to give a proper semantics for comparision which applies to any type"],"signature":"let unsafe_lt: ('a, 'a) => bool"},{"id":"Js.unsafe_le","kind":"value","name":"unsafe_le","docstrings":["`unsafe_le(a, b) will be compiled as `a <= b`.\n See also `Js.unsafe_lt`."],"signature":"let unsafe_le: ('a, 'a) => bool"},{"id":"Js.unsafe_gt","kind":"value","name":"unsafe_gt","docstrings":["`unsafe_gt(a, b)` will be compiled as `a > b`.\n See also `Js.unsafe_lt`."],"signature":"let unsafe_gt: ('a, 'a) => bool"},{"id":"Js.unsafe_ge","kind":"value","name":"unsafe_ge","docstrings":["`unsafe_ge(a, b)` will be compiled as `a >= b`.\n See also `Js.unsafe_lt`."],"signature":"let unsafe_ge: ('a, 'a) => bool"}]},"js/typedarray2/dataview":{"id":"Js.TypedArray2.DataView","name":"DataView","docstrings":[],"items":[{"id":"Js.TypedArray2.DataView.t","kind":"type","name":"t","docstrings":[],"signature":"type t"},{"id":"Js.TypedArray2.DataView.make","kind":"value","name":"make","docstrings":[],"signature":"let make: array_buffer => t"},{"id":"Js.TypedArray2.DataView.fromBuffer","kind":"value","name":"fromBuffer","docstrings":[],"signature":"let fromBuffer: array_buffer => t"},{"id":"Js.TypedArray2.DataView.fromBufferOffset","kind":"value","name":"fromBufferOffset","docstrings":[],"signature":"let fromBufferOffset: (array_buffer, int) => t"},{"id":"Js.TypedArray2.DataView.fromBufferRange","kind":"value","name":"fromBufferRange","docstrings":[],"signature":"let fromBufferRange: (array_buffer, ~offset: int, ~length: int) => t"},{"id":"Js.TypedArray2.DataView.buffer","kind":"value","name":"buffer","docstrings":[],"signature":"let buffer: t => array_buffer"},{"id":"Js.TypedArray2.DataView.byteLength","kind":"value","name":"byteLength","docstrings":[],"signature":"let byteLength: t => int"},{"id":"Js.TypedArray2.DataView.byteOffset","kind":"value","name":"byteOffset","docstrings":[],"signature":"let byteOffset: t => int"},{"id":"Js.TypedArray2.DataView.getInt8","kind":"value","name":"getInt8","docstrings":[],"signature":"let getInt8: (t, int) => int"},{"id":"Js.TypedArray2.DataView.getUint8","kind":"value","name":"getUint8","docstrings":[],"signature":"let getUint8: (t, int) => int"},{"id":"Js.TypedArray2.DataView.getInt16","kind":"value","name":"getInt16","docstrings":[],"signature":"let getInt16: (t, int) => int"},{"id":"Js.TypedArray2.DataView.getInt16LittleEndian","kind":"value","name":"getInt16LittleEndian","docstrings":[],"signature":"let getInt16LittleEndian: (t, int) => int"},{"id":"Js.TypedArray2.DataView.getUint16","kind":"value","name":"getUint16","docstrings":[],"signature":"let getUint16: (t, int) => int"},{"id":"Js.TypedArray2.DataView.getUint16LittleEndian","kind":"value","name":"getUint16LittleEndian","docstrings":[],"signature":"let getUint16LittleEndian: (t, int) => int"},{"id":"Js.TypedArray2.DataView.getInt32","kind":"value","name":"getInt32","docstrings":[],"signature":"let getInt32: (t, int) => int"},{"id":"Js.TypedArray2.DataView.getInt32LittleEndian","kind":"value","name":"getInt32LittleEndian","docstrings":[],"signature":"let getInt32LittleEndian: (t, int) => int"},{"id":"Js.TypedArray2.DataView.getUint32","kind":"value","name":"getUint32","docstrings":[],"signature":"let getUint32: (t, int) => int"},{"id":"Js.TypedArray2.DataView.getUint32LittleEndian","kind":"value","name":"getUint32LittleEndian","docstrings":[],"signature":"let getUint32LittleEndian: (t, int) => int"},{"id":"Js.TypedArray2.DataView.getFloat32","kind":"value","name":"getFloat32","docstrings":[],"signature":"let getFloat32: (t, int) => float"},{"id":"Js.TypedArray2.DataView.getFloat32LittleEndian","kind":"value","name":"getFloat32LittleEndian","docstrings":[],"signature":"let getFloat32LittleEndian: (t, int) => float"},{"id":"Js.TypedArray2.DataView.getFloat64","kind":"value","name":"getFloat64","docstrings":[],"signature":"let getFloat64: (t, int) => float"},{"id":"Js.TypedArray2.DataView.getFloat64LittleEndian","kind":"value","name":"getFloat64LittleEndian","docstrings":[],"signature":"let getFloat64LittleEndian: (t, int) => float"},{"id":"Js.TypedArray2.DataView.setInt8","kind":"value","name":"setInt8","docstrings":[],"signature":"let setInt8: (t, int, int) => unit"},{"id":"Js.TypedArray2.DataView.setUint8","kind":"value","name":"setUint8","docstrings":[],"signature":"let setUint8: (t, int, int) => unit"},{"id":"Js.TypedArray2.DataView.setInt16","kind":"value","name":"setInt16","docstrings":[],"signature":"let setInt16: (t, int, int) => unit"},{"id":"Js.TypedArray2.DataView.setInt16LittleEndian","kind":"value","name":"setInt16LittleEndian","docstrings":[],"signature":"let setInt16LittleEndian: (t, int, int) => unit"},{"id":"Js.TypedArray2.DataView.setUint16","kind":"value","name":"setUint16","docstrings":[],"signature":"let setUint16: (t, int, int) => unit"},{"id":"Js.TypedArray2.DataView.setUint16LittleEndian","kind":"value","name":"setUint16LittleEndian","docstrings":[],"signature":"let setUint16LittleEndian: (t, int, int) => unit"},{"id":"Js.TypedArray2.DataView.setInt32","kind":"value","name":"setInt32","docstrings":[],"signature":"let setInt32: (t, int, int) => unit"},{"id":"Js.TypedArray2.DataView.setInt32LittleEndian","kind":"value","name":"setInt32LittleEndian","docstrings":[],"signature":"let setInt32LittleEndian: (t, int, int) => unit"},{"id":"Js.TypedArray2.DataView.setUint32","kind":"value","name":"setUint32","docstrings":[],"signature":"let setUint32: (t, int, int) => unit"},{"id":"Js.TypedArray2.DataView.setUint32LittleEndian","kind":"value","name":"setUint32LittleEndian","docstrings":[],"signature":"let setUint32LittleEndian: (t, int, int) => unit"},{"id":"Js.TypedArray2.DataView.setFloat32","kind":"value","name":"setFloat32","docstrings":[],"signature":"let setFloat32: (t, int, float) => unit"},{"id":"Js.TypedArray2.DataView.setFloat32LittleEndian","kind":"value","name":"setFloat32LittleEndian","docstrings":[],"signature":"let setFloat32LittleEndian: (t, int, float) => unit"},{"id":"Js.TypedArray2.DataView.setFloat64","kind":"value","name":"setFloat64","docstrings":[],"signature":"let setFloat64: (t, int, float) => unit"},{"id":"Js.TypedArray2.DataView.setFloat64LittleEndian","kind":"value","name":"setFloat64LittleEndian","docstrings":[],"signature":"let setFloat64LittleEndian: (t, int, float) => unit"}]},"js/typedarray2/float64array":{"id":"Js.TypedArray2.Float64Array","name":"Float64Array","docstrings":[],"items":[{"id":"Js.TypedArray2.Float64Array.elt","kind":"type","name":"elt","docstrings":[""],"signature":"type elt = float"},{"id":"Js.TypedArray2.Float64Array.typed_array","kind":"type","name":"typed_array","docstrings":[],"signature":"type typed_array<'a>"},{"id":"Js.TypedArray2.Float64Array.t","kind":"type","name":"t","docstrings":[],"signature":"type t = typed_array"},{"id":"Js.TypedArray2.Float64Array.unsafe_get","kind":"value","name":"unsafe_get","docstrings":[],"signature":"let unsafe_get: (t, int) => elt"},{"id":"Js.TypedArray2.Float64Array.unsafe_set","kind":"value","name":"unsafe_set","docstrings":[],"signature":"let unsafe_set: (t, int, elt) => unit"},{"id":"Js.TypedArray2.Float64Array.buffer","kind":"value","name":"buffer","docstrings":[],"signature":"let buffer: t => array_buffer"},{"id":"Js.TypedArray2.Float64Array.byteLength","kind":"value","name":"byteLength","docstrings":[],"signature":"let byteLength: t => int"},{"id":"Js.TypedArray2.Float64Array.byteOffset","kind":"value","name":"byteOffset","docstrings":[],"signature":"let byteOffset: t => int"},{"id":"Js.TypedArray2.Float64Array.setArray","kind":"value","name":"setArray","docstrings":[],"signature":"let setArray: (t, array) => unit"},{"id":"Js.TypedArray2.Float64Array.setArrayOffset","kind":"value","name":"setArrayOffset","docstrings":[],"signature":"let setArrayOffset: (t, array, int) => unit"},{"id":"Js.TypedArray2.Float64Array.length","kind":"value","name":"length","docstrings":[],"signature":"let length: t => int"},{"id":"Js.TypedArray2.Float64Array.copyWithin","kind":"value","name":"copyWithin","docstrings":[],"signature":"let copyWithin: (t, ~to_: int) => t"},{"id":"Js.TypedArray2.Float64Array.copyWithinFrom","kind":"value","name":"copyWithinFrom","docstrings":[],"signature":"let copyWithinFrom: (t, ~to_: int, ~from: int) => t"},{"id":"Js.TypedArray2.Float64Array.copyWithinFromRange","kind":"value","name":"copyWithinFromRange","docstrings":[],"signature":"let copyWithinFromRange: (t, ~to_: int, ~start: int, ~end_: int) => t"},{"id":"Js.TypedArray2.Float64Array.fillInPlace","kind":"value","name":"fillInPlace","docstrings":[],"signature":"let fillInPlace: (t, elt) => t"},{"id":"Js.TypedArray2.Float64Array.fillFromInPlace","kind":"value","name":"fillFromInPlace","docstrings":[],"signature":"let fillFromInPlace: (t, elt, ~from: int) => t"},{"id":"Js.TypedArray2.Float64Array.fillRangeInPlace","kind":"value","name":"fillRangeInPlace","docstrings":[],"signature":"let fillRangeInPlace: (t, elt, ~start: int, ~end_: int) => t"},{"id":"Js.TypedArray2.Float64Array.reverseInPlace","kind":"value","name":"reverseInPlace","docstrings":[],"signature":"let reverseInPlace: t => t"},{"id":"Js.TypedArray2.Float64Array.sortInPlace","kind":"value","name":"sortInPlace","docstrings":[],"signature":"let sortInPlace: t => t"},{"id":"Js.TypedArray2.Float64Array.sortInPlaceWith","kind":"value","name":"sortInPlaceWith","docstrings":[],"signature":"let sortInPlaceWith: (t, (. elt, elt) => int) => t"},{"id":"Js.TypedArray2.Float64Array.includes","kind":"value","name":"includes","docstrings":[],"signature":"let includes: (t, elt) => bool"},{"id":"Js.TypedArray2.Float64Array.indexOf","kind":"value","name":"indexOf","docstrings":[],"signature":"let indexOf: (t, elt) => int"},{"id":"Js.TypedArray2.Float64Array.indexOfFrom","kind":"value","name":"indexOfFrom","docstrings":[],"signature":"let indexOfFrom: (t, elt, ~from: int) => int"},{"id":"Js.TypedArray2.Float64Array.join","kind":"value","name":"join","docstrings":[],"signature":"let join: t => string"},{"id":"Js.TypedArray2.Float64Array.joinWith","kind":"value","name":"joinWith","docstrings":[],"signature":"let joinWith: (t, string) => string"},{"id":"Js.TypedArray2.Float64Array.lastIndexOf","kind":"value","name":"lastIndexOf","docstrings":[],"signature":"let lastIndexOf: (t, elt) => int"},{"id":"Js.TypedArray2.Float64Array.lastIndexOfFrom","kind":"value","name":"lastIndexOfFrom","docstrings":[],"signature":"let lastIndexOfFrom: (t, elt, ~from: int) => int"},{"id":"Js.TypedArray2.Float64Array.slice","kind":"value","name":"slice","docstrings":["`start` is inclusive, `end_` exclusive"],"signature":"let slice: (t, ~start: int, ~end_: int) => t"},{"id":"Js.TypedArray2.Float64Array.copy","kind":"value","name":"copy","docstrings":[],"signature":"let copy: t => t"},{"id":"Js.TypedArray2.Float64Array.sliceFrom","kind":"value","name":"sliceFrom","docstrings":[],"signature":"let sliceFrom: (t, int) => t"},{"id":"Js.TypedArray2.Float64Array.subarray","kind":"value","name":"subarray","docstrings":["`start` is inclusive, `end_` exclusive"],"signature":"let subarray: (t, ~start: int, ~end_: int) => t"},{"id":"Js.TypedArray2.Float64Array.subarrayFrom","kind":"value","name":"subarrayFrom","docstrings":[],"signature":"let subarrayFrom: (t, int) => t"},{"id":"Js.TypedArray2.Float64Array.toString","kind":"value","name":"toString","docstrings":[],"signature":"let toString: t => string"},{"id":"Js.TypedArray2.Float64Array.toLocaleString","kind":"value","name":"toLocaleString","docstrings":[],"signature":"let toLocaleString: t => string"},{"id":"Js.TypedArray2.Float64Array.every","kind":"value","name":"every","docstrings":[],"signature":"let every: (t, (. elt) => bool) => bool"},{"id":"Js.TypedArray2.Float64Array.everyi","kind":"value","name":"everyi","docstrings":[],"signature":"let everyi: (t, (. elt, int) => bool) => bool"},{"id":"Js.TypedArray2.Float64Array.filter","kind":"value","name":"filter","docstrings":[],"signature":"let filter: (t, (. elt) => bool) => t"},{"id":"Js.TypedArray2.Float64Array.filteri","kind":"value","name":"filteri","docstrings":[],"signature":"let filteri: (t, (. elt, int) => bool) => t"},{"id":"Js.TypedArray2.Float64Array.find","kind":"value","name":"find","docstrings":[],"signature":"let find: (t, (. elt) => bool) => Js.undefined"},{"id":"Js.TypedArray2.Float64Array.findi","kind":"value","name":"findi","docstrings":[],"signature":"let findi: (t, (. elt, int) => bool) => Js.undefined"},{"id":"Js.TypedArray2.Float64Array.findIndex","kind":"value","name":"findIndex","docstrings":[],"signature":"let findIndex: (t, (. elt) => bool) => int"},{"id":"Js.TypedArray2.Float64Array.findIndexi","kind":"value","name":"findIndexi","docstrings":[],"signature":"let findIndexi: (t, (. elt, int) => bool) => int"},{"id":"Js.TypedArray2.Float64Array.forEach","kind":"value","name":"forEach","docstrings":[],"signature":"let forEach: (t, (. elt) => unit) => unit"},{"id":"Js.TypedArray2.Float64Array.forEachi","kind":"value","name":"forEachi","docstrings":[],"signature":"let forEachi: (t, (. elt, int) => unit) => unit"},{"id":"Js.TypedArray2.Float64Array.map","kind":"value","name":"map","docstrings":[],"signature":"let map: (t, (. elt) => 'b) => typed_array<'b>"},{"id":"Js.TypedArray2.Float64Array.mapi","kind":"value","name":"mapi","docstrings":[],"signature":"let mapi: (t, (. elt, int) => 'b) => typed_array<'b>"},{"id":"Js.TypedArray2.Float64Array.reduce","kind":"value","name":"reduce","docstrings":[],"signature":"let reduce: (t, (. 'b, elt) => 'b, 'b) => 'b"},{"id":"Js.TypedArray2.Float64Array.reducei","kind":"value","name":"reducei","docstrings":[],"signature":"let reducei: (t, (. 'b, elt, int) => 'b, 'b) => 'b"},{"id":"Js.TypedArray2.Float64Array.reduceRight","kind":"value","name":"reduceRight","docstrings":[],"signature":"let reduceRight: (t, (. 'b, elt) => 'b, 'b) => 'b"},{"id":"Js.TypedArray2.Float64Array.reduceRighti","kind":"value","name":"reduceRighti","docstrings":[],"signature":"let reduceRighti: (t, (. 'b, elt, int) => 'b, 'b) => 'b"},{"id":"Js.TypedArray2.Float64Array.some","kind":"value","name":"some","docstrings":[],"signature":"let some: (t, (. elt) => bool) => bool"},{"id":"Js.TypedArray2.Float64Array.somei","kind":"value","name":"somei","docstrings":[],"signature":"let somei: (t, (. elt, int) => bool) => bool"},{"id":"Js.TypedArray2.Float64Array._BYTES_PER_ELEMENT","kind":"value","name":"_BYTES_PER_ELEMENT","docstrings":[],"signature":"let _BYTES_PER_ELEMENT: int"},{"id":"Js.TypedArray2.Float64Array.make","kind":"value","name":"make","docstrings":[],"signature":"let make: array => t"},{"id":"Js.TypedArray2.Float64Array.fromBuffer","kind":"value","name":"fromBuffer","docstrings":["can throw"],"signature":"let fromBuffer: array_buffer => t"},{"id":"Js.TypedArray2.Float64Array.fromBufferOffset","kind":"value","name":"fromBufferOffset","docstrings":["**raise** Js.Exn.Error raise Js exception\n\n **param** offset is in bytes"],"signature":"let fromBufferOffset: (array_buffer, int) => t"},{"id":"Js.TypedArray2.Float64Array.fromBufferRange","kind":"value","name":"fromBufferRange","docstrings":["**raise** Js.Exn.Error raises Js exception\n\n **param** offset is in bytes, length in elements"],"signature":"let fromBufferRange: (array_buffer, ~offset: int, ~length: int) => t"},{"id":"Js.TypedArray2.Float64Array.fromLength","kind":"value","name":"fromLength","docstrings":[],"signature":"let fromLength: int => t"},{"id":"Js.TypedArray2.Float64Array.from","kind":"value","name":"from","docstrings":[],"signature":"let from: array_like => t"}]},"js/typedarray2/float32array":{"id":"Js.TypedArray2.Float32Array","name":"Float32Array","docstrings":[],"items":[{"id":"Js.TypedArray2.Float32Array.elt","kind":"type","name":"elt","docstrings":[""],"signature":"type elt = float"},{"id":"Js.TypedArray2.Float32Array.typed_array","kind":"type","name":"typed_array","docstrings":[],"signature":"type typed_array<'a>"},{"id":"Js.TypedArray2.Float32Array.t","kind":"type","name":"t","docstrings":[],"signature":"type t = typed_array"},{"id":"Js.TypedArray2.Float32Array.unsafe_get","kind":"value","name":"unsafe_get","docstrings":[],"signature":"let unsafe_get: (t, int) => elt"},{"id":"Js.TypedArray2.Float32Array.unsafe_set","kind":"value","name":"unsafe_set","docstrings":[],"signature":"let unsafe_set: (t, int, elt) => unit"},{"id":"Js.TypedArray2.Float32Array.buffer","kind":"value","name":"buffer","docstrings":[],"signature":"let buffer: t => array_buffer"},{"id":"Js.TypedArray2.Float32Array.byteLength","kind":"value","name":"byteLength","docstrings":[],"signature":"let byteLength: t => int"},{"id":"Js.TypedArray2.Float32Array.byteOffset","kind":"value","name":"byteOffset","docstrings":[],"signature":"let byteOffset: t => int"},{"id":"Js.TypedArray2.Float32Array.setArray","kind":"value","name":"setArray","docstrings":[],"signature":"let setArray: (t, array) => unit"},{"id":"Js.TypedArray2.Float32Array.setArrayOffset","kind":"value","name":"setArrayOffset","docstrings":[],"signature":"let setArrayOffset: (t, array, int) => unit"},{"id":"Js.TypedArray2.Float32Array.length","kind":"value","name":"length","docstrings":[],"signature":"let length: t => int"},{"id":"Js.TypedArray2.Float32Array.copyWithin","kind":"value","name":"copyWithin","docstrings":[],"signature":"let copyWithin: (t, ~to_: int) => t"},{"id":"Js.TypedArray2.Float32Array.copyWithinFrom","kind":"value","name":"copyWithinFrom","docstrings":[],"signature":"let copyWithinFrom: (t, ~to_: int, ~from: int) => t"},{"id":"Js.TypedArray2.Float32Array.copyWithinFromRange","kind":"value","name":"copyWithinFromRange","docstrings":[],"signature":"let copyWithinFromRange: (t, ~to_: int, ~start: int, ~end_: int) => t"},{"id":"Js.TypedArray2.Float32Array.fillInPlace","kind":"value","name":"fillInPlace","docstrings":[],"signature":"let fillInPlace: (t, elt) => t"},{"id":"Js.TypedArray2.Float32Array.fillFromInPlace","kind":"value","name":"fillFromInPlace","docstrings":[],"signature":"let fillFromInPlace: (t, elt, ~from: int) => t"},{"id":"Js.TypedArray2.Float32Array.fillRangeInPlace","kind":"value","name":"fillRangeInPlace","docstrings":[],"signature":"let fillRangeInPlace: (t, elt, ~start: int, ~end_: int) => t"},{"id":"Js.TypedArray2.Float32Array.reverseInPlace","kind":"value","name":"reverseInPlace","docstrings":[],"signature":"let reverseInPlace: t => t"},{"id":"Js.TypedArray2.Float32Array.sortInPlace","kind":"value","name":"sortInPlace","docstrings":[],"signature":"let sortInPlace: t => t"},{"id":"Js.TypedArray2.Float32Array.sortInPlaceWith","kind":"value","name":"sortInPlaceWith","docstrings":[],"signature":"let sortInPlaceWith: (t, (. elt, elt) => int) => t"},{"id":"Js.TypedArray2.Float32Array.includes","kind":"value","name":"includes","docstrings":[],"signature":"let includes: (t, elt) => bool"},{"id":"Js.TypedArray2.Float32Array.indexOf","kind":"value","name":"indexOf","docstrings":[],"signature":"let indexOf: (t, elt) => int"},{"id":"Js.TypedArray2.Float32Array.indexOfFrom","kind":"value","name":"indexOfFrom","docstrings":[],"signature":"let indexOfFrom: (t, elt, ~from: int) => int"},{"id":"Js.TypedArray2.Float32Array.join","kind":"value","name":"join","docstrings":[],"signature":"let join: t => string"},{"id":"Js.TypedArray2.Float32Array.joinWith","kind":"value","name":"joinWith","docstrings":[],"signature":"let joinWith: (t, string) => string"},{"id":"Js.TypedArray2.Float32Array.lastIndexOf","kind":"value","name":"lastIndexOf","docstrings":[],"signature":"let lastIndexOf: (t, elt) => int"},{"id":"Js.TypedArray2.Float32Array.lastIndexOfFrom","kind":"value","name":"lastIndexOfFrom","docstrings":[],"signature":"let lastIndexOfFrom: (t, elt, ~from: int) => int"},{"id":"Js.TypedArray2.Float32Array.slice","kind":"value","name":"slice","docstrings":["`start` is inclusive, `end_` exclusive"],"signature":"let slice: (t, ~start: int, ~end_: int) => t"},{"id":"Js.TypedArray2.Float32Array.copy","kind":"value","name":"copy","docstrings":[],"signature":"let copy: t => t"},{"id":"Js.TypedArray2.Float32Array.sliceFrom","kind":"value","name":"sliceFrom","docstrings":[],"signature":"let sliceFrom: (t, int) => t"},{"id":"Js.TypedArray2.Float32Array.subarray","kind":"value","name":"subarray","docstrings":["`start` is inclusive, `end_` exclusive"],"signature":"let subarray: (t, ~start: int, ~end_: int) => t"},{"id":"Js.TypedArray2.Float32Array.subarrayFrom","kind":"value","name":"subarrayFrom","docstrings":[],"signature":"let subarrayFrom: (t, int) => t"},{"id":"Js.TypedArray2.Float32Array.toString","kind":"value","name":"toString","docstrings":[],"signature":"let toString: t => string"},{"id":"Js.TypedArray2.Float32Array.toLocaleString","kind":"value","name":"toLocaleString","docstrings":[],"signature":"let toLocaleString: t => string"},{"id":"Js.TypedArray2.Float32Array.every","kind":"value","name":"every","docstrings":[],"signature":"let every: (t, (. elt) => bool) => bool"},{"id":"Js.TypedArray2.Float32Array.everyi","kind":"value","name":"everyi","docstrings":[],"signature":"let everyi: (t, (. elt, int) => bool) => bool"},{"id":"Js.TypedArray2.Float32Array.filter","kind":"value","name":"filter","docstrings":[],"signature":"let filter: (t, (. elt) => bool) => t"},{"id":"Js.TypedArray2.Float32Array.filteri","kind":"value","name":"filteri","docstrings":[],"signature":"let filteri: (t, (. elt, int) => bool) => t"},{"id":"Js.TypedArray2.Float32Array.find","kind":"value","name":"find","docstrings":[],"signature":"let find: (t, (. elt) => bool) => Js.undefined"},{"id":"Js.TypedArray2.Float32Array.findi","kind":"value","name":"findi","docstrings":[],"signature":"let findi: (t, (. elt, int) => bool) => Js.undefined"},{"id":"Js.TypedArray2.Float32Array.findIndex","kind":"value","name":"findIndex","docstrings":[],"signature":"let findIndex: (t, (. elt) => bool) => int"},{"id":"Js.TypedArray2.Float32Array.findIndexi","kind":"value","name":"findIndexi","docstrings":[],"signature":"let findIndexi: (t, (. elt, int) => bool) => int"},{"id":"Js.TypedArray2.Float32Array.forEach","kind":"value","name":"forEach","docstrings":[],"signature":"let forEach: (t, (. elt) => unit) => unit"},{"id":"Js.TypedArray2.Float32Array.forEachi","kind":"value","name":"forEachi","docstrings":[],"signature":"let forEachi: (t, (. elt, int) => unit) => unit"},{"id":"Js.TypedArray2.Float32Array.map","kind":"value","name":"map","docstrings":[],"signature":"let map: (t, (. elt) => 'b) => typed_array<'b>"},{"id":"Js.TypedArray2.Float32Array.mapi","kind":"value","name":"mapi","docstrings":[],"signature":"let mapi: (t, (. elt, int) => 'b) => typed_array<'b>"},{"id":"Js.TypedArray2.Float32Array.reduce","kind":"value","name":"reduce","docstrings":[],"signature":"let reduce: (t, (. 'b, elt) => 'b, 'b) => 'b"},{"id":"Js.TypedArray2.Float32Array.reducei","kind":"value","name":"reducei","docstrings":[],"signature":"let reducei: (t, (. 'b, elt, int) => 'b, 'b) => 'b"},{"id":"Js.TypedArray2.Float32Array.reduceRight","kind":"value","name":"reduceRight","docstrings":[],"signature":"let reduceRight: (t, (. 'b, elt) => 'b, 'b) => 'b"},{"id":"Js.TypedArray2.Float32Array.reduceRighti","kind":"value","name":"reduceRighti","docstrings":[],"signature":"let reduceRighti: (t, (. 'b, elt, int) => 'b, 'b) => 'b"},{"id":"Js.TypedArray2.Float32Array.some","kind":"value","name":"some","docstrings":[],"signature":"let some: (t, (. elt) => bool) => bool"},{"id":"Js.TypedArray2.Float32Array.somei","kind":"value","name":"somei","docstrings":[],"signature":"let somei: (t, (. elt, int) => bool) => bool"},{"id":"Js.TypedArray2.Float32Array._BYTES_PER_ELEMENT","kind":"value","name":"_BYTES_PER_ELEMENT","docstrings":[],"signature":"let _BYTES_PER_ELEMENT: int"},{"id":"Js.TypedArray2.Float32Array.make","kind":"value","name":"make","docstrings":[],"signature":"let make: array => t"},{"id":"Js.TypedArray2.Float32Array.fromBuffer","kind":"value","name":"fromBuffer","docstrings":["can throw"],"signature":"let fromBuffer: array_buffer => t"},{"id":"Js.TypedArray2.Float32Array.fromBufferOffset","kind":"value","name":"fromBufferOffset","docstrings":["**raise** Js.Exn.Error raise Js exception\n\n **param** offset is in bytes"],"signature":"let fromBufferOffset: (array_buffer, int) => t"},{"id":"Js.TypedArray2.Float32Array.fromBufferRange","kind":"value","name":"fromBufferRange","docstrings":["**raise** Js.Exn.Error raises Js exception\n\n **param** offset is in bytes, length in elements"],"signature":"let fromBufferRange: (array_buffer, ~offset: int, ~length: int) => t"},{"id":"Js.TypedArray2.Float32Array.fromLength","kind":"value","name":"fromLength","docstrings":[],"signature":"let fromLength: int => t"},{"id":"Js.TypedArray2.Float32Array.from","kind":"value","name":"from","docstrings":[],"signature":"let from: array_like => t"}]},"js/typedarray2/uint32array":{"id":"Js.TypedArray2.Uint32Array","name":"Uint32Array","docstrings":[],"items":[{"id":"Js.TypedArray2.Uint32Array.elt","kind":"type","name":"elt","docstrings":[""],"signature":"type elt = int"},{"id":"Js.TypedArray2.Uint32Array.typed_array","kind":"type","name":"typed_array","docstrings":[],"signature":"type typed_array<'a>"},{"id":"Js.TypedArray2.Uint32Array.t","kind":"type","name":"t","docstrings":[],"signature":"type t = typed_array"},{"id":"Js.TypedArray2.Uint32Array.unsafe_get","kind":"value","name":"unsafe_get","docstrings":[],"signature":"let unsafe_get: (t, int) => elt"},{"id":"Js.TypedArray2.Uint32Array.unsafe_set","kind":"value","name":"unsafe_set","docstrings":[],"signature":"let unsafe_set: (t, int, elt) => unit"},{"id":"Js.TypedArray2.Uint32Array.buffer","kind":"value","name":"buffer","docstrings":[],"signature":"let buffer: t => array_buffer"},{"id":"Js.TypedArray2.Uint32Array.byteLength","kind":"value","name":"byteLength","docstrings":[],"signature":"let byteLength: t => int"},{"id":"Js.TypedArray2.Uint32Array.byteOffset","kind":"value","name":"byteOffset","docstrings":[],"signature":"let byteOffset: t => int"},{"id":"Js.TypedArray2.Uint32Array.setArray","kind":"value","name":"setArray","docstrings":[],"signature":"let setArray: (t, array) => unit"},{"id":"Js.TypedArray2.Uint32Array.setArrayOffset","kind":"value","name":"setArrayOffset","docstrings":[],"signature":"let setArrayOffset: (t, array, int) => unit"},{"id":"Js.TypedArray2.Uint32Array.length","kind":"value","name":"length","docstrings":[],"signature":"let length: t => int"},{"id":"Js.TypedArray2.Uint32Array.copyWithin","kind":"value","name":"copyWithin","docstrings":[],"signature":"let copyWithin: (t, ~to_: int) => t"},{"id":"Js.TypedArray2.Uint32Array.copyWithinFrom","kind":"value","name":"copyWithinFrom","docstrings":[],"signature":"let copyWithinFrom: (t, ~to_: int, ~from: int) => t"},{"id":"Js.TypedArray2.Uint32Array.copyWithinFromRange","kind":"value","name":"copyWithinFromRange","docstrings":[],"signature":"let copyWithinFromRange: (t, ~to_: int, ~start: int, ~end_: int) => t"},{"id":"Js.TypedArray2.Uint32Array.fillInPlace","kind":"value","name":"fillInPlace","docstrings":[],"signature":"let fillInPlace: (t, elt) => t"},{"id":"Js.TypedArray2.Uint32Array.fillFromInPlace","kind":"value","name":"fillFromInPlace","docstrings":[],"signature":"let fillFromInPlace: (t, elt, ~from: int) => t"},{"id":"Js.TypedArray2.Uint32Array.fillRangeInPlace","kind":"value","name":"fillRangeInPlace","docstrings":[],"signature":"let fillRangeInPlace: (t, elt, ~start: int, ~end_: int) => t"},{"id":"Js.TypedArray2.Uint32Array.reverseInPlace","kind":"value","name":"reverseInPlace","docstrings":[],"signature":"let reverseInPlace: t => t"},{"id":"Js.TypedArray2.Uint32Array.sortInPlace","kind":"value","name":"sortInPlace","docstrings":[],"signature":"let sortInPlace: t => t"},{"id":"Js.TypedArray2.Uint32Array.sortInPlaceWith","kind":"value","name":"sortInPlaceWith","docstrings":[],"signature":"let sortInPlaceWith: (t, (. elt, elt) => int) => t"},{"id":"Js.TypedArray2.Uint32Array.includes","kind":"value","name":"includes","docstrings":[],"signature":"let includes: (t, elt) => bool"},{"id":"Js.TypedArray2.Uint32Array.indexOf","kind":"value","name":"indexOf","docstrings":[],"signature":"let indexOf: (t, elt) => int"},{"id":"Js.TypedArray2.Uint32Array.indexOfFrom","kind":"value","name":"indexOfFrom","docstrings":[],"signature":"let indexOfFrom: (t, elt, ~from: int) => int"},{"id":"Js.TypedArray2.Uint32Array.join","kind":"value","name":"join","docstrings":[],"signature":"let join: t => string"},{"id":"Js.TypedArray2.Uint32Array.joinWith","kind":"value","name":"joinWith","docstrings":[],"signature":"let joinWith: (t, string) => string"},{"id":"Js.TypedArray2.Uint32Array.lastIndexOf","kind":"value","name":"lastIndexOf","docstrings":[],"signature":"let lastIndexOf: (t, elt) => int"},{"id":"Js.TypedArray2.Uint32Array.lastIndexOfFrom","kind":"value","name":"lastIndexOfFrom","docstrings":[],"signature":"let lastIndexOfFrom: (t, elt, ~from: int) => int"},{"id":"Js.TypedArray2.Uint32Array.slice","kind":"value","name":"slice","docstrings":["`start` is inclusive, `end_` exclusive"],"signature":"let slice: (t, ~start: int, ~end_: int) => t"},{"id":"Js.TypedArray2.Uint32Array.copy","kind":"value","name":"copy","docstrings":[],"signature":"let copy: t => t"},{"id":"Js.TypedArray2.Uint32Array.sliceFrom","kind":"value","name":"sliceFrom","docstrings":[],"signature":"let sliceFrom: (t, int) => t"},{"id":"Js.TypedArray2.Uint32Array.subarray","kind":"value","name":"subarray","docstrings":["`start` is inclusive, `end_` exclusive"],"signature":"let subarray: (t, ~start: int, ~end_: int) => t"},{"id":"Js.TypedArray2.Uint32Array.subarrayFrom","kind":"value","name":"subarrayFrom","docstrings":[],"signature":"let subarrayFrom: (t, int) => t"},{"id":"Js.TypedArray2.Uint32Array.toString","kind":"value","name":"toString","docstrings":[],"signature":"let toString: t => string"},{"id":"Js.TypedArray2.Uint32Array.toLocaleString","kind":"value","name":"toLocaleString","docstrings":[],"signature":"let toLocaleString: t => string"},{"id":"Js.TypedArray2.Uint32Array.every","kind":"value","name":"every","docstrings":[],"signature":"let every: (t, (. elt) => bool) => bool"},{"id":"Js.TypedArray2.Uint32Array.everyi","kind":"value","name":"everyi","docstrings":[],"signature":"let everyi: (t, (. elt, int) => bool) => bool"},{"id":"Js.TypedArray2.Uint32Array.filter","kind":"value","name":"filter","docstrings":[],"signature":"let filter: (t, (. elt) => bool) => t"},{"id":"Js.TypedArray2.Uint32Array.filteri","kind":"value","name":"filteri","docstrings":[],"signature":"let filteri: (t, (. elt, int) => bool) => t"},{"id":"Js.TypedArray2.Uint32Array.find","kind":"value","name":"find","docstrings":[],"signature":"let find: (t, (. elt) => bool) => Js.undefined"},{"id":"Js.TypedArray2.Uint32Array.findi","kind":"value","name":"findi","docstrings":[],"signature":"let findi: (t, (. elt, int) => bool) => Js.undefined"},{"id":"Js.TypedArray2.Uint32Array.findIndex","kind":"value","name":"findIndex","docstrings":[],"signature":"let findIndex: (t, (. elt) => bool) => int"},{"id":"Js.TypedArray2.Uint32Array.findIndexi","kind":"value","name":"findIndexi","docstrings":[],"signature":"let findIndexi: (t, (. elt, int) => bool) => int"},{"id":"Js.TypedArray2.Uint32Array.forEach","kind":"value","name":"forEach","docstrings":[],"signature":"let forEach: (t, (. elt) => unit) => unit"},{"id":"Js.TypedArray2.Uint32Array.forEachi","kind":"value","name":"forEachi","docstrings":[],"signature":"let forEachi: (t, (. elt, int) => unit) => unit"},{"id":"Js.TypedArray2.Uint32Array.map","kind":"value","name":"map","docstrings":[],"signature":"let map: (t, (. elt) => 'b) => typed_array<'b>"},{"id":"Js.TypedArray2.Uint32Array.mapi","kind":"value","name":"mapi","docstrings":[],"signature":"let mapi: (t, (. elt, int) => 'b) => typed_array<'b>"},{"id":"Js.TypedArray2.Uint32Array.reduce","kind":"value","name":"reduce","docstrings":[],"signature":"let reduce: (t, (. 'b, elt) => 'b, 'b) => 'b"},{"id":"Js.TypedArray2.Uint32Array.reducei","kind":"value","name":"reducei","docstrings":[],"signature":"let reducei: (t, (. 'b, elt, int) => 'b, 'b) => 'b"},{"id":"Js.TypedArray2.Uint32Array.reduceRight","kind":"value","name":"reduceRight","docstrings":[],"signature":"let reduceRight: (t, (. 'b, elt) => 'b, 'b) => 'b"},{"id":"Js.TypedArray2.Uint32Array.reduceRighti","kind":"value","name":"reduceRighti","docstrings":[],"signature":"let reduceRighti: (t, (. 'b, elt, int) => 'b, 'b) => 'b"},{"id":"Js.TypedArray2.Uint32Array.some","kind":"value","name":"some","docstrings":[],"signature":"let some: (t, (. elt) => bool) => bool"},{"id":"Js.TypedArray2.Uint32Array.somei","kind":"value","name":"somei","docstrings":[],"signature":"let somei: (t, (. elt, int) => bool) => bool"},{"id":"Js.TypedArray2.Uint32Array._BYTES_PER_ELEMENT","kind":"value","name":"_BYTES_PER_ELEMENT","docstrings":[],"signature":"let _BYTES_PER_ELEMENT: int"},{"id":"Js.TypedArray2.Uint32Array.make","kind":"value","name":"make","docstrings":[],"signature":"let make: array => t"},{"id":"Js.TypedArray2.Uint32Array.fromBuffer","kind":"value","name":"fromBuffer","docstrings":["can throw"],"signature":"let fromBuffer: array_buffer => t"},{"id":"Js.TypedArray2.Uint32Array.fromBufferOffset","kind":"value","name":"fromBufferOffset","docstrings":["**raise** Js.Exn.Error raise Js exception\n\n **param** offset is in bytes"],"signature":"let fromBufferOffset: (array_buffer, int) => t"},{"id":"Js.TypedArray2.Uint32Array.fromBufferRange","kind":"value","name":"fromBufferRange","docstrings":["**raise** Js.Exn.Error raises Js exception\n\n **param** offset is in bytes, length in elements"],"signature":"let fromBufferRange: (array_buffer, ~offset: int, ~length: int) => t"},{"id":"Js.TypedArray2.Uint32Array.fromLength","kind":"value","name":"fromLength","docstrings":[],"signature":"let fromLength: int => t"},{"id":"Js.TypedArray2.Uint32Array.from","kind":"value","name":"from","docstrings":[],"signature":"let from: array_like => t"}]},"js/typedarray2/int32array":{"id":"Js.TypedArray2.Int32Array","name":"Int32Array","docstrings":[],"items":[{"id":"Js.TypedArray2.Int32Array.elt","kind":"type","name":"elt","docstrings":[""],"signature":"type elt = int"},{"id":"Js.TypedArray2.Int32Array.typed_array","kind":"type","name":"typed_array","docstrings":[],"signature":"type typed_array<'a>"},{"id":"Js.TypedArray2.Int32Array.t","kind":"type","name":"t","docstrings":[],"signature":"type t = typed_array"},{"id":"Js.TypedArray2.Int32Array.unsafe_get","kind":"value","name":"unsafe_get","docstrings":[],"signature":"let unsafe_get: (t, int) => elt"},{"id":"Js.TypedArray2.Int32Array.unsafe_set","kind":"value","name":"unsafe_set","docstrings":[],"signature":"let unsafe_set: (t, int, elt) => unit"},{"id":"Js.TypedArray2.Int32Array.buffer","kind":"value","name":"buffer","docstrings":[],"signature":"let buffer: t => array_buffer"},{"id":"Js.TypedArray2.Int32Array.byteLength","kind":"value","name":"byteLength","docstrings":[],"signature":"let byteLength: t => int"},{"id":"Js.TypedArray2.Int32Array.byteOffset","kind":"value","name":"byteOffset","docstrings":[],"signature":"let byteOffset: t => int"},{"id":"Js.TypedArray2.Int32Array.setArray","kind":"value","name":"setArray","docstrings":[],"signature":"let setArray: (t, array) => unit"},{"id":"Js.TypedArray2.Int32Array.setArrayOffset","kind":"value","name":"setArrayOffset","docstrings":[],"signature":"let setArrayOffset: (t, array, int) => unit"},{"id":"Js.TypedArray2.Int32Array.length","kind":"value","name":"length","docstrings":[],"signature":"let length: t => int"},{"id":"Js.TypedArray2.Int32Array.copyWithin","kind":"value","name":"copyWithin","docstrings":[],"signature":"let copyWithin: (t, ~to_: int) => t"},{"id":"Js.TypedArray2.Int32Array.copyWithinFrom","kind":"value","name":"copyWithinFrom","docstrings":[],"signature":"let copyWithinFrom: (t, ~to_: int, ~from: int) => t"},{"id":"Js.TypedArray2.Int32Array.copyWithinFromRange","kind":"value","name":"copyWithinFromRange","docstrings":[],"signature":"let copyWithinFromRange: (t, ~to_: int, ~start: int, ~end_: int) => t"},{"id":"Js.TypedArray2.Int32Array.fillInPlace","kind":"value","name":"fillInPlace","docstrings":[],"signature":"let fillInPlace: (t, elt) => t"},{"id":"Js.TypedArray2.Int32Array.fillFromInPlace","kind":"value","name":"fillFromInPlace","docstrings":[],"signature":"let fillFromInPlace: (t, elt, ~from: int) => t"},{"id":"Js.TypedArray2.Int32Array.fillRangeInPlace","kind":"value","name":"fillRangeInPlace","docstrings":[],"signature":"let fillRangeInPlace: (t, elt, ~start: int, ~end_: int) => t"},{"id":"Js.TypedArray2.Int32Array.reverseInPlace","kind":"value","name":"reverseInPlace","docstrings":[],"signature":"let reverseInPlace: t => t"},{"id":"Js.TypedArray2.Int32Array.sortInPlace","kind":"value","name":"sortInPlace","docstrings":[],"signature":"let sortInPlace: t => t"},{"id":"Js.TypedArray2.Int32Array.sortInPlaceWith","kind":"value","name":"sortInPlaceWith","docstrings":[],"signature":"let sortInPlaceWith: (t, (. elt, elt) => int) => t"},{"id":"Js.TypedArray2.Int32Array.includes","kind":"value","name":"includes","docstrings":[],"signature":"let includes: (t, elt) => bool"},{"id":"Js.TypedArray2.Int32Array.indexOf","kind":"value","name":"indexOf","docstrings":[],"signature":"let indexOf: (t, elt) => int"},{"id":"Js.TypedArray2.Int32Array.indexOfFrom","kind":"value","name":"indexOfFrom","docstrings":[],"signature":"let indexOfFrom: (t, elt, ~from: int) => int"},{"id":"Js.TypedArray2.Int32Array.join","kind":"value","name":"join","docstrings":[],"signature":"let join: t => string"},{"id":"Js.TypedArray2.Int32Array.joinWith","kind":"value","name":"joinWith","docstrings":[],"signature":"let joinWith: (t, string) => string"},{"id":"Js.TypedArray2.Int32Array.lastIndexOf","kind":"value","name":"lastIndexOf","docstrings":[],"signature":"let lastIndexOf: (t, elt) => int"},{"id":"Js.TypedArray2.Int32Array.lastIndexOfFrom","kind":"value","name":"lastIndexOfFrom","docstrings":[],"signature":"let lastIndexOfFrom: (t, elt, ~from: int) => int"},{"id":"Js.TypedArray2.Int32Array.slice","kind":"value","name":"slice","docstrings":["`start` is inclusive, `end_` exclusive"],"signature":"let slice: (t, ~start: int, ~end_: int) => t"},{"id":"Js.TypedArray2.Int32Array.copy","kind":"value","name":"copy","docstrings":[],"signature":"let copy: t => t"},{"id":"Js.TypedArray2.Int32Array.sliceFrom","kind":"value","name":"sliceFrom","docstrings":[],"signature":"let sliceFrom: (t, int) => t"},{"id":"Js.TypedArray2.Int32Array.subarray","kind":"value","name":"subarray","docstrings":["`start` is inclusive, `end_` exclusive"],"signature":"let subarray: (t, ~start: int, ~end_: int) => t"},{"id":"Js.TypedArray2.Int32Array.subarrayFrom","kind":"value","name":"subarrayFrom","docstrings":[],"signature":"let subarrayFrom: (t, int) => t"},{"id":"Js.TypedArray2.Int32Array.toString","kind":"value","name":"toString","docstrings":[],"signature":"let toString: t => string"},{"id":"Js.TypedArray2.Int32Array.toLocaleString","kind":"value","name":"toLocaleString","docstrings":[],"signature":"let toLocaleString: t => string"},{"id":"Js.TypedArray2.Int32Array.every","kind":"value","name":"every","docstrings":[],"signature":"let every: (t, (. elt) => bool) => bool"},{"id":"Js.TypedArray2.Int32Array.everyi","kind":"value","name":"everyi","docstrings":[],"signature":"let everyi: (t, (. elt, int) => bool) => bool"},{"id":"Js.TypedArray2.Int32Array.filter","kind":"value","name":"filter","docstrings":[],"signature":"let filter: (t, (. elt) => bool) => t"},{"id":"Js.TypedArray2.Int32Array.filteri","kind":"value","name":"filteri","docstrings":[],"signature":"let filteri: (t, (. elt, int) => bool) => t"},{"id":"Js.TypedArray2.Int32Array.find","kind":"value","name":"find","docstrings":[],"signature":"let find: (t, (. elt) => bool) => Js.undefined"},{"id":"Js.TypedArray2.Int32Array.findi","kind":"value","name":"findi","docstrings":[],"signature":"let findi: (t, (. elt, int) => bool) => Js.undefined"},{"id":"Js.TypedArray2.Int32Array.findIndex","kind":"value","name":"findIndex","docstrings":[],"signature":"let findIndex: (t, (. elt) => bool) => int"},{"id":"Js.TypedArray2.Int32Array.findIndexi","kind":"value","name":"findIndexi","docstrings":[],"signature":"let findIndexi: (t, (. elt, int) => bool) => int"},{"id":"Js.TypedArray2.Int32Array.forEach","kind":"value","name":"forEach","docstrings":[],"signature":"let forEach: (t, (. elt) => unit) => unit"},{"id":"Js.TypedArray2.Int32Array.forEachi","kind":"value","name":"forEachi","docstrings":[],"signature":"let forEachi: (t, (. elt, int) => unit) => unit"},{"id":"Js.TypedArray2.Int32Array.map","kind":"value","name":"map","docstrings":[],"signature":"let map: (t, (. elt) => 'b) => typed_array<'b>"},{"id":"Js.TypedArray2.Int32Array.mapi","kind":"value","name":"mapi","docstrings":[],"signature":"let mapi: (t, (. elt, int) => 'b) => typed_array<'b>"},{"id":"Js.TypedArray2.Int32Array.reduce","kind":"value","name":"reduce","docstrings":[],"signature":"let reduce: (t, (. 'b, elt) => 'b, 'b) => 'b"},{"id":"Js.TypedArray2.Int32Array.reducei","kind":"value","name":"reducei","docstrings":[],"signature":"let reducei: (t, (. 'b, elt, int) => 'b, 'b) => 'b"},{"id":"Js.TypedArray2.Int32Array.reduceRight","kind":"value","name":"reduceRight","docstrings":[],"signature":"let reduceRight: (t, (. 'b, elt) => 'b, 'b) => 'b"},{"id":"Js.TypedArray2.Int32Array.reduceRighti","kind":"value","name":"reduceRighti","docstrings":[],"signature":"let reduceRighti: (t, (. 'b, elt, int) => 'b, 'b) => 'b"},{"id":"Js.TypedArray2.Int32Array.some","kind":"value","name":"some","docstrings":[],"signature":"let some: (t, (. elt) => bool) => bool"},{"id":"Js.TypedArray2.Int32Array.somei","kind":"value","name":"somei","docstrings":[],"signature":"let somei: (t, (. elt, int) => bool) => bool"},{"id":"Js.TypedArray2.Int32Array._BYTES_PER_ELEMENT","kind":"value","name":"_BYTES_PER_ELEMENT","docstrings":[],"signature":"let _BYTES_PER_ELEMENT: int"},{"id":"Js.TypedArray2.Int32Array.make","kind":"value","name":"make","docstrings":[],"signature":"let make: array => t"},{"id":"Js.TypedArray2.Int32Array.fromBuffer","kind":"value","name":"fromBuffer","docstrings":["can throw"],"signature":"let fromBuffer: array_buffer => t"},{"id":"Js.TypedArray2.Int32Array.fromBufferOffset","kind":"value","name":"fromBufferOffset","docstrings":["**raise** Js.Exn.Error raise Js exception\n\n **param** offset is in bytes"],"signature":"let fromBufferOffset: (array_buffer, int) => t"},{"id":"Js.TypedArray2.Int32Array.fromBufferRange","kind":"value","name":"fromBufferRange","docstrings":["**raise** Js.Exn.Error raises Js exception\n\n **param** offset is in bytes, length in elements"],"signature":"let fromBufferRange: (array_buffer, ~offset: int, ~length: int) => t"},{"id":"Js.TypedArray2.Int32Array.fromLength","kind":"value","name":"fromLength","docstrings":[],"signature":"let fromLength: int => t"},{"id":"Js.TypedArray2.Int32Array.from","kind":"value","name":"from","docstrings":[],"signature":"let from: array_like => t"}]},"js/typedarray2/uint16array":{"id":"Js.TypedArray2.Uint16Array","name":"Uint16Array","docstrings":[],"items":[{"id":"Js.TypedArray2.Uint16Array.elt","kind":"type","name":"elt","docstrings":[""],"signature":"type elt = int"},{"id":"Js.TypedArray2.Uint16Array.typed_array","kind":"type","name":"typed_array","docstrings":[],"signature":"type typed_array<'a>"},{"id":"Js.TypedArray2.Uint16Array.t","kind":"type","name":"t","docstrings":[],"signature":"type t = typed_array"},{"id":"Js.TypedArray2.Uint16Array.unsafe_get","kind":"value","name":"unsafe_get","docstrings":[],"signature":"let unsafe_get: (t, int) => elt"},{"id":"Js.TypedArray2.Uint16Array.unsafe_set","kind":"value","name":"unsafe_set","docstrings":[],"signature":"let unsafe_set: (t, int, elt) => unit"},{"id":"Js.TypedArray2.Uint16Array.buffer","kind":"value","name":"buffer","docstrings":[],"signature":"let buffer: t => array_buffer"},{"id":"Js.TypedArray2.Uint16Array.byteLength","kind":"value","name":"byteLength","docstrings":[],"signature":"let byteLength: t => int"},{"id":"Js.TypedArray2.Uint16Array.byteOffset","kind":"value","name":"byteOffset","docstrings":[],"signature":"let byteOffset: t => int"},{"id":"Js.TypedArray2.Uint16Array.setArray","kind":"value","name":"setArray","docstrings":[],"signature":"let setArray: (t, array) => unit"},{"id":"Js.TypedArray2.Uint16Array.setArrayOffset","kind":"value","name":"setArrayOffset","docstrings":[],"signature":"let setArrayOffset: (t, array, int) => unit"},{"id":"Js.TypedArray2.Uint16Array.length","kind":"value","name":"length","docstrings":[],"signature":"let length: t => int"},{"id":"Js.TypedArray2.Uint16Array.copyWithin","kind":"value","name":"copyWithin","docstrings":[],"signature":"let copyWithin: (t, ~to_: int) => t"},{"id":"Js.TypedArray2.Uint16Array.copyWithinFrom","kind":"value","name":"copyWithinFrom","docstrings":[],"signature":"let copyWithinFrom: (t, ~to_: int, ~from: int) => t"},{"id":"Js.TypedArray2.Uint16Array.copyWithinFromRange","kind":"value","name":"copyWithinFromRange","docstrings":[],"signature":"let copyWithinFromRange: (t, ~to_: int, ~start: int, ~end_: int) => t"},{"id":"Js.TypedArray2.Uint16Array.fillInPlace","kind":"value","name":"fillInPlace","docstrings":[],"signature":"let fillInPlace: (t, elt) => t"},{"id":"Js.TypedArray2.Uint16Array.fillFromInPlace","kind":"value","name":"fillFromInPlace","docstrings":[],"signature":"let fillFromInPlace: (t, elt, ~from: int) => t"},{"id":"Js.TypedArray2.Uint16Array.fillRangeInPlace","kind":"value","name":"fillRangeInPlace","docstrings":[],"signature":"let fillRangeInPlace: (t, elt, ~start: int, ~end_: int) => t"},{"id":"Js.TypedArray2.Uint16Array.reverseInPlace","kind":"value","name":"reverseInPlace","docstrings":[],"signature":"let reverseInPlace: t => t"},{"id":"Js.TypedArray2.Uint16Array.sortInPlace","kind":"value","name":"sortInPlace","docstrings":[],"signature":"let sortInPlace: t => t"},{"id":"Js.TypedArray2.Uint16Array.sortInPlaceWith","kind":"value","name":"sortInPlaceWith","docstrings":[],"signature":"let sortInPlaceWith: (t, (. elt, elt) => int) => t"},{"id":"Js.TypedArray2.Uint16Array.includes","kind":"value","name":"includes","docstrings":[],"signature":"let includes: (t, elt) => bool"},{"id":"Js.TypedArray2.Uint16Array.indexOf","kind":"value","name":"indexOf","docstrings":[],"signature":"let indexOf: (t, elt) => int"},{"id":"Js.TypedArray2.Uint16Array.indexOfFrom","kind":"value","name":"indexOfFrom","docstrings":[],"signature":"let indexOfFrom: (t, elt, ~from: int) => int"},{"id":"Js.TypedArray2.Uint16Array.join","kind":"value","name":"join","docstrings":[],"signature":"let join: t => string"},{"id":"Js.TypedArray2.Uint16Array.joinWith","kind":"value","name":"joinWith","docstrings":[],"signature":"let joinWith: (t, string) => string"},{"id":"Js.TypedArray2.Uint16Array.lastIndexOf","kind":"value","name":"lastIndexOf","docstrings":[],"signature":"let lastIndexOf: (t, elt) => int"},{"id":"Js.TypedArray2.Uint16Array.lastIndexOfFrom","kind":"value","name":"lastIndexOfFrom","docstrings":[],"signature":"let lastIndexOfFrom: (t, elt, ~from: int) => int"},{"id":"Js.TypedArray2.Uint16Array.slice","kind":"value","name":"slice","docstrings":["`start` is inclusive, `end_` exclusive"],"signature":"let slice: (t, ~start: int, ~end_: int) => t"},{"id":"Js.TypedArray2.Uint16Array.copy","kind":"value","name":"copy","docstrings":[],"signature":"let copy: t => t"},{"id":"Js.TypedArray2.Uint16Array.sliceFrom","kind":"value","name":"sliceFrom","docstrings":[],"signature":"let sliceFrom: (t, int) => t"},{"id":"Js.TypedArray2.Uint16Array.subarray","kind":"value","name":"subarray","docstrings":["`start` is inclusive, `end_` exclusive"],"signature":"let subarray: (t, ~start: int, ~end_: int) => t"},{"id":"Js.TypedArray2.Uint16Array.subarrayFrom","kind":"value","name":"subarrayFrom","docstrings":[],"signature":"let subarrayFrom: (t, int) => t"},{"id":"Js.TypedArray2.Uint16Array.toString","kind":"value","name":"toString","docstrings":[],"signature":"let toString: t => string"},{"id":"Js.TypedArray2.Uint16Array.toLocaleString","kind":"value","name":"toLocaleString","docstrings":[],"signature":"let toLocaleString: t => string"},{"id":"Js.TypedArray2.Uint16Array.every","kind":"value","name":"every","docstrings":[],"signature":"let every: (t, (. elt) => bool) => bool"},{"id":"Js.TypedArray2.Uint16Array.everyi","kind":"value","name":"everyi","docstrings":[],"signature":"let everyi: (t, (. elt, int) => bool) => bool"},{"id":"Js.TypedArray2.Uint16Array.filter","kind":"value","name":"filter","docstrings":[],"signature":"let filter: (t, (. elt) => bool) => t"},{"id":"Js.TypedArray2.Uint16Array.filteri","kind":"value","name":"filteri","docstrings":[],"signature":"let filteri: (t, (. elt, int) => bool) => t"},{"id":"Js.TypedArray2.Uint16Array.find","kind":"value","name":"find","docstrings":[],"signature":"let find: (t, (. elt) => bool) => Js.undefined"},{"id":"Js.TypedArray2.Uint16Array.findi","kind":"value","name":"findi","docstrings":[],"signature":"let findi: (t, (. elt, int) => bool) => Js.undefined"},{"id":"Js.TypedArray2.Uint16Array.findIndex","kind":"value","name":"findIndex","docstrings":[],"signature":"let findIndex: (t, (. elt) => bool) => int"},{"id":"Js.TypedArray2.Uint16Array.findIndexi","kind":"value","name":"findIndexi","docstrings":[],"signature":"let findIndexi: (t, (. elt, int) => bool) => int"},{"id":"Js.TypedArray2.Uint16Array.forEach","kind":"value","name":"forEach","docstrings":[],"signature":"let forEach: (t, (. elt) => unit) => unit"},{"id":"Js.TypedArray2.Uint16Array.forEachi","kind":"value","name":"forEachi","docstrings":[],"signature":"let forEachi: (t, (. elt, int) => unit) => unit"},{"id":"Js.TypedArray2.Uint16Array.map","kind":"value","name":"map","docstrings":[],"signature":"let map: (t, (. elt) => 'b) => typed_array<'b>"},{"id":"Js.TypedArray2.Uint16Array.mapi","kind":"value","name":"mapi","docstrings":[],"signature":"let mapi: (t, (. elt, int) => 'b) => typed_array<'b>"},{"id":"Js.TypedArray2.Uint16Array.reduce","kind":"value","name":"reduce","docstrings":[],"signature":"let reduce: (t, (. 'b, elt) => 'b, 'b) => 'b"},{"id":"Js.TypedArray2.Uint16Array.reducei","kind":"value","name":"reducei","docstrings":[],"signature":"let reducei: (t, (. 'b, elt, int) => 'b, 'b) => 'b"},{"id":"Js.TypedArray2.Uint16Array.reduceRight","kind":"value","name":"reduceRight","docstrings":[],"signature":"let reduceRight: (t, (. 'b, elt) => 'b, 'b) => 'b"},{"id":"Js.TypedArray2.Uint16Array.reduceRighti","kind":"value","name":"reduceRighti","docstrings":[],"signature":"let reduceRighti: (t, (. 'b, elt, int) => 'b, 'b) => 'b"},{"id":"Js.TypedArray2.Uint16Array.some","kind":"value","name":"some","docstrings":[],"signature":"let some: (t, (. elt) => bool) => bool"},{"id":"Js.TypedArray2.Uint16Array.somei","kind":"value","name":"somei","docstrings":[],"signature":"let somei: (t, (. elt, int) => bool) => bool"},{"id":"Js.TypedArray2.Uint16Array._BYTES_PER_ELEMENT","kind":"value","name":"_BYTES_PER_ELEMENT","docstrings":[],"signature":"let _BYTES_PER_ELEMENT: int"},{"id":"Js.TypedArray2.Uint16Array.make","kind":"value","name":"make","docstrings":[],"signature":"let make: array => t"},{"id":"Js.TypedArray2.Uint16Array.fromBuffer","kind":"value","name":"fromBuffer","docstrings":["can throw"],"signature":"let fromBuffer: array_buffer => t"},{"id":"Js.TypedArray2.Uint16Array.fromBufferOffset","kind":"value","name":"fromBufferOffset","docstrings":["**raise** Js.Exn.Error raise Js exception\n\n **param** offset is in bytes"],"signature":"let fromBufferOffset: (array_buffer, int) => t"},{"id":"Js.TypedArray2.Uint16Array.fromBufferRange","kind":"value","name":"fromBufferRange","docstrings":["**raise** Js.Exn.Error raises Js exception\n\n **param** offset is in bytes, length in elements"],"signature":"let fromBufferRange: (array_buffer, ~offset: int, ~length: int) => t"},{"id":"Js.TypedArray2.Uint16Array.fromLength","kind":"value","name":"fromLength","docstrings":[],"signature":"let fromLength: int => t"},{"id":"Js.TypedArray2.Uint16Array.from","kind":"value","name":"from","docstrings":[],"signature":"let from: array_like => t"}]},"js/typedarray2/int16array":{"id":"Js.TypedArray2.Int16Array","name":"Int16Array","docstrings":[],"items":[{"id":"Js.TypedArray2.Int16Array.elt","kind":"type","name":"elt","docstrings":[""],"signature":"type elt = int"},{"id":"Js.TypedArray2.Int16Array.typed_array","kind":"type","name":"typed_array","docstrings":[],"signature":"type typed_array<'a>"},{"id":"Js.TypedArray2.Int16Array.t","kind":"type","name":"t","docstrings":[],"signature":"type t = typed_array"},{"id":"Js.TypedArray2.Int16Array.unsafe_get","kind":"value","name":"unsafe_get","docstrings":[],"signature":"let unsafe_get: (t, int) => elt"},{"id":"Js.TypedArray2.Int16Array.unsafe_set","kind":"value","name":"unsafe_set","docstrings":[],"signature":"let unsafe_set: (t, int, elt) => unit"},{"id":"Js.TypedArray2.Int16Array.buffer","kind":"value","name":"buffer","docstrings":[],"signature":"let buffer: t => array_buffer"},{"id":"Js.TypedArray2.Int16Array.byteLength","kind":"value","name":"byteLength","docstrings":[],"signature":"let byteLength: t => int"},{"id":"Js.TypedArray2.Int16Array.byteOffset","kind":"value","name":"byteOffset","docstrings":[],"signature":"let byteOffset: t => int"},{"id":"Js.TypedArray2.Int16Array.setArray","kind":"value","name":"setArray","docstrings":[],"signature":"let setArray: (t, array) => unit"},{"id":"Js.TypedArray2.Int16Array.setArrayOffset","kind":"value","name":"setArrayOffset","docstrings":[],"signature":"let setArrayOffset: (t, array, int) => unit"},{"id":"Js.TypedArray2.Int16Array.length","kind":"value","name":"length","docstrings":[],"signature":"let length: t => int"},{"id":"Js.TypedArray2.Int16Array.copyWithin","kind":"value","name":"copyWithin","docstrings":[],"signature":"let copyWithin: (t, ~to_: int) => t"},{"id":"Js.TypedArray2.Int16Array.copyWithinFrom","kind":"value","name":"copyWithinFrom","docstrings":[],"signature":"let copyWithinFrom: (t, ~to_: int, ~from: int) => t"},{"id":"Js.TypedArray2.Int16Array.copyWithinFromRange","kind":"value","name":"copyWithinFromRange","docstrings":[],"signature":"let copyWithinFromRange: (t, ~to_: int, ~start: int, ~end_: int) => t"},{"id":"Js.TypedArray2.Int16Array.fillInPlace","kind":"value","name":"fillInPlace","docstrings":[],"signature":"let fillInPlace: (t, elt) => t"},{"id":"Js.TypedArray2.Int16Array.fillFromInPlace","kind":"value","name":"fillFromInPlace","docstrings":[],"signature":"let fillFromInPlace: (t, elt, ~from: int) => t"},{"id":"Js.TypedArray2.Int16Array.fillRangeInPlace","kind":"value","name":"fillRangeInPlace","docstrings":[],"signature":"let fillRangeInPlace: (t, elt, ~start: int, ~end_: int) => t"},{"id":"Js.TypedArray2.Int16Array.reverseInPlace","kind":"value","name":"reverseInPlace","docstrings":[],"signature":"let reverseInPlace: t => t"},{"id":"Js.TypedArray2.Int16Array.sortInPlace","kind":"value","name":"sortInPlace","docstrings":[],"signature":"let sortInPlace: t => t"},{"id":"Js.TypedArray2.Int16Array.sortInPlaceWith","kind":"value","name":"sortInPlaceWith","docstrings":[],"signature":"let sortInPlaceWith: (t, (. elt, elt) => int) => t"},{"id":"Js.TypedArray2.Int16Array.includes","kind":"value","name":"includes","docstrings":[],"signature":"let includes: (t, elt) => bool"},{"id":"Js.TypedArray2.Int16Array.indexOf","kind":"value","name":"indexOf","docstrings":[],"signature":"let indexOf: (t, elt) => int"},{"id":"Js.TypedArray2.Int16Array.indexOfFrom","kind":"value","name":"indexOfFrom","docstrings":[],"signature":"let indexOfFrom: (t, elt, ~from: int) => int"},{"id":"Js.TypedArray2.Int16Array.join","kind":"value","name":"join","docstrings":[],"signature":"let join: t => string"},{"id":"Js.TypedArray2.Int16Array.joinWith","kind":"value","name":"joinWith","docstrings":[],"signature":"let joinWith: (t, string) => string"},{"id":"Js.TypedArray2.Int16Array.lastIndexOf","kind":"value","name":"lastIndexOf","docstrings":[],"signature":"let lastIndexOf: (t, elt) => int"},{"id":"Js.TypedArray2.Int16Array.lastIndexOfFrom","kind":"value","name":"lastIndexOfFrom","docstrings":[],"signature":"let lastIndexOfFrom: (t, elt, ~from: int) => int"},{"id":"Js.TypedArray2.Int16Array.slice","kind":"value","name":"slice","docstrings":["`start` is inclusive, `end_` exclusive"],"signature":"let slice: (t, ~start: int, ~end_: int) => t"},{"id":"Js.TypedArray2.Int16Array.copy","kind":"value","name":"copy","docstrings":[],"signature":"let copy: t => t"},{"id":"Js.TypedArray2.Int16Array.sliceFrom","kind":"value","name":"sliceFrom","docstrings":[],"signature":"let sliceFrom: (t, int) => t"},{"id":"Js.TypedArray2.Int16Array.subarray","kind":"value","name":"subarray","docstrings":["`start` is inclusive, `end_` exclusive"],"signature":"let subarray: (t, ~start: int, ~end_: int) => t"},{"id":"Js.TypedArray2.Int16Array.subarrayFrom","kind":"value","name":"subarrayFrom","docstrings":[],"signature":"let subarrayFrom: (t, int) => t"},{"id":"Js.TypedArray2.Int16Array.toString","kind":"value","name":"toString","docstrings":[],"signature":"let toString: t => string"},{"id":"Js.TypedArray2.Int16Array.toLocaleString","kind":"value","name":"toLocaleString","docstrings":[],"signature":"let toLocaleString: t => string"},{"id":"Js.TypedArray2.Int16Array.every","kind":"value","name":"every","docstrings":[],"signature":"let every: (t, (. elt) => bool) => bool"},{"id":"Js.TypedArray2.Int16Array.everyi","kind":"value","name":"everyi","docstrings":[],"signature":"let everyi: (t, (. elt, int) => bool) => bool"},{"id":"Js.TypedArray2.Int16Array.filter","kind":"value","name":"filter","docstrings":[],"signature":"let filter: (t, (. elt) => bool) => t"},{"id":"Js.TypedArray2.Int16Array.filteri","kind":"value","name":"filteri","docstrings":[],"signature":"let filteri: (t, (. elt, int) => bool) => t"},{"id":"Js.TypedArray2.Int16Array.find","kind":"value","name":"find","docstrings":[],"signature":"let find: (t, (. elt) => bool) => Js.undefined"},{"id":"Js.TypedArray2.Int16Array.findi","kind":"value","name":"findi","docstrings":[],"signature":"let findi: (t, (. elt, int) => bool) => Js.undefined"},{"id":"Js.TypedArray2.Int16Array.findIndex","kind":"value","name":"findIndex","docstrings":[],"signature":"let findIndex: (t, (. elt) => bool) => int"},{"id":"Js.TypedArray2.Int16Array.findIndexi","kind":"value","name":"findIndexi","docstrings":[],"signature":"let findIndexi: (t, (. elt, int) => bool) => int"},{"id":"Js.TypedArray2.Int16Array.forEach","kind":"value","name":"forEach","docstrings":[],"signature":"let forEach: (t, (. elt) => unit) => unit"},{"id":"Js.TypedArray2.Int16Array.forEachi","kind":"value","name":"forEachi","docstrings":[],"signature":"let forEachi: (t, (. elt, int) => unit) => unit"},{"id":"Js.TypedArray2.Int16Array.map","kind":"value","name":"map","docstrings":[],"signature":"let map: (t, (. elt) => 'b) => typed_array<'b>"},{"id":"Js.TypedArray2.Int16Array.mapi","kind":"value","name":"mapi","docstrings":[],"signature":"let mapi: (t, (. elt, int) => 'b) => typed_array<'b>"},{"id":"Js.TypedArray2.Int16Array.reduce","kind":"value","name":"reduce","docstrings":[],"signature":"let reduce: (t, (. 'b, elt) => 'b, 'b) => 'b"},{"id":"Js.TypedArray2.Int16Array.reducei","kind":"value","name":"reducei","docstrings":[],"signature":"let reducei: (t, (. 'b, elt, int) => 'b, 'b) => 'b"},{"id":"Js.TypedArray2.Int16Array.reduceRight","kind":"value","name":"reduceRight","docstrings":[],"signature":"let reduceRight: (t, (. 'b, elt) => 'b, 'b) => 'b"},{"id":"Js.TypedArray2.Int16Array.reduceRighti","kind":"value","name":"reduceRighti","docstrings":[],"signature":"let reduceRighti: (t, (. 'b, elt, int) => 'b, 'b) => 'b"},{"id":"Js.TypedArray2.Int16Array.some","kind":"value","name":"some","docstrings":[],"signature":"let some: (t, (. elt) => bool) => bool"},{"id":"Js.TypedArray2.Int16Array.somei","kind":"value","name":"somei","docstrings":[],"signature":"let somei: (t, (. elt, int) => bool) => bool"},{"id":"Js.TypedArray2.Int16Array._BYTES_PER_ELEMENT","kind":"value","name":"_BYTES_PER_ELEMENT","docstrings":[],"signature":"let _BYTES_PER_ELEMENT: int"},{"id":"Js.TypedArray2.Int16Array.make","kind":"value","name":"make","docstrings":[],"signature":"let make: array => t"},{"id":"Js.TypedArray2.Int16Array.fromBuffer","kind":"value","name":"fromBuffer","docstrings":["can throw"],"signature":"let fromBuffer: array_buffer => t"},{"id":"Js.TypedArray2.Int16Array.fromBufferOffset","kind":"value","name":"fromBufferOffset","docstrings":["**raise** Js.Exn.Error raise Js exception\n\n **param** offset is in bytes"],"signature":"let fromBufferOffset: (array_buffer, int) => t"},{"id":"Js.TypedArray2.Int16Array.fromBufferRange","kind":"value","name":"fromBufferRange","docstrings":["**raise** Js.Exn.Error raises Js exception\n\n **param** offset is in bytes, length in elements"],"signature":"let fromBufferRange: (array_buffer, ~offset: int, ~length: int) => t"},{"id":"Js.TypedArray2.Int16Array.fromLength","kind":"value","name":"fromLength","docstrings":[],"signature":"let fromLength: int => t"},{"id":"Js.TypedArray2.Int16Array.from","kind":"value","name":"from","docstrings":[],"signature":"let from: array_like => t"}]},"js/typedarray2/uint8clampedarray":{"id":"Js.TypedArray2.Uint8ClampedArray","name":"Uint8ClampedArray","docstrings":[],"items":[{"id":"Js.TypedArray2.Uint8ClampedArray.elt","kind":"type","name":"elt","docstrings":[""],"signature":"type elt = int"},{"id":"Js.TypedArray2.Uint8ClampedArray.typed_array","kind":"type","name":"typed_array","docstrings":[],"signature":"type typed_array<'a>"},{"id":"Js.TypedArray2.Uint8ClampedArray.t","kind":"type","name":"t","docstrings":[],"signature":"type t = typed_array"},{"id":"Js.TypedArray2.Uint8ClampedArray.unsafe_get","kind":"value","name":"unsafe_get","docstrings":[],"signature":"let unsafe_get: (t, int) => elt"},{"id":"Js.TypedArray2.Uint8ClampedArray.unsafe_set","kind":"value","name":"unsafe_set","docstrings":[],"signature":"let unsafe_set: (t, int, elt) => unit"},{"id":"Js.TypedArray2.Uint8ClampedArray.buffer","kind":"value","name":"buffer","docstrings":[],"signature":"let buffer: t => array_buffer"},{"id":"Js.TypedArray2.Uint8ClampedArray.byteLength","kind":"value","name":"byteLength","docstrings":[],"signature":"let byteLength: t => int"},{"id":"Js.TypedArray2.Uint8ClampedArray.byteOffset","kind":"value","name":"byteOffset","docstrings":[],"signature":"let byteOffset: t => int"},{"id":"Js.TypedArray2.Uint8ClampedArray.setArray","kind":"value","name":"setArray","docstrings":[],"signature":"let setArray: (t, array) => unit"},{"id":"Js.TypedArray2.Uint8ClampedArray.setArrayOffset","kind":"value","name":"setArrayOffset","docstrings":[],"signature":"let setArrayOffset: (t, array, int) => unit"},{"id":"Js.TypedArray2.Uint8ClampedArray.length","kind":"value","name":"length","docstrings":[],"signature":"let length: t => int"},{"id":"Js.TypedArray2.Uint8ClampedArray.copyWithin","kind":"value","name":"copyWithin","docstrings":[],"signature":"let copyWithin: (t, ~to_: int) => t"},{"id":"Js.TypedArray2.Uint8ClampedArray.copyWithinFrom","kind":"value","name":"copyWithinFrom","docstrings":[],"signature":"let copyWithinFrom: (t, ~to_: int, ~from: int) => t"},{"id":"Js.TypedArray2.Uint8ClampedArray.copyWithinFromRange","kind":"value","name":"copyWithinFromRange","docstrings":[],"signature":"let copyWithinFromRange: (t, ~to_: int, ~start: int, ~end_: int) => t"},{"id":"Js.TypedArray2.Uint8ClampedArray.fillInPlace","kind":"value","name":"fillInPlace","docstrings":[],"signature":"let fillInPlace: (t, elt) => t"},{"id":"Js.TypedArray2.Uint8ClampedArray.fillFromInPlace","kind":"value","name":"fillFromInPlace","docstrings":[],"signature":"let fillFromInPlace: (t, elt, ~from: int) => t"},{"id":"Js.TypedArray2.Uint8ClampedArray.fillRangeInPlace","kind":"value","name":"fillRangeInPlace","docstrings":[],"signature":"let fillRangeInPlace: (t, elt, ~start: int, ~end_: int) => t"},{"id":"Js.TypedArray2.Uint8ClampedArray.reverseInPlace","kind":"value","name":"reverseInPlace","docstrings":[],"signature":"let reverseInPlace: t => t"},{"id":"Js.TypedArray2.Uint8ClampedArray.sortInPlace","kind":"value","name":"sortInPlace","docstrings":[],"signature":"let sortInPlace: t => t"},{"id":"Js.TypedArray2.Uint8ClampedArray.sortInPlaceWith","kind":"value","name":"sortInPlaceWith","docstrings":[],"signature":"let sortInPlaceWith: (t, (. elt, elt) => int) => t"},{"id":"Js.TypedArray2.Uint8ClampedArray.includes","kind":"value","name":"includes","docstrings":[],"signature":"let includes: (t, elt) => bool"},{"id":"Js.TypedArray2.Uint8ClampedArray.indexOf","kind":"value","name":"indexOf","docstrings":[],"signature":"let indexOf: (t, elt) => int"},{"id":"Js.TypedArray2.Uint8ClampedArray.indexOfFrom","kind":"value","name":"indexOfFrom","docstrings":[],"signature":"let indexOfFrom: (t, elt, ~from: int) => int"},{"id":"Js.TypedArray2.Uint8ClampedArray.join","kind":"value","name":"join","docstrings":[],"signature":"let join: t => string"},{"id":"Js.TypedArray2.Uint8ClampedArray.joinWith","kind":"value","name":"joinWith","docstrings":[],"signature":"let joinWith: (t, string) => string"},{"id":"Js.TypedArray2.Uint8ClampedArray.lastIndexOf","kind":"value","name":"lastIndexOf","docstrings":[],"signature":"let lastIndexOf: (t, elt) => int"},{"id":"Js.TypedArray2.Uint8ClampedArray.lastIndexOfFrom","kind":"value","name":"lastIndexOfFrom","docstrings":[],"signature":"let lastIndexOfFrom: (t, elt, ~from: int) => int"},{"id":"Js.TypedArray2.Uint8ClampedArray.slice","kind":"value","name":"slice","docstrings":["`start` is inclusive, `end_` exclusive"],"signature":"let slice: (t, ~start: int, ~end_: int) => t"},{"id":"Js.TypedArray2.Uint8ClampedArray.copy","kind":"value","name":"copy","docstrings":[],"signature":"let copy: t => t"},{"id":"Js.TypedArray2.Uint8ClampedArray.sliceFrom","kind":"value","name":"sliceFrom","docstrings":[],"signature":"let sliceFrom: (t, int) => t"},{"id":"Js.TypedArray2.Uint8ClampedArray.subarray","kind":"value","name":"subarray","docstrings":["`start` is inclusive, `end_` exclusive"],"signature":"let subarray: (t, ~start: int, ~end_: int) => t"},{"id":"Js.TypedArray2.Uint8ClampedArray.subarrayFrom","kind":"value","name":"subarrayFrom","docstrings":[],"signature":"let subarrayFrom: (t, int) => t"},{"id":"Js.TypedArray2.Uint8ClampedArray.toString","kind":"value","name":"toString","docstrings":[],"signature":"let toString: t => string"},{"id":"Js.TypedArray2.Uint8ClampedArray.toLocaleString","kind":"value","name":"toLocaleString","docstrings":[],"signature":"let toLocaleString: t => string"},{"id":"Js.TypedArray2.Uint8ClampedArray.every","kind":"value","name":"every","docstrings":[],"signature":"let every: (t, (. elt) => bool) => bool"},{"id":"Js.TypedArray2.Uint8ClampedArray.everyi","kind":"value","name":"everyi","docstrings":[],"signature":"let everyi: (t, (. elt, int) => bool) => bool"},{"id":"Js.TypedArray2.Uint8ClampedArray.filter","kind":"value","name":"filter","docstrings":[],"signature":"let filter: (t, (. elt) => bool) => t"},{"id":"Js.TypedArray2.Uint8ClampedArray.filteri","kind":"value","name":"filteri","docstrings":[],"signature":"let filteri: (t, (. elt, int) => bool) => t"},{"id":"Js.TypedArray2.Uint8ClampedArray.find","kind":"value","name":"find","docstrings":[],"signature":"let find: (t, (. elt) => bool) => Js.undefined"},{"id":"Js.TypedArray2.Uint8ClampedArray.findi","kind":"value","name":"findi","docstrings":[],"signature":"let findi: (t, (. elt, int) => bool) => Js.undefined"},{"id":"Js.TypedArray2.Uint8ClampedArray.findIndex","kind":"value","name":"findIndex","docstrings":[],"signature":"let findIndex: (t, (. elt) => bool) => int"},{"id":"Js.TypedArray2.Uint8ClampedArray.findIndexi","kind":"value","name":"findIndexi","docstrings":[],"signature":"let findIndexi: (t, (. elt, int) => bool) => int"},{"id":"Js.TypedArray2.Uint8ClampedArray.forEach","kind":"value","name":"forEach","docstrings":[],"signature":"let forEach: (t, (. elt) => unit) => unit"},{"id":"Js.TypedArray2.Uint8ClampedArray.forEachi","kind":"value","name":"forEachi","docstrings":[],"signature":"let forEachi: (t, (. elt, int) => unit) => unit"},{"id":"Js.TypedArray2.Uint8ClampedArray.map","kind":"value","name":"map","docstrings":[],"signature":"let map: (t, (. elt) => 'b) => typed_array<'b>"},{"id":"Js.TypedArray2.Uint8ClampedArray.mapi","kind":"value","name":"mapi","docstrings":[],"signature":"let mapi: (t, (. elt, int) => 'b) => typed_array<'b>"},{"id":"Js.TypedArray2.Uint8ClampedArray.reduce","kind":"value","name":"reduce","docstrings":[],"signature":"let reduce: (t, (. 'b, elt) => 'b, 'b) => 'b"},{"id":"Js.TypedArray2.Uint8ClampedArray.reducei","kind":"value","name":"reducei","docstrings":[],"signature":"let reducei: (t, (. 'b, elt, int) => 'b, 'b) => 'b"},{"id":"Js.TypedArray2.Uint8ClampedArray.reduceRight","kind":"value","name":"reduceRight","docstrings":[],"signature":"let reduceRight: (t, (. 'b, elt) => 'b, 'b) => 'b"},{"id":"Js.TypedArray2.Uint8ClampedArray.reduceRighti","kind":"value","name":"reduceRighti","docstrings":[],"signature":"let reduceRighti: (t, (. 'b, elt, int) => 'b, 'b) => 'b"},{"id":"Js.TypedArray2.Uint8ClampedArray.some","kind":"value","name":"some","docstrings":[],"signature":"let some: (t, (. elt) => bool) => bool"},{"id":"Js.TypedArray2.Uint8ClampedArray.somei","kind":"value","name":"somei","docstrings":[],"signature":"let somei: (t, (. elt, int) => bool) => bool"},{"id":"Js.TypedArray2.Uint8ClampedArray._BYTES_PER_ELEMENT","kind":"value","name":"_BYTES_PER_ELEMENT","docstrings":[],"signature":"let _BYTES_PER_ELEMENT: int"},{"id":"Js.TypedArray2.Uint8ClampedArray.make","kind":"value","name":"make","docstrings":[],"signature":"let make: array => t"},{"id":"Js.TypedArray2.Uint8ClampedArray.fromBuffer","kind":"value","name":"fromBuffer","docstrings":["can throw"],"signature":"let fromBuffer: array_buffer => t"},{"id":"Js.TypedArray2.Uint8ClampedArray.fromBufferOffset","kind":"value","name":"fromBufferOffset","docstrings":["**raise** Js.Exn.Error raise Js exception\n\n **param** offset is in bytes"],"signature":"let fromBufferOffset: (array_buffer, int) => t"},{"id":"Js.TypedArray2.Uint8ClampedArray.fromBufferRange","kind":"value","name":"fromBufferRange","docstrings":["**raise** Js.Exn.Error raises Js exception\n\n **param** offset is in bytes, length in elements"],"signature":"let fromBufferRange: (array_buffer, ~offset: int, ~length: int) => t"},{"id":"Js.TypedArray2.Uint8ClampedArray.fromLength","kind":"value","name":"fromLength","docstrings":[],"signature":"let fromLength: int => t"},{"id":"Js.TypedArray2.Uint8ClampedArray.from","kind":"value","name":"from","docstrings":[],"signature":"let from: array_like => t"}]},"js/typedarray2/uint8array":{"id":"Js.TypedArray2.Uint8Array","name":"Uint8Array","docstrings":[],"items":[{"id":"Js.TypedArray2.Uint8Array.elt","kind":"type","name":"elt","docstrings":[""],"signature":"type elt = int"},{"id":"Js.TypedArray2.Uint8Array.typed_array","kind":"type","name":"typed_array","docstrings":[],"signature":"type typed_array<'a>"},{"id":"Js.TypedArray2.Uint8Array.t","kind":"type","name":"t","docstrings":[],"signature":"type t = typed_array"},{"id":"Js.TypedArray2.Uint8Array.unsafe_get","kind":"value","name":"unsafe_get","docstrings":[],"signature":"let unsafe_get: (t, int) => elt"},{"id":"Js.TypedArray2.Uint8Array.unsafe_set","kind":"value","name":"unsafe_set","docstrings":[],"signature":"let unsafe_set: (t, int, elt) => unit"},{"id":"Js.TypedArray2.Uint8Array.buffer","kind":"value","name":"buffer","docstrings":[],"signature":"let buffer: t => array_buffer"},{"id":"Js.TypedArray2.Uint8Array.byteLength","kind":"value","name":"byteLength","docstrings":[],"signature":"let byteLength: t => int"},{"id":"Js.TypedArray2.Uint8Array.byteOffset","kind":"value","name":"byteOffset","docstrings":[],"signature":"let byteOffset: t => int"},{"id":"Js.TypedArray2.Uint8Array.setArray","kind":"value","name":"setArray","docstrings":[],"signature":"let setArray: (t, array) => unit"},{"id":"Js.TypedArray2.Uint8Array.setArrayOffset","kind":"value","name":"setArrayOffset","docstrings":[],"signature":"let setArrayOffset: (t, array, int) => unit"},{"id":"Js.TypedArray2.Uint8Array.length","kind":"value","name":"length","docstrings":[],"signature":"let length: t => int"},{"id":"Js.TypedArray2.Uint8Array.copyWithin","kind":"value","name":"copyWithin","docstrings":[],"signature":"let copyWithin: (t, ~to_: int) => t"},{"id":"Js.TypedArray2.Uint8Array.copyWithinFrom","kind":"value","name":"copyWithinFrom","docstrings":[],"signature":"let copyWithinFrom: (t, ~to_: int, ~from: int) => t"},{"id":"Js.TypedArray2.Uint8Array.copyWithinFromRange","kind":"value","name":"copyWithinFromRange","docstrings":[],"signature":"let copyWithinFromRange: (t, ~to_: int, ~start: int, ~end_: int) => t"},{"id":"Js.TypedArray2.Uint8Array.fillInPlace","kind":"value","name":"fillInPlace","docstrings":[],"signature":"let fillInPlace: (t, elt) => t"},{"id":"Js.TypedArray2.Uint8Array.fillFromInPlace","kind":"value","name":"fillFromInPlace","docstrings":[],"signature":"let fillFromInPlace: (t, elt, ~from: int) => t"},{"id":"Js.TypedArray2.Uint8Array.fillRangeInPlace","kind":"value","name":"fillRangeInPlace","docstrings":[],"signature":"let fillRangeInPlace: (t, elt, ~start: int, ~end_: int) => t"},{"id":"Js.TypedArray2.Uint8Array.reverseInPlace","kind":"value","name":"reverseInPlace","docstrings":[],"signature":"let reverseInPlace: t => t"},{"id":"Js.TypedArray2.Uint8Array.sortInPlace","kind":"value","name":"sortInPlace","docstrings":[],"signature":"let sortInPlace: t => t"},{"id":"Js.TypedArray2.Uint8Array.sortInPlaceWith","kind":"value","name":"sortInPlaceWith","docstrings":[],"signature":"let sortInPlaceWith: (t, (. elt, elt) => int) => t"},{"id":"Js.TypedArray2.Uint8Array.includes","kind":"value","name":"includes","docstrings":[],"signature":"let includes: (t, elt) => bool"},{"id":"Js.TypedArray2.Uint8Array.indexOf","kind":"value","name":"indexOf","docstrings":[],"signature":"let indexOf: (t, elt) => int"},{"id":"Js.TypedArray2.Uint8Array.indexOfFrom","kind":"value","name":"indexOfFrom","docstrings":[],"signature":"let indexOfFrom: (t, elt, ~from: int) => int"},{"id":"Js.TypedArray2.Uint8Array.join","kind":"value","name":"join","docstrings":[],"signature":"let join: t => string"},{"id":"Js.TypedArray2.Uint8Array.joinWith","kind":"value","name":"joinWith","docstrings":[],"signature":"let joinWith: (t, string) => string"},{"id":"Js.TypedArray2.Uint8Array.lastIndexOf","kind":"value","name":"lastIndexOf","docstrings":[],"signature":"let lastIndexOf: (t, elt) => int"},{"id":"Js.TypedArray2.Uint8Array.lastIndexOfFrom","kind":"value","name":"lastIndexOfFrom","docstrings":[],"signature":"let lastIndexOfFrom: (t, elt, ~from: int) => int"},{"id":"Js.TypedArray2.Uint8Array.slice","kind":"value","name":"slice","docstrings":["`start` is inclusive, `end_` exclusive"],"signature":"let slice: (t, ~start: int, ~end_: int) => t"},{"id":"Js.TypedArray2.Uint8Array.copy","kind":"value","name":"copy","docstrings":[],"signature":"let copy: t => t"},{"id":"Js.TypedArray2.Uint8Array.sliceFrom","kind":"value","name":"sliceFrom","docstrings":[],"signature":"let sliceFrom: (t, int) => t"},{"id":"Js.TypedArray2.Uint8Array.subarray","kind":"value","name":"subarray","docstrings":["`start` is inclusive, `end_` exclusive"],"signature":"let subarray: (t, ~start: int, ~end_: int) => t"},{"id":"Js.TypedArray2.Uint8Array.subarrayFrom","kind":"value","name":"subarrayFrom","docstrings":[],"signature":"let subarrayFrom: (t, int) => t"},{"id":"Js.TypedArray2.Uint8Array.toString","kind":"value","name":"toString","docstrings":[],"signature":"let toString: t => string"},{"id":"Js.TypedArray2.Uint8Array.toLocaleString","kind":"value","name":"toLocaleString","docstrings":[],"signature":"let toLocaleString: t => string"},{"id":"Js.TypedArray2.Uint8Array.every","kind":"value","name":"every","docstrings":[],"signature":"let every: (t, (. elt) => bool) => bool"},{"id":"Js.TypedArray2.Uint8Array.everyi","kind":"value","name":"everyi","docstrings":[],"signature":"let everyi: (t, (. elt, int) => bool) => bool"},{"id":"Js.TypedArray2.Uint8Array.filter","kind":"value","name":"filter","docstrings":[],"signature":"let filter: (t, (. elt) => bool) => t"},{"id":"Js.TypedArray2.Uint8Array.filteri","kind":"value","name":"filteri","docstrings":[],"signature":"let filteri: (t, (. elt, int) => bool) => t"},{"id":"Js.TypedArray2.Uint8Array.find","kind":"value","name":"find","docstrings":[],"signature":"let find: (t, (. elt) => bool) => Js.undefined"},{"id":"Js.TypedArray2.Uint8Array.findi","kind":"value","name":"findi","docstrings":[],"signature":"let findi: (t, (. elt, int) => bool) => Js.undefined"},{"id":"Js.TypedArray2.Uint8Array.findIndex","kind":"value","name":"findIndex","docstrings":[],"signature":"let findIndex: (t, (. elt) => bool) => int"},{"id":"Js.TypedArray2.Uint8Array.findIndexi","kind":"value","name":"findIndexi","docstrings":[],"signature":"let findIndexi: (t, (. elt, int) => bool) => int"},{"id":"Js.TypedArray2.Uint8Array.forEach","kind":"value","name":"forEach","docstrings":[],"signature":"let forEach: (t, (. elt) => unit) => unit"},{"id":"Js.TypedArray2.Uint8Array.forEachi","kind":"value","name":"forEachi","docstrings":[],"signature":"let forEachi: (t, (. elt, int) => unit) => unit"},{"id":"Js.TypedArray2.Uint8Array.map","kind":"value","name":"map","docstrings":[],"signature":"let map: (t, (. elt) => 'b) => typed_array<'b>"},{"id":"Js.TypedArray2.Uint8Array.mapi","kind":"value","name":"mapi","docstrings":[],"signature":"let mapi: (t, (. elt, int) => 'b) => typed_array<'b>"},{"id":"Js.TypedArray2.Uint8Array.reduce","kind":"value","name":"reduce","docstrings":[],"signature":"let reduce: (t, (. 'b, elt) => 'b, 'b) => 'b"},{"id":"Js.TypedArray2.Uint8Array.reducei","kind":"value","name":"reducei","docstrings":[],"signature":"let reducei: (t, (. 'b, elt, int) => 'b, 'b) => 'b"},{"id":"Js.TypedArray2.Uint8Array.reduceRight","kind":"value","name":"reduceRight","docstrings":[],"signature":"let reduceRight: (t, (. 'b, elt) => 'b, 'b) => 'b"},{"id":"Js.TypedArray2.Uint8Array.reduceRighti","kind":"value","name":"reduceRighti","docstrings":[],"signature":"let reduceRighti: (t, (. 'b, elt, int) => 'b, 'b) => 'b"},{"id":"Js.TypedArray2.Uint8Array.some","kind":"value","name":"some","docstrings":[],"signature":"let some: (t, (. elt) => bool) => bool"},{"id":"Js.TypedArray2.Uint8Array.somei","kind":"value","name":"somei","docstrings":[],"signature":"let somei: (t, (. elt, int) => bool) => bool"},{"id":"Js.TypedArray2.Uint8Array._BYTES_PER_ELEMENT","kind":"value","name":"_BYTES_PER_ELEMENT","docstrings":[],"signature":"let _BYTES_PER_ELEMENT: int"},{"id":"Js.TypedArray2.Uint8Array.make","kind":"value","name":"make","docstrings":[],"signature":"let make: array => t"},{"id":"Js.TypedArray2.Uint8Array.fromBuffer","kind":"value","name":"fromBuffer","docstrings":["can throw"],"signature":"let fromBuffer: array_buffer => t"},{"id":"Js.TypedArray2.Uint8Array.fromBufferOffset","kind":"value","name":"fromBufferOffset","docstrings":["**raise** Js.Exn.Error raise Js exception\n\n **param** offset is in bytes"],"signature":"let fromBufferOffset: (array_buffer, int) => t"},{"id":"Js.TypedArray2.Uint8Array.fromBufferRange","kind":"value","name":"fromBufferRange","docstrings":["**raise** Js.Exn.Error raises Js exception\n\n **param** offset is in bytes, length in elements"],"signature":"let fromBufferRange: (array_buffer, ~offset: int, ~length: int) => t"},{"id":"Js.TypedArray2.Uint8Array.fromLength","kind":"value","name":"fromLength","docstrings":[],"signature":"let fromLength: int => t"},{"id":"Js.TypedArray2.Uint8Array.from","kind":"value","name":"from","docstrings":[],"signature":"let from: array_like => t"}]},"js/typedarray2/int8array":{"id":"Js.TypedArray2.Int8Array","name":"Int8Array","docstrings":[],"items":[{"id":"Js.TypedArray2.Int8Array.elt","kind":"type","name":"elt","docstrings":[""],"signature":"type elt = int"},{"id":"Js.TypedArray2.Int8Array.typed_array","kind":"type","name":"typed_array","docstrings":[],"signature":"type typed_array<'a>"},{"id":"Js.TypedArray2.Int8Array.t","kind":"type","name":"t","docstrings":[],"signature":"type t = typed_array"},{"id":"Js.TypedArray2.Int8Array.unsafe_get","kind":"value","name":"unsafe_get","docstrings":[],"signature":"let unsafe_get: (t, int) => elt"},{"id":"Js.TypedArray2.Int8Array.unsafe_set","kind":"value","name":"unsafe_set","docstrings":[],"signature":"let unsafe_set: (t, int, elt) => unit"},{"id":"Js.TypedArray2.Int8Array.buffer","kind":"value","name":"buffer","docstrings":[],"signature":"let buffer: t => array_buffer"},{"id":"Js.TypedArray2.Int8Array.byteLength","kind":"value","name":"byteLength","docstrings":[],"signature":"let byteLength: t => int"},{"id":"Js.TypedArray2.Int8Array.byteOffset","kind":"value","name":"byteOffset","docstrings":[],"signature":"let byteOffset: t => int"},{"id":"Js.TypedArray2.Int8Array.setArray","kind":"value","name":"setArray","docstrings":[],"signature":"let setArray: (t, array) => unit"},{"id":"Js.TypedArray2.Int8Array.setArrayOffset","kind":"value","name":"setArrayOffset","docstrings":[],"signature":"let setArrayOffset: (t, array, int) => unit"},{"id":"Js.TypedArray2.Int8Array.length","kind":"value","name":"length","docstrings":[],"signature":"let length: t => int"},{"id":"Js.TypedArray2.Int8Array.copyWithin","kind":"value","name":"copyWithin","docstrings":[],"signature":"let copyWithin: (t, ~to_: int) => t"},{"id":"Js.TypedArray2.Int8Array.copyWithinFrom","kind":"value","name":"copyWithinFrom","docstrings":[],"signature":"let copyWithinFrom: (t, ~to_: int, ~from: int) => t"},{"id":"Js.TypedArray2.Int8Array.copyWithinFromRange","kind":"value","name":"copyWithinFromRange","docstrings":[],"signature":"let copyWithinFromRange: (t, ~to_: int, ~start: int, ~end_: int) => t"},{"id":"Js.TypedArray2.Int8Array.fillInPlace","kind":"value","name":"fillInPlace","docstrings":[],"signature":"let fillInPlace: (t, elt) => t"},{"id":"Js.TypedArray2.Int8Array.fillFromInPlace","kind":"value","name":"fillFromInPlace","docstrings":[],"signature":"let fillFromInPlace: (t, elt, ~from: int) => t"},{"id":"Js.TypedArray2.Int8Array.fillRangeInPlace","kind":"value","name":"fillRangeInPlace","docstrings":[],"signature":"let fillRangeInPlace: (t, elt, ~start: int, ~end_: int) => t"},{"id":"Js.TypedArray2.Int8Array.reverseInPlace","kind":"value","name":"reverseInPlace","docstrings":[],"signature":"let reverseInPlace: t => t"},{"id":"Js.TypedArray2.Int8Array.sortInPlace","kind":"value","name":"sortInPlace","docstrings":[],"signature":"let sortInPlace: t => t"},{"id":"Js.TypedArray2.Int8Array.sortInPlaceWith","kind":"value","name":"sortInPlaceWith","docstrings":[],"signature":"let sortInPlaceWith: (t, (. elt, elt) => int) => t"},{"id":"Js.TypedArray2.Int8Array.includes","kind":"value","name":"includes","docstrings":[],"signature":"let includes: (t, elt) => bool"},{"id":"Js.TypedArray2.Int8Array.indexOf","kind":"value","name":"indexOf","docstrings":[],"signature":"let indexOf: (t, elt) => int"},{"id":"Js.TypedArray2.Int8Array.indexOfFrom","kind":"value","name":"indexOfFrom","docstrings":[],"signature":"let indexOfFrom: (t, elt, ~from: int) => int"},{"id":"Js.TypedArray2.Int8Array.join","kind":"value","name":"join","docstrings":[],"signature":"let join: t => string"},{"id":"Js.TypedArray2.Int8Array.joinWith","kind":"value","name":"joinWith","docstrings":[],"signature":"let joinWith: (t, string) => string"},{"id":"Js.TypedArray2.Int8Array.lastIndexOf","kind":"value","name":"lastIndexOf","docstrings":[],"signature":"let lastIndexOf: (t, elt) => int"},{"id":"Js.TypedArray2.Int8Array.lastIndexOfFrom","kind":"value","name":"lastIndexOfFrom","docstrings":[],"signature":"let lastIndexOfFrom: (t, elt, ~from: int) => int"},{"id":"Js.TypedArray2.Int8Array.slice","kind":"value","name":"slice","docstrings":["`start` is inclusive, `end_` exclusive"],"signature":"let slice: (t, ~start: int, ~end_: int) => t"},{"id":"Js.TypedArray2.Int8Array.copy","kind":"value","name":"copy","docstrings":[],"signature":"let copy: t => t"},{"id":"Js.TypedArray2.Int8Array.sliceFrom","kind":"value","name":"sliceFrom","docstrings":[],"signature":"let sliceFrom: (t, int) => t"},{"id":"Js.TypedArray2.Int8Array.subarray","kind":"value","name":"subarray","docstrings":["`start` is inclusive, `end_` exclusive"],"signature":"let subarray: (t, ~start: int, ~end_: int) => t"},{"id":"Js.TypedArray2.Int8Array.subarrayFrom","kind":"value","name":"subarrayFrom","docstrings":[],"signature":"let subarrayFrom: (t, int) => t"},{"id":"Js.TypedArray2.Int8Array.toString","kind":"value","name":"toString","docstrings":[],"signature":"let toString: t => string"},{"id":"Js.TypedArray2.Int8Array.toLocaleString","kind":"value","name":"toLocaleString","docstrings":[],"signature":"let toLocaleString: t => string"},{"id":"Js.TypedArray2.Int8Array.every","kind":"value","name":"every","docstrings":[],"signature":"let every: (t, (. elt) => bool) => bool"},{"id":"Js.TypedArray2.Int8Array.everyi","kind":"value","name":"everyi","docstrings":[],"signature":"let everyi: (t, (. elt, int) => bool) => bool"},{"id":"Js.TypedArray2.Int8Array.filter","kind":"value","name":"filter","docstrings":[],"signature":"let filter: (t, (. elt) => bool) => t"},{"id":"Js.TypedArray2.Int8Array.filteri","kind":"value","name":"filteri","docstrings":[],"signature":"let filteri: (t, (. elt, int) => bool) => t"},{"id":"Js.TypedArray2.Int8Array.find","kind":"value","name":"find","docstrings":[],"signature":"let find: (t, (. elt) => bool) => Js.undefined"},{"id":"Js.TypedArray2.Int8Array.findi","kind":"value","name":"findi","docstrings":[],"signature":"let findi: (t, (. elt, int) => bool) => Js.undefined"},{"id":"Js.TypedArray2.Int8Array.findIndex","kind":"value","name":"findIndex","docstrings":[],"signature":"let findIndex: (t, (. elt) => bool) => int"},{"id":"Js.TypedArray2.Int8Array.findIndexi","kind":"value","name":"findIndexi","docstrings":[],"signature":"let findIndexi: (t, (. elt, int) => bool) => int"},{"id":"Js.TypedArray2.Int8Array.forEach","kind":"value","name":"forEach","docstrings":[],"signature":"let forEach: (t, (. elt) => unit) => unit"},{"id":"Js.TypedArray2.Int8Array.forEachi","kind":"value","name":"forEachi","docstrings":[],"signature":"let forEachi: (t, (. elt, int) => unit) => unit"},{"id":"Js.TypedArray2.Int8Array.map","kind":"value","name":"map","docstrings":[],"signature":"let map: (t, (. elt) => 'b) => typed_array<'b>"},{"id":"Js.TypedArray2.Int8Array.mapi","kind":"value","name":"mapi","docstrings":[],"signature":"let mapi: (t, (. elt, int) => 'b) => typed_array<'b>"},{"id":"Js.TypedArray2.Int8Array.reduce","kind":"value","name":"reduce","docstrings":[],"signature":"let reduce: (t, (. 'b, elt) => 'b, 'b) => 'b"},{"id":"Js.TypedArray2.Int8Array.reducei","kind":"value","name":"reducei","docstrings":[],"signature":"let reducei: (t, (. 'b, elt, int) => 'b, 'b) => 'b"},{"id":"Js.TypedArray2.Int8Array.reduceRight","kind":"value","name":"reduceRight","docstrings":[],"signature":"let reduceRight: (t, (. 'b, elt) => 'b, 'b) => 'b"},{"id":"Js.TypedArray2.Int8Array.reduceRighti","kind":"value","name":"reduceRighti","docstrings":[],"signature":"let reduceRighti: (t, (. 'b, elt, int) => 'b, 'b) => 'b"},{"id":"Js.TypedArray2.Int8Array.some","kind":"value","name":"some","docstrings":[],"signature":"let some: (t, (. elt) => bool) => bool"},{"id":"Js.TypedArray2.Int8Array.somei","kind":"value","name":"somei","docstrings":[],"signature":"let somei: (t, (. elt, int) => bool) => bool"},{"id":"Js.TypedArray2.Int8Array._BYTES_PER_ELEMENT","kind":"value","name":"_BYTES_PER_ELEMENT","docstrings":[],"signature":"let _BYTES_PER_ELEMENT: int"},{"id":"Js.TypedArray2.Int8Array.make","kind":"value","name":"make","docstrings":[],"signature":"let make: array => t"},{"id":"Js.TypedArray2.Int8Array.fromBuffer","kind":"value","name":"fromBuffer","docstrings":["can throw"],"signature":"let fromBuffer: array_buffer => t"},{"id":"Js.TypedArray2.Int8Array.fromBufferOffset","kind":"value","name":"fromBufferOffset","docstrings":["**raise** Js.Exn.Error raise Js exception\n\n **param** offset is in bytes"],"signature":"let fromBufferOffset: (array_buffer, int) => t"},{"id":"Js.TypedArray2.Int8Array.fromBufferRange","kind":"value","name":"fromBufferRange","docstrings":["**raise** Js.Exn.Error raises Js exception\n\n **param** offset is in bytes, length in elements"],"signature":"let fromBufferRange: (array_buffer, ~offset: int, ~length: int) => t"},{"id":"Js.TypedArray2.Int8Array.fromLength","kind":"value","name":"fromLength","docstrings":[],"signature":"let fromLength: int => t"},{"id":"Js.TypedArray2.Int8Array.from","kind":"value","name":"from","docstrings":[],"signature":"let from: array_like => t"}]},"js/typedarray2/arraybuffer":{"id":"Js.TypedArray2.ArrayBuffer","name":"ArrayBuffer","docstrings":[],"items":[{"id":"Js.TypedArray2.ArrayBuffer.t","kind":"type","name":"t","docstrings":[],"signature":"type t = array_buffer"},{"id":"Js.TypedArray2.ArrayBuffer.make","kind":"value","name":"make","docstrings":["takes length. initializes elements to 0"],"signature":"let make: int => t"},{"id":"Js.TypedArray2.ArrayBuffer.byteLength","kind":"value","name":"byteLength","docstrings":[],"signature":"let byteLength: t => int"},{"id":"Js.TypedArray2.ArrayBuffer.slice","kind":"value","name":"slice","docstrings":[],"signature":"let slice: (t, ~start: int, ~end_: int) => array_buffer"},{"id":"Js.TypedArray2.ArrayBuffer.sliceFrom","kind":"value","name":"sliceFrom","docstrings":[],"signature":"let sliceFrom: (t, int) => array_buffer"}]},"js/typed_array/dataview":{"id":"Js.Typed_array.DataView","name":"DataView","docstrings":[],"items":[{"id":"Js.Typed_array.DataView.t","kind":"type","name":"t","docstrings":[],"signature":"type t = Js_typed_array2.DataView.t"},{"id":"Js.Typed_array.DataView.make","kind":"value","name":"make","docstrings":[],"signature":"let make: array_buffer => t"},{"id":"Js.Typed_array.DataView.fromBuffer","kind":"value","name":"fromBuffer","docstrings":[],"signature":"let fromBuffer: array_buffer => t"},{"id":"Js.Typed_array.DataView.fromBufferOffset","kind":"value","name":"fromBufferOffset","docstrings":[],"signature":"let fromBufferOffset: (array_buffer, int) => t"},{"id":"Js.Typed_array.DataView.fromBufferRange","kind":"value","name":"fromBufferRange","docstrings":[],"signature":"let fromBufferRange: (array_buffer, ~offset: int, ~length: int) => t"},{"id":"Js.Typed_array.DataView.buffer","kind":"value","name":"buffer","docstrings":[],"signature":"let buffer: t => array_buffer"},{"id":"Js.Typed_array.DataView.byteLength","kind":"value","name":"byteLength","docstrings":[],"signature":"let byteLength: t => int"},{"id":"Js.Typed_array.DataView.byteOffset","kind":"value","name":"byteOffset","docstrings":[],"signature":"let byteOffset: t => int"},{"id":"Js.Typed_array.DataView.getInt8","kind":"value","name":"getInt8","docstrings":[],"signature":"let getInt8: (t, int) => int"},{"id":"Js.Typed_array.DataView.getUint8","kind":"value","name":"getUint8","docstrings":[],"signature":"let getUint8: (t, int) => int"},{"id":"Js.Typed_array.DataView.getInt16","kind":"value","name":"getInt16","docstrings":[],"signature":"let getInt16: (t, int) => int"},{"id":"Js.Typed_array.DataView.getInt16LittleEndian","kind":"value","name":"getInt16LittleEndian","docstrings":[],"signature":"let getInt16LittleEndian: (t, int) => int"},{"id":"Js.Typed_array.DataView.getUint16","kind":"value","name":"getUint16","docstrings":[],"signature":"let getUint16: (t, int) => int"},{"id":"Js.Typed_array.DataView.getUint16LittleEndian","kind":"value","name":"getUint16LittleEndian","docstrings":[],"signature":"let getUint16LittleEndian: (t, int) => int"},{"id":"Js.Typed_array.DataView.getInt32","kind":"value","name":"getInt32","docstrings":[],"signature":"let getInt32: (t, int) => int"},{"id":"Js.Typed_array.DataView.getInt32LittleEndian","kind":"value","name":"getInt32LittleEndian","docstrings":[],"signature":"let getInt32LittleEndian: (t, int) => int"},{"id":"Js.Typed_array.DataView.getUint32","kind":"value","name":"getUint32","docstrings":[],"signature":"let getUint32: (t, int) => int"},{"id":"Js.Typed_array.DataView.getUint32LittleEndian","kind":"value","name":"getUint32LittleEndian","docstrings":[],"signature":"let getUint32LittleEndian: (t, int) => int"},{"id":"Js.Typed_array.DataView.getFloat32","kind":"value","name":"getFloat32","docstrings":[],"signature":"let getFloat32: (t, int) => float"},{"id":"Js.Typed_array.DataView.getFloat32LittleEndian","kind":"value","name":"getFloat32LittleEndian","docstrings":[],"signature":"let getFloat32LittleEndian: (t, int) => float"},{"id":"Js.Typed_array.DataView.getFloat64","kind":"value","name":"getFloat64","docstrings":[],"signature":"let getFloat64: (t, int) => float"},{"id":"Js.Typed_array.DataView.getFloat64LittleEndian","kind":"value","name":"getFloat64LittleEndian","docstrings":[],"signature":"let getFloat64LittleEndian: (t, int) => float"},{"id":"Js.Typed_array.DataView.setInt8","kind":"value","name":"setInt8","docstrings":[],"signature":"let setInt8: (t, int, int) => unit"},{"id":"Js.Typed_array.DataView.setUint8","kind":"value","name":"setUint8","docstrings":[],"signature":"let setUint8: (t, int, int) => unit"},{"id":"Js.Typed_array.DataView.setInt16","kind":"value","name":"setInt16","docstrings":[],"signature":"let setInt16: (t, int, int) => unit"},{"id":"Js.Typed_array.DataView.setInt16LittleEndian","kind":"value","name":"setInt16LittleEndian","docstrings":[],"signature":"let setInt16LittleEndian: (t, int, int) => unit"},{"id":"Js.Typed_array.DataView.setUint16","kind":"value","name":"setUint16","docstrings":[],"signature":"let setUint16: (t, int, int) => unit"},{"id":"Js.Typed_array.DataView.setUint16LittleEndian","kind":"value","name":"setUint16LittleEndian","docstrings":[],"signature":"let setUint16LittleEndian: (t, int, int) => unit"},{"id":"Js.Typed_array.DataView.setInt32","kind":"value","name":"setInt32","docstrings":[],"signature":"let setInt32: (t, int, int) => unit"},{"id":"Js.Typed_array.DataView.setInt32LittleEndian","kind":"value","name":"setInt32LittleEndian","docstrings":[],"signature":"let setInt32LittleEndian: (t, int, int) => unit"},{"id":"Js.Typed_array.DataView.setUint32","kind":"value","name":"setUint32","docstrings":[],"signature":"let setUint32: (t, int, int) => unit"},{"id":"Js.Typed_array.DataView.setUint32LittleEndian","kind":"value","name":"setUint32LittleEndian","docstrings":[],"signature":"let setUint32LittleEndian: (t, int, int) => unit"},{"id":"Js.Typed_array.DataView.setFloat32","kind":"value","name":"setFloat32","docstrings":[],"signature":"let setFloat32: (t, int, float) => unit"},{"id":"Js.Typed_array.DataView.setFloat32LittleEndian","kind":"value","name":"setFloat32LittleEndian","docstrings":[],"signature":"let setFloat32LittleEndian: (t, int, float) => unit"},{"id":"Js.Typed_array.DataView.setFloat64","kind":"value","name":"setFloat64","docstrings":[],"signature":"let setFloat64: (t, int, float) => unit"},{"id":"Js.Typed_array.DataView.setFloat64LittleEndian","kind":"value","name":"setFloat64LittleEndian","docstrings":[],"signature":"let setFloat64LittleEndian: (t, int, float) => unit"}]},"js/typed_array/float64_array":{"id":"Js.Typed_array.Float64_array","name":"Float64_array","docstrings":[],"items":[]},"js/typed_array/float64array":{"id":"Js.Typed_array.Float64Array","name":"Float64Array","docstrings":[],"items":[{"id":"Js.Typed_array.Float64Array.elt","kind":"type","name":"elt","docstrings":[""],"signature":"type elt = float"},{"id":"Js.Typed_array.Float64Array.typed_array","kind":"type","name":"typed_array","docstrings":[],"signature":"type typed_array<\\n 'a,\\n> = Js_typed_array2.Float64Array.typed_array<'a>"},{"id":"Js.Typed_array.Float64Array.t","kind":"type","name":"t","docstrings":[],"signature":"type t = typed_array"},{"id":"Js.Typed_array.Float64Array.unsafe_get","kind":"value","name":"unsafe_get","docstrings":[],"signature":"let unsafe_get: (t, int) => elt"},{"id":"Js.Typed_array.Float64Array.unsafe_set","kind":"value","name":"unsafe_set","docstrings":[],"signature":"let unsafe_set: (t, int, elt) => unit"},{"id":"Js.Typed_array.Float64Array.buffer","kind":"value","name":"buffer","docstrings":[],"signature":"let buffer: t => array_buffer"},{"id":"Js.Typed_array.Float64Array.byteLength","kind":"value","name":"byteLength","docstrings":[],"signature":"let byteLength: t => int"},{"id":"Js.Typed_array.Float64Array.byteOffset","kind":"value","name":"byteOffset","docstrings":[],"signature":"let byteOffset: t => int"},{"id":"Js.Typed_array.Float64Array.setArray","kind":"value","name":"setArray","docstrings":[],"signature":"let setArray: (array, t) => unit"},{"id":"Js.Typed_array.Float64Array.setArrayOffset","kind":"value","name":"setArrayOffset","docstrings":[],"signature":"let setArrayOffset: (array, int, t) => unit"},{"id":"Js.Typed_array.Float64Array.length","kind":"value","name":"length","docstrings":[],"signature":"let length: t => int"},{"id":"Js.Typed_array.Float64Array.copyWithin","kind":"value","name":"copyWithin","docstrings":[],"signature":"let copyWithin: (~to_: int, t) => t"},{"id":"Js.Typed_array.Float64Array.copyWithinFrom","kind":"value","name":"copyWithinFrom","docstrings":[],"signature":"let copyWithinFrom: (~to_: int, ~from: int, t) => t"},{"id":"Js.Typed_array.Float64Array.copyWithinFromRange","kind":"value","name":"copyWithinFromRange","docstrings":[],"signature":"let copyWithinFromRange: (~to_: int, ~start: int, ~end_: int, t) => t"},{"id":"Js.Typed_array.Float64Array.fillInPlace","kind":"value","name":"fillInPlace","docstrings":[],"signature":"let fillInPlace: (elt, t) => t"},{"id":"Js.Typed_array.Float64Array.fillFromInPlace","kind":"value","name":"fillFromInPlace","docstrings":[],"signature":"let fillFromInPlace: (elt, ~from: int, t) => t"},{"id":"Js.Typed_array.Float64Array.fillRangeInPlace","kind":"value","name":"fillRangeInPlace","docstrings":[],"signature":"let fillRangeInPlace: (elt, ~start: int, ~end_: int, t) => t"},{"id":"Js.Typed_array.Float64Array.reverseInPlace","kind":"value","name":"reverseInPlace","docstrings":[],"signature":"let reverseInPlace: t => t"},{"id":"Js.Typed_array.Float64Array.sortInPlace","kind":"value","name":"sortInPlace","docstrings":[],"signature":"let sortInPlace: t => t"},{"id":"Js.Typed_array.Float64Array.sortInPlaceWith","kind":"value","name":"sortInPlaceWith","docstrings":[],"signature":"let sortInPlaceWith: ((. elt, elt) => int, t) => t"},{"id":"Js.Typed_array.Float64Array.includes","kind":"value","name":"includes","docstrings":[],"signature":"let includes: (elt, t) => bool"},{"id":"Js.Typed_array.Float64Array.indexOf","kind":"value","name":"indexOf","docstrings":[],"signature":"let indexOf: (elt, t) => int"},{"id":"Js.Typed_array.Float64Array.indexOfFrom","kind":"value","name":"indexOfFrom","docstrings":[],"signature":"let indexOfFrom: (elt, ~from: int, t) => int"},{"id":"Js.Typed_array.Float64Array.join","kind":"value","name":"join","docstrings":[],"signature":"let join: t => string"},{"id":"Js.Typed_array.Float64Array.joinWith","kind":"value","name":"joinWith","docstrings":[],"signature":"let joinWith: (string, t) => string"},{"id":"Js.Typed_array.Float64Array.lastIndexOf","kind":"value","name":"lastIndexOf","docstrings":[],"signature":"let lastIndexOf: (elt, t) => int"},{"id":"Js.Typed_array.Float64Array.lastIndexOfFrom","kind":"value","name":"lastIndexOfFrom","docstrings":[],"signature":"let lastIndexOfFrom: (elt, ~from: int, t) => int"},{"id":"Js.Typed_array.Float64Array.slice","kind":"value","name":"slice","docstrings":[],"signature":"let slice: (~start: int, ~end_: int, t) => t"},{"id":"Js.Typed_array.Float64Array.copy","kind":"value","name":"copy","docstrings":[],"signature":"let copy: t => t"},{"id":"Js.Typed_array.Float64Array.sliceFrom","kind":"value","name":"sliceFrom","docstrings":[],"signature":"let sliceFrom: (int, t) => t"},{"id":"Js.Typed_array.Float64Array.subarray","kind":"value","name":"subarray","docstrings":[],"signature":"let subarray: (~start: int, ~end_: int, t) => t"},{"id":"Js.Typed_array.Float64Array.subarrayFrom","kind":"value","name":"subarrayFrom","docstrings":[],"signature":"let subarrayFrom: (int, t) => t"},{"id":"Js.Typed_array.Float64Array.toString","kind":"value","name":"toString","docstrings":[],"signature":"let toString: t => string"},{"id":"Js.Typed_array.Float64Array.toLocaleString","kind":"value","name":"toLocaleString","docstrings":[],"signature":"let toLocaleString: t => string"},{"id":"Js.Typed_array.Float64Array.every","kind":"value","name":"every","docstrings":[],"signature":"let every: ((. elt) => bool, t) => bool"},{"id":"Js.Typed_array.Float64Array.everyi","kind":"value","name":"everyi","docstrings":[],"signature":"let everyi: ((. elt, int) => bool, t) => bool"},{"id":"Js.Typed_array.Float64Array.filter","kind":"value","name":"filter","docstrings":[],"signature":"let filter: ((. elt) => bool, t) => t"},{"id":"Js.Typed_array.Float64Array.filteri","kind":"value","name":"filteri","docstrings":[],"signature":"let filteri: ((. elt, int) => bool, t) => t"},{"id":"Js.Typed_array.Float64Array.find","kind":"value","name":"find","docstrings":[],"signature":"let find: ((. elt) => bool, t) => Js.undefined"},{"id":"Js.Typed_array.Float64Array.findi","kind":"value","name":"findi","docstrings":[],"signature":"let findi: ((. elt, int) => bool, t) => Js.undefined"},{"id":"Js.Typed_array.Float64Array.findIndex","kind":"value","name":"findIndex","docstrings":[],"signature":"let findIndex: ((. elt) => bool, t) => int"},{"id":"Js.Typed_array.Float64Array.findIndexi","kind":"value","name":"findIndexi","docstrings":[],"signature":"let findIndexi: ((. elt, int) => bool, t) => int"},{"id":"Js.Typed_array.Float64Array.forEach","kind":"value","name":"forEach","docstrings":[],"signature":"let forEach: ((. elt) => unit, t) => unit"},{"id":"Js.Typed_array.Float64Array.forEachi","kind":"value","name":"forEachi","docstrings":[],"signature":"let forEachi: ((. elt, int) => unit, t) => unit"},{"id":"Js.Typed_array.Float64Array.map","kind":"value","name":"map","docstrings":[],"signature":"let map: ((. elt) => 'a, t) => typed_array<'a>"},{"id":"Js.Typed_array.Float64Array.mapi","kind":"value","name":"mapi","docstrings":[],"signature":"let mapi: ((. elt, int) => 'a, t) => typed_array<'a>"},{"id":"Js.Typed_array.Float64Array.reduce","kind":"value","name":"reduce","docstrings":[],"signature":"let reduce: ((. 'a, elt) => 'a, 'a, t) => 'a"},{"id":"Js.Typed_array.Float64Array.reducei","kind":"value","name":"reducei","docstrings":[],"signature":"let reducei: ((. 'a, elt, int) => 'a, 'a, t) => 'a"},{"id":"Js.Typed_array.Float64Array.reduceRight","kind":"value","name":"reduceRight","docstrings":[],"signature":"let reduceRight: ((. 'a, elt) => 'a, 'a, t) => 'a"},{"id":"Js.Typed_array.Float64Array.reduceRighti","kind":"value","name":"reduceRighti","docstrings":[],"signature":"let reduceRighti: ((. 'a, elt, int) => 'a, 'a, t) => 'a"},{"id":"Js.Typed_array.Float64Array.some","kind":"value","name":"some","docstrings":[],"signature":"let some: ((. elt) => bool, t) => bool"},{"id":"Js.Typed_array.Float64Array.somei","kind":"value","name":"somei","docstrings":[],"signature":"let somei: ((. elt, int) => bool, t) => bool"},{"id":"Js.Typed_array.Float64Array._BYTES_PER_ELEMENT","kind":"value","name":"_BYTES_PER_ELEMENT","docstrings":[],"signature":"let _BYTES_PER_ELEMENT: int"},{"id":"Js.Typed_array.Float64Array.make","kind":"value","name":"make","docstrings":[],"signature":"let make: array => t"},{"id":"Js.Typed_array.Float64Array.fromBuffer","kind":"value","name":"fromBuffer","docstrings":["can throw"],"signature":"let fromBuffer: array_buffer => t"},{"id":"Js.Typed_array.Float64Array.fromBufferOffset","kind":"value","name":"fromBufferOffset","docstrings":["**raise** Js.Exn.Error raise Js exception\n\n **param** offset is in bytes"],"signature":"let fromBufferOffset: (array_buffer, int) => t"},{"id":"Js.Typed_array.Float64Array.fromBufferRange","kind":"value","name":"fromBufferRange","docstrings":["**raise** Js.Exn.Error raises Js exception\n\n **param** offset is in bytes, length in elements"],"signature":"let fromBufferRange: (array_buffer, ~offset: int, ~length: int) => t"},{"id":"Js.Typed_array.Float64Array.fromLength","kind":"value","name":"fromLength","docstrings":[],"signature":"let fromLength: int => t"},{"id":"Js.Typed_array.Float64Array.from","kind":"value","name":"from","docstrings":[],"signature":"let from: array_like => t"},{"id":"Js.Typed_array.Float64Array.create","kind":"value","name":"create","docstrings":[],"signature":"let create: array => t"},{"id":"Js.Typed_array.Float64Array.of_buffer","kind":"value","name":"of_buffer","docstrings":[],"signature":"let of_buffer: array_buffer => t"}]},"js/typed_array/float32_array":{"id":"Js.Typed_array.Float32_array","name":"Float32_array","docstrings":[],"items":[]},"js/typed_array/float32array":{"id":"Js.Typed_array.Float32Array","name":"Float32Array","docstrings":[],"items":[{"id":"Js.Typed_array.Float32Array.elt","kind":"type","name":"elt","docstrings":[""],"signature":"type elt = float"},{"id":"Js.Typed_array.Float32Array.typed_array","kind":"type","name":"typed_array","docstrings":[],"signature":"type typed_array<\\n 'a,\\n> = Js_typed_array2.Float32Array.typed_array<'a>"},{"id":"Js.Typed_array.Float32Array.t","kind":"type","name":"t","docstrings":[],"signature":"type t = typed_array"},{"id":"Js.Typed_array.Float32Array.unsafe_get","kind":"value","name":"unsafe_get","docstrings":[],"signature":"let unsafe_get: (t, int) => elt"},{"id":"Js.Typed_array.Float32Array.unsafe_set","kind":"value","name":"unsafe_set","docstrings":[],"signature":"let unsafe_set: (t, int, elt) => unit"},{"id":"Js.Typed_array.Float32Array.buffer","kind":"value","name":"buffer","docstrings":[],"signature":"let buffer: t => array_buffer"},{"id":"Js.Typed_array.Float32Array.byteLength","kind":"value","name":"byteLength","docstrings":[],"signature":"let byteLength: t => int"},{"id":"Js.Typed_array.Float32Array.byteOffset","kind":"value","name":"byteOffset","docstrings":[],"signature":"let byteOffset: t => int"},{"id":"Js.Typed_array.Float32Array.setArray","kind":"value","name":"setArray","docstrings":[],"signature":"let setArray: (array, t) => unit"},{"id":"Js.Typed_array.Float32Array.setArrayOffset","kind":"value","name":"setArrayOffset","docstrings":[],"signature":"let setArrayOffset: (array, int, t) => unit"},{"id":"Js.Typed_array.Float32Array.length","kind":"value","name":"length","docstrings":[],"signature":"let length: t => int"},{"id":"Js.Typed_array.Float32Array.copyWithin","kind":"value","name":"copyWithin","docstrings":[],"signature":"let copyWithin: (~to_: int, t) => t"},{"id":"Js.Typed_array.Float32Array.copyWithinFrom","kind":"value","name":"copyWithinFrom","docstrings":[],"signature":"let copyWithinFrom: (~to_: int, ~from: int, t) => t"},{"id":"Js.Typed_array.Float32Array.copyWithinFromRange","kind":"value","name":"copyWithinFromRange","docstrings":[],"signature":"let copyWithinFromRange: (~to_: int, ~start: int, ~end_: int, t) => t"},{"id":"Js.Typed_array.Float32Array.fillInPlace","kind":"value","name":"fillInPlace","docstrings":[],"signature":"let fillInPlace: (elt, t) => t"},{"id":"Js.Typed_array.Float32Array.fillFromInPlace","kind":"value","name":"fillFromInPlace","docstrings":[],"signature":"let fillFromInPlace: (elt, ~from: int, t) => t"},{"id":"Js.Typed_array.Float32Array.fillRangeInPlace","kind":"value","name":"fillRangeInPlace","docstrings":[],"signature":"let fillRangeInPlace: (elt, ~start: int, ~end_: int, t) => t"},{"id":"Js.Typed_array.Float32Array.reverseInPlace","kind":"value","name":"reverseInPlace","docstrings":[],"signature":"let reverseInPlace: t => t"},{"id":"Js.Typed_array.Float32Array.sortInPlace","kind":"value","name":"sortInPlace","docstrings":[],"signature":"let sortInPlace: t => t"},{"id":"Js.Typed_array.Float32Array.sortInPlaceWith","kind":"value","name":"sortInPlaceWith","docstrings":[],"signature":"let sortInPlaceWith: ((. elt, elt) => int, t) => t"},{"id":"Js.Typed_array.Float32Array.includes","kind":"value","name":"includes","docstrings":[],"signature":"let includes: (elt, t) => bool"},{"id":"Js.Typed_array.Float32Array.indexOf","kind":"value","name":"indexOf","docstrings":[],"signature":"let indexOf: (elt, t) => int"},{"id":"Js.Typed_array.Float32Array.indexOfFrom","kind":"value","name":"indexOfFrom","docstrings":[],"signature":"let indexOfFrom: (elt, ~from: int, t) => int"},{"id":"Js.Typed_array.Float32Array.join","kind":"value","name":"join","docstrings":[],"signature":"let join: t => string"},{"id":"Js.Typed_array.Float32Array.joinWith","kind":"value","name":"joinWith","docstrings":[],"signature":"let joinWith: (string, t) => string"},{"id":"Js.Typed_array.Float32Array.lastIndexOf","kind":"value","name":"lastIndexOf","docstrings":[],"signature":"let lastIndexOf: (elt, t) => int"},{"id":"Js.Typed_array.Float32Array.lastIndexOfFrom","kind":"value","name":"lastIndexOfFrom","docstrings":[],"signature":"let lastIndexOfFrom: (elt, ~from: int, t) => int"},{"id":"Js.Typed_array.Float32Array.slice","kind":"value","name":"slice","docstrings":[],"signature":"let slice: (~start: int, ~end_: int, t) => t"},{"id":"Js.Typed_array.Float32Array.copy","kind":"value","name":"copy","docstrings":[],"signature":"let copy: t => t"},{"id":"Js.Typed_array.Float32Array.sliceFrom","kind":"value","name":"sliceFrom","docstrings":[],"signature":"let sliceFrom: (int, t) => t"},{"id":"Js.Typed_array.Float32Array.subarray","kind":"value","name":"subarray","docstrings":[],"signature":"let subarray: (~start: int, ~end_: int, t) => t"},{"id":"Js.Typed_array.Float32Array.subarrayFrom","kind":"value","name":"subarrayFrom","docstrings":[],"signature":"let subarrayFrom: (int, t) => t"},{"id":"Js.Typed_array.Float32Array.toString","kind":"value","name":"toString","docstrings":[],"signature":"let toString: t => string"},{"id":"Js.Typed_array.Float32Array.toLocaleString","kind":"value","name":"toLocaleString","docstrings":[],"signature":"let toLocaleString: t => string"},{"id":"Js.Typed_array.Float32Array.every","kind":"value","name":"every","docstrings":[],"signature":"let every: ((. elt) => bool, t) => bool"},{"id":"Js.Typed_array.Float32Array.everyi","kind":"value","name":"everyi","docstrings":[],"signature":"let everyi: ((. elt, int) => bool, t) => bool"},{"id":"Js.Typed_array.Float32Array.filter","kind":"value","name":"filter","docstrings":[],"signature":"let filter: ((. elt) => bool, t) => t"},{"id":"Js.Typed_array.Float32Array.filteri","kind":"value","name":"filteri","docstrings":[],"signature":"let filteri: ((. elt, int) => bool, t) => t"},{"id":"Js.Typed_array.Float32Array.find","kind":"value","name":"find","docstrings":[],"signature":"let find: ((. elt) => bool, t) => Js.undefined"},{"id":"Js.Typed_array.Float32Array.findi","kind":"value","name":"findi","docstrings":[],"signature":"let findi: ((. elt, int) => bool, t) => Js.undefined"},{"id":"Js.Typed_array.Float32Array.findIndex","kind":"value","name":"findIndex","docstrings":[],"signature":"let findIndex: ((. elt) => bool, t) => int"},{"id":"Js.Typed_array.Float32Array.findIndexi","kind":"value","name":"findIndexi","docstrings":[],"signature":"let findIndexi: ((. elt, int) => bool, t) => int"},{"id":"Js.Typed_array.Float32Array.forEach","kind":"value","name":"forEach","docstrings":[],"signature":"let forEach: ((. elt) => unit, t) => unit"},{"id":"Js.Typed_array.Float32Array.forEachi","kind":"value","name":"forEachi","docstrings":[],"signature":"let forEachi: ((. elt, int) => unit, t) => unit"},{"id":"Js.Typed_array.Float32Array.map","kind":"value","name":"map","docstrings":[],"signature":"let map: ((. elt) => 'a, t) => typed_array<'a>"},{"id":"Js.Typed_array.Float32Array.mapi","kind":"value","name":"mapi","docstrings":[],"signature":"let mapi: ((. elt, int) => 'a, t) => typed_array<'a>"},{"id":"Js.Typed_array.Float32Array.reduce","kind":"value","name":"reduce","docstrings":[],"signature":"let reduce: ((. 'a, elt) => 'a, 'a, t) => 'a"},{"id":"Js.Typed_array.Float32Array.reducei","kind":"value","name":"reducei","docstrings":[],"signature":"let reducei: ((. 'a, elt, int) => 'a, 'a, t) => 'a"},{"id":"Js.Typed_array.Float32Array.reduceRight","kind":"value","name":"reduceRight","docstrings":[],"signature":"let reduceRight: ((. 'a, elt) => 'a, 'a, t) => 'a"},{"id":"Js.Typed_array.Float32Array.reduceRighti","kind":"value","name":"reduceRighti","docstrings":[],"signature":"let reduceRighti: ((. 'a, elt, int) => 'a, 'a, t) => 'a"},{"id":"Js.Typed_array.Float32Array.some","kind":"value","name":"some","docstrings":[],"signature":"let some: ((. elt) => bool, t) => bool"},{"id":"Js.Typed_array.Float32Array.somei","kind":"value","name":"somei","docstrings":[],"signature":"let somei: ((. elt, int) => bool, t) => bool"},{"id":"Js.Typed_array.Float32Array._BYTES_PER_ELEMENT","kind":"value","name":"_BYTES_PER_ELEMENT","docstrings":[],"signature":"let _BYTES_PER_ELEMENT: int"},{"id":"Js.Typed_array.Float32Array.make","kind":"value","name":"make","docstrings":[],"signature":"let make: array => t"},{"id":"Js.Typed_array.Float32Array.fromBuffer","kind":"value","name":"fromBuffer","docstrings":["can throw"],"signature":"let fromBuffer: array_buffer => t"},{"id":"Js.Typed_array.Float32Array.fromBufferOffset","kind":"value","name":"fromBufferOffset","docstrings":["**raise** Js.Exn.Error raise Js exception\n\n **param** offset is in bytes"],"signature":"let fromBufferOffset: (array_buffer, int) => t"},{"id":"Js.Typed_array.Float32Array.fromBufferRange","kind":"value","name":"fromBufferRange","docstrings":["**raise** Js.Exn.Error raises Js exception\n\n **param** offset is in bytes, length in elements"],"signature":"let fromBufferRange: (array_buffer, ~offset: int, ~length: int) => t"},{"id":"Js.Typed_array.Float32Array.fromLength","kind":"value","name":"fromLength","docstrings":[],"signature":"let fromLength: int => t"},{"id":"Js.Typed_array.Float32Array.from","kind":"value","name":"from","docstrings":[],"signature":"let from: array_like => t"},{"id":"Js.Typed_array.Float32Array.create","kind":"value","name":"create","docstrings":[],"signature":"let create: array => t"},{"id":"Js.Typed_array.Float32Array.of_buffer","kind":"value","name":"of_buffer","docstrings":[],"signature":"let of_buffer: array_buffer => t"}]},"js/typed_array/uint32array":{"id":"Js.Typed_array.Uint32Array","name":"Uint32Array","docstrings":[],"items":[{"id":"Js.Typed_array.Uint32Array.elt","kind":"type","name":"elt","docstrings":[""],"signature":"type elt = int"},{"id":"Js.Typed_array.Uint32Array.typed_array","kind":"type","name":"typed_array","docstrings":[],"signature":"type typed_array<\\n 'a,\\n> = Js_typed_array2.Uint32Array.typed_array<'a>"},{"id":"Js.Typed_array.Uint32Array.t","kind":"type","name":"t","docstrings":[],"signature":"type t = typed_array"},{"id":"Js.Typed_array.Uint32Array.unsafe_get","kind":"value","name":"unsafe_get","docstrings":[],"signature":"let unsafe_get: (t, int) => elt"},{"id":"Js.Typed_array.Uint32Array.unsafe_set","kind":"value","name":"unsafe_set","docstrings":[],"signature":"let unsafe_set: (t, int, elt) => unit"},{"id":"Js.Typed_array.Uint32Array.buffer","kind":"value","name":"buffer","docstrings":[],"signature":"let buffer: t => array_buffer"},{"id":"Js.Typed_array.Uint32Array.byteLength","kind":"value","name":"byteLength","docstrings":[],"signature":"let byteLength: t => int"},{"id":"Js.Typed_array.Uint32Array.byteOffset","kind":"value","name":"byteOffset","docstrings":[],"signature":"let byteOffset: t => int"},{"id":"Js.Typed_array.Uint32Array.setArray","kind":"value","name":"setArray","docstrings":[],"signature":"let setArray: (array, t) => unit"},{"id":"Js.Typed_array.Uint32Array.setArrayOffset","kind":"value","name":"setArrayOffset","docstrings":[],"signature":"let setArrayOffset: (array, int, t) => unit"},{"id":"Js.Typed_array.Uint32Array.length","kind":"value","name":"length","docstrings":[],"signature":"let length: t => int"},{"id":"Js.Typed_array.Uint32Array.copyWithin","kind":"value","name":"copyWithin","docstrings":[],"signature":"let copyWithin: (~to_: int, t) => t"},{"id":"Js.Typed_array.Uint32Array.copyWithinFrom","kind":"value","name":"copyWithinFrom","docstrings":[],"signature":"let copyWithinFrom: (~to_: int, ~from: int, t) => t"},{"id":"Js.Typed_array.Uint32Array.copyWithinFromRange","kind":"value","name":"copyWithinFromRange","docstrings":[],"signature":"let copyWithinFromRange: (~to_: int, ~start: int, ~end_: int, t) => t"},{"id":"Js.Typed_array.Uint32Array.fillInPlace","kind":"value","name":"fillInPlace","docstrings":[],"signature":"let fillInPlace: (elt, t) => t"},{"id":"Js.Typed_array.Uint32Array.fillFromInPlace","kind":"value","name":"fillFromInPlace","docstrings":[],"signature":"let fillFromInPlace: (elt, ~from: int, t) => t"},{"id":"Js.Typed_array.Uint32Array.fillRangeInPlace","kind":"value","name":"fillRangeInPlace","docstrings":[],"signature":"let fillRangeInPlace: (elt, ~start: int, ~end_: int, t) => t"},{"id":"Js.Typed_array.Uint32Array.reverseInPlace","kind":"value","name":"reverseInPlace","docstrings":[],"signature":"let reverseInPlace: t => t"},{"id":"Js.Typed_array.Uint32Array.sortInPlace","kind":"value","name":"sortInPlace","docstrings":[],"signature":"let sortInPlace: t => t"},{"id":"Js.Typed_array.Uint32Array.sortInPlaceWith","kind":"value","name":"sortInPlaceWith","docstrings":[],"signature":"let sortInPlaceWith: ((. elt, elt) => int, t) => t"},{"id":"Js.Typed_array.Uint32Array.includes","kind":"value","name":"includes","docstrings":[],"signature":"let includes: (elt, t) => bool"},{"id":"Js.Typed_array.Uint32Array.indexOf","kind":"value","name":"indexOf","docstrings":[],"signature":"let indexOf: (elt, t) => int"},{"id":"Js.Typed_array.Uint32Array.indexOfFrom","kind":"value","name":"indexOfFrom","docstrings":[],"signature":"let indexOfFrom: (elt, ~from: int, t) => int"},{"id":"Js.Typed_array.Uint32Array.join","kind":"value","name":"join","docstrings":[],"signature":"let join: t => string"},{"id":"Js.Typed_array.Uint32Array.joinWith","kind":"value","name":"joinWith","docstrings":[],"signature":"let joinWith: (string, t) => string"},{"id":"Js.Typed_array.Uint32Array.lastIndexOf","kind":"value","name":"lastIndexOf","docstrings":[],"signature":"let lastIndexOf: (elt, t) => int"},{"id":"Js.Typed_array.Uint32Array.lastIndexOfFrom","kind":"value","name":"lastIndexOfFrom","docstrings":[],"signature":"let lastIndexOfFrom: (elt, ~from: int, t) => int"},{"id":"Js.Typed_array.Uint32Array.slice","kind":"value","name":"slice","docstrings":[],"signature":"let slice: (~start: int, ~end_: int, t) => t"},{"id":"Js.Typed_array.Uint32Array.copy","kind":"value","name":"copy","docstrings":[],"signature":"let copy: t => t"},{"id":"Js.Typed_array.Uint32Array.sliceFrom","kind":"value","name":"sliceFrom","docstrings":[],"signature":"let sliceFrom: (int, t) => t"},{"id":"Js.Typed_array.Uint32Array.subarray","kind":"value","name":"subarray","docstrings":[],"signature":"let subarray: (~start: int, ~end_: int, t) => t"},{"id":"Js.Typed_array.Uint32Array.subarrayFrom","kind":"value","name":"subarrayFrom","docstrings":[],"signature":"let subarrayFrom: (int, t) => t"},{"id":"Js.Typed_array.Uint32Array.toString","kind":"value","name":"toString","docstrings":[],"signature":"let toString: t => string"},{"id":"Js.Typed_array.Uint32Array.toLocaleString","kind":"value","name":"toLocaleString","docstrings":[],"signature":"let toLocaleString: t => string"},{"id":"Js.Typed_array.Uint32Array.every","kind":"value","name":"every","docstrings":[],"signature":"let every: ((. elt) => bool, t) => bool"},{"id":"Js.Typed_array.Uint32Array.everyi","kind":"value","name":"everyi","docstrings":[],"signature":"let everyi: ((. elt, int) => bool, t) => bool"},{"id":"Js.Typed_array.Uint32Array.filter","kind":"value","name":"filter","docstrings":[],"signature":"let filter: ((. elt) => bool, t) => t"},{"id":"Js.Typed_array.Uint32Array.filteri","kind":"value","name":"filteri","docstrings":[],"signature":"let filteri: ((. elt, int) => bool, t) => t"},{"id":"Js.Typed_array.Uint32Array.find","kind":"value","name":"find","docstrings":[],"signature":"let find: ((. elt) => bool, t) => Js.undefined"},{"id":"Js.Typed_array.Uint32Array.findi","kind":"value","name":"findi","docstrings":[],"signature":"let findi: ((. elt, int) => bool, t) => Js.undefined"},{"id":"Js.Typed_array.Uint32Array.findIndex","kind":"value","name":"findIndex","docstrings":[],"signature":"let findIndex: ((. elt) => bool, t) => int"},{"id":"Js.Typed_array.Uint32Array.findIndexi","kind":"value","name":"findIndexi","docstrings":[],"signature":"let findIndexi: ((. elt, int) => bool, t) => int"},{"id":"Js.Typed_array.Uint32Array.forEach","kind":"value","name":"forEach","docstrings":[],"signature":"let forEach: ((. elt) => unit, t) => unit"},{"id":"Js.Typed_array.Uint32Array.forEachi","kind":"value","name":"forEachi","docstrings":[],"signature":"let forEachi: ((. elt, int) => unit, t) => unit"},{"id":"Js.Typed_array.Uint32Array.map","kind":"value","name":"map","docstrings":[],"signature":"let map: ((. elt) => 'a, t) => typed_array<'a>"},{"id":"Js.Typed_array.Uint32Array.mapi","kind":"value","name":"mapi","docstrings":[],"signature":"let mapi: ((. elt, int) => 'a, t) => typed_array<'a>"},{"id":"Js.Typed_array.Uint32Array.reduce","kind":"value","name":"reduce","docstrings":[],"signature":"let reduce: ((. 'a, elt) => 'a, 'a, t) => 'a"},{"id":"Js.Typed_array.Uint32Array.reducei","kind":"value","name":"reducei","docstrings":[],"signature":"let reducei: ((. 'a, elt, int) => 'a, 'a, t) => 'a"},{"id":"Js.Typed_array.Uint32Array.reduceRight","kind":"value","name":"reduceRight","docstrings":[],"signature":"let reduceRight: ((. 'a, elt) => 'a, 'a, t) => 'a"},{"id":"Js.Typed_array.Uint32Array.reduceRighti","kind":"value","name":"reduceRighti","docstrings":[],"signature":"let reduceRighti: ((. 'a, elt, int) => 'a, 'a, t) => 'a"},{"id":"Js.Typed_array.Uint32Array.some","kind":"value","name":"some","docstrings":[],"signature":"let some: ((. elt) => bool, t) => bool"},{"id":"Js.Typed_array.Uint32Array.somei","kind":"value","name":"somei","docstrings":[],"signature":"let somei: ((. elt, int) => bool, t) => bool"},{"id":"Js.Typed_array.Uint32Array._BYTES_PER_ELEMENT","kind":"value","name":"_BYTES_PER_ELEMENT","docstrings":[],"signature":"let _BYTES_PER_ELEMENT: int"},{"id":"Js.Typed_array.Uint32Array.make","kind":"value","name":"make","docstrings":[],"signature":"let make: array => t"},{"id":"Js.Typed_array.Uint32Array.fromBuffer","kind":"value","name":"fromBuffer","docstrings":["can throw"],"signature":"let fromBuffer: array_buffer => t"},{"id":"Js.Typed_array.Uint32Array.fromBufferOffset","kind":"value","name":"fromBufferOffset","docstrings":["**raise** Js.Exn.Error raise Js exception\n\n **param** offset is in bytes"],"signature":"let fromBufferOffset: (array_buffer, int) => t"},{"id":"Js.Typed_array.Uint32Array.fromBufferRange","kind":"value","name":"fromBufferRange","docstrings":["**raise** Js.Exn.Error raises Js exception\n\n **param** offset is in bytes, length in elements"],"signature":"let fromBufferRange: (array_buffer, ~offset: int, ~length: int) => t"},{"id":"Js.Typed_array.Uint32Array.fromLength","kind":"value","name":"fromLength","docstrings":[],"signature":"let fromLength: int => t"},{"id":"Js.Typed_array.Uint32Array.from","kind":"value","name":"from","docstrings":[],"signature":"let from: array_like => t"}]},"js/typed_array/int32_array":{"id":"Js.Typed_array.Int32_array","name":"Int32_array","docstrings":[],"items":[]},"js/typed_array/int32array":{"id":"Js.Typed_array.Int32Array","name":"Int32Array","docstrings":[],"items":[{"id":"Js.Typed_array.Int32Array.elt","kind":"type","name":"elt","docstrings":[""],"signature":"type elt = int"},{"id":"Js.Typed_array.Int32Array.typed_array","kind":"type","name":"typed_array","docstrings":[],"signature":"type typed_array<\\n 'a,\\n> = Js_typed_array2.Int32Array.typed_array<'a>"},{"id":"Js.Typed_array.Int32Array.t","kind":"type","name":"t","docstrings":[],"signature":"type t = typed_array"},{"id":"Js.Typed_array.Int32Array.unsafe_get","kind":"value","name":"unsafe_get","docstrings":[],"signature":"let unsafe_get: (t, int) => elt"},{"id":"Js.Typed_array.Int32Array.unsafe_set","kind":"value","name":"unsafe_set","docstrings":[],"signature":"let unsafe_set: (t, int, elt) => unit"},{"id":"Js.Typed_array.Int32Array.buffer","kind":"value","name":"buffer","docstrings":[],"signature":"let buffer: t => array_buffer"},{"id":"Js.Typed_array.Int32Array.byteLength","kind":"value","name":"byteLength","docstrings":[],"signature":"let byteLength: t => int"},{"id":"Js.Typed_array.Int32Array.byteOffset","kind":"value","name":"byteOffset","docstrings":[],"signature":"let byteOffset: t => int"},{"id":"Js.Typed_array.Int32Array.setArray","kind":"value","name":"setArray","docstrings":[],"signature":"let setArray: (array, t) => unit"},{"id":"Js.Typed_array.Int32Array.setArrayOffset","kind":"value","name":"setArrayOffset","docstrings":[],"signature":"let setArrayOffset: (array, int, t) => unit"},{"id":"Js.Typed_array.Int32Array.length","kind":"value","name":"length","docstrings":[],"signature":"let length: t => int"},{"id":"Js.Typed_array.Int32Array.copyWithin","kind":"value","name":"copyWithin","docstrings":[],"signature":"let copyWithin: (~to_: int, t) => t"},{"id":"Js.Typed_array.Int32Array.copyWithinFrom","kind":"value","name":"copyWithinFrom","docstrings":[],"signature":"let copyWithinFrom: (~to_: int, ~from: int, t) => t"},{"id":"Js.Typed_array.Int32Array.copyWithinFromRange","kind":"value","name":"copyWithinFromRange","docstrings":[],"signature":"let copyWithinFromRange: (~to_: int, ~start: int, ~end_: int, t) => t"},{"id":"Js.Typed_array.Int32Array.fillInPlace","kind":"value","name":"fillInPlace","docstrings":[],"signature":"let fillInPlace: (elt, t) => t"},{"id":"Js.Typed_array.Int32Array.fillFromInPlace","kind":"value","name":"fillFromInPlace","docstrings":[],"signature":"let fillFromInPlace: (elt, ~from: int, t) => t"},{"id":"Js.Typed_array.Int32Array.fillRangeInPlace","kind":"value","name":"fillRangeInPlace","docstrings":[],"signature":"let fillRangeInPlace: (elt, ~start: int, ~end_: int, t) => t"},{"id":"Js.Typed_array.Int32Array.reverseInPlace","kind":"value","name":"reverseInPlace","docstrings":[],"signature":"let reverseInPlace: t => t"},{"id":"Js.Typed_array.Int32Array.sortInPlace","kind":"value","name":"sortInPlace","docstrings":[],"signature":"let sortInPlace: t => t"},{"id":"Js.Typed_array.Int32Array.sortInPlaceWith","kind":"value","name":"sortInPlaceWith","docstrings":[],"signature":"let sortInPlaceWith: ((. elt, elt) => int, t) => t"},{"id":"Js.Typed_array.Int32Array.includes","kind":"value","name":"includes","docstrings":[],"signature":"let includes: (elt, t) => bool"},{"id":"Js.Typed_array.Int32Array.indexOf","kind":"value","name":"indexOf","docstrings":[],"signature":"let indexOf: (elt, t) => int"},{"id":"Js.Typed_array.Int32Array.indexOfFrom","kind":"value","name":"indexOfFrom","docstrings":[],"signature":"let indexOfFrom: (elt, ~from: int, t) => int"},{"id":"Js.Typed_array.Int32Array.join","kind":"value","name":"join","docstrings":[],"signature":"let join: t => string"},{"id":"Js.Typed_array.Int32Array.joinWith","kind":"value","name":"joinWith","docstrings":[],"signature":"let joinWith: (string, t) => string"},{"id":"Js.Typed_array.Int32Array.lastIndexOf","kind":"value","name":"lastIndexOf","docstrings":[],"signature":"let lastIndexOf: (elt, t) => int"},{"id":"Js.Typed_array.Int32Array.lastIndexOfFrom","kind":"value","name":"lastIndexOfFrom","docstrings":[],"signature":"let lastIndexOfFrom: (elt, ~from: int, t) => int"},{"id":"Js.Typed_array.Int32Array.slice","kind":"value","name":"slice","docstrings":[],"signature":"let slice: (~start: int, ~end_: int, t) => t"},{"id":"Js.Typed_array.Int32Array.copy","kind":"value","name":"copy","docstrings":[],"signature":"let copy: t => t"},{"id":"Js.Typed_array.Int32Array.sliceFrom","kind":"value","name":"sliceFrom","docstrings":[],"signature":"let sliceFrom: (int, t) => t"},{"id":"Js.Typed_array.Int32Array.subarray","kind":"value","name":"subarray","docstrings":[],"signature":"let subarray: (~start: int, ~end_: int, t) => t"},{"id":"Js.Typed_array.Int32Array.subarrayFrom","kind":"value","name":"subarrayFrom","docstrings":[],"signature":"let subarrayFrom: (int, t) => t"},{"id":"Js.Typed_array.Int32Array.toString","kind":"value","name":"toString","docstrings":[],"signature":"let toString: t => string"},{"id":"Js.Typed_array.Int32Array.toLocaleString","kind":"value","name":"toLocaleString","docstrings":[],"signature":"let toLocaleString: t => string"},{"id":"Js.Typed_array.Int32Array.every","kind":"value","name":"every","docstrings":[],"signature":"let every: ((. elt) => bool, t) => bool"},{"id":"Js.Typed_array.Int32Array.everyi","kind":"value","name":"everyi","docstrings":[],"signature":"let everyi: ((. elt, int) => bool, t) => bool"},{"id":"Js.Typed_array.Int32Array.filter","kind":"value","name":"filter","docstrings":[],"signature":"let filter: ((. elt) => bool, t) => t"},{"id":"Js.Typed_array.Int32Array.filteri","kind":"value","name":"filteri","docstrings":[],"signature":"let filteri: ((. elt, int) => bool, t) => t"},{"id":"Js.Typed_array.Int32Array.find","kind":"value","name":"find","docstrings":[],"signature":"let find: ((. elt) => bool, t) => Js.undefined"},{"id":"Js.Typed_array.Int32Array.findi","kind":"value","name":"findi","docstrings":[],"signature":"let findi: ((. elt, int) => bool, t) => Js.undefined"},{"id":"Js.Typed_array.Int32Array.findIndex","kind":"value","name":"findIndex","docstrings":[],"signature":"let findIndex: ((. elt) => bool, t) => int"},{"id":"Js.Typed_array.Int32Array.findIndexi","kind":"value","name":"findIndexi","docstrings":[],"signature":"let findIndexi: ((. elt, int) => bool, t) => int"},{"id":"Js.Typed_array.Int32Array.forEach","kind":"value","name":"forEach","docstrings":[],"signature":"let forEach: ((. elt) => unit, t) => unit"},{"id":"Js.Typed_array.Int32Array.forEachi","kind":"value","name":"forEachi","docstrings":[],"signature":"let forEachi: ((. elt, int) => unit, t) => unit"},{"id":"Js.Typed_array.Int32Array.map","kind":"value","name":"map","docstrings":[],"signature":"let map: ((. elt) => 'a, t) => typed_array<'a>"},{"id":"Js.Typed_array.Int32Array.mapi","kind":"value","name":"mapi","docstrings":[],"signature":"let mapi: ((. elt, int) => 'a, t) => typed_array<'a>"},{"id":"Js.Typed_array.Int32Array.reduce","kind":"value","name":"reduce","docstrings":[],"signature":"let reduce: ((. 'a, elt) => 'a, 'a, t) => 'a"},{"id":"Js.Typed_array.Int32Array.reducei","kind":"value","name":"reducei","docstrings":[],"signature":"let reducei: ((. 'a, elt, int) => 'a, 'a, t) => 'a"},{"id":"Js.Typed_array.Int32Array.reduceRight","kind":"value","name":"reduceRight","docstrings":[],"signature":"let reduceRight: ((. 'a, elt) => 'a, 'a, t) => 'a"},{"id":"Js.Typed_array.Int32Array.reduceRighti","kind":"value","name":"reduceRighti","docstrings":[],"signature":"let reduceRighti: ((. 'a, elt, int) => 'a, 'a, t) => 'a"},{"id":"Js.Typed_array.Int32Array.some","kind":"value","name":"some","docstrings":[],"signature":"let some: ((. elt) => bool, t) => bool"},{"id":"Js.Typed_array.Int32Array.somei","kind":"value","name":"somei","docstrings":[],"signature":"let somei: ((. elt, int) => bool, t) => bool"},{"id":"Js.Typed_array.Int32Array._BYTES_PER_ELEMENT","kind":"value","name":"_BYTES_PER_ELEMENT","docstrings":[],"signature":"let _BYTES_PER_ELEMENT: int"},{"id":"Js.Typed_array.Int32Array.make","kind":"value","name":"make","docstrings":[],"signature":"let make: array => t"},{"id":"Js.Typed_array.Int32Array.fromBuffer","kind":"value","name":"fromBuffer","docstrings":["can throw"],"signature":"let fromBuffer: array_buffer => t"},{"id":"Js.Typed_array.Int32Array.fromBufferOffset","kind":"value","name":"fromBufferOffset","docstrings":["**raise** Js.Exn.Error raise Js exception\n\n **param** offset is in bytes"],"signature":"let fromBufferOffset: (array_buffer, int) => t"},{"id":"Js.Typed_array.Int32Array.fromBufferRange","kind":"value","name":"fromBufferRange","docstrings":["**raise** Js.Exn.Error raises Js exception\n\n **param** offset is in bytes, length in elements"],"signature":"let fromBufferRange: (array_buffer, ~offset: int, ~length: int) => t"},{"id":"Js.Typed_array.Int32Array.fromLength","kind":"value","name":"fromLength","docstrings":[],"signature":"let fromLength: int => t"},{"id":"Js.Typed_array.Int32Array.from","kind":"value","name":"from","docstrings":[],"signature":"let from: array_like => t"},{"id":"Js.Typed_array.Int32Array.create","kind":"value","name":"create","docstrings":[],"signature":"let create: array => t"},{"id":"Js.Typed_array.Int32Array.of_buffer","kind":"value","name":"of_buffer","docstrings":[],"signature":"let of_buffer: array_buffer => t"}]},"js/typed_array/uint16array":{"id":"Js.Typed_array.Uint16Array","name":"Uint16Array","docstrings":[],"items":[{"id":"Js.Typed_array.Uint16Array.elt","kind":"type","name":"elt","docstrings":[""],"signature":"type elt = int"},{"id":"Js.Typed_array.Uint16Array.typed_array","kind":"type","name":"typed_array","docstrings":[],"signature":"type typed_array<\\n 'a,\\n> = Js_typed_array2.Uint16Array.typed_array<'a>"},{"id":"Js.Typed_array.Uint16Array.t","kind":"type","name":"t","docstrings":[],"signature":"type t = typed_array"},{"id":"Js.Typed_array.Uint16Array.unsafe_get","kind":"value","name":"unsafe_get","docstrings":[],"signature":"let unsafe_get: (t, int) => elt"},{"id":"Js.Typed_array.Uint16Array.unsafe_set","kind":"value","name":"unsafe_set","docstrings":[],"signature":"let unsafe_set: (t, int, elt) => unit"},{"id":"Js.Typed_array.Uint16Array.buffer","kind":"value","name":"buffer","docstrings":[],"signature":"let buffer: t => array_buffer"},{"id":"Js.Typed_array.Uint16Array.byteLength","kind":"value","name":"byteLength","docstrings":[],"signature":"let byteLength: t => int"},{"id":"Js.Typed_array.Uint16Array.byteOffset","kind":"value","name":"byteOffset","docstrings":[],"signature":"let byteOffset: t => int"},{"id":"Js.Typed_array.Uint16Array.setArray","kind":"value","name":"setArray","docstrings":[],"signature":"let setArray: (array, t) => unit"},{"id":"Js.Typed_array.Uint16Array.setArrayOffset","kind":"value","name":"setArrayOffset","docstrings":[],"signature":"let setArrayOffset: (array, int, t) => unit"},{"id":"Js.Typed_array.Uint16Array.length","kind":"value","name":"length","docstrings":[],"signature":"let length: t => int"},{"id":"Js.Typed_array.Uint16Array.copyWithin","kind":"value","name":"copyWithin","docstrings":[],"signature":"let copyWithin: (~to_: int, t) => t"},{"id":"Js.Typed_array.Uint16Array.copyWithinFrom","kind":"value","name":"copyWithinFrom","docstrings":[],"signature":"let copyWithinFrom: (~to_: int, ~from: int, t) => t"},{"id":"Js.Typed_array.Uint16Array.copyWithinFromRange","kind":"value","name":"copyWithinFromRange","docstrings":[],"signature":"let copyWithinFromRange: (~to_: int, ~start: int, ~end_: int, t) => t"},{"id":"Js.Typed_array.Uint16Array.fillInPlace","kind":"value","name":"fillInPlace","docstrings":[],"signature":"let fillInPlace: (elt, t) => t"},{"id":"Js.Typed_array.Uint16Array.fillFromInPlace","kind":"value","name":"fillFromInPlace","docstrings":[],"signature":"let fillFromInPlace: (elt, ~from: int, t) => t"},{"id":"Js.Typed_array.Uint16Array.fillRangeInPlace","kind":"value","name":"fillRangeInPlace","docstrings":[],"signature":"let fillRangeInPlace: (elt, ~start: int, ~end_: int, t) => t"},{"id":"Js.Typed_array.Uint16Array.reverseInPlace","kind":"value","name":"reverseInPlace","docstrings":[],"signature":"let reverseInPlace: t => t"},{"id":"Js.Typed_array.Uint16Array.sortInPlace","kind":"value","name":"sortInPlace","docstrings":[],"signature":"let sortInPlace: t => t"},{"id":"Js.Typed_array.Uint16Array.sortInPlaceWith","kind":"value","name":"sortInPlaceWith","docstrings":[],"signature":"let sortInPlaceWith: ((. elt, elt) => int, t) => t"},{"id":"Js.Typed_array.Uint16Array.includes","kind":"value","name":"includes","docstrings":[],"signature":"let includes: (elt, t) => bool"},{"id":"Js.Typed_array.Uint16Array.indexOf","kind":"value","name":"indexOf","docstrings":[],"signature":"let indexOf: (elt, t) => int"},{"id":"Js.Typed_array.Uint16Array.indexOfFrom","kind":"value","name":"indexOfFrom","docstrings":[],"signature":"let indexOfFrom: (elt, ~from: int, t) => int"},{"id":"Js.Typed_array.Uint16Array.join","kind":"value","name":"join","docstrings":[],"signature":"let join: t => string"},{"id":"Js.Typed_array.Uint16Array.joinWith","kind":"value","name":"joinWith","docstrings":[],"signature":"let joinWith: (string, t) => string"},{"id":"Js.Typed_array.Uint16Array.lastIndexOf","kind":"value","name":"lastIndexOf","docstrings":[],"signature":"let lastIndexOf: (elt, t) => int"},{"id":"Js.Typed_array.Uint16Array.lastIndexOfFrom","kind":"value","name":"lastIndexOfFrom","docstrings":[],"signature":"let lastIndexOfFrom: (elt, ~from: int, t) => int"},{"id":"Js.Typed_array.Uint16Array.slice","kind":"value","name":"slice","docstrings":[],"signature":"let slice: (~start: int, ~end_: int, t) => t"},{"id":"Js.Typed_array.Uint16Array.copy","kind":"value","name":"copy","docstrings":[],"signature":"let copy: t => t"},{"id":"Js.Typed_array.Uint16Array.sliceFrom","kind":"value","name":"sliceFrom","docstrings":[],"signature":"let sliceFrom: (int, t) => t"},{"id":"Js.Typed_array.Uint16Array.subarray","kind":"value","name":"subarray","docstrings":[],"signature":"let subarray: (~start: int, ~end_: int, t) => t"},{"id":"Js.Typed_array.Uint16Array.subarrayFrom","kind":"value","name":"subarrayFrom","docstrings":[],"signature":"let subarrayFrom: (int, t) => t"},{"id":"Js.Typed_array.Uint16Array.toString","kind":"value","name":"toString","docstrings":[],"signature":"let toString: t => string"},{"id":"Js.Typed_array.Uint16Array.toLocaleString","kind":"value","name":"toLocaleString","docstrings":[],"signature":"let toLocaleString: t => string"},{"id":"Js.Typed_array.Uint16Array.every","kind":"value","name":"every","docstrings":[],"signature":"let every: ((. elt) => bool, t) => bool"},{"id":"Js.Typed_array.Uint16Array.everyi","kind":"value","name":"everyi","docstrings":[],"signature":"let everyi: ((. elt, int) => bool, t) => bool"},{"id":"Js.Typed_array.Uint16Array.filter","kind":"value","name":"filter","docstrings":[],"signature":"let filter: ((. elt) => bool, t) => t"},{"id":"Js.Typed_array.Uint16Array.filteri","kind":"value","name":"filteri","docstrings":[],"signature":"let filteri: ((. elt, int) => bool, t) => t"},{"id":"Js.Typed_array.Uint16Array.find","kind":"value","name":"find","docstrings":[],"signature":"let find: ((. elt) => bool, t) => Js.undefined"},{"id":"Js.Typed_array.Uint16Array.findi","kind":"value","name":"findi","docstrings":[],"signature":"let findi: ((. elt, int) => bool, t) => Js.undefined"},{"id":"Js.Typed_array.Uint16Array.findIndex","kind":"value","name":"findIndex","docstrings":[],"signature":"let findIndex: ((. elt) => bool, t) => int"},{"id":"Js.Typed_array.Uint16Array.findIndexi","kind":"value","name":"findIndexi","docstrings":[],"signature":"let findIndexi: ((. elt, int) => bool, t) => int"},{"id":"Js.Typed_array.Uint16Array.forEach","kind":"value","name":"forEach","docstrings":[],"signature":"let forEach: ((. elt) => unit, t) => unit"},{"id":"Js.Typed_array.Uint16Array.forEachi","kind":"value","name":"forEachi","docstrings":[],"signature":"let forEachi: ((. elt, int) => unit, t) => unit"},{"id":"Js.Typed_array.Uint16Array.map","kind":"value","name":"map","docstrings":[],"signature":"let map: ((. elt) => 'a, t) => typed_array<'a>"},{"id":"Js.Typed_array.Uint16Array.mapi","kind":"value","name":"mapi","docstrings":[],"signature":"let mapi: ((. elt, int) => 'a, t) => typed_array<'a>"},{"id":"Js.Typed_array.Uint16Array.reduce","kind":"value","name":"reduce","docstrings":[],"signature":"let reduce: ((. 'a, elt) => 'a, 'a, t) => 'a"},{"id":"Js.Typed_array.Uint16Array.reducei","kind":"value","name":"reducei","docstrings":[],"signature":"let reducei: ((. 'a, elt, int) => 'a, 'a, t) => 'a"},{"id":"Js.Typed_array.Uint16Array.reduceRight","kind":"value","name":"reduceRight","docstrings":[],"signature":"let reduceRight: ((. 'a, elt) => 'a, 'a, t) => 'a"},{"id":"Js.Typed_array.Uint16Array.reduceRighti","kind":"value","name":"reduceRighti","docstrings":[],"signature":"let reduceRighti: ((. 'a, elt, int) => 'a, 'a, t) => 'a"},{"id":"Js.Typed_array.Uint16Array.some","kind":"value","name":"some","docstrings":[],"signature":"let some: ((. elt) => bool, t) => bool"},{"id":"Js.Typed_array.Uint16Array.somei","kind":"value","name":"somei","docstrings":[],"signature":"let somei: ((. elt, int) => bool, t) => bool"},{"id":"Js.Typed_array.Uint16Array._BYTES_PER_ELEMENT","kind":"value","name":"_BYTES_PER_ELEMENT","docstrings":[],"signature":"let _BYTES_PER_ELEMENT: int"},{"id":"Js.Typed_array.Uint16Array.make","kind":"value","name":"make","docstrings":[],"signature":"let make: array => t"},{"id":"Js.Typed_array.Uint16Array.fromBuffer","kind":"value","name":"fromBuffer","docstrings":["can throw"],"signature":"let fromBuffer: array_buffer => t"},{"id":"Js.Typed_array.Uint16Array.fromBufferOffset","kind":"value","name":"fromBufferOffset","docstrings":["**raise** Js.Exn.Error raise Js exception\n\n **param** offset is in bytes"],"signature":"let fromBufferOffset: (array_buffer, int) => t"},{"id":"Js.Typed_array.Uint16Array.fromBufferRange","kind":"value","name":"fromBufferRange","docstrings":["**raise** Js.Exn.Error raises Js exception\n\n **param** offset is in bytes, length in elements"],"signature":"let fromBufferRange: (array_buffer, ~offset: int, ~length: int) => t"},{"id":"Js.Typed_array.Uint16Array.fromLength","kind":"value","name":"fromLength","docstrings":[],"signature":"let fromLength: int => t"},{"id":"Js.Typed_array.Uint16Array.from","kind":"value","name":"from","docstrings":[],"signature":"let from: array_like => t"}]},"js/typed_array/int16array":{"id":"Js.Typed_array.Int16Array","name":"Int16Array","docstrings":[],"items":[{"id":"Js.Typed_array.Int16Array.elt","kind":"type","name":"elt","docstrings":[""],"signature":"type elt = int"},{"id":"Js.Typed_array.Int16Array.typed_array","kind":"type","name":"typed_array","docstrings":[],"signature":"type typed_array<\\n 'a,\\n> = Js_typed_array2.Int16Array.typed_array<'a>"},{"id":"Js.Typed_array.Int16Array.t","kind":"type","name":"t","docstrings":[],"signature":"type t = typed_array"},{"id":"Js.Typed_array.Int16Array.unsafe_get","kind":"value","name":"unsafe_get","docstrings":[],"signature":"let unsafe_get: (t, int) => elt"},{"id":"Js.Typed_array.Int16Array.unsafe_set","kind":"value","name":"unsafe_set","docstrings":[],"signature":"let unsafe_set: (t, int, elt) => unit"},{"id":"Js.Typed_array.Int16Array.buffer","kind":"value","name":"buffer","docstrings":[],"signature":"let buffer: t => array_buffer"},{"id":"Js.Typed_array.Int16Array.byteLength","kind":"value","name":"byteLength","docstrings":[],"signature":"let byteLength: t => int"},{"id":"Js.Typed_array.Int16Array.byteOffset","kind":"value","name":"byteOffset","docstrings":[],"signature":"let byteOffset: t => int"},{"id":"Js.Typed_array.Int16Array.setArray","kind":"value","name":"setArray","docstrings":[],"signature":"let setArray: (array, t) => unit"},{"id":"Js.Typed_array.Int16Array.setArrayOffset","kind":"value","name":"setArrayOffset","docstrings":[],"signature":"let setArrayOffset: (array, int, t) => unit"},{"id":"Js.Typed_array.Int16Array.length","kind":"value","name":"length","docstrings":[],"signature":"let length: t => int"},{"id":"Js.Typed_array.Int16Array.copyWithin","kind":"value","name":"copyWithin","docstrings":[],"signature":"let copyWithin: (~to_: int, t) => t"},{"id":"Js.Typed_array.Int16Array.copyWithinFrom","kind":"value","name":"copyWithinFrom","docstrings":[],"signature":"let copyWithinFrom: (~to_: int, ~from: int, t) => t"},{"id":"Js.Typed_array.Int16Array.copyWithinFromRange","kind":"value","name":"copyWithinFromRange","docstrings":[],"signature":"let copyWithinFromRange: (~to_: int, ~start: int, ~end_: int, t) => t"},{"id":"Js.Typed_array.Int16Array.fillInPlace","kind":"value","name":"fillInPlace","docstrings":[],"signature":"let fillInPlace: (elt, t) => t"},{"id":"Js.Typed_array.Int16Array.fillFromInPlace","kind":"value","name":"fillFromInPlace","docstrings":[],"signature":"let fillFromInPlace: (elt, ~from: int, t) => t"},{"id":"Js.Typed_array.Int16Array.fillRangeInPlace","kind":"value","name":"fillRangeInPlace","docstrings":[],"signature":"let fillRangeInPlace: (elt, ~start: int, ~end_: int, t) => t"},{"id":"Js.Typed_array.Int16Array.reverseInPlace","kind":"value","name":"reverseInPlace","docstrings":[],"signature":"let reverseInPlace: t => t"},{"id":"Js.Typed_array.Int16Array.sortInPlace","kind":"value","name":"sortInPlace","docstrings":[],"signature":"let sortInPlace: t => t"},{"id":"Js.Typed_array.Int16Array.sortInPlaceWith","kind":"value","name":"sortInPlaceWith","docstrings":[],"signature":"let sortInPlaceWith: ((. elt, elt) => int, t) => t"},{"id":"Js.Typed_array.Int16Array.includes","kind":"value","name":"includes","docstrings":[],"signature":"let includes: (elt, t) => bool"},{"id":"Js.Typed_array.Int16Array.indexOf","kind":"value","name":"indexOf","docstrings":[],"signature":"let indexOf: (elt, t) => int"},{"id":"Js.Typed_array.Int16Array.indexOfFrom","kind":"value","name":"indexOfFrom","docstrings":[],"signature":"let indexOfFrom: (elt, ~from: int, t) => int"},{"id":"Js.Typed_array.Int16Array.join","kind":"value","name":"join","docstrings":[],"signature":"let join: t => string"},{"id":"Js.Typed_array.Int16Array.joinWith","kind":"value","name":"joinWith","docstrings":[],"signature":"let joinWith: (string, t) => string"},{"id":"Js.Typed_array.Int16Array.lastIndexOf","kind":"value","name":"lastIndexOf","docstrings":[],"signature":"let lastIndexOf: (elt, t) => int"},{"id":"Js.Typed_array.Int16Array.lastIndexOfFrom","kind":"value","name":"lastIndexOfFrom","docstrings":[],"signature":"let lastIndexOfFrom: (elt, ~from: int, t) => int"},{"id":"Js.Typed_array.Int16Array.slice","kind":"value","name":"slice","docstrings":[],"signature":"let slice: (~start: int, ~end_: int, t) => t"},{"id":"Js.Typed_array.Int16Array.copy","kind":"value","name":"copy","docstrings":[],"signature":"let copy: t => t"},{"id":"Js.Typed_array.Int16Array.sliceFrom","kind":"value","name":"sliceFrom","docstrings":[],"signature":"let sliceFrom: (int, t) => t"},{"id":"Js.Typed_array.Int16Array.subarray","kind":"value","name":"subarray","docstrings":[],"signature":"let subarray: (~start: int, ~end_: int, t) => t"},{"id":"Js.Typed_array.Int16Array.subarrayFrom","kind":"value","name":"subarrayFrom","docstrings":[],"signature":"let subarrayFrom: (int, t) => t"},{"id":"Js.Typed_array.Int16Array.toString","kind":"value","name":"toString","docstrings":[],"signature":"let toString: t => string"},{"id":"Js.Typed_array.Int16Array.toLocaleString","kind":"value","name":"toLocaleString","docstrings":[],"signature":"let toLocaleString: t => string"},{"id":"Js.Typed_array.Int16Array.every","kind":"value","name":"every","docstrings":[],"signature":"let every: ((. elt) => bool, t) => bool"},{"id":"Js.Typed_array.Int16Array.everyi","kind":"value","name":"everyi","docstrings":[],"signature":"let everyi: ((. elt, int) => bool, t) => bool"},{"id":"Js.Typed_array.Int16Array.filter","kind":"value","name":"filter","docstrings":[],"signature":"let filter: ((. elt) => bool, t) => t"},{"id":"Js.Typed_array.Int16Array.filteri","kind":"value","name":"filteri","docstrings":[],"signature":"let filteri: ((. elt, int) => bool, t) => t"},{"id":"Js.Typed_array.Int16Array.find","kind":"value","name":"find","docstrings":[],"signature":"let find: ((. elt) => bool, t) => Js.undefined"},{"id":"Js.Typed_array.Int16Array.findi","kind":"value","name":"findi","docstrings":[],"signature":"let findi: ((. elt, int) => bool, t) => Js.undefined"},{"id":"Js.Typed_array.Int16Array.findIndex","kind":"value","name":"findIndex","docstrings":[],"signature":"let findIndex: ((. elt) => bool, t) => int"},{"id":"Js.Typed_array.Int16Array.findIndexi","kind":"value","name":"findIndexi","docstrings":[],"signature":"let findIndexi: ((. elt, int) => bool, t) => int"},{"id":"Js.Typed_array.Int16Array.forEach","kind":"value","name":"forEach","docstrings":[],"signature":"let forEach: ((. elt) => unit, t) => unit"},{"id":"Js.Typed_array.Int16Array.forEachi","kind":"value","name":"forEachi","docstrings":[],"signature":"let forEachi: ((. elt, int) => unit, t) => unit"},{"id":"Js.Typed_array.Int16Array.map","kind":"value","name":"map","docstrings":[],"signature":"let map: ((. elt) => 'a, t) => typed_array<'a>"},{"id":"Js.Typed_array.Int16Array.mapi","kind":"value","name":"mapi","docstrings":[],"signature":"let mapi: ((. elt, int) => 'a, t) => typed_array<'a>"},{"id":"Js.Typed_array.Int16Array.reduce","kind":"value","name":"reduce","docstrings":[],"signature":"let reduce: ((. 'a, elt) => 'a, 'a, t) => 'a"},{"id":"Js.Typed_array.Int16Array.reducei","kind":"value","name":"reducei","docstrings":[],"signature":"let reducei: ((. 'a, elt, int) => 'a, 'a, t) => 'a"},{"id":"Js.Typed_array.Int16Array.reduceRight","kind":"value","name":"reduceRight","docstrings":[],"signature":"let reduceRight: ((. 'a, elt) => 'a, 'a, t) => 'a"},{"id":"Js.Typed_array.Int16Array.reduceRighti","kind":"value","name":"reduceRighti","docstrings":[],"signature":"let reduceRighti: ((. 'a, elt, int) => 'a, 'a, t) => 'a"},{"id":"Js.Typed_array.Int16Array.some","kind":"value","name":"some","docstrings":[],"signature":"let some: ((. elt) => bool, t) => bool"},{"id":"Js.Typed_array.Int16Array.somei","kind":"value","name":"somei","docstrings":[],"signature":"let somei: ((. elt, int) => bool, t) => bool"},{"id":"Js.Typed_array.Int16Array._BYTES_PER_ELEMENT","kind":"value","name":"_BYTES_PER_ELEMENT","docstrings":[],"signature":"let _BYTES_PER_ELEMENT: int"},{"id":"Js.Typed_array.Int16Array.make","kind":"value","name":"make","docstrings":[],"signature":"let make: array => t"},{"id":"Js.Typed_array.Int16Array.fromBuffer","kind":"value","name":"fromBuffer","docstrings":["can throw"],"signature":"let fromBuffer: array_buffer => t"},{"id":"Js.Typed_array.Int16Array.fromBufferOffset","kind":"value","name":"fromBufferOffset","docstrings":["**raise** Js.Exn.Error raise Js exception\n\n **param** offset is in bytes"],"signature":"let fromBufferOffset: (array_buffer, int) => t"},{"id":"Js.Typed_array.Int16Array.fromBufferRange","kind":"value","name":"fromBufferRange","docstrings":["**raise** Js.Exn.Error raises Js exception\n\n **param** offset is in bytes, length in elements"],"signature":"let fromBufferRange: (array_buffer, ~offset: int, ~length: int) => t"},{"id":"Js.Typed_array.Int16Array.fromLength","kind":"value","name":"fromLength","docstrings":[],"signature":"let fromLength: int => t"},{"id":"Js.Typed_array.Int16Array.from","kind":"value","name":"from","docstrings":[],"signature":"let from: array_like => t"}]},"js/typed_array/uint8clampedarray":{"id":"Js.Typed_array.Uint8ClampedArray","name":"Uint8ClampedArray","docstrings":[],"items":[{"id":"Js.Typed_array.Uint8ClampedArray.elt","kind":"type","name":"elt","docstrings":[""],"signature":"type elt = int"},{"id":"Js.Typed_array.Uint8ClampedArray.typed_array","kind":"type","name":"typed_array","docstrings":[],"signature":"type typed_array<\\n 'a,\\n> = Js_typed_array2.Uint8ClampedArray.typed_array<'a>"},{"id":"Js.Typed_array.Uint8ClampedArray.t","kind":"type","name":"t","docstrings":[],"signature":"type t = typed_array"},{"id":"Js.Typed_array.Uint8ClampedArray.unsafe_get","kind":"value","name":"unsafe_get","docstrings":[],"signature":"let unsafe_get: (t, int) => elt"},{"id":"Js.Typed_array.Uint8ClampedArray.unsafe_set","kind":"value","name":"unsafe_set","docstrings":[],"signature":"let unsafe_set: (t, int, elt) => unit"},{"id":"Js.Typed_array.Uint8ClampedArray.buffer","kind":"value","name":"buffer","docstrings":[],"signature":"let buffer: t => array_buffer"},{"id":"Js.Typed_array.Uint8ClampedArray.byteLength","kind":"value","name":"byteLength","docstrings":[],"signature":"let byteLength: t => int"},{"id":"Js.Typed_array.Uint8ClampedArray.byteOffset","kind":"value","name":"byteOffset","docstrings":[],"signature":"let byteOffset: t => int"},{"id":"Js.Typed_array.Uint8ClampedArray.setArray","kind":"value","name":"setArray","docstrings":[],"signature":"let setArray: (array, t) => unit"},{"id":"Js.Typed_array.Uint8ClampedArray.setArrayOffset","kind":"value","name":"setArrayOffset","docstrings":[],"signature":"let setArrayOffset: (array, int, t) => unit"},{"id":"Js.Typed_array.Uint8ClampedArray.length","kind":"value","name":"length","docstrings":[],"signature":"let length: t => int"},{"id":"Js.Typed_array.Uint8ClampedArray.copyWithin","kind":"value","name":"copyWithin","docstrings":[],"signature":"let copyWithin: (~to_: int, t) => t"},{"id":"Js.Typed_array.Uint8ClampedArray.copyWithinFrom","kind":"value","name":"copyWithinFrom","docstrings":[],"signature":"let copyWithinFrom: (~to_: int, ~from: int, t) => t"},{"id":"Js.Typed_array.Uint8ClampedArray.copyWithinFromRange","kind":"value","name":"copyWithinFromRange","docstrings":[],"signature":"let copyWithinFromRange: (~to_: int, ~start: int, ~end_: int, t) => t"},{"id":"Js.Typed_array.Uint8ClampedArray.fillInPlace","kind":"value","name":"fillInPlace","docstrings":[],"signature":"let fillInPlace: (elt, t) => t"},{"id":"Js.Typed_array.Uint8ClampedArray.fillFromInPlace","kind":"value","name":"fillFromInPlace","docstrings":[],"signature":"let fillFromInPlace: (elt, ~from: int, t) => t"},{"id":"Js.Typed_array.Uint8ClampedArray.fillRangeInPlace","kind":"value","name":"fillRangeInPlace","docstrings":[],"signature":"let fillRangeInPlace: (elt, ~start: int, ~end_: int, t) => t"},{"id":"Js.Typed_array.Uint8ClampedArray.reverseInPlace","kind":"value","name":"reverseInPlace","docstrings":[],"signature":"let reverseInPlace: t => t"},{"id":"Js.Typed_array.Uint8ClampedArray.sortInPlace","kind":"value","name":"sortInPlace","docstrings":[],"signature":"let sortInPlace: t => t"},{"id":"Js.Typed_array.Uint8ClampedArray.sortInPlaceWith","kind":"value","name":"sortInPlaceWith","docstrings":[],"signature":"let sortInPlaceWith: ((. elt, elt) => int, t) => t"},{"id":"Js.Typed_array.Uint8ClampedArray.includes","kind":"value","name":"includes","docstrings":[],"signature":"let includes: (elt, t) => bool"},{"id":"Js.Typed_array.Uint8ClampedArray.indexOf","kind":"value","name":"indexOf","docstrings":[],"signature":"let indexOf: (elt, t) => int"},{"id":"Js.Typed_array.Uint8ClampedArray.indexOfFrom","kind":"value","name":"indexOfFrom","docstrings":[],"signature":"let indexOfFrom: (elt, ~from: int, t) => int"},{"id":"Js.Typed_array.Uint8ClampedArray.join","kind":"value","name":"join","docstrings":[],"signature":"let join: t => string"},{"id":"Js.Typed_array.Uint8ClampedArray.joinWith","kind":"value","name":"joinWith","docstrings":[],"signature":"let joinWith: (string, t) => string"},{"id":"Js.Typed_array.Uint8ClampedArray.lastIndexOf","kind":"value","name":"lastIndexOf","docstrings":[],"signature":"let lastIndexOf: (elt, t) => int"},{"id":"Js.Typed_array.Uint8ClampedArray.lastIndexOfFrom","kind":"value","name":"lastIndexOfFrom","docstrings":[],"signature":"let lastIndexOfFrom: (elt, ~from: int, t) => int"},{"id":"Js.Typed_array.Uint8ClampedArray.slice","kind":"value","name":"slice","docstrings":[],"signature":"let slice: (~start: int, ~end_: int, t) => t"},{"id":"Js.Typed_array.Uint8ClampedArray.copy","kind":"value","name":"copy","docstrings":[],"signature":"let copy: t => t"},{"id":"Js.Typed_array.Uint8ClampedArray.sliceFrom","kind":"value","name":"sliceFrom","docstrings":[],"signature":"let sliceFrom: (int, t) => t"},{"id":"Js.Typed_array.Uint8ClampedArray.subarray","kind":"value","name":"subarray","docstrings":[],"signature":"let subarray: (~start: int, ~end_: int, t) => t"},{"id":"Js.Typed_array.Uint8ClampedArray.subarrayFrom","kind":"value","name":"subarrayFrom","docstrings":[],"signature":"let subarrayFrom: (int, t) => t"},{"id":"Js.Typed_array.Uint8ClampedArray.toString","kind":"value","name":"toString","docstrings":[],"signature":"let toString: t => string"},{"id":"Js.Typed_array.Uint8ClampedArray.toLocaleString","kind":"value","name":"toLocaleString","docstrings":[],"signature":"let toLocaleString: t => string"},{"id":"Js.Typed_array.Uint8ClampedArray.every","kind":"value","name":"every","docstrings":[],"signature":"let every: ((. elt) => bool, t) => bool"},{"id":"Js.Typed_array.Uint8ClampedArray.everyi","kind":"value","name":"everyi","docstrings":[],"signature":"let everyi: ((. elt, int) => bool, t) => bool"},{"id":"Js.Typed_array.Uint8ClampedArray.filter","kind":"value","name":"filter","docstrings":[],"signature":"let filter: ((. elt) => bool, t) => t"},{"id":"Js.Typed_array.Uint8ClampedArray.filteri","kind":"value","name":"filteri","docstrings":[],"signature":"let filteri: ((. elt, int) => bool, t) => t"},{"id":"Js.Typed_array.Uint8ClampedArray.find","kind":"value","name":"find","docstrings":[],"signature":"let find: ((. elt) => bool, t) => Js.undefined"},{"id":"Js.Typed_array.Uint8ClampedArray.findi","kind":"value","name":"findi","docstrings":[],"signature":"let findi: ((. elt, int) => bool, t) => Js.undefined"},{"id":"Js.Typed_array.Uint8ClampedArray.findIndex","kind":"value","name":"findIndex","docstrings":[],"signature":"let findIndex: ((. elt) => bool, t) => int"},{"id":"Js.Typed_array.Uint8ClampedArray.findIndexi","kind":"value","name":"findIndexi","docstrings":[],"signature":"let findIndexi: ((. elt, int) => bool, t) => int"},{"id":"Js.Typed_array.Uint8ClampedArray.forEach","kind":"value","name":"forEach","docstrings":[],"signature":"let forEach: ((. elt) => unit, t) => unit"},{"id":"Js.Typed_array.Uint8ClampedArray.forEachi","kind":"value","name":"forEachi","docstrings":[],"signature":"let forEachi: ((. elt, int) => unit, t) => unit"},{"id":"Js.Typed_array.Uint8ClampedArray.map","kind":"value","name":"map","docstrings":[],"signature":"let map: ((. elt) => 'a, t) => typed_array<'a>"},{"id":"Js.Typed_array.Uint8ClampedArray.mapi","kind":"value","name":"mapi","docstrings":[],"signature":"let mapi: ((. elt, int) => 'a, t) => typed_array<'a>"},{"id":"Js.Typed_array.Uint8ClampedArray.reduce","kind":"value","name":"reduce","docstrings":[],"signature":"let reduce: ((. 'a, elt) => 'a, 'a, t) => 'a"},{"id":"Js.Typed_array.Uint8ClampedArray.reducei","kind":"value","name":"reducei","docstrings":[],"signature":"let reducei: ((. 'a, elt, int) => 'a, 'a, t) => 'a"},{"id":"Js.Typed_array.Uint8ClampedArray.reduceRight","kind":"value","name":"reduceRight","docstrings":[],"signature":"let reduceRight: ((. 'a, elt) => 'a, 'a, t) => 'a"},{"id":"Js.Typed_array.Uint8ClampedArray.reduceRighti","kind":"value","name":"reduceRighti","docstrings":[],"signature":"let reduceRighti: ((. 'a, elt, int) => 'a, 'a, t) => 'a"},{"id":"Js.Typed_array.Uint8ClampedArray.some","kind":"value","name":"some","docstrings":[],"signature":"let some: ((. elt) => bool, t) => bool"},{"id":"Js.Typed_array.Uint8ClampedArray.somei","kind":"value","name":"somei","docstrings":[],"signature":"let somei: ((. elt, int) => bool, t) => bool"},{"id":"Js.Typed_array.Uint8ClampedArray._BYTES_PER_ELEMENT","kind":"value","name":"_BYTES_PER_ELEMENT","docstrings":[],"signature":"let _BYTES_PER_ELEMENT: int"},{"id":"Js.Typed_array.Uint8ClampedArray.make","kind":"value","name":"make","docstrings":[],"signature":"let make: array => t"},{"id":"Js.Typed_array.Uint8ClampedArray.fromBuffer","kind":"value","name":"fromBuffer","docstrings":["can throw"],"signature":"let fromBuffer: array_buffer => t"},{"id":"Js.Typed_array.Uint8ClampedArray.fromBufferOffset","kind":"value","name":"fromBufferOffset","docstrings":["**raise** Js.Exn.Error raise Js exception\n\n **param** offset is in bytes"],"signature":"let fromBufferOffset: (array_buffer, int) => t"},{"id":"Js.Typed_array.Uint8ClampedArray.fromBufferRange","kind":"value","name":"fromBufferRange","docstrings":["**raise** Js.Exn.Error raises Js exception\n\n **param** offset is in bytes, length in elements"],"signature":"let fromBufferRange: (array_buffer, ~offset: int, ~length: int) => t"},{"id":"Js.Typed_array.Uint8ClampedArray.fromLength","kind":"value","name":"fromLength","docstrings":[],"signature":"let fromLength: int => t"},{"id":"Js.Typed_array.Uint8ClampedArray.from","kind":"value","name":"from","docstrings":[],"signature":"let from: array_like => t"}]},"js/typed_array/uint8array":{"id":"Js.Typed_array.Uint8Array","name":"Uint8Array","docstrings":[],"items":[{"id":"Js.Typed_array.Uint8Array.elt","kind":"type","name":"elt","docstrings":[""],"signature":"type elt = int"},{"id":"Js.Typed_array.Uint8Array.typed_array","kind":"type","name":"typed_array","docstrings":[],"signature":"type typed_array<\\n 'a,\\n> = Js_typed_array2.Uint8Array.typed_array<'a>"},{"id":"Js.Typed_array.Uint8Array.t","kind":"type","name":"t","docstrings":[],"signature":"type t = typed_array"},{"id":"Js.Typed_array.Uint8Array.unsafe_get","kind":"value","name":"unsafe_get","docstrings":[],"signature":"let unsafe_get: (t, int) => elt"},{"id":"Js.Typed_array.Uint8Array.unsafe_set","kind":"value","name":"unsafe_set","docstrings":[],"signature":"let unsafe_set: (t, int, elt) => unit"},{"id":"Js.Typed_array.Uint8Array.buffer","kind":"value","name":"buffer","docstrings":[],"signature":"let buffer: t => array_buffer"},{"id":"Js.Typed_array.Uint8Array.byteLength","kind":"value","name":"byteLength","docstrings":[],"signature":"let byteLength: t => int"},{"id":"Js.Typed_array.Uint8Array.byteOffset","kind":"value","name":"byteOffset","docstrings":[],"signature":"let byteOffset: t => int"},{"id":"Js.Typed_array.Uint8Array.setArray","kind":"value","name":"setArray","docstrings":[],"signature":"let setArray: (array, t) => unit"},{"id":"Js.Typed_array.Uint8Array.setArrayOffset","kind":"value","name":"setArrayOffset","docstrings":[],"signature":"let setArrayOffset: (array, int, t) => unit"},{"id":"Js.Typed_array.Uint8Array.length","kind":"value","name":"length","docstrings":[],"signature":"let length: t => int"},{"id":"Js.Typed_array.Uint8Array.copyWithin","kind":"value","name":"copyWithin","docstrings":[],"signature":"let copyWithin: (~to_: int, t) => t"},{"id":"Js.Typed_array.Uint8Array.copyWithinFrom","kind":"value","name":"copyWithinFrom","docstrings":[],"signature":"let copyWithinFrom: (~to_: int, ~from: int, t) => t"},{"id":"Js.Typed_array.Uint8Array.copyWithinFromRange","kind":"value","name":"copyWithinFromRange","docstrings":[],"signature":"let copyWithinFromRange: (~to_: int, ~start: int, ~end_: int, t) => t"},{"id":"Js.Typed_array.Uint8Array.fillInPlace","kind":"value","name":"fillInPlace","docstrings":[],"signature":"let fillInPlace: (elt, t) => t"},{"id":"Js.Typed_array.Uint8Array.fillFromInPlace","kind":"value","name":"fillFromInPlace","docstrings":[],"signature":"let fillFromInPlace: (elt, ~from: int, t) => t"},{"id":"Js.Typed_array.Uint8Array.fillRangeInPlace","kind":"value","name":"fillRangeInPlace","docstrings":[],"signature":"let fillRangeInPlace: (elt, ~start: int, ~end_: int, t) => t"},{"id":"Js.Typed_array.Uint8Array.reverseInPlace","kind":"value","name":"reverseInPlace","docstrings":[],"signature":"let reverseInPlace: t => t"},{"id":"Js.Typed_array.Uint8Array.sortInPlace","kind":"value","name":"sortInPlace","docstrings":[],"signature":"let sortInPlace: t => t"},{"id":"Js.Typed_array.Uint8Array.sortInPlaceWith","kind":"value","name":"sortInPlaceWith","docstrings":[],"signature":"let sortInPlaceWith: ((. elt, elt) => int, t) => t"},{"id":"Js.Typed_array.Uint8Array.includes","kind":"value","name":"includes","docstrings":[],"signature":"let includes: (elt, t) => bool"},{"id":"Js.Typed_array.Uint8Array.indexOf","kind":"value","name":"indexOf","docstrings":[],"signature":"let indexOf: (elt, t) => int"},{"id":"Js.Typed_array.Uint8Array.indexOfFrom","kind":"value","name":"indexOfFrom","docstrings":[],"signature":"let indexOfFrom: (elt, ~from: int, t) => int"},{"id":"Js.Typed_array.Uint8Array.join","kind":"value","name":"join","docstrings":[],"signature":"let join: t => string"},{"id":"Js.Typed_array.Uint8Array.joinWith","kind":"value","name":"joinWith","docstrings":[],"signature":"let joinWith: (string, t) => string"},{"id":"Js.Typed_array.Uint8Array.lastIndexOf","kind":"value","name":"lastIndexOf","docstrings":[],"signature":"let lastIndexOf: (elt, t) => int"},{"id":"Js.Typed_array.Uint8Array.lastIndexOfFrom","kind":"value","name":"lastIndexOfFrom","docstrings":[],"signature":"let lastIndexOfFrom: (elt, ~from: int, t) => int"},{"id":"Js.Typed_array.Uint8Array.slice","kind":"value","name":"slice","docstrings":[],"signature":"let slice: (~start: int, ~end_: int, t) => t"},{"id":"Js.Typed_array.Uint8Array.copy","kind":"value","name":"copy","docstrings":[],"signature":"let copy: t => t"},{"id":"Js.Typed_array.Uint8Array.sliceFrom","kind":"value","name":"sliceFrom","docstrings":[],"signature":"let sliceFrom: (int, t) => t"},{"id":"Js.Typed_array.Uint8Array.subarray","kind":"value","name":"subarray","docstrings":[],"signature":"let subarray: (~start: int, ~end_: int, t) => t"},{"id":"Js.Typed_array.Uint8Array.subarrayFrom","kind":"value","name":"subarrayFrom","docstrings":[],"signature":"let subarrayFrom: (int, t) => t"},{"id":"Js.Typed_array.Uint8Array.toString","kind":"value","name":"toString","docstrings":[],"signature":"let toString: t => string"},{"id":"Js.Typed_array.Uint8Array.toLocaleString","kind":"value","name":"toLocaleString","docstrings":[],"signature":"let toLocaleString: t => string"},{"id":"Js.Typed_array.Uint8Array.every","kind":"value","name":"every","docstrings":[],"signature":"let every: ((. elt) => bool, t) => bool"},{"id":"Js.Typed_array.Uint8Array.everyi","kind":"value","name":"everyi","docstrings":[],"signature":"let everyi: ((. elt, int) => bool, t) => bool"},{"id":"Js.Typed_array.Uint8Array.filter","kind":"value","name":"filter","docstrings":[],"signature":"let filter: ((. elt) => bool, t) => t"},{"id":"Js.Typed_array.Uint8Array.filteri","kind":"value","name":"filteri","docstrings":[],"signature":"let filteri: ((. elt, int) => bool, t) => t"},{"id":"Js.Typed_array.Uint8Array.find","kind":"value","name":"find","docstrings":[],"signature":"let find: ((. elt) => bool, t) => Js.undefined"},{"id":"Js.Typed_array.Uint8Array.findi","kind":"value","name":"findi","docstrings":[],"signature":"let findi: ((. elt, int) => bool, t) => Js.undefined"},{"id":"Js.Typed_array.Uint8Array.findIndex","kind":"value","name":"findIndex","docstrings":[],"signature":"let findIndex: ((. elt) => bool, t) => int"},{"id":"Js.Typed_array.Uint8Array.findIndexi","kind":"value","name":"findIndexi","docstrings":[],"signature":"let findIndexi: ((. elt, int) => bool, t) => int"},{"id":"Js.Typed_array.Uint8Array.forEach","kind":"value","name":"forEach","docstrings":[],"signature":"let forEach: ((. elt) => unit, t) => unit"},{"id":"Js.Typed_array.Uint8Array.forEachi","kind":"value","name":"forEachi","docstrings":[],"signature":"let forEachi: ((. elt, int) => unit, t) => unit"},{"id":"Js.Typed_array.Uint8Array.map","kind":"value","name":"map","docstrings":[],"signature":"let map: ((. elt) => 'a, t) => typed_array<'a>"},{"id":"Js.Typed_array.Uint8Array.mapi","kind":"value","name":"mapi","docstrings":[],"signature":"let mapi: ((. elt, int) => 'a, t) => typed_array<'a>"},{"id":"Js.Typed_array.Uint8Array.reduce","kind":"value","name":"reduce","docstrings":[],"signature":"let reduce: ((. 'a, elt) => 'a, 'a, t) => 'a"},{"id":"Js.Typed_array.Uint8Array.reducei","kind":"value","name":"reducei","docstrings":[],"signature":"let reducei: ((. 'a, elt, int) => 'a, 'a, t) => 'a"},{"id":"Js.Typed_array.Uint8Array.reduceRight","kind":"value","name":"reduceRight","docstrings":[],"signature":"let reduceRight: ((. 'a, elt) => 'a, 'a, t) => 'a"},{"id":"Js.Typed_array.Uint8Array.reduceRighti","kind":"value","name":"reduceRighti","docstrings":[],"signature":"let reduceRighti: ((. 'a, elt, int) => 'a, 'a, t) => 'a"},{"id":"Js.Typed_array.Uint8Array.some","kind":"value","name":"some","docstrings":[],"signature":"let some: ((. elt) => bool, t) => bool"},{"id":"Js.Typed_array.Uint8Array.somei","kind":"value","name":"somei","docstrings":[],"signature":"let somei: ((. elt, int) => bool, t) => bool"},{"id":"Js.Typed_array.Uint8Array._BYTES_PER_ELEMENT","kind":"value","name":"_BYTES_PER_ELEMENT","docstrings":[],"signature":"let _BYTES_PER_ELEMENT: int"},{"id":"Js.Typed_array.Uint8Array.make","kind":"value","name":"make","docstrings":[],"signature":"let make: array => t"},{"id":"Js.Typed_array.Uint8Array.fromBuffer","kind":"value","name":"fromBuffer","docstrings":["can throw"],"signature":"let fromBuffer: array_buffer => t"},{"id":"Js.Typed_array.Uint8Array.fromBufferOffset","kind":"value","name":"fromBufferOffset","docstrings":["**raise** Js.Exn.Error raise Js exception\n\n **param** offset is in bytes"],"signature":"let fromBufferOffset: (array_buffer, int) => t"},{"id":"Js.Typed_array.Uint8Array.fromBufferRange","kind":"value","name":"fromBufferRange","docstrings":["**raise** Js.Exn.Error raises Js exception\n\n **param** offset is in bytes, length in elements"],"signature":"let fromBufferRange: (array_buffer, ~offset: int, ~length: int) => t"},{"id":"Js.Typed_array.Uint8Array.fromLength","kind":"value","name":"fromLength","docstrings":[],"signature":"let fromLength: int => t"},{"id":"Js.Typed_array.Uint8Array.from","kind":"value","name":"from","docstrings":[],"signature":"let from: array_like => t"}]},"js/typed_array/int8array":{"id":"Js.Typed_array.Int8Array","name":"Int8Array","docstrings":[],"items":[{"id":"Js.Typed_array.Int8Array.elt","kind":"type","name":"elt","docstrings":[""],"signature":"type elt = int"},{"id":"Js.Typed_array.Int8Array.typed_array","kind":"type","name":"typed_array","docstrings":[],"signature":"type typed_array<\\n 'a,\\n> = Js_typed_array2.Int8Array.typed_array<'a>"},{"id":"Js.Typed_array.Int8Array.t","kind":"type","name":"t","docstrings":[],"signature":"type t = typed_array"},{"id":"Js.Typed_array.Int8Array.unsafe_get","kind":"value","name":"unsafe_get","docstrings":[],"signature":"let unsafe_get: (t, int) => elt"},{"id":"Js.Typed_array.Int8Array.unsafe_set","kind":"value","name":"unsafe_set","docstrings":[],"signature":"let unsafe_set: (t, int, elt) => unit"},{"id":"Js.Typed_array.Int8Array.buffer","kind":"value","name":"buffer","docstrings":[],"signature":"let buffer: t => array_buffer"},{"id":"Js.Typed_array.Int8Array.byteLength","kind":"value","name":"byteLength","docstrings":[],"signature":"let byteLength: t => int"},{"id":"Js.Typed_array.Int8Array.byteOffset","kind":"value","name":"byteOffset","docstrings":[],"signature":"let byteOffset: t => int"},{"id":"Js.Typed_array.Int8Array.setArray","kind":"value","name":"setArray","docstrings":[],"signature":"let setArray: (array, t) => unit"},{"id":"Js.Typed_array.Int8Array.setArrayOffset","kind":"value","name":"setArrayOffset","docstrings":[],"signature":"let setArrayOffset: (array, int, t) => unit"},{"id":"Js.Typed_array.Int8Array.length","kind":"value","name":"length","docstrings":[],"signature":"let length: t => int"},{"id":"Js.Typed_array.Int8Array.copyWithin","kind":"value","name":"copyWithin","docstrings":[],"signature":"let copyWithin: (~to_: int, t) => t"},{"id":"Js.Typed_array.Int8Array.copyWithinFrom","kind":"value","name":"copyWithinFrom","docstrings":[],"signature":"let copyWithinFrom: (~to_: int, ~from: int, t) => t"},{"id":"Js.Typed_array.Int8Array.copyWithinFromRange","kind":"value","name":"copyWithinFromRange","docstrings":[],"signature":"let copyWithinFromRange: (~to_: int, ~start: int, ~end_: int, t) => t"},{"id":"Js.Typed_array.Int8Array.fillInPlace","kind":"value","name":"fillInPlace","docstrings":[],"signature":"let fillInPlace: (elt, t) => t"},{"id":"Js.Typed_array.Int8Array.fillFromInPlace","kind":"value","name":"fillFromInPlace","docstrings":[],"signature":"let fillFromInPlace: (elt, ~from: int, t) => t"},{"id":"Js.Typed_array.Int8Array.fillRangeInPlace","kind":"value","name":"fillRangeInPlace","docstrings":[],"signature":"let fillRangeInPlace: (elt, ~start: int, ~end_: int, t) => t"},{"id":"Js.Typed_array.Int8Array.reverseInPlace","kind":"value","name":"reverseInPlace","docstrings":[],"signature":"let reverseInPlace: t => t"},{"id":"Js.Typed_array.Int8Array.sortInPlace","kind":"value","name":"sortInPlace","docstrings":[],"signature":"let sortInPlace: t => t"},{"id":"Js.Typed_array.Int8Array.sortInPlaceWith","kind":"value","name":"sortInPlaceWith","docstrings":[],"signature":"let sortInPlaceWith: ((. elt, elt) => int, t) => t"},{"id":"Js.Typed_array.Int8Array.includes","kind":"value","name":"includes","docstrings":[],"signature":"let includes: (elt, t) => bool"},{"id":"Js.Typed_array.Int8Array.indexOf","kind":"value","name":"indexOf","docstrings":[],"signature":"let indexOf: (elt, t) => int"},{"id":"Js.Typed_array.Int8Array.indexOfFrom","kind":"value","name":"indexOfFrom","docstrings":[],"signature":"let indexOfFrom: (elt, ~from: int, t) => int"},{"id":"Js.Typed_array.Int8Array.join","kind":"value","name":"join","docstrings":[],"signature":"let join: t => string"},{"id":"Js.Typed_array.Int8Array.joinWith","kind":"value","name":"joinWith","docstrings":[],"signature":"let joinWith: (string, t) => string"},{"id":"Js.Typed_array.Int8Array.lastIndexOf","kind":"value","name":"lastIndexOf","docstrings":[],"signature":"let lastIndexOf: (elt, t) => int"},{"id":"Js.Typed_array.Int8Array.lastIndexOfFrom","kind":"value","name":"lastIndexOfFrom","docstrings":[],"signature":"let lastIndexOfFrom: (elt, ~from: int, t) => int"},{"id":"Js.Typed_array.Int8Array.slice","kind":"value","name":"slice","docstrings":[],"signature":"let slice: (~start: int, ~end_: int, t) => t"},{"id":"Js.Typed_array.Int8Array.copy","kind":"value","name":"copy","docstrings":[],"signature":"let copy: t => t"},{"id":"Js.Typed_array.Int8Array.sliceFrom","kind":"value","name":"sliceFrom","docstrings":[],"signature":"let sliceFrom: (int, t) => t"},{"id":"Js.Typed_array.Int8Array.subarray","kind":"value","name":"subarray","docstrings":[],"signature":"let subarray: (~start: int, ~end_: int, t) => t"},{"id":"Js.Typed_array.Int8Array.subarrayFrom","kind":"value","name":"subarrayFrom","docstrings":[],"signature":"let subarrayFrom: (int, t) => t"},{"id":"Js.Typed_array.Int8Array.toString","kind":"value","name":"toString","docstrings":[],"signature":"let toString: t => string"},{"id":"Js.Typed_array.Int8Array.toLocaleString","kind":"value","name":"toLocaleString","docstrings":[],"signature":"let toLocaleString: t => string"},{"id":"Js.Typed_array.Int8Array.every","kind":"value","name":"every","docstrings":[],"signature":"let every: ((. elt) => bool, t) => bool"},{"id":"Js.Typed_array.Int8Array.everyi","kind":"value","name":"everyi","docstrings":[],"signature":"let everyi: ((. elt, int) => bool, t) => bool"},{"id":"Js.Typed_array.Int8Array.filter","kind":"value","name":"filter","docstrings":[],"signature":"let filter: ((. elt) => bool, t) => t"},{"id":"Js.Typed_array.Int8Array.filteri","kind":"value","name":"filteri","docstrings":[],"signature":"let filteri: ((. elt, int) => bool, t) => t"},{"id":"Js.Typed_array.Int8Array.find","kind":"value","name":"find","docstrings":[],"signature":"let find: ((. elt) => bool, t) => Js.undefined"},{"id":"Js.Typed_array.Int8Array.findi","kind":"value","name":"findi","docstrings":[],"signature":"let findi: ((. elt, int) => bool, t) => Js.undefined"},{"id":"Js.Typed_array.Int8Array.findIndex","kind":"value","name":"findIndex","docstrings":[],"signature":"let findIndex: ((. elt) => bool, t) => int"},{"id":"Js.Typed_array.Int8Array.findIndexi","kind":"value","name":"findIndexi","docstrings":[],"signature":"let findIndexi: ((. elt, int) => bool, t) => int"},{"id":"Js.Typed_array.Int8Array.forEach","kind":"value","name":"forEach","docstrings":[],"signature":"let forEach: ((. elt) => unit, t) => unit"},{"id":"Js.Typed_array.Int8Array.forEachi","kind":"value","name":"forEachi","docstrings":[],"signature":"let forEachi: ((. elt, int) => unit, t) => unit"},{"id":"Js.Typed_array.Int8Array.map","kind":"value","name":"map","docstrings":[],"signature":"let map: ((. elt) => 'a, t) => typed_array<'a>"},{"id":"Js.Typed_array.Int8Array.mapi","kind":"value","name":"mapi","docstrings":[],"signature":"let mapi: ((. elt, int) => 'a, t) => typed_array<'a>"},{"id":"Js.Typed_array.Int8Array.reduce","kind":"value","name":"reduce","docstrings":[],"signature":"let reduce: ((. 'a, elt) => 'a, 'a, t) => 'a"},{"id":"Js.Typed_array.Int8Array.reducei","kind":"value","name":"reducei","docstrings":[],"signature":"let reducei: ((. 'a, elt, int) => 'a, 'a, t) => 'a"},{"id":"Js.Typed_array.Int8Array.reduceRight","kind":"value","name":"reduceRight","docstrings":[],"signature":"let reduceRight: ((. 'a, elt) => 'a, 'a, t) => 'a"},{"id":"Js.Typed_array.Int8Array.reduceRighti","kind":"value","name":"reduceRighti","docstrings":[],"signature":"let reduceRighti: ((. 'a, elt, int) => 'a, 'a, t) => 'a"},{"id":"Js.Typed_array.Int8Array.some","kind":"value","name":"some","docstrings":[],"signature":"let some: ((. elt) => bool, t) => bool"},{"id":"Js.Typed_array.Int8Array.somei","kind":"value","name":"somei","docstrings":[],"signature":"let somei: ((. elt, int) => bool, t) => bool"},{"id":"Js.Typed_array.Int8Array._BYTES_PER_ELEMENT","kind":"value","name":"_BYTES_PER_ELEMENT","docstrings":[],"signature":"let _BYTES_PER_ELEMENT: int"},{"id":"Js.Typed_array.Int8Array.make","kind":"value","name":"make","docstrings":[],"signature":"let make: array => t"},{"id":"Js.Typed_array.Int8Array.fromBuffer","kind":"value","name":"fromBuffer","docstrings":["can throw"],"signature":"let fromBuffer: array_buffer => t"},{"id":"Js.Typed_array.Int8Array.fromBufferOffset","kind":"value","name":"fromBufferOffset","docstrings":["raise Js.Exn.Error raise Js exception\n\n param offset is in bytes"],"signature":"let fromBufferOffset: (array_buffer, int) => t"},{"id":"Js.Typed_array.Int8Array.fromBufferRange","kind":"value","name":"fromBufferRange","docstrings":["raise Js.Exn.Error raises Js exception\n\n param offset is in bytes, length in elements"],"signature":"let fromBufferRange: (array_buffer, ~offset: int, ~length: int) => t"},{"id":"Js.Typed_array.Int8Array.fromLength","kind":"value","name":"fromLength","docstrings":[],"signature":"let fromLength: int => t"},{"id":"Js.Typed_array.Int8Array.from","kind":"value","name":"from","docstrings":[],"signature":"let from: array_like => t"}]},"js/typed_array/s":{"id":"Js.Typed_array.S","name":"S","docstrings":[],"items":[{"id":"Js.Typed_array.S.elt","kind":"type","name":"elt","docstrings":[],"signature":"type elt"},{"id":"Js.Typed_array.S.typed_array","kind":"type","name":"typed_array","docstrings":[],"signature":"type typed_array<'a>"},{"id":"Js.Typed_array.S.t","kind":"type","name":"t","docstrings":[],"signature":"type t = typed_array"},{"id":"Js.Typed_array.S.unsafe_get","kind":"value","name":"unsafe_get","docstrings":[],"signature":"let unsafe_get: (t, int) => elt"},{"id":"Js.Typed_array.S.unsafe_set","kind":"value","name":"unsafe_set","docstrings":[],"signature":"let unsafe_set: (t, int, elt) => unit"},{"id":"Js.Typed_array.S.buffer","kind":"value","name":"buffer","docstrings":[],"signature":"let buffer: t => array_buffer"},{"id":"Js.Typed_array.S.byteLength","kind":"value","name":"byteLength","docstrings":[],"signature":"let byteLength: t => int"},{"id":"Js.Typed_array.S.byteOffset","kind":"value","name":"byteOffset","docstrings":[],"signature":"let byteOffset: t => int"},{"id":"Js.Typed_array.S.setArray","kind":"value","name":"setArray","docstrings":[],"signature":"let setArray: (array, t) => unit"},{"id":"Js.Typed_array.S.setArrayOffset","kind":"value","name":"setArrayOffset","docstrings":[],"signature":"let setArrayOffset: (array, int, t) => unit"},{"id":"Js.Typed_array.S.length","kind":"value","name":"length","docstrings":[],"signature":"let length: t => int"},{"id":"Js.Typed_array.S.copyWithin","kind":"value","name":"copyWithin","docstrings":[],"signature":"let copyWithin: (~to_: int, t) => t"},{"id":"Js.Typed_array.S.copyWithinFrom","kind":"value","name":"copyWithinFrom","docstrings":[],"signature":"let copyWithinFrom: (~to_: int, ~from: int, t) => t"},{"id":"Js.Typed_array.S.copyWithinFromRange","kind":"value","name":"copyWithinFromRange","docstrings":[],"signature":"let copyWithinFromRange: (~to_: int, ~start: int, ~end_: int, t) => t"},{"id":"Js.Typed_array.S.fillInPlace","kind":"value","name":"fillInPlace","docstrings":[],"signature":"let fillInPlace: (elt, t) => t"},{"id":"Js.Typed_array.S.fillFromInPlace","kind":"value","name":"fillFromInPlace","docstrings":[],"signature":"let fillFromInPlace: (elt, ~from: int, t) => t"},{"id":"Js.Typed_array.S.fillRangeInPlace","kind":"value","name":"fillRangeInPlace","docstrings":[],"signature":"let fillRangeInPlace: (elt, ~start: int, ~end_: int, t) => t"},{"id":"Js.Typed_array.S.reverseInPlace","kind":"value","name":"reverseInPlace","docstrings":[],"signature":"let reverseInPlace: t => t"},{"id":"Js.Typed_array.S.sortInPlace","kind":"value","name":"sortInPlace","docstrings":[],"signature":"let sortInPlace: t => t"},{"id":"Js.Typed_array.S.sortInPlaceWith","kind":"value","name":"sortInPlaceWith","docstrings":[],"signature":"let sortInPlaceWith: ((. elt, elt) => int, t) => t"},{"id":"Js.Typed_array.S.includes","kind":"value","name":"includes","docstrings":[],"signature":"let includes: (elt, t) => bool"},{"id":"Js.Typed_array.S.indexOf","kind":"value","name":"indexOf","docstrings":[],"signature":"let indexOf: (elt, t) => int"},{"id":"Js.Typed_array.S.indexOfFrom","kind":"value","name":"indexOfFrom","docstrings":[],"signature":"let indexOfFrom: (elt, ~from: int, t) => int"},{"id":"Js.Typed_array.S.join","kind":"value","name":"join","docstrings":[],"signature":"let join: t => string"},{"id":"Js.Typed_array.S.joinWith","kind":"value","name":"joinWith","docstrings":[],"signature":"let joinWith: (string, t) => string"},{"id":"Js.Typed_array.S.lastIndexOf","kind":"value","name":"lastIndexOf","docstrings":[],"signature":"let lastIndexOf: (elt, t) => int"},{"id":"Js.Typed_array.S.lastIndexOfFrom","kind":"value","name":"lastIndexOfFrom","docstrings":[],"signature":"let lastIndexOfFrom: (elt, ~from: int, t) => int"},{"id":"Js.Typed_array.S.slice","kind":"value","name":"slice","docstrings":[],"signature":"let slice: (~start: int, ~end_: int, t) => t"},{"id":"Js.Typed_array.S.copy","kind":"value","name":"copy","docstrings":[],"signature":"let copy: t => t"},{"id":"Js.Typed_array.S.sliceFrom","kind":"value","name":"sliceFrom","docstrings":[],"signature":"let sliceFrom: (int, t) => t"},{"id":"Js.Typed_array.S.subarray","kind":"value","name":"subarray","docstrings":[],"signature":"let subarray: (~start: int, ~end_: int, t) => t"},{"id":"Js.Typed_array.S.subarrayFrom","kind":"value","name":"subarrayFrom","docstrings":[],"signature":"let subarrayFrom: (int, t) => t"},{"id":"Js.Typed_array.S.toString","kind":"value","name":"toString","docstrings":[],"signature":"let toString: t => string"},{"id":"Js.Typed_array.S.toLocaleString","kind":"value","name":"toLocaleString","docstrings":[],"signature":"let toLocaleString: t => string"},{"id":"Js.Typed_array.S.every","kind":"value","name":"every","docstrings":[],"signature":"let every: ((. elt) => bool, t) => bool"},{"id":"Js.Typed_array.S.everyi","kind":"value","name":"everyi","docstrings":[],"signature":"let everyi: ((. elt, int) => bool, t) => bool"},{"id":"Js.Typed_array.S.filter","kind":"value","name":"filter","docstrings":[],"signature":"let filter: ((. elt) => bool, t) => t"},{"id":"Js.Typed_array.S.filteri","kind":"value","name":"filteri","docstrings":[],"signature":"let filteri: ((. elt, int) => bool, t) => t"},{"id":"Js.Typed_array.S.find","kind":"value","name":"find","docstrings":[],"signature":"let find: ((. elt) => bool, t) => Js.undefined"},{"id":"Js.Typed_array.S.findi","kind":"value","name":"findi","docstrings":[],"signature":"let findi: ((. elt, int) => bool, t) => Js.undefined"},{"id":"Js.Typed_array.S.findIndex","kind":"value","name":"findIndex","docstrings":[],"signature":"let findIndex: ((. elt) => bool, t) => int"},{"id":"Js.Typed_array.S.findIndexi","kind":"value","name":"findIndexi","docstrings":[],"signature":"let findIndexi: ((. elt, int) => bool, t) => int"},{"id":"Js.Typed_array.S.forEach","kind":"value","name":"forEach","docstrings":[],"signature":"let forEach: ((. elt) => unit, t) => unit"},{"id":"Js.Typed_array.S.forEachi","kind":"value","name":"forEachi","docstrings":[],"signature":"let forEachi: ((. elt, int) => unit, t) => unit"},{"id":"Js.Typed_array.S.map","kind":"value","name":"map","docstrings":[],"signature":"let map: ((. elt) => 'b, t) => typed_array<'b>"},{"id":"Js.Typed_array.S.mapi","kind":"value","name":"mapi","docstrings":[],"signature":"let mapi: ((. elt, int) => 'b, t) => typed_array<'b>"},{"id":"Js.Typed_array.S.reduce","kind":"value","name":"reduce","docstrings":[],"signature":"let reduce: ((. 'b, elt) => 'b, 'b, t) => 'b"},{"id":"Js.Typed_array.S.reducei","kind":"value","name":"reducei","docstrings":[],"signature":"let reducei: ((. 'b, elt, int) => 'b, 'b, t) => 'b"},{"id":"Js.Typed_array.S.reduceRight","kind":"value","name":"reduceRight","docstrings":[],"signature":"let reduceRight: ((. 'b, elt) => 'b, 'b, t) => 'b"},{"id":"Js.Typed_array.S.reduceRighti","kind":"value","name":"reduceRighti","docstrings":[],"signature":"let reduceRighti: ((. 'b, elt, int) => 'b, 'b, t) => 'b"},{"id":"Js.Typed_array.S.some","kind":"value","name":"some","docstrings":[],"signature":"let some: ((. elt) => bool, t) => bool"},{"id":"Js.Typed_array.S.somei","kind":"value","name":"somei","docstrings":[],"signature":"let somei: ((. elt, int) => bool, t) => bool"}]},"js/typed_array/arraybuffer":{"id":"Js.Typed_array.ArrayBuffer","name":"ArrayBuffer","docstrings":[],"items":[{"id":"Js.Typed_array.ArrayBuffer.t","kind":"type","name":"t","docstrings":[],"signature":"type t = array_buffer"},{"id":"Js.Typed_array.ArrayBuffer.make","kind":"value","name":"make","docstrings":["takes length. initializes elements to 0"],"signature":"let make: int => t"},{"id":"Js.Typed_array.ArrayBuffer.byteLength","kind":"value","name":"byteLength","docstrings":[],"signature":"let byteLength: t => int"},{"id":"Js.Typed_array.ArrayBuffer.slice","kind":"value","name":"slice","docstrings":[],"signature":"let slice: (~start: int, ~end_: int, t) => array_buffer"},{"id":"Js.Typed_array.ArrayBuffer.sliceFrom","kind":"value","name":"sliceFrom","docstrings":[],"signature":"let sliceFrom: (int, t) => array_buffer"}]},"js/typed_array/type":{"id":"Js.Typed_array.Type","name":"Type","docstrings":[],"items":[{"id":"Js.Typed_array.Type.t","kind":"type","name":"t","docstrings":[],"signature":"type t"}]},"js/json/kind":{"id":"Js.Json.Kind","name":"Kind","docstrings":[],"items":[{"id":"Js.Json.Kind.json","kind":"type","name":"json","docstrings":[],"signature":"type json = t"},{"id":"Js.Json.Kind.t","kind":"type","name":"t","docstrings":["Underlying type of a JSON value"],"signature":"type t<_> =\\n | String: t\\n | Number: t\\n | Object: t>\\n | Array: t>\\n | Boolean: t\\n | Null: t"}]},"js/weakmap":{"id":"Js.WeakMap","name":"WeakMap","docstrings":["Provides bindings for ES6 WeakMap"],"items":[{"id":"Js.WeakMap.t","kind":"type","name":"t","docstrings":[],"signature":"type t<'k, 'v>"}]},"js/map":{"id":"Js.Map","name":"Map","docstrings":["Provides bindings for ES6 Map"],"items":[{"id":"Js.Map.t","kind":"type","name":"t","docstrings":[],"signature":"type t<'k, 'v>"}]},"js/weakset":{"id":"Js.WeakSet","name":"WeakSet","docstrings":["Provides bindings for ES6 WeakSet"],"items":[{"id":"Js.WeakSet.t","kind":"type","name":"t","docstrings":[],"signature":"type t<'a>"}]},"js/set":{"id":"Js.Set","name":"Set","docstrings":["Provides bindings for ES6 Set"],"items":[{"id":"Js.Set.t","kind":"type","name":"t","docstrings":[],"signature":"type t<'a>"}]},"js/console":{"id":"Js.Console","name":"Console","docstrings":["Provides bindings for console"],"items":[{"id":"Js.Console.log","kind":"value","name":"log","docstrings":[],"signature":"let log: 'a => unit"},{"id":"Js.Console.log2","kind":"value","name":"log2","docstrings":[],"signature":"let log2: ('a, 'b) => unit"},{"id":"Js.Console.log3","kind":"value","name":"log3","docstrings":[],"signature":"let log3: ('a, 'b, 'c) => unit"},{"id":"Js.Console.log4","kind":"value","name":"log4","docstrings":[],"signature":"let log4: ('a, 'b, 'c, 'd) => unit"},{"id":"Js.Console.logMany","kind":"value","name":"logMany","docstrings":[],"signature":"let logMany: array<'a> => unit"},{"id":"Js.Console.info","kind":"value","name":"info","docstrings":[],"signature":"let info: 'a => unit"},{"id":"Js.Console.info2","kind":"value","name":"info2","docstrings":[],"signature":"let info2: ('a, 'b) => unit"},{"id":"Js.Console.info3","kind":"value","name":"info3","docstrings":[],"signature":"let info3: ('a, 'b, 'c) => unit"},{"id":"Js.Console.info4","kind":"value","name":"info4","docstrings":[],"signature":"let info4: ('a, 'b, 'c, 'd) => unit"},{"id":"Js.Console.infoMany","kind":"value","name":"infoMany","docstrings":[],"signature":"let infoMany: array<'a> => unit"},{"id":"Js.Console.warn","kind":"value","name":"warn","docstrings":[],"signature":"let warn: 'a => unit"},{"id":"Js.Console.warn2","kind":"value","name":"warn2","docstrings":[],"signature":"let warn2: ('a, 'b) => unit"},{"id":"Js.Console.warn3","kind":"value","name":"warn3","docstrings":[],"signature":"let warn3: ('a, 'b, 'c) => unit"},{"id":"Js.Console.warn4","kind":"value","name":"warn4","docstrings":[],"signature":"let warn4: ('a, 'b, 'c, 'd) => unit"},{"id":"Js.Console.warnMany","kind":"value","name":"warnMany","docstrings":[],"signature":"let warnMany: array<'a> => unit"},{"id":"Js.Console.error","kind":"value","name":"error","docstrings":[],"signature":"let error: 'a => unit"},{"id":"Js.Console.error2","kind":"value","name":"error2","docstrings":[],"signature":"let error2: ('a, 'b) => unit"},{"id":"Js.Console.error3","kind":"value","name":"error3","docstrings":[],"signature":"let error3: ('a, 'b, 'c) => unit"},{"id":"Js.Console.error4","kind":"value","name":"error4","docstrings":[],"signature":"let error4: ('a, 'b, 'c, 'd) => unit"},{"id":"Js.Console.errorMany","kind":"value","name":"errorMany","docstrings":[],"signature":"let errorMany: array<'a> => unit"},{"id":"Js.Console.trace","kind":"value","name":"trace","docstrings":[],"signature":"let trace: unit => unit"},{"id":"Js.Console.timeStart","kind":"value","name":"timeStart","docstrings":[],"signature":"let timeStart: string => unit"},{"id":"Js.Console.timeEnd","kind":"value","name":"timeEnd","docstrings":[],"signature":"let timeEnd: string => unit"}]},"js/vector":{"id":"Js.Vector","name":"Vector","docstrings":["Provides bindings for JS Vector"],"items":[{"id":"Js.Vector.t","kind":"type","name":"t","docstrings":[],"signature":"type t<'a> = array<'a>"},{"id":"Js.Vector.filterInPlace","kind":"value","name":"filterInPlace","docstrings":[],"signature":"let filterInPlace: ((. 'a) => bool, t<'a>) => unit"},{"id":"Js.Vector.empty","kind":"value","name":"empty","docstrings":[],"signature":"let empty: t<'a> => unit"},{"id":"Js.Vector.pushBack","kind":"value","name":"pushBack","docstrings":[],"signature":"let pushBack: ('a, t<'a>) => unit"},{"id":"Js.Vector.copy","kind":"value","name":"copy","docstrings":["shallow copy"],"signature":"let copy: t<'a> => t<'a>"},{"id":"Js.Vector.memByRef","kind":"value","name":"memByRef","docstrings":[],"signature":"let memByRef: ('a, t<'a>) => bool"},{"id":"Js.Vector.iter","kind":"value","name":"iter","docstrings":[],"signature":"let iter: ((. 'a) => unit, t<'a>) => unit"},{"id":"Js.Vector.iteri","kind":"value","name":"iteri","docstrings":[],"signature":"let iteri: ((. int, 'a) => unit, t<'a>) => unit"},{"id":"Js.Vector.toList","kind":"value","name":"toList","docstrings":[],"signature":"let toList: t<'a> => list<'a>"},{"id":"Js.Vector.map","kind":"value","name":"map","docstrings":[],"signature":"let map: ((. 'a) => 'b, t<'a>) => t<'b>"},{"id":"Js.Vector.mapi","kind":"value","name":"mapi","docstrings":[],"signature":"let mapi: ((. int, 'a) => 'b, t<'a>) => t<'b>"},{"id":"Js.Vector.foldLeft","kind":"value","name":"foldLeft","docstrings":[],"signature":"let foldLeft: ((. 'a, 'b) => 'a, 'a, t<'b>) => 'a"},{"id":"Js.Vector.foldRight","kind":"value","name":"foldRight","docstrings":[],"signature":"let foldRight: ((. 'b, 'a) => 'a, t<'b>, 'a) => 'a"},{"id":"Js.Vector.length","kind":"value","name":"length","docstrings":["Return the length (number of elements) of the given array."],"signature":"let length: t<'a> => int"},{"id":"Js.Vector.get","kind":"value","name":"get","docstrings":["`Vector.get(a, n)` returns the element number `n` of vector `a`. The first\nelement has number 0. The last element has number `Vector.length(a) - 1`. You\ncan also write `a[n]` instead of `Vector.get(a, n)`. Raise `Invalid_argument\n\"index out of bounds\"` if `n` is outside the range 0 to (`Array.length(a) -\n1`)."],"signature":"let get: (t<'a>, int) => 'a"},{"id":"Js.Vector.set","kind":"value","name":"set","docstrings":["`Vector.set(a, n, x)` modifies vector `a` in place, replacing element number\n`n` with `x`. Raise `Invalid_argument \"index out of bounds\"` if `n` is outside\nthe range 0 to `Array.length(a) - 1`."],"signature":"let set: (t<'a>, int, 'a) => unit"},{"id":"Js.Vector.make","kind":"value","name":"make","docstrings":["`Vector.make(n, x)` returns a fresh vector of length `n`, initialized with `x`.\nAll the elements of this new vector are initially physically equal to `x` (in\nthe sense of the `==` predicate). Consequently, if `x` is mutable, it is shared\namong all elements of the array, and modifying `x` through one of the array\nentries will modify all other entries at the same time. Raise\n`Invalid_argument` if `n < 0` or `n > Sys.max_array_length`. If the value of\n`x` is a floating-point number, then the maximum size is only\n`Sys.max_array_length / 2`."],"signature":"let make: (int, 'a) => t<'a>"},{"id":"Js.Vector.init","kind":"value","name":"init","docstrings":["Raises `RangeError` when n is negative.\nn : size"],"signature":"let init: (int, (. int) => 'a) => t<'a>"},{"id":"Js.Vector.append","kind":"value","name":"append","docstrings":["`append(x, a)` returns a fresh vector with `x` appended to `a`."],"signature":"let append: ('a, t<'a>) => t<'a>"},{"id":"Js.Vector.unsafe_get","kind":"value","name":"unsafe_get","docstrings":[],"signature":"let unsafe_get: (t<'a>, int) => 'a"},{"id":"Js.Vector.unsafe_set","kind":"value","name":"unsafe_set","docstrings":[],"signature":"let unsafe_set: (t<'a>, int, 'a) => unit"}]},"js/list":{"id":"Js.List","name":"List","docstrings":["Provide utilities for list"],"items":[{"id":"Js.List.t","kind":"type","name":"t","docstrings":[],"signature":"type t<'a> = list<'a>"},{"id":"Js.List.length","kind":"value","name":"length","docstrings":[],"signature":"let length: t<'a> => int"},{"id":"Js.List.cons","kind":"value","name":"cons","docstrings":[],"signature":"let cons: ('a, t<'a>) => t<'a>"},{"id":"Js.List.isEmpty","kind":"value","name":"isEmpty","docstrings":[],"signature":"let isEmpty: t<'a> => bool"},{"id":"Js.List.hd","kind":"value","name":"hd","docstrings":[],"signature":"let hd: t<'a> => option<'a>"},{"id":"Js.List.tl","kind":"value","name":"tl","docstrings":[],"signature":"let tl: t<'a> => option>"},{"id":"Js.List.nth","kind":"value","name":"nth","docstrings":[],"signature":"let nth: (t<'a>, int) => option<'a>"},{"id":"Js.List.revAppend","kind":"value","name":"revAppend","docstrings":[],"signature":"let revAppend: (t<'a>, t<'a>) => t<'a>"},{"id":"Js.List.rev","kind":"value","name":"rev","docstrings":[],"signature":"let rev: t<'a> => t<'a>"},{"id":"Js.List.mapRev","kind":"value","name":"mapRev","docstrings":[],"signature":"let mapRev: ((. 'a) => 'b, t<'a>) => t<'b>"},{"id":"Js.List.map","kind":"value","name":"map","docstrings":[],"signature":"let map: ((. 'a) => 'b, t<'a>) => t<'b>"},{"id":"Js.List.iter","kind":"value","name":"iter","docstrings":[],"signature":"let iter: ((. 'a) => unit, t<'a>) => unit"},{"id":"Js.List.iteri","kind":"value","name":"iteri","docstrings":[],"signature":"let iteri: ((. int, 'a) => unit, t<'a>) => unit"},{"id":"Js.List.foldLeft","kind":"value","name":"foldLeft","docstrings":["Application order is left to right, tail recurisve"],"signature":"let foldLeft: ((. 'a, 'b) => 'a, 'a, list<'b>) => 'a"},{"id":"Js.List.foldRight","kind":"value","name":"foldRight","docstrings":["Application order is right to left tail-recursive."],"signature":"let foldRight: ((. 'a, 'b) => 'b, list<'a>, 'b) => 'b"},{"id":"Js.List.flatten","kind":"value","name":"flatten","docstrings":[],"signature":"let flatten: t> => t<'a>"},{"id":"Js.List.filter","kind":"value","name":"filter","docstrings":[],"signature":"let filter: ((. 'a) => bool, t<'a>) => t<'a>"},{"id":"Js.List.filterMap","kind":"value","name":"filterMap","docstrings":[],"signature":"let filterMap: ((. 'a) => option<'b>, t<'a>) => t<'b>"},{"id":"Js.List.countBy","kind":"value","name":"countBy","docstrings":[],"signature":"let countBy: ((. 'a) => bool, list<'a>) => int"},{"id":"Js.List.init","kind":"value","name":"init","docstrings":[],"signature":"let init: (int, (. int) => 'a) => t<'a>"},{"id":"Js.List.toVector","kind":"value","name":"toVector","docstrings":[],"signature":"let toVector: t<'a> => array<'a>"},{"id":"Js.List.equal","kind":"value","name":"equal","docstrings":[],"signature":"let equal: ((. 'a, 'a) => bool, list<'a>, list<'a>) => bool"}]},"js/result":{"id":"Js.Result","name":"Result","docstrings":["Define the interface for result"],"items":[{"id":"Js.Result.t","kind":"type","name":"t","docstrings":[],"signature":"type t<'good, 'bad> = Ok('good) | Error('bad)"}]},"js/option":{"id":"Js.Option","name":"Option","docstrings":["Provide utilities for option"],"items":[{"id":"Js.Option.t","kind":"type","name":"t","docstrings":[],"signature":"type t<'a> = option<'a>"},{"id":"Js.Option.some","kind":"value","name":"some","docstrings":[],"signature":"let some: 'a => option<'a>"},{"id":"Js.Option.isSome","kind":"value","name":"isSome","docstrings":[],"signature":"let isSome: option<'a> => bool"},{"id":"Js.Option.isSomeValue","kind":"value","name":"isSomeValue","docstrings":[],"signature":"let isSomeValue: ((. 'a, 'a) => bool, 'a, option<'a>) => bool"},{"id":"Js.Option.isNone","kind":"value","name":"isNone","docstrings":[],"signature":"let isNone: option<'a> => bool"},{"id":"Js.Option.getExn","kind":"value","name":"getExn","docstrings":[],"signature":"let getExn: option<'a> => 'a"},{"id":"Js.Option.equal","kind":"value","name":"equal","docstrings":[],"signature":"let equal: ((. 'a, 'b) => bool, option<'a>, option<'b>) => bool"},{"id":"Js.Option.andThen","kind":"value","name":"andThen","docstrings":[],"signature":"let andThen: ((. 'a) => option<'b>, option<'a>) => option<'b>"},{"id":"Js.Option.map","kind":"value","name":"map","docstrings":[],"signature":"let map: ((. 'a) => 'b, option<'a>) => option<'b>"},{"id":"Js.Option.getWithDefault","kind":"value","name":"getWithDefault","docstrings":[],"signature":"let getWithDefault: ('a, option<'a>) => 'a"},{"id":"Js.Option.default","kind":"value","name":"default","docstrings":[],"signature":"let default: ('a, option<'a>) => 'a"},{"id":"Js.Option.filter","kind":"value","name":"filter","docstrings":[],"signature":"let filter: ((. 'a) => bool, option<'a>) => option<'a>"},{"id":"Js.Option.firstSome","kind":"value","name":"firstSome","docstrings":[],"signature":"let firstSome: (option<'a>, option<'a>) => option<'a>"}]},"js/blob":{"id":"Js.Blob","name":"Blob","docstrings":["Provide utilities for Blob"],"items":[{"id":"Js.Blob.t","kind":"type","name":"t","docstrings":[],"signature":"type t"}]},"js/file":{"id":"Js.File","name":"File","docstrings":["Provide utilities for File"],"items":[{"id":"Js.File.t","kind":"type","name":"t","docstrings":[],"signature":"type t"}]},"js/bigint":{"id":"Js.Bigint","name":"Bigint","docstrings":["Provide utilities for bigint"],"items":[{"id":"Js.Bigint.t","kind":"type","name":"t","docstrings":[],"signature":"type t"}]},"js/int":{"id":"Js.Int","name":"Int","docstrings":["Provide utilities for int"],"items":[{"id":"Js.Int.toExponential","kind":"value","name":"toExponential","docstrings":["Formats an `int` using exponential (scientific) notation.\nReturns a `string` representing the given value in exponential notation.\nRaises `RangeError` if digits is not in the range \\[0, 20\\] (inclusive).\n\n**see** [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toExponential)\n\n## Examples\n\n```rescript\n/* prints \"7.7e+1\" */\nJs.log(Js.Int.toExponential(77))\n```"],"signature":"let toExponential: int => string"},{"id":"Js.Int.toExponentialWithPrecision","kind":"value","name":"toExponentialWithPrecision","docstrings":["Formats an `int` using exponential (scientific) notation.\n`digits` specifies how many digits should appear after the decimal point. The value must be in the range \\[0, 20\\] (inclusive).\n\nReturns a `string` representing the given value in exponential notation.\n\nThe output will be rounded or padded with zeroes if necessary.\nRaises `RangeError` if `digits` is not in the range \\[0, 20\\] (inclusive).\n\n**see** [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toExponential)\n\n## Examples\n\n```rescript\n/* prints \"7.70e+1\" */\nJs.log(Js.Int.toExponentialWithPrecision(77, ~digits=2))\n\n/* prints \"5.68e+3\" */\nJs.log(Js.Int.toExponentialWithPrecision(5678, ~digits=2))\n```"],"signature":"let toExponentialWithPrecision: (int, ~digits: int) => string"},{"id":"Js.Int.toPrecision","kind":"value","name":"toPrecision","docstrings":["Formats an `int` using some fairly arbitrary rules.\nReturns a `string` representing the given value in fixed-point (usually).\n\n`toPrecision` differs from `toFixed` in that the former will format the number with full precision, while the latter will not output any digits after the decimal point.\nRaises `RangeError` if `digits` is not in the range accepted by this function.\n\n**See** [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toPrecision)\n\n## Examples\n\n```rescript\n/* prints \"123456789\" */\nJs.log(Js.Int.toPrecision(123456789))\n```"],"signature":"let toPrecision: int => string"},{"id":"Js.Int.toPrecisionWithPrecision","kind":"value","name":"toPrecisionWithPrecision","docstrings":["Formats an `int` using some fairly arbitrary rules.\n`digits` specifies how many digits should appear in total. The value must between 0 and some arbitrary number that's hopefully at least larger than 20 (for Node it's 21. Why? Who knows).\n\nReturns a `string` representing the given value in fixed-point or scientific notation.\n\nThe output will be rounded or padded with zeroes if necessary.\n\n`toPrecisionWithPrecision` differs from `toFixedWithPrecision` in that the former will count all digits against the precision, while the latter will count only the digits after the decimal point.\n`toPrecisionWithPrecision` will also use scientific notation if the specified precision is less than the number of digits before the decimal point.\nRaises `RangeError` if `digits` is not in the range accepted by this function.\n\n\n**See** [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toPrecision)\n\n## Examples\n\n```rescript\n/* prints \"1.2e+8\" */\nJs.log(Js.Int.toPrecisionWithPrecision(123456789, ~digits=2))\n\n/* prints \"0.0\" */\nJs.log(Js.Int.toPrecisionWithPrecision(0, ~digits=2))\n```"],"signature":"let toPrecisionWithPrecision: (int, ~digits: int) => string"},{"id":"Js.Int.toString","kind":"value","name":"toString","docstrings":["Formats an `int` as a `string`. Returns a `string` representing the given value\nin fixed-point (usually).\n\n**See** [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toString)\n\n## Examples\n\n```rescript\n/* prints \"123456789\" */\nJs.log(Js.Int.toString(123456789))\n```"],"signature":"let toString: int => string"},{"id":"Js.Int.toStringWithRadix","kind":"value","name":"toStringWithRadix","docstrings":["Formats an `int` as a `string`. `radix` specifies the radix base to use for the\nformatted number. The value must be in the range \\[2, 36\\] (inclusive). Returns\na `string` representing the given value in fixed-point (usually). Raises\n`RangeError` if `radix` is not in the range \\[2, 36\\] (inclusive).\n\n\n**See** [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toString)\n\n## Examples\n\n```rescript\n/* prints \"110\" */\nJs.log(Js.Int.toStringWithRadix(6, ~radix=2))\n\n/* prints \"deadbeef\" */\nJs.log(Js.Int.toStringWithRadix(3735928559, ~radix=16))\n\n/* prints \"2n9c\" */\nJs.log(Js.Int.toStringWithRadix(123456, ~radix=36))\n```"],"signature":"let toStringWithRadix: (int, ~radix: int) => string"},{"id":"Js.Int.toFloat","kind":"value","name":"toFloat","docstrings":[],"signature":"let toFloat: int => float"},{"id":"Js.Int.equal","kind":"value","name":"equal","docstrings":[],"signature":"let equal: (int, int) => bool"},{"id":"Js.Int.max","kind":"value","name":"max","docstrings":[],"signature":"let max: int"},{"id":"Js.Int.min","kind":"value","name":"min","docstrings":[],"signature":"let min: int"}]},"js/float":{"id":"Js.Float","name":"Float","docstrings":["Provide utilities for JS float"],"items":[{"id":"Js.Float._NaN","kind":"value","name":"_NaN","docstrings":["The special value \"Not a Number\"\n\n**See:** [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/NaN)"],"signature":"let _NaN: float"},{"id":"Js.Float.isNaN","kind":"value","name":"isNaN","docstrings":["Tests if the given value is `_NaN`\n\nNote that both `_NaN = _NaN` and `_NaN == _NaN` will return `false`. `isNaN` is\ntherefore necessary to test for `_NaN`.\n\n**return** `true` if the given value is `_NaN`, `false` otherwise\n\n**see** [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isNaN)"],"signature":"let isNaN: float => bool"},{"id":"Js.Float.isFinite","kind":"value","name":"isFinite","docstrings":["Tests if the given value is finite\n\n**return** `true` if the given value is a finite number, `false` otherwise\n\n## Examples\n\n```rescript\n/* returns [false] */\nJs.Float.isFinite(infinity)\n\n/* returns [false] */\nJs.Float.isFinite(neg_infinity)\n\n/* returns [false] */\nJs.Float.isFinite(Js.Float._NaN)\n\n/* returns [true] */\nJs.Float.isFinite(1234.)\n```\n\n**see** [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isFinite)"],"signature":"let isFinite: float => bool"},{"id":"Js.Float.toExponential","kind":"value","name":"toExponential","docstrings":["Formats a `float` using exponential (scientific) notation\n\n**return** a `string` representing the given value in exponential notation\n\n**raise** RangeError if digits is not in the range [0, 20] (inclusive)\n\n## Examples\n\n```rescript\n/* prints \"7.71234e+1\" */\nJs.Float.toExponential(77.1234)->Js.log\n\n/* prints \"7.7e+1\" */\nJs.Float.toExponential(77.)->Js.log\n```\n\n**See** [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toExponential)"],"signature":"let toExponential: float => string"},{"id":"Js.Float.toExponentialWithPrecision","kind":"value","name":"toExponentialWithPrecision","docstrings":["Formats a `float` using exponential (scientific) notation\n\n**digits** specifies how many digits should appear after the decimal point. The\nvalue must be in the range [0, 20] (inclusive).\n\n**return** a `string` representing the given value in exponential notation\n\nThe output will be rounded or padded with zeroes if necessary.\n\n**raise** RangeError if digits is not in the range [0, 20] (inclusive)\n\n## Examples\n\n```rescript\n/* prints \"7.71e+1\" */\nJs.Float.toExponentialWithPrecision(77.1234, ~digits=2)->Js.log\n```\n\n**see** [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toExponential)"],"signature":"let toExponentialWithPrecision: (float, ~digits: int) => string"},{"id":"Js.Float.toFixed","kind":"value","name":"toFixed","docstrings":["Formats a `float` using fixed point notation\n\n**return** a `string` representing the given value in fixed-point notation (usually)\n\n**raise** RangeError if digits is not in the range [0, 20] (inclusive)\n\n## Examples\n\n```rescript\n/* prints \"12346\" (note the rounding) */\nJs.Float.toFixed(12345.6789)->Js.log\n\n/* print \"1.2e+21\" */\nJs.Float.toFixed(1.2e21)->Js.log\n```\n\n**See** [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toFixed)"],"signature":"let toFixed: float => string"},{"id":"Js.Float.toFixedWithPrecision","kind":"value","name":"toFixedWithPrecision","docstrings":["Formats a `float` using fixed point notation\n\n**digits** specifies how many digits should appear after the decimal point. The\nvalue must be in the range [0, 20] (inclusive). Defaults to `0`.\n\n**return** a `string` representing the given value in fixed-point notation (usually)\n\nThe output will be rounded or padded with zeroes if necessary.\n\n**raise** RangeError if digits is not in the range [0, 20] (inclusive)\n\n## Examples\n\n```rescript\n/* prints \"12345.7\" (note the rounding) */\nJs.Float.toFixedWithPrecision(12345.6789, ~digits=1)->Js.log\n\n/* prints \"0.00\" (note the added zeroes) */\nJs.Float.toFixedWithPrecision(0., ~digits=2)->Js.log\n```\n\n**See** [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toFixed)"],"signature":"let toFixedWithPrecision: (float, ~digits: int) => string"},{"id":"Js.Float.toPrecision","kind":"value","name":"toPrecision","docstrings":["Formats a `float` using some fairly arbitrary rules\n\n**return** a `string` representing the given value in fixed-point (usually)\n\n`toPrecision` differs from `toFixed` in that the former will format the number\nwith full precision, while the latter will not output any digits after the\ndecimal point.\n\n**raise** RangeError if digits is not in the range accepted by this function (what do you mean \"vague\"?)\n\n## Examples\n\n```rescript\n/* prints \"12345.6789\" */\nJs.Float.toPrecision(12345.6789)->Js.log\n\n/* print \"1.2e+21\" */\nJs.Float.toPrecision(1.2e21)->Js.log\n```\n\n**See** [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toPrecision)"],"signature":"let toPrecision: float => string"},{"id":"Js.Float.toPrecisionWithPrecision","kind":"value","name":"toPrecisionWithPrecision","docstrings":["Formats a `float` using some fairly arbitrary rules\n\n**digits** specifies how many digits should appear in total. The\nvalue must between 0 and some arbitrary number that's hopefully at least larger\nthan 20 (for Node it's 21. Why? Who knows).\n\n**return** a `string` representing the given value in fixed-point or scientific notation\n\nThe output will be rounded or padded with zeroes if necessary.\n\n`toPrecisionWithPrecision` differs from `toFixedWithPrecision` in that the former\nwill count all digits against the precision, while the latter will count only\nthe digits after the decimal point. `toPrecisionWithPrecision` will also use\nscientific notation if the specified precision is less than the number for digits\nbefore the decimal point.\n\n**raise** RangeError if digits is not in the range accepted by this function (what do you mean \"vague\"?)\n\n## Examples\n\n```rescript\n/* prints \"1e+4\" */\nJs.Float.toPrecisionWithPrecision(12345.6789, ~digits=1)->Js.log\n\n/* prints \"0.0\" */\nJs.Float.toPrecisionWithPrecision(0., ~digits=2)->Js.log\n```\n\n**See** [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toPrecision)"],"signature":"let toPrecisionWithPrecision: (float, ~digits: int) => string"},{"id":"Js.Float.toString","kind":"value","name":"toString","docstrings":["Formats a `float` as a string\n\n**return** a `string` representing the given value in fixed-point (usually)\n\n## Examples\n\n```rescript\n/* prints \"12345.6789\" */\nJs.Float.toString(12345.6789)->Js.log\n```\n\n**See** [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toString)"],"signature":"let toString: float => string"},{"id":"Js.Float.toStringWithRadix","kind":"value","name":"toStringWithRadix","docstrings":["Formats a `float` as a string\n\n**radix** specifies the radix base to use for the formatted number. The\nvalue must be in the range [2, 36] (inclusive).\n\n**return** a `string` representing the given value in fixed-point (usually)\n\n**raise** RangeError if radix is not in the range [2, 36] (inclusive)\n\n## Examples\n\n```rescript\n/* prints \"110\" */\nJs.Float.toStringWithRadix(6., ~radix=2)->Js.log\n\n/* prints \"11.001000111101011100001010001111010111000010100011111\" */\nJs.Float.toStringWithRadix(3.14, ~radix=2)->Js.log\n\n/* prints \"deadbeef\" */\nJs.Float.toStringWithRadix(3735928559., ~radix=16)->Js.log\n\n/* prints \"3f.gez4w97ry0a18ymf6qadcxr\" */\nJs.Float.toStringWithRadix(123.456, ~radix=36)->Js.log\n```\n\n**See** [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toString)"],"signature":"let toStringWithRadix: (float, ~radix: int) => string"},{"id":"Js.Float.fromString","kind":"value","name":"fromString","docstrings":["Parses the given `string` into a `float` using JavaScript semantics\n\n**return** the number as a `float` if successfully parsed, `_NaN` otherwise.\n\n## Examples\n\n```rescript\n/* returns 123 */\nJs.Float.fromString(\"123\")\n\n/* returns 12.3 */\nJs.Float.fromString(\"12.3\")\n\n/* returns 0 */\nJs.Float.fromString(\"\")\n\n/* returns 17 */\nJs.Float.fromString(\"0x11\")\n\n/* returns 3 */\nJs.Float.fromString(\"0b11\")\n\n/* returns 9 */\nJs.Float.fromString(\"0o11\")\n\n/* returns [_NaN] */\nJs.Float.fromString(\"hello\")\n\n/* returns [_NaN] */\nJs.Float.fromString(\"100a\")\n```"],"signature":"let fromString: string => float"}]},"js/types":{"id":"Js.Types","name":"Types","docstrings":["Provide utilities for manipulating JS types"],"items":[{"id":"Js.Types.symbol","kind":"type","name":"symbol","docstrings":["Js symbol type (only available in ES6)"],"signature":"type symbol"},{"id":"Js.Types.bigint_val","kind":"type","name":"bigint_val","docstrings":["Js bigint type only available in ES2020"],"signature":"type bigint_val"},{"id":"Js.Types.obj_val","kind":"type","name":"obj_val","docstrings":[],"signature":"type obj_val"},{"id":"Js.Types.undefined_val","kind":"type","name":"undefined_val","docstrings":["This type has only one value `undefined`"],"signature":"type undefined_val"},{"id":"Js.Types.null_val","kind":"type","name":"null_val","docstrings":["This type has only one value `null`"],"signature":"type null_val"},{"id":"Js.Types.function_val","kind":"type","name":"function_val","docstrings":[],"signature":"type function_val"},{"id":"Js.Types.t","kind":"type","name":"t","docstrings":[],"signature":"type t<_> =\\n | Undefined: t\\n | Null: t\\n | Boolean: t\\n | Number: t\\n | String: t\\n | Function: t\\n | Object: t\\n | Symbol: t\\n | BigInt: t"},{"id":"Js.Types.test","kind":"value","name":"test","docstrings":["`test(value, t)` returns `true` if `value` is `typeof t`, otherwise `false`.\nThis is useful for doing runtime reflection on any given value.\n\n## Examples\n\n```rescript\ntest(\"test\", String) == true\ntest(() => true, Function) == true\ntest(\"test\", Boolean) == false\n```"],"signature":"let test: ('a, t<'b>) => bool"},{"id":"Js.Types.tagged_t","kind":"type","name":"tagged_t","docstrings":[],"signature":"type tagged_t =\\n | JSFalse\\n | JSTrue\\n | JSNull\\n | JSUndefined\\n | JSNumber(float)\\n | JSString(string)\\n | JSFunction(function_val)\\n | JSObject(obj_val)\\n | JSSymbol(symbol)\\n | JSBigInt(bigint_val)"},{"id":"Js.Types.classify","kind":"value","name":"classify","docstrings":[],"signature":"let classify: 'a => tagged_t"}]},"js/typedarray2":{"id":"Js.TypedArray2","name":"TypedArray2","docstrings":["Provide bindings for JS typed array"],"items":[{"id":"Js.TypedArray2.array_buffer","kind":"type","name":"array_buffer","docstrings":[],"signature":"type array_buffer"},{"id":"Js.TypedArray2.array_like","kind":"type","name":"array_like","docstrings":[],"signature":"type array_like<'a>"}]},"js/typed_array":{"id":"Js.Typed_array","name":"Typed_array","docstrings":["Provide bindings for JS typed array"],"items":[{"id":"Js.Typed_array.array_buffer","kind":"type","name":"array_buffer","docstrings":[],"signature":"type array_buffer = Js_typed_array2.array_buffer"},{"id":"Js.Typed_array.array_like","kind":"type","name":"array_like","docstrings":[],"signature":"type array_like<'a> = Js_typed_array2.array_like<'a>"}]},"js/obj":{"id":"Js.Obj","name":"Obj","docstrings":["Provide utilities for `Js.t`"],"items":[{"id":"Js.Obj.empty","kind":"value","name":"empty","docstrings":["`empty()` returns the empty object `{}`"],"signature":"let empty: unit => {..}"},{"id":"Js.Obj.assign","kind":"value","name":"assign","docstrings":["`assign(target, source)` copies properties from source to target.\nProperties in `target` will be overwritten by properties in `source` if they have the same key.\nReturns `target`.\n\n**See** [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign)\n\n## Examples\n\n```rescript\n/* Copy an object */\n\nlet obj = {\"a\": 1}\n\nlet copy = Js.Obj.assign(Js.Obj.empty(), obj)\n\n/* prints \"{ a: 1 }\" */\nJs.log(copy)\n\n/* Merge objects with same properties */\n\nlet target = {\"a\": 1, \"b\": 1}\nlet source = {\"b\": 2}\n\nlet obj = Js.Obj.assign(target, source)\n\n/* prints \"{ a: 1, b: 2 }\" */\nJs.log(obj)\n\n/* prints \"{ a: 1, b: 2 }\", target is modified */\nJs.log(target)\n```"],"signature":"let assign: ({..}, {..}) => {..}"},{"id":"Js.Obj.keys","kind":"value","name":"keys","docstrings":["`keys(obj)` returns an `array` of the keys of `obj`'s own enumerable properties."],"signature":"let keys: {..} => array"}]},"js/math":{"id":"Js.Math","name":"Math","docstrings":["Provide bindings for JS `Math` object"],"items":[{"id":"Js.Math._E","kind":"value","name":"_E","docstrings":["Euler's number; ≈ 2.718281828459045. See\n[`Math.E`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/E)\non MDN."],"signature":"let _E: float"},{"id":"Js.Math._LN2","kind":"value","name":"_LN2","docstrings":["Natural logarithm of 2; ≈ 0.6931471805599453. See\n[`Math.LN2`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/LN2)\non MDN."],"signature":"let _LN2: float"},{"id":"Js.Math._LN10","kind":"value","name":"_LN10","docstrings":["Natural logarithm of 10; ≈ 2.302585092994046. See\n[`Math.LN10`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/LN10)\non MDN."],"signature":"let _LN10: float"},{"id":"Js.Math._LOG2E","kind":"value","name":"_LOG2E","docstrings":["Base 2 logarithm of E; ≈ 1.4426950408889634. See\n[`Math.LOG2E`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/LOG2E)\non MDN."],"signature":"let _LOG2E: float"},{"id":"Js.Math._LOG10E","kind":"value","name":"_LOG10E","docstrings":["Base 10 logarithm of E; ≈ 0.4342944819032518. See\n[`Math.LOG10E`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/LOG10E)\non MDN."],"signature":"let _LOG10E: float"},{"id":"Js.Math._PI","kind":"value","name":"_PI","docstrings":["Pi - ratio of the circumference to the diameter of a circle; ≈ 3.141592653589793. See\n[`Math.PI`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/PI)\non MDN."],"signature":"let _PI: float"},{"id":"Js.Math._SQRT1_2","kind":"value","name":"_SQRT1_2","docstrings":["Square root of 1/2; ≈ 0.7071067811865476. See\n[`Math.SQRT1_2`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/SQRT1_2)\non MDN."],"signature":"let _SQRT1_2: float"},{"id":"Js.Math._SQRT2","kind":"value","name":"_SQRT2","docstrings":["Square root of 2; ≈ 1.4142135623730951. See\n[`Math.SQRT2`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/SQRT2)\non MDN."],"signature":"let _SQRT2: float"},{"id":"Js.Math.abs_int","kind":"value","name":"abs_int","docstrings":["Absolute value for integer argument. See\n[`Math.abs`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/abs)\non MDN."],"signature":"let abs_int: int => int"},{"id":"Js.Math.abs_float","kind":"value","name":"abs_float","docstrings":["Absolute value for float argument. See\n[`Math.abs`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/abs)\non MDN."],"signature":"let abs_float: float => float"},{"id":"Js.Math.acos","kind":"value","name":"acos","docstrings":["Arccosine (in radians) of argument; returns `NaN` if the argument is outside\nthe range [-1.0, 1.0]. See\n[`Math.acos`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/acos)\non MDN."],"signature":"let acos: float => float"},{"id":"Js.Math.acosh","kind":"value","name":"acosh","docstrings":["Hyperbolic arccosine (in radians) of argument; returns `NaN` if the argument\nis less than 1.0. See\n[`Math.acosh`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/acosh)\non MDN."],"signature":"let acosh: float => float"},{"id":"Js.Math.asin","kind":"value","name":"asin","docstrings":["Arcsine (in radians) of argument; returns `NaN` if the argument is outside\nthe range [-1.0, 1.0]. See\n[`Math.asin`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/asin)\non MDN."],"signature":"let asin: float => float"},{"id":"Js.Math.asinh","kind":"value","name":"asinh","docstrings":["Hyperbolic arcsine (in radians) of argument. See\n[`Math.asinh`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/asinh)\non MDN."],"signature":"let asinh: float => float"},{"id":"Js.Math.atan","kind":"value","name":"atan","docstrings":["Arctangent (in radians) of argument. See\n[`Math.atan`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/atan)\non MDN."],"signature":"let atan: float => float"},{"id":"Js.Math.atanh","kind":"value","name":"atanh","docstrings":["Hyperbolic arctangent (in radians) of argument; returns `NaN` if the argument\nis is outside the range [-1.0, 1.0]. Returns `-Infinity` and `Infinity` for\narguments -1.0 and 1.0. See\n[`Math.atanh`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/atanh)\non MDN."],"signature":"let atanh: float => float"},{"id":"Js.Math.atan2","kind":"value","name":"atan2","docstrings":["Returns the angle (in radians) of the quotient `y /. x`. It is also the angle\nbetween the *x*-axis and point (*x*, *y*). See\n[`Math.atan2`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/atan2)\non MDN.\n\n## Examples\n\n```rescript\nJs.Math.atan2(~y=0.0, ~x=10.0, ()) == 0.0\nJs.Math.atan2(~x=5.0, ~y=5.0, ()) == Js.Math._PI /. 4.0\nJs.Math.atan2(~x=-5.0, ~y=5.0, ())\nJs.Math.atan2(~x=-5.0, ~y=5.0, ()) == 3.0 *. Js.Math._PI /. 4.0\nJs.Math.atan2(~x=-0.0, ~y=-5.0, ()) == -.Js.Math._PI /. 2.0\n```"],"signature":"let atan2: (~y: float, ~x: float, unit) => float"},{"id":"Js.Math.cbrt","kind":"value","name":"cbrt","docstrings":["Cube root. See\n[`Math.cbrt`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/cbrt)\non MDN"],"signature":"let cbrt: float => float"},{"id":"Js.Math.unsafe_ceil_int","kind":"value","name":"unsafe_ceil_int","docstrings":["Returns the smallest integer greater than or equal to the argument. This\nfunction may return values not representable by `int`, whose range is\n-2147483648 to 2147483647. This is because, in JavaScript, there are only\n64-bit floating point numbers, which can represent integers in the range\n±(253-1) exactly. See\n[`Math.ceil`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/ceil)\non MDN.\n\n## Examples\n\n```rescript\nJs.Math.unsafe_ceil_int(3.1) == 4\nJs.Math.unsafe_ceil_int(3.0) == 3\nJs.Math.unsafe_ceil_int(-3.1) == -3\nJs.Math.unsafe_ceil_int(1.0e15) // result is outside range of int datatype\n```"],"signature":"let unsafe_ceil_int: float => int"},{"id":"Js.Math.unsafe_ceil","kind":"value","name":"unsafe_ceil","docstrings":[],"signature":"let unsafe_ceil: float => int"},{"id":"Js.Math.ceil_int","kind":"value","name":"ceil_int","docstrings":["Returns the smallest `int` greater than or equal to the argument; the result\nis pinned to the range of the `int` data type: -2147483648 to 2147483647. See\n[`Math.ceil`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/ceil)\non MDN.\n\n## Examples\n\n```rescript\nJs.Math.ceil_int(3.1) == 4\nJs.Math.ceil_int(3.0) == 3\nJs.Math.ceil_int(-3.1) == -3\nJs.Math.ceil_int(-1.0e15) == -2147483648\nJs.Math.ceil_int(1.0e15) == 2147483647\n```"],"signature":"let ceil_int: float => int"},{"id":"Js.Math.ceil","kind":"value","name":"ceil","docstrings":[],"signature":"let ceil: float => int"},{"id":"Js.Math.ceil_float","kind":"value","name":"ceil_float","docstrings":["Returns the smallest integral value greater than or equal to the argument.\nThe result is a `float` and is not restricted to the `int` data type range.\nSee\n[`Math.ceil`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/ceil)\non MDN.\n\n## Examples\n\n```rescript\nJs.Math.ceil_float(3.1) == 4.0\nJs.Math.ceil_float(3.0) == 3.0\nJs.Math.ceil_float(-3.1) == -3.0\nJs.Math.ceil_float(2_150_000_000.3) == 2_150_000_001.0\n```"],"signature":"let ceil_float: float => float"},{"id":"Js.Math.clz32","kind":"value","name":"clz32","docstrings":["Number of leading zero bits of the argument's 32 bit int representation. See\n[`Math.clz32`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/clz32)\non MDN.\n\n## Examples\n\n```rescript\nJs.Math.clz32(0) == 32\nJs.Math.clz32(-1) == 0\nJs.Math.clz32(255) == 24\n```"],"signature":"let clz32: int => int"},{"id":"Js.Math.cos","kind":"value","name":"cos","docstrings":["Cosine of argument, which must be specified in radians. See\n[`Math.cos`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/cos)\non MDN."],"signature":"let cos: float => float"},{"id":"Js.Math.cosh","kind":"value","name":"cosh","docstrings":["Hyperbolic cosine of argument, which must be specified in radians. See\n[`Math.cosh`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/cosh)\non MDN."],"signature":"let cosh: float => float"},{"id":"Js.Math.exp","kind":"value","name":"exp","docstrings":["Natural exponentional; returns *e* (the base of natural logarithms) to the\npower of the given argument. See\n[`Math.exp`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/exp)\non MDN."],"signature":"let exp: float => float"},{"id":"Js.Math.expm1","kind":"value","name":"expm1","docstrings":["Returns *e* (the base of natural logarithms) to the power of the given\nargument minus 1. See\n[`Math.expm1`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/expm1)\non MDN."],"signature":"let expm1: float => float"},{"id":"Js.Math.unsafe_floor_int","kind":"value","name":"unsafe_floor_int","docstrings":["Returns the largest integer less than or equal to the argument. This function\nmay return values not representable by `int`, whose range is -2147483648 to\n2147483647. This is because, in JavaScript, there are only 64-bit floating\npoint numbers, which can represent integers in the range\n±(253-1) exactly. See\n[`Math.floor`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/floor)\non MDN.\n\n## Examples\n\n```rescript\nJs.Math.unsafe_floor_int(3.7) == 3\nJs.Math.unsafe_floor_int(3.0) == 3\nJs.Math.unsafe_floor_int(-3.7) == -4\nJs.Math.unsafe_floor_int(1.0e15) // result is outside range of int datatype\n```"],"signature":"let unsafe_floor_int: float => int"},{"id":"Js.Math.unsafe_floor","kind":"value","name":"unsafe_floor","docstrings":[],"signature":"let unsafe_floor: float => int"},{"id":"Js.Math.floor_int","kind":"value","name":"floor_int","docstrings":["Returns the largest `int` less than or equal to the argument; the result is\npinned to the range of the `int` data type: -2147483648 to 2147483647. See\n[`Math.floor`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/floor)\non MDN.\n\n## Examples\n\n```rescript\nJs.Math.floor_int(3.7) == 3\nJs.Math.floor_int(3.0) == 3\nJs.Math.floor_int(-3.1) == -4\nJs.Math.floor_int(-1.0e15) == -2147483648\nJs.Math.floor_int(1.0e15) == 2147483647\n```"],"signature":"let floor_int: float => int"},{"id":"Js.Math.floor","kind":"value","name":"floor","docstrings":[],"signature":"let floor: float => int"},{"id":"Js.Math.floor_float","kind":"value","name":"floor_float","docstrings":["Returns the largest integral value less than or equal to the argument. The\nresult is a `float` and is not restricted to the `int` data type range. See\n[`Math.floor`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/floor)\non MDN.\n\n## Examples\n\n```rescript\nJs.Math.floor_float(3.7) == 3.0\nJs.Math.floor_float(3.0) == 3.0\nJs.Math.floor_float(-3.1) == -4.0\nJs.Math.floor_float(2_150_000_000.3) == 2_150_000_000.0\n```"],"signature":"let floor_float: float => float"},{"id":"Js.Math.fround","kind":"value","name":"fround","docstrings":["Round to nearest single precision float. See\n[`Math.fround`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/fround)\non MDN.\n\n## Examples\n\n```rescript\nJs.Math.fround(5.5) == 5.5\nJs.Math.fround(5.05) == 5.050000190734863\n```"],"signature":"let fround: float => float"},{"id":"Js.Math.hypot","kind":"value","name":"hypot","docstrings":["Returns the square root of the sum of squares of its two arguments (the\nPythagorean formula). See\n[`Math.hypot`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/hypot)\non MDN."],"signature":"let hypot: (float, float) => float"},{"id":"Js.Math.hypotMany","kind":"value","name":"hypotMany","docstrings":["Returns the square root of the sum of squares of the numbers in the array\nargument (generalized Pythagorean equation). Using an array allows you to\nhave more than two items. See\n[`Math.hypot`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/hypot)\non MDN.\n\n## Examples\n\n```rescript\nJs.Math.hypotMany([3.0, 4.0, 12.0]) == 13.0\n```"],"signature":"let hypotMany: array => float"},{"id":"Js.Math.imul","kind":"value","name":"imul","docstrings":["32-bit integer multiplication. Use this only when you need to optimize\nperformance of multiplication of numbers stored as 32-bit integers. See\n[`Math.imul`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/imul)\non MDN."],"signature":"let imul: (int, int) => int"},{"id":"Js.Math.log","kind":"value","name":"log","docstrings":["Returns the natural logarithm of its argument; this is the number *x* such\nthat *e**x* equals the argument. Returns `NaN` for negative\narguments. See\n[`Math.log`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/log)\non MDN.\n\n## Examples\n\n```rescript\nJs.Math.log(Js.Math._E) == 1.0\nJs.Math.log(100.0) == 4.605170185988092\n```"],"signature":"let log: float => float"},{"id":"Js.Math.log1p","kind":"value","name":"log1p","docstrings":["Returns the natural logarithm of one plus the argument. Returns `NaN` for\narguments less than -1. See\n[`Math.log1p`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/log1p)\non MDN.\n\n## Examples\n\n```rescript\nJs.Math.log1p(Js.Math._E -. 1.0) == 1.0\nJs.Math.log1p(99.0) == 4.605170185988092\n```"],"signature":"let log1p: float => float"},{"id":"Js.Math.log10","kind":"value","name":"log10","docstrings":["Returns the base 10 logarithm of its argument. Returns `NaN` for negative\narguments. See\n[`Math.log10`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/log10)\non MDN.\n\n## Examples\n\n```rescript\nJs.Math.log10(1000.0) == 3.0\nJs.Math.log10(0.01) == -2.0\nJs.Math.log10(Js.Math.sqrt(10.0)) == 0.5\n```"],"signature":"let log10: float => float"},{"id":"Js.Math.log2","kind":"value","name":"log2","docstrings":["Returns the base 2 logarithm of its argument. Returns `NaN` for negative\narguments. See\n[`Math.log2`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/log2)\non MDN.\n\n## Examples\n\n```rescript\nJs.Math.log2(512.0) == 9.0\nJs.Math.log2(0.125) == -3.0\nJs.Math.log2(Js.Math._SQRT2) == 0.5000000000000001 // due to precision\n```"],"signature":"let log2: float => float"},{"id":"Js.Math.max_int","kind":"value","name":"max_int","docstrings":["Returns the maximum of its two integer arguments. See\n[`Math.max`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/max)\non MDN."],"signature":"let max_int: (int, int) => int"},{"id":"Js.Math.maxMany_int","kind":"value","name":"maxMany_int","docstrings":["Returns the maximum of the integers in the given array. See\n[`Math.max`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/max)\non MDN."],"signature":"let maxMany_int: array => int"},{"id":"Js.Math.max_float","kind":"value","name":"max_float","docstrings":["Returns the maximum of its two floating point arguments. See\n[`Math.max`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/max)\non MDN."],"signature":"let max_float: (float, float) => float"},{"id":"Js.Math.maxMany_float","kind":"value","name":"maxMany_float","docstrings":["Returns the maximum of the floating point values in the given array. See\n[`Math.max`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/max)\non MDN."],"signature":"let maxMany_float: array => float"},{"id":"Js.Math.min_int","kind":"value","name":"min_int","docstrings":["Returns the minimum of its two integer arguments. See\n[`Math.min`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/min)\non MDN."],"signature":"let min_int: (int, int) => int"},{"id":"Js.Math.minMany_int","kind":"value","name":"minMany_int","docstrings":["Returns the minimum of the integers in the given array. See\n[`Math.min`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/min)\non MDN."],"signature":"let minMany_int: array => int"},{"id":"Js.Math.min_float","kind":"value","name":"min_float","docstrings":["Returns the minimum of its two floating point arguments. See\n[`Math.min`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/min)\non MDN."],"signature":"let min_float: (float, float) => float"},{"id":"Js.Math.minMany_float","kind":"value","name":"minMany_float","docstrings":["Returns the minimum of the floating point values in the given array. See\n[`Math.min`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/min)\non MDN."],"signature":"let minMany_float: array => float"},{"id":"Js.Math.pow_int","kind":"value","name":"pow_int","docstrings":["Raises the given base to the given exponent. (Arguments and result are\nintegers.) See\n[`Math.pow`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/pow)\non MDN.\n\n## Examples\n\n```rescript\nJs.Math.pow_int(~base=3, ~exp=4) == 81\n```"],"signature":"let pow_int: (~base: int, ~exp: int) => int"},{"id":"Js.Math.pow_float","kind":"value","name":"pow_float","docstrings":["Raises the given base to the given exponent. (Arguments and result are\nfloats.) Returns `NaN` if the result would be imaginary. See\n[`Math.pow`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/pow)\non MDN.\n\n## Examples\n\n```rescript\nJs.Math.pow_float(~base=3.0, ~exp=4.0) == 81.0\nJs.Math.pow_float(~base=4.0, ~exp=-2.0) == 0.0625\nJs.Math.pow_float(~base=625.0, ~exp=0.5) == 25.0\nJs.Math.pow_float(~base=625.0, ~exp=-0.5) == 0.04\nJs.Float.isNaN(Js.Math.pow_float(~base=-2.0, ~exp=0.5)) == true\n```"],"signature":"let pow_float: (~base: float, ~exp: float) => float"},{"id":"Js.Math.random","kind":"value","name":"random","docstrings":["Returns a random number in the half-closed interval [0,1). See\n[`Math.random`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/random)\non MDN."],"signature":"let random: unit => float"},{"id":"Js.Math.random_int","kind":"value","name":"random_int","docstrings":["A call to `random_int(minVal, maxVal)` returns a random number in the\nhalf-closed interval [minVal, maxVal). See\n[`Math.random`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/random)\non MDN."],"signature":"let random_int: (int, int) => int"},{"id":"Js.Math.unsafe_round","kind":"value","name":"unsafe_round","docstrings":["Rounds its argument to nearest integer. For numbers with a fractional portion\nof exactly 0.5, the argument is rounded to the next integer in the direction\nof positive infinity. This function may return values not representable by\n`int`, whose range is -2147483648 to 2147483647. This is because, in\nJavaScript, there are only 64-bit floating point numbers, which can represent\nintegers in the range ±(253-1) exactly. See\n[`Math.round`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/round)\non MDN.\n\n## Examples\n\n```rescript\nJs.Math.unsafe_round(3.7) == 4\nJs.Math.unsafe_round(-3.5) == -3\nJs.Math.unsafe_round(2_150_000_000_000.3) // out of range for int\n```"],"signature":"let unsafe_round: float => int"},{"id":"Js.Math.round","kind":"value","name":"round","docstrings":["Rounds to nearest integral value (expressed as a float). See\n[`Math.round`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/round)\non MDN."],"signature":"let round: float => float"},{"id":"Js.Math.sign_int","kind":"value","name":"sign_int","docstrings":["Returns the sign of its integer argument: -1 if negative, 0 if zero, 1 if\npositive. See\n[`Math.sign`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/sign)\non MDN."],"signature":"let sign_int: int => int"},{"id":"Js.Math.sign_float","kind":"value","name":"sign_float","docstrings":["Returns the sign of its float argument: -1.0 if negative, 0.0 if zero, 1.0 if\npositive. See\n[`Math.sign`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/sign)\non MDN."],"signature":"let sign_float: float => float"},{"id":"Js.Math.sin","kind":"value","name":"sin","docstrings":["Sine of argument, which must be specified in radians. See\n[`Math.sin`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/sin)\non MDN."],"signature":"let sin: float => float"},{"id":"Js.Math.sinh","kind":"value","name":"sinh","docstrings":["Hyperbolic sine of argument, which must be specified in radians. See\n[`Math.sinh`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/sinh)\non MDN."],"signature":"let sinh: float => float"},{"id":"Js.Math.sqrt","kind":"value","name":"sqrt","docstrings":["Square root. If the argument is negative, this function returns `NaN`. See\n[`Math.sqrt`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/sqrt)\non MDN."],"signature":"let sqrt: float => float"},{"id":"Js.Math.tan","kind":"value","name":"tan","docstrings":["Tangent of argument, which must be specified in radians. Returns `NaN` if the\nargument is positive infinity or negative infinity. See\n[`Math.cos`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/cos)\non MDN."],"signature":"let tan: float => float"},{"id":"Js.Math.tanh","kind":"value","name":"tanh","docstrings":["Hyperbolic tangent of argument, which must be specified in radians. See\n[`Math.tanh`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/tanh)\non MDN."],"signature":"let tanh: float => float"},{"id":"Js.Math.unsafe_trunc","kind":"value","name":"unsafe_trunc","docstrings":["Truncates its argument; i.e., removes fractional digits. This function may\nreturn values not representable by `int`, whose range is -2147483648 to\n2147483647. This is because, in JavaScript, there are only 64-bit floating\npoint numbers, which can represent integers in the range ±(253-1)\nexactly. See\n[`Math.trunc`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/trunc)\non MDN."],"signature":"let unsafe_trunc: float => int"},{"id":"Js.Math.trunc","kind":"value","name":"trunc","docstrings":["Truncates its argument; i.e., removes fractional digits. See\n[`Math.trunc`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/trunc)\non MDN."],"signature":"let trunc: float => float"}]},"js/json":{"id":"Js.Json","name":"Json","docstrings":["Provide utilities for json"],"items":[{"id":"Js.Json.t","kind":"type","name":"t","docstrings":["The JSON data structure"],"signature":"type t =\\n | Boolean(bool)\\n | Null\\n | String(string)\\n | Number(float)\\n | Object(Js.Dict.t)\\n | Array(array)"},{"id":"Js.Json.tagged_t","kind":"type","name":"tagged_t","docstrings":[],"signature":"type tagged_t =\\n | JSONFalse\\n | JSONTrue\\n | JSONNull\\n | JSONString(string)\\n | JSONNumber(float)\\n | JSONObject(Js_dict.t)\\n | JSONArray(array)"},{"id":"Js.Json.classify","kind":"value","name":"classify","docstrings":[],"signature":"let classify: t => tagged_t"},{"id":"Js.Json.test","kind":"value","name":"test","docstrings":["`test(v, kind)` returns `true` if `v` is of `kind`."],"signature":"let test: ('a, Kind.t<'b>) => bool"},{"id":"Js.Json.decodeString","kind":"value","name":"decodeString","docstrings":["`decodeString(json)` returns `Some(s)` if `json` is a `string`, `None` otherwise."],"signature":"let decodeString: t => option"},{"id":"Js.Json.decodeNumber","kind":"value","name":"decodeNumber","docstrings":["`decodeNumber(json)` returns `Some(n)` if `json` is a `number`, `None` otherwise."],"signature":"let decodeNumber: t => option"},{"id":"Js.Json.decodeObject","kind":"value","name":"decodeObject","docstrings":["`decodeObject(json)` returns `Some(o)` if `json` is an `object`, `None` otherwise."],"signature":"let decodeObject: t => option>"},{"id":"Js.Json.decodeArray","kind":"value","name":"decodeArray","docstrings":["`decodeArray(json)` returns `Some(a)` if `json` is an `array`, `None` otherwise."],"signature":"let decodeArray: t => option>"},{"id":"Js.Json.decodeBoolean","kind":"value","name":"decodeBoolean","docstrings":["`decodeBoolean(json)` returns `Some(b)` if `json` is a `boolean`, `None` otherwise."],"signature":"let decodeBoolean: t => option"},{"id":"Js.Json.decodeNull","kind":"value","name":"decodeNull","docstrings":["`decodeNull(json)` returns `Some(null)` if `json` is a `null`, `None` otherwise."],"signature":"let decodeNull: t => option>"},{"id":"Js.Json.null","kind":"value","name":"null","docstrings":["`null` is the singleton null JSON value."],"signature":"let null: t"},{"id":"Js.Json.string","kind":"value","name":"string","docstrings":["`string(s)` makes a JSON string of the `string` `s`."],"signature":"let string: string => t"},{"id":"Js.Json.number","kind":"value","name":"number","docstrings":["`number(n)` makes a JSON number of the `float` `n`."],"signature":"let number: float => t"},{"id":"Js.Json.boolean","kind":"value","name":"boolean","docstrings":["`boolean(b)` makes a JSON boolean of the `bool` `b`."],"signature":"let boolean: bool => t"},{"id":"Js.Json.object_","kind":"value","name":"object_","docstrings":["`object_(dict)` makes a JSON object of the `Js.Dict.t` `dict`."],"signature":"let object_: Js_dict.t => t"},{"id":"Js.Json.array","kind":"value","name":"array","docstrings":["`array_(a)` makes a JSON array of the `Js.Json.t` array `a`."],"signature":"let array: array => t"},{"id":"Js.Json.stringArray","kind":"value","name":"stringArray","docstrings":["`stringArray(a)` makes a JSON array of the `string` array `a`."],"signature":"let stringArray: array => t"},{"id":"Js.Json.numberArray","kind":"value","name":"numberArray","docstrings":["`numberArray(a)` makes a JSON array of the `float` array `a`."],"signature":"let numberArray: array => t"},{"id":"Js.Json.booleanArray","kind":"value","name":"booleanArray","docstrings":["`booleanArray(a)` makes a JSON array of the `bool` array `a`."],"signature":"let booleanArray: array => t"},{"id":"Js.Json.objectArray","kind":"value","name":"objectArray","docstrings":["`objectArray(a) makes a JSON array of the `JsDict.t` array `a`."],"signature":"let objectArray: array> => t"},{"id":"Js.Json.parseExn","kind":"value","name":"parseExn","docstrings":["`parseExn(s)` parses the `string` `s` into a JSON data structure.\nReturns a JSON data structure.\nRaises `SyntaxError` if the given string is not a valid JSON. Note: `SyntaxError` is a JavaScript exception.\n\n**See** [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse)\n\n## Examples\n\n```rescript\n/* parse a simple JSON string */\n\nlet json = try Js.Json.parseExn(` \"hello\" `) catch {\n| _ => failwith(\"Error parsing JSON string\")\n}\n\nswitch Js.Json.classify(json) {\n| Js.Json.JSONString(value) => Js.log(value)\n| _ => failwith(\"Expected a string\")\n}\n```\n\n```rescript\n/* parse a complex JSON string */\n\nlet getIds = s => {\n let json = try Js.Json.parseExn(s) catch {\n | _ => failwith(\"Error parsing JSON string\")\n }\n\n switch Js.Json.classify(json) {\n | Js.Json.JSONObject(value) =>\n /* In this branch, compiler infer value : Js.Json.t Js.Dict.t */\n switch Js.Dict.get(value, \"ids\") {\n | Some(ids) =>\n switch Js.Json.classify(ids) {\n | Js.Json.JSONArray(ids) => /* In this branch compiler infer ids : Js.Json.t array */\n ids\n | _ => failwith(\"Expected an array\")\n }\n | None => failwith(\"Expected an `ids` property\")\n }\n | _ => failwith(\"Expected an object\")\n }\n}\n\n/* prints `1, 2, 3` */\nJs.log(getIds(` { \"ids\" : [1, 2, 3 ] } `))\n```"],"signature":"let parseExn: string => t"},{"id":"Js.Json.stringify","kind":"value","name":"stringify","docstrings":["`stringify(json)` formats the JSON data structure as a `string`.\nReturns the string representation of a given JSON data structure.\n\n**See** [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify)\n\n## Examples\n\n```rescript\n/* Creates and stringifies a simple JS object */\n\nlet dict = Js.Dict.empty()\nJs.Dict.set(dict, \"name\", Js.Json.string(\"John Doe\"))\nJs.Dict.set(dict, \"age\", Js.Json.number(30.0))\nJs.Dict.set(dict, \"likes\", Js.Json.stringArray([\"ReScript\", \"ocaml\", \"js\"]))\n\nJs.log(Js.Json.stringify(Js.Json.object_(dict)))\n```"],"signature":"let stringify: t => string"},{"id":"Js.Json.stringifyWithSpace","kind":"value","name":"stringifyWithSpace","docstrings":["`stringifyWithSpace(json)` formats the JSON data structure as a `string`.\nReturns the string representation of a given JSON data structure with spacing.\n\n**See** [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify)\n\n## Examples\n\n```rescript\n/* Creates and stringifies a simple JS object with spacing */\n\nlet dict = Js.Dict.empty()\nJs.Dict.set(dict, \"name\", Js.Json.string(\"John Doe\"))\nJs.Dict.set(dict, \"age\", Js.Json.number(30.0))\nJs.Dict.set(dict, \"likes\", Js.Json.stringArray([\"ReScript\", \"ocaml\", \"js\"]))\n\nJs.log(Js.Json.stringifyWithSpace(Js.Json.object_(dict), 2))\n```"],"signature":"let stringifyWithSpace: (t, int) => string"},{"id":"Js.Json.stringifyAny","kind":"value","name":"stringifyAny","docstrings":["`stringifyAny(value)` formats any value into a JSON string.\n\n## Examples\n\n```rescript\n/* prints `[\"hello\", \"world\"]` */\nJs.log(Js.Json.stringifyAny([\"hello\", \"world\"]))\n```"],"signature":"let stringifyAny: 'a => option"},{"id":"Js.Json.deserializeUnsafe","kind":"value","name":"deserializeUnsafe","docstrings":["Best-effort serialization, it tries to seralize as\nmany objects as possible and deserialize it back\n\nIt is unsafe in two aspects\n- It may throw during parsing\n- when you cast it to a specific type, it may have a type mismatch"],"signature":"let deserializeUnsafe: string => 'a"},{"id":"Js.Json.serializeExn","kind":"value","name":"serializeExn","docstrings":["It will raise in such situations:\n- The object can not be serlialized to a JSON\n- There are cycles\n- Some JS engines can not stringify deeply nested json objects"],"signature":"let serializeExn: 'a => string"}]},"js/global":{"id":"Js.Global","name":"Global","docstrings":["Provide bindings to JS global functions in global namespace"],"items":[{"id":"Js.Global.intervalId","kind":"type","name":"intervalId","docstrings":["Identify an interval started by `Js.Global.setInterval`."],"signature":"type intervalId"},{"id":"Js.Global.timeoutId","kind":"type","name":"timeoutId","docstrings":["Identify timeout started by `Js.Global.setTimeout`."],"signature":"type timeoutId"},{"id":"Js.Global.clearInterval","kind":"value","name":"clearInterval","docstrings":["Clear an interval started by `Js.Global.setInterval`\n\n## Examples\n\n```rescript\n/* API for a somewhat aggressive snoozing alarm clock */\n\nlet punchSleepyGuy = () => Js.log(\"Punch\")\n\nlet interval = ref(Js.Nullable.null)\n\nlet remind = () => {\n Js.log(\"Wake Up!\")\n punchSleepyGuy()\n}\n\nlet snooze = mins =>\n interval := Js.Nullable.return(Js.Global.setInterval(remind, mins * 60 * 1000))\n\nlet cancel = () =>\n Js.Nullable.iter(interval.contents, (. intervalId) => Js.Global.clearInterval(intervalId))\n```"],"signature":"let clearInterval: intervalId => unit"},{"id":"Js.Global.clearTimeout","kind":"value","name":"clearTimeout","docstrings":["Clear a timeout started by `Js.Global.setTimeout`.\n\n## Examples\n\n```rescript\n/* A simple model of a code monkey's brain */\n\nlet closeHackerNewsTab = () => Js.log(\"close\")\n\nlet timer = ref(Js.Nullable.null)\n\nlet work = () => closeHackerNewsTab()\n\nlet procrastinate = mins => {\n Js.Nullable.iter(timer.contents, (. timer) => Js.Global.clearTimeout(timer))\n timer := Js.Nullable.return(Js.Global.setTimeout(work, mins * 60 * 1000))\n}\n```"],"signature":"let clearTimeout: timeoutId => unit"},{"id":"Js.Global.setInterval","kind":"value","name":"setInterval","docstrings":["Repeatedly executes a callback with a specified interval (in milliseconds)\nbetween calls. Returns a `Js.Global.intervalId` that can be passed to\n`Js.Global.clearInterval` to cancel the timeout.\n\n## Examples\n\n```rescript\n/* Will count up and print the count to the console every second */\n\nlet count = ref(0)\n\nlet tick = () => {\n count := count.contents + 1\n Js.log(Belt.Int.toString(count.contents))\n}\n\nJs.Global.setInterval(tick, 1000)\n```"],"signature":"let setInterval: (unit => unit, int) => intervalId"},{"id":"Js.Global.setIntervalFloat","kind":"value","name":"setIntervalFloat","docstrings":["Repeatedly executes a callback with a specified interval (in milliseconds)\nbetween calls. Returns a `Js.Global.intervalId` that can be passed to\n`Js.Global.clearInterval` to cancel the timeout.\n\n## Examples\n\n```rescript\n/* Will count up and print the count to the console every second */\n\nlet count = ref(0)\n\nlet tick = () => {\n count := count.contents + 1\n Js.log(Belt.Int.toString(count.contents))\n}\n\nJs.Global.setIntervalFloat(tick, 1000.0)\n```"],"signature":"let setIntervalFloat: (unit => unit, float) => intervalId"},{"id":"Js.Global.setTimeout","kind":"value","name":"setTimeout","docstrings":["Execute a callback after a specified delay (in milliseconds). Returns a\n`Js.Global.timeoutId` that can be passed to `Js.Global.clearTimeout` to cancel\nthe timeout.\n\n## Examples\n\n```rescript\n/* Prints \"Timed out!\" in the console after one second */\n\nlet message = \"Timed out!\"\n\nJs.Global.setTimeout(() => Js.log(message), 1000)\n```"],"signature":"let setTimeout: (unit => unit, int) => timeoutId"},{"id":"Js.Global.setTimeoutFloat","kind":"value","name":"setTimeoutFloat","docstrings":["Execute a callback after a specified delay (in milliseconds). Returns a\n`Js.Global.timeoutId` that can be passed to `Js.Global.clearTimeout` to cancel\nthe timeout.\n\n## Examples\n\n```rescript\n/* Prints \"Timed out!\" in the console after one second */\n\nlet message = \"Timed out!\"\n\nJs.Global.setTimeoutFloat(() => Js.log(message), 1000.0)\n```"],"signature":"let setTimeoutFloat: (unit => unit, float) => timeoutId"},{"id":"Js.Global.encodeURI","kind":"value","name":"encodeURI","docstrings":["URL-encodes a string.\n\n**see** [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURI)"],"signature":"let encodeURI: string => string"},{"id":"Js.Global.decodeURI","kind":"value","name":"decodeURI","docstrings":["Decodes a URL-enmcoded string produced by `encodeURI`\n\n**see** [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/decodeURI)"],"signature":"let decodeURI: string => string"},{"id":"Js.Global.encodeURIComponent","kind":"value","name":"encodeURIComponent","docstrings":["URL-encodes a string, including characters with special meaning in a URI.\n\n**see** [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent)"],"signature":"let encodeURIComponent: string => string"},{"id":"Js.Global.decodeURIComponent","kind":"value","name":"decodeURIComponent","docstrings":["Decodes a URL-enmcoded string produced by `encodeURIComponent`\n\n**see** [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/decodeURIComponent)"],"signature":"let decodeURIComponent: string => string"}]},"js/dict":{"id":"Js.Dict","name":"Dict","docstrings":["Provide utilities for JS dictionary object"],"items":[{"id":"Js.Dict.t","kind":"type","name":"t","docstrings":[],"signature":"type t<'a>"},{"id":"Js.Dict.key","kind":"type","name":"key","docstrings":["The type for dictionary keys. This means that dictionaries *must* use `string`s as their keys."],"signature":"type key = string"},{"id":"Js.Dict.get","kind":"value","name":"get","docstrings":["`Js.Dict.get(key)` returns `None` if the key is not found in the dictionary,\n`Some(value)` otherwise.\n\n## Examples\n\n```rescript\nJs.Dict.get(ages, \"Vinh\") == Some(22)\nJs.Dict.get(ages, \"Paul\") == None\n```"],"signature":"let get: (t<'a>, key) => option<'a>"},{"id":"Js.Dict.unsafeGet","kind":"value","name":"unsafeGet","docstrings":["`Js.Dict.unsafeGet(key)` returns the value if the key exists, otherwise an `undefined` value is returned. Use this only when you are sure the key exists (i.e. when having used the `keys()` function to check that the key is valid).\n\n## Examples\n\n```rescript\nJs.Dict.unsafeGet(ages, \"Fred\") == 49\nJs.Dict.unsafeGet(ages, \"Paul\") // returns undefined\n```"],"signature":"let unsafeGet: (t<'a>, key) => 'a"},{"id":"Js.Dict.set","kind":"value","name":"set","docstrings":["`Js.Dict.set(dict, key, value)` sets the key/value in the dictionary `dict`. If\nthe key does not exist, and entry will be created for it.\n\n*This function modifies the original dictionary.*\n\n## Examples\n\n```rescript\nJs.Dict.set(ages, \"Maria\", 31)\nJs.log(ages == Js.Dict.fromList(list{(\"Maria\", 31), (\"Vinh\", 22), (\"Fred\", 49)}))\n\nJs.Dict.set(ages, \"David\", 66)\nJs.log(ages == Js.Dict.fromList(list{(\"Maria\", 31), (\"Vinh\", 22), (\"Fred\", 49), (\"David\", 66)}))\n```"],"signature":"let set: (t<'a>, key, 'a) => unit"},{"id":"Js.Dict.keys","kind":"value","name":"keys","docstrings":["Returns all the keys in the dictionary `dict`.\n\n## Examples\n\n```rescript\nJs.Dict.keys(ages) == [\"Maria\", \"Vinh\", \"Fred\"]\n```"],"signature":"let keys: t<'a> => array"},{"id":"Js.Dict.empty","kind":"value","name":"empty","docstrings":["Returns an empty dictionary."],"signature":"let empty: unit => t<'a>"},{"id":"Js.Dict.unsafeDeleteKey","kind":"value","name":"unsafeDeleteKey","docstrings":["Experimental internal function"],"signature":"let unsafeDeleteKey: (. t, string) => unit"},{"id":"Js.Dict.entries","kind":"value","name":"entries","docstrings":["Returns an array of key/value pairs in the given dictionary (ES2017).\n\n## Examples\n\n```rescript\nJs.Dict.entries(ages) == [(\"Maria\", 30), (\"Vinh\", 22), (\"Fred\", 49)]\n```"],"signature":"let entries: t<'a> => array<(key, 'a)>"},{"id":"Js.Dict.values","kind":"value","name":"values","docstrings":["Returns the values in the given dictionary (ES2017).\n\n## Examples\n\n```rescript\nJs.Dict.values(ages) == [30, 22, 49]\n```"],"signature":"let values: t<'a> => array<'a>"},{"id":"Js.Dict.fromList","kind":"value","name":"fromList","docstrings":["Creates a new dictionary containing each (key, value) pair in its list\nargument.\n\n## Examples\n\n```rescript\nlet capitals = Js.Dict.fromList(list{(\"Japan\", \"Tokyo\"), (\"France\", \"Paris\"), (\"Egypt\", \"Cairo\")})\n```"],"signature":"let fromList: list<(key, 'a)> => t<'a>"},{"id":"Js.Dict.fromArray","kind":"value","name":"fromArray","docstrings":["Creates a new dictionary containing each (key, value) pair in its array\nargument.\n\n## Examples\n\n```rescript\nlet capitals2 = Js.Dict.fromArray([(\"Germany\", \"Berlin\"), (\"Burkina Faso\", \"Ouagadougou\")])\n```"],"signature":"let fromArray: array<(key, 'a)> => t<'a>"},{"id":"Js.Dict.map","kind":"value","name":"map","docstrings":["`map(f, dict)` maps `dict` to a new dictionary with the same keys, using the\nfunction `f` to map each value.\n\n## Examples\n\n```rescript\nlet prices = Js.Dict.fromList(list{(\"pen\", 1.00), (\"book\", 5.00), (\"stapler\", 7.00)})\n\nlet discount = (. price) => price *. 0.90\nlet salePrices = Js.Dict.map(discount, prices)\n\nsalePrices == Js.Dict.fromList(list{(\"pen\", 0.90), (\"book\", 4.50), (\"stapler\", 6.30)})\n```"],"signature":"let map: ((. 'a) => 'b, t<'a>) => t<'b>"}]},"js/date":{"id":"Js.Date","name":"Date","docstrings":["Provide bindings for JS Date"],"items":[{"id":"Js.Date.t","kind":"type","name":"t","docstrings":[],"signature":"type t"},{"id":"Js.Date.valueOf","kind":"value","name":"valueOf","docstrings":["Returns the primitive value of this date, equivalent to `getTime()`. (See\n[`Date.valueOf`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/valueOf)\non MDN.)\n\n## Examples\n\n```rescript\nJs.Date.valueOf(exampleDate) == 123456654321.0\n```"],"signature":"let valueOf: t => float"},{"id":"Js.Date.make","kind":"value","name":"make","docstrings":["Returns a date representing the current time. See [`Date()`\nConstructor](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/Date)\non MDN.\n\n## Examples\n\n```rescript\nlet now = Js.Date.make()\n```"],"signature":"let make: unit => t"},{"id":"Js.Date.fromFloat","kind":"value","name":"fromFloat","docstrings":["Returns a date representing the given argument, which is a number of\nmilliseconds since the epoch. See [`Date()`\nConstructor](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/Date)\non MDN.\n\n## Examples\n\n```rescript\nJs.Date.fromFloat(123456654321.0) == exampleDate\n```"],"signature":"let fromFloat: float => t"},{"id":"Js.Date.fromString","kind":"value","name":"fromString","docstrings":["Returns a `Js.Date.t` represented by the given string. The string can be in\n“IETF-compliant RFC 2822 timestamps, and also strings in a version of ISO8601.”\nReturns `NaN` if given an invalid date string. According to the [`Date()`\nConstructor](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/Date)\ndocumentation on MDN, its use is discouraged.\n\n## Examples\n\n```rescript\nJs.Date.fromString(\"Thu, 29 Nov 1973 21:30:54.321 GMT\") == exampleDate\nJs.Date.fromString(\"1973-11-29T21:30:54.321Z00:00\") == exampleDate\nJs.Date.fromString(\"Thor, 32 Lok -19 60:70:80 XYZ\") // returns NaN\n```"],"signature":"let fromString: string => t"},{"id":"Js.Date.makeWithYM","kind":"value","name":"makeWithYM","docstrings":["Returns a date representing midnight of the first day of the given month and\nyear in the current time zone. Fractional parts of arguments are ignored. See\n[`Date()`\nConstructor](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/Date)\non MDN.\n\n## Examples\n\n```rescript\nlet november1 = Js.Date.makeWithYM(~year=2020.0, ~month=10.0, ())\n```"],"signature":"let makeWithYM: (~year: float, ~month: float, unit) => t"},{"id":"Js.Date.makeWithYMD","kind":"value","name":"makeWithYMD","docstrings":["Returns a date representing midnight of the given date of the given month and\nyear in the current time zone. Fractional parts of arguments are ignored. See\n[`Date()`\nConstructor](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/Date)\non MDN."],"signature":"let makeWithYMD: (~year: float, ~month: float, ~date: float, unit) => t"},{"id":"Js.Date.makeWithYMDH","kind":"value","name":"makeWithYMDH","docstrings":["Returns a date representing the given date of the given month and year, at zero\nminutes and zero seconds past the given `hours`, in the current time zone.\nFractional parts of arguments are ignored. See [`Date()`\nConstructor](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/Date)\non MDN. Fractional parts of the arguments are ignored."],"signature":"let makeWithYMDH: (\\n ~year: float,\\n ~month: float,\\n ~date: float,\\n ~hours: float,\\n unit,\\n) => t"},{"id":"Js.Date.makeWithYMDHM","kind":"value","name":"makeWithYMDHM","docstrings":["Returns a date representing the given date of the given month and year, at zero\nseconds past the given time in hours and minutes in the current time zone.\nFractional parts of arguments are ignored. See [`Date()`\nConstructor](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/Date)\non MDN."],"signature":"let makeWithYMDHM: (\\n ~year: float,\\n ~month: float,\\n ~date: float,\\n ~hours: float,\\n ~minutes: float,\\n unit,\\n) => t"},{"id":"Js.Date.makeWithYMDHMS","kind":"value","name":"makeWithYMDHMS","docstrings":["Returns a date representing the given date of the given month and year, at the\ngiven time in hours, minutes, and seconds in the current time zone. Fractional\nparts of arguments are ignored. See [`Date()`\nConstructor](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/Date)\non MDN.\n\n## Examples\n\n```rescript\nJs.Date.makeWithYMDHMS(\n ~year=1973.0,\n ~month=11.0,\n ~date=29.0,\n ~hours=21.0,\n ~minutes=30.0,\n ~seconds=54.321,\n (),\n) == exampleDate\n```"],"signature":"let makeWithYMDHMS: (\\n ~year: float,\\n ~month: float,\\n ~date: float,\\n ~hours: float,\\n ~minutes: float,\\n ~seconds: float,\\n unit,\\n) => t"},{"id":"Js.Date.utcWithYM","kind":"value","name":"utcWithYM","docstrings":["Returns a float representing the number of milliseconds past the epoch for\nmidnight of the first day of the given month and year in UTC. Fractional parts\nof arguments are ignored. See\n[`Date.UTC`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/UTC)\non MDN.\n\n## Examples\n\n```rescript\nlet november1 = Js.Date.utcWithYM(~year=2020.0, ~month=10.0, ())\n```"],"signature":"let utcWithYM: (~year: float, ~month: float, unit) => float"},{"id":"Js.Date.utcWithYMD","kind":"value","name":"utcWithYMD","docstrings":["Returns a float representing the number of milliseconds past the epoch for\nmidnight of the given date of the given month and year in UTC. Fractional parts\nof arguments are ignored. See\n[`Date.UTC`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/UTC)\non MDN."],"signature":"let utcWithYMD: (~year: float, ~month: float, ~date: float, unit) => float"},{"id":"Js.Date.utcWithYMDH","kind":"value","name":"utcWithYMDH","docstrings":["Returns a float representing the number of milliseconds past the epoch for\nmidnight of the given date of the given month and year, at zero minutes and\nseconds past the given hours in UTC. Fractional parts of arguments are ignored.\nSee\n[`Date.UTC`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/UTC)\non MDN."],"signature":"let utcWithYMDH: (\\n ~year: float,\\n ~month: float,\\n ~date: float,\\n ~hours: float,\\n unit,\\n) => float"},{"id":"Js.Date.utcWithYMDHM","kind":"value","name":"utcWithYMDHM","docstrings":["Returns a float representing the number of milliseconds past the epoch for\nmidnight of the given date of the given month and year, at zero seconds past\nthe given number of minutes past the given hours in UTC. Fractional parts of\narguments are ignored. See\n[`Date.UTC`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/UTC)\non MDN."],"signature":"let utcWithYMDHM: (\\n ~year: float,\\n ~month: float,\\n ~date: float,\\n ~hours: float,\\n ~minutes: float,\\n unit,\\n) => float"},{"id":"Js.Date.utcWithYMDHMS","kind":"value","name":"utcWithYMDHMS","docstrings":["Returns a float representing the number of milliseconds past the epoch for\nmidnight of the given date of the given month and year, at the given time in\nhours, minutes and seconds in UTC. Fractional parts of arguments are ignored.\n\nSee\n[`Date.UTC`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/UTC)\non MDN."],"signature":"let utcWithYMDHMS: (\\n ~year: float,\\n ~month: float,\\n ~date: float,\\n ~hours: float,\\n ~minutes: float,\\n ~seconds: float,\\n unit,\\n) => float"},{"id":"Js.Date.now","kind":"value","name":"now","docstrings":["Returns the current time as number of milliseconds since Unix epoch."],"signature":"let now: unit => float"},{"id":"Js.Date.parse","kind":"value","name":"parse","docstrings":[],"signature":"let parse: string => t"},{"id":"Js.Date.parseAsFloat","kind":"value","name":"parseAsFloat","docstrings":["Returns a float with the number of milliseconds past the epoch represented by\nthe given string. The string can be in “IETF-compliant RFC 2822 timestamps, and\nalso strings in a version of ISO8601.” Returns `NaN` if given an invalid date\nstring. According to the\n[`Date.parse`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/parse)\ndocumentation on MDN, its use is discouraged. Returns `NaN` if passed invalid\ndate string."],"signature":"let parseAsFloat: string => float"},{"id":"Js.Date.getDate","kind":"value","name":"getDate","docstrings":["Returns the day of the month for its argument. The argument is evaluated in the\ncurrent time zone. See\n[`Date.getDate`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getDate)\non MDN.\n\n## Examples\n\n```rescript\nJs.Date.getDate(exampleDate) == 29.0\n```"],"signature":"let getDate: t => float"},{"id":"Js.Date.getDay","kind":"value","name":"getDay","docstrings":["Returns the day of the week (0.0-6.0) for its argument, where 0.0 represents\nSunday. The argument is evaluated in the current time zone. See\n[`Date.getDay`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getDay)\non MDN.\n\n## Examples\n\n```rescript\nJs.Date.getDay(exampleDate) == 4.0\n```"],"signature":"let getDay: t => float"},{"id":"Js.Date.getFullYear","kind":"value","name":"getFullYear","docstrings":["Returns the full year (as opposed to the range 0-99) for its argument. The\nargument is evaluated in the current time zone. See\n[`Date.getFullYear`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getFullYear)\non MDN.\n\n## Examples\n\n```rescript\nJs.Date.getFullYear(exampleDate) == 1973.0\n```"],"signature":"let getFullYear: t => float"},{"id":"Js.Date.getHours","kind":"value","name":"getHours","docstrings":["Returns the hours for its argument, evaluated in the current time zone. See\n[`Date.getHours`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getHours)\non MDN.\n\n## Examples\n\n```rescript\nJs.Date.getHours(exampleDate) == 22.0 // Vienna is in GMT+01:00\n```"],"signature":"let getHours: t => float"},{"id":"Js.Date.getMilliseconds","kind":"value","name":"getMilliseconds","docstrings":["Returns the number of milliseconds for its argument, evaluated in the current\ntime zone. See\n[`Date.getMilliseconds`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getMilliseconds)\non MDN.\n\n## Examples\n\n```rescript\nJs.Date.getMilliseconds(exampleDate) == 321.0\n```"],"signature":"let getMilliseconds: t => float"},{"id":"Js.Date.getMinutes","kind":"value","name":"getMinutes","docstrings":["Returns the number of minutes for its argument, evaluated in the current time\nzone. See\n[`Date.getMinutes`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getMinutes)\non MDN.\n\n## Examples\n\n```rescript\nJs.Date.getMinutes(exampleDate) == 30.0\n```"],"signature":"let getMinutes: t => float"},{"id":"Js.Date.getMonth","kind":"value","name":"getMonth","docstrings":["Returns the month (0.0-11.0) for its argument, evaluated in the current time\nzone. January is month zero. See\n[`Date.getMonth`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getMonth)\non MDN.\n\n## Examples\n\n```rescript\nJs.Date.getMonth(exampleDate) == 10.0\n```"],"signature":"let getMonth: t => float"},{"id":"Js.Date.getSeconds","kind":"value","name":"getSeconds","docstrings":["Returns the seconds for its argument, evaluated in the current time zone. See\n[`Date.getSeconds`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getSeconds)\non MDN.\n\n## Examples\n\n```rescript\nJs.Date.getSeconds(exampleDate) == 54.0\n```"],"signature":"let getSeconds: t => float"},{"id":"Js.Date.getTime","kind":"value","name":"getTime","docstrings":["Returns the number of milliseconds since Unix epoch, evaluated in UTC. See\n[`Date.getTime`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getTime)\non MDN.\n\n## Examples\n\n```rescript\nJs.Date.getTime(exampleDate) == 123456654321.0\n```"],"signature":"let getTime: t => float"},{"id":"Js.Date.getTimezoneOffset","kind":"value","name":"getTimezoneOffset","docstrings":["Returns the time zone offset in minutes from the current time zone to UTC. See\n[`Date.getTimezoneOffset`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getTimezoneOffset)\non MDN.\n\n## Examples\n\n```rescript\nJs.Date.getTimezoneOffset(exampleDate) == -60.0\n```"],"signature":"let getTimezoneOffset: t => float"},{"id":"Js.Date.getUTCDate","kind":"value","name":"getUTCDate","docstrings":["Returns the day of the month of the argument, evaluated in UTC. See\n[`Date.getUTCDate`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCDate)\non MDN.\n\n## Examples\n\n```rescript\nJs.Date.getUTCDate(exampleDate) == 29.0\n```"],"signature":"let getUTCDate: t => float"},{"id":"Js.Date.getUTCDay","kind":"value","name":"getUTCDay","docstrings":["Returns the day of the week of the argument, evaluated in UTC. The range of the\nreturn value is 0.0-6.0, where Sunday is zero. See\n[`Date.getUTCDay`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCDay)\non MDN.\n\n## Examples\n\n```rescript\nJs.Date.getUTCDay(exampleDate) == 4.0\n```"],"signature":"let getUTCDay: t => float"},{"id":"Js.Date.getUTCFullYear","kind":"value","name":"getUTCFullYear","docstrings":["Returns the full year (as opposed to the range 0-99) for its argument. The\nargument is evaluated in UTC. See\n[`Date.getUTCFullYear`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCFullYear)\non MDN.\n\n## Examples\n\n```rescript\nJs.Date.getUTCFullYear(exampleDate) == 1973.0\n```"],"signature":"let getUTCFullYear: t => float"},{"id":"Js.Date.getUTCHours","kind":"value","name":"getUTCHours","docstrings":["Returns the hours for its argument, evaluated in the current time zone. See\n[`Date.getUTCHours`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCHours)\non MDN.\n\n## Examples\n\n```rescript\nJs.Date.getUTCHours(exampleDate) == 21.0\n```"],"signature":"let getUTCHours: t => float"},{"id":"Js.Date.getUTCMilliseconds","kind":"value","name":"getUTCMilliseconds","docstrings":["Returns the number of milliseconds for its argument, evaluated in UTC. See\n[`Date.getUTCMilliseconds`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCMilliseconds)\non MDN.\n\n## Examples\n\n```rescript\nJs.Date.getUTCMilliseconds(exampleDate) == 321.0\n```"],"signature":"let getUTCMilliseconds: t => float"},{"id":"Js.Date.getUTCMinutes","kind":"value","name":"getUTCMinutes","docstrings":["Returns the number of minutes for its argument, evaluated in UTC. See\n[`Date.getUTCMinutes`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCMinutes)\non MDN.\n\n## Examples\n\n```rescript\nJs.Date.getUTCMinutes(exampleDate) == 30.0\n```"],"signature":"let getUTCMinutes: t => float"},{"id":"Js.Date.getUTCMonth","kind":"value","name":"getUTCMonth","docstrings":["Returns the month (0.0-11.0) for its argument, evaluated in UTC. January is\nmonth zero. See\n[`Date.getUTCMonth`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCMonth)\non MDN.\n\n## Examples\n\n```rescript\nJs.Date.getUTCMonth(exampleDate) == 10.0\n```"],"signature":"let getUTCMonth: t => float"},{"id":"Js.Date.getUTCSeconds","kind":"value","name":"getUTCSeconds","docstrings":["Returns the seconds for its argument, evaluated in UTC. See\n[`Date.getUTCSeconds`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCSeconds)\non MDN.\n\n## Examples\n\n```rescript\nJs.Date.getUTCSeconds(exampleDate) == 54.0\n```"],"signature":"let getUTCSeconds: t => float"},{"id":"Js.Date.getYear","kind":"value","name":"getYear","docstrings":[],"signature":"let getYear: t => float"},{"id":"Js.Date.setDate","kind":"value","name":"setDate","docstrings":["Sets the given `Date`’s day of month to the value in the second argument\naccording to the current time zone. Returns the number of milliseconds since\nthe epoch of the updated `Date`. *This function modifies the original `Date`.*\nSee\n[`Date.setDate`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setDate)\non MDN.\n\n## Examples\n\n```rescript\nlet date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT\nlet twoWeeksBefore = Js.Date.setDate(date1, 15.0)\ndate1 == Js.Date.fromString(\"1973-11-15T21:30:54.321Z00:00\")\ntwoWeeksBefore == Js.Date.getTime(date1)\n```"],"signature":"let setDate: (t, float) => float"},{"id":"Js.Date.setFullYear","kind":"value","name":"setFullYear","docstrings":["Sets the given `Date`’s year to the value in the second argument according to\nthe current time zone. Returns the number of milliseconds since the epoch of\nthe updated `Date`. *This function modifies the original `Date`.* See\n[`Date.setFullYear`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setFullYear)\non MDN.\n\n## Examples\n\n```rescript\nlet date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT\nlet nextYear = Js.Date.setFullYear(date1, 1974.0)\ndate1 == Js.Date.fromString(\"1974-11-15T21:30:54.321Z00:00\")\nnextYear == Js.Date.getTime(date1)\n```"],"signature":"let setFullYear: (t, float) => float"},{"id":"Js.Date.setFullYearM","kind":"value","name":"setFullYearM","docstrings":["Sets the given `Date`’s year and month to the values in the labeled arguments\naccording to the current time zone. Returns the number of milliseconds since\nthe epoch of the updated `Date`. *This function modifies the original `Date`.*\nSee\n[`Date.setFullYear`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setFullYear)\non MDN.\n\n## Examples\n\n```rescript\nlet date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT\nlet future = Js.Date.setFullYearM(date1, ~year=1974.0, ~month=0.0, ())\ndate1 == Js.Date.fromString(\"1974-01-22T21:30:54.321Z00:00\")\nfuture == Js.Date.getTime(date1)\n```"],"signature":"let setFullYearM: (t, ~year: float, ~month: float, unit) => float"},{"id":"Js.Date.setFullYearMD","kind":"value","name":"setFullYearMD","docstrings":["Sets the given `Date`’s year, month, and day of month to the values in the\nlabeled arguments according to the current time zone. Returns the number of\nmilliseconds since the epoch of the updated `Date`. *This function modifies the\noriginal `Date`.* See\n[`Date.setFullYear`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setFullYear)\non MDN.\n\n## Examples\n\n```rescript\nlet date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT\nlet future = Js.Date.setFullYearMD(date1, ~year=1974.0, ~month=0.0, ~date=7.0, ())\ndate1 == Js.Date.fromString(\"1974-01-07T21:30:54.321Z00:00\")\nfuture == Js.Date.getTime(date1)\n```"],"signature":"let setFullYearMD: (\\n t,\\n ~year: float,\\n ~month: float,\\n ~date: float,\\n unit,\\n) => float"},{"id":"Js.Date.setHours","kind":"value","name":"setHours","docstrings":["Sets the given `Date`’s hours to the value in the second argument according to\nthe current time zone. Returns the number of milliseconds since the epoch of\nthe updated `Date`. *This function modifies the original `Date`.* See\n[`Date.setHours`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setHours)\non MDN.\n\n## Examples\n\n```rescript\nlet date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT\nlet nextHour = Js.Date.setHours(date1, 22.0)\ndate1 == Js.Date.fromString(\"1973-11-29T22:30:54.321Z00:00\")\nnextHour == Js.Date.getTime(date1)\n```"],"signature":"let setHours: (t, float) => float"},{"id":"Js.Date.setHoursM","kind":"value","name":"setHoursM","docstrings":["Sets the given `Date`’s hours and minutes to the values in the labeled\narguments according to the current time zone. Returns the number of\nmilliseconds since the epoch of the updated `Date`. *This function modifies the\noriginal `Date`.* See\n[`Date.setHours`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setHours)\non MDN.\n\n## Examples\n\n```rescript\nlet date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT\nlet futureTime = Js.Date.setHoursM(date1, ~hours=22.0, ~minutes=46.0, ())\ndate1 == Js.Date.fromString(\"1973-11-29T22:46:54.321Z00:00\")\nfutureTime == Js.Date.getTime(date1)\n```"],"signature":"let setHoursM: (t, ~hours: float, ~minutes: float, unit) => float"},{"id":"Js.Date.setHoursMS","kind":"value","name":"setHoursMS","docstrings":["Sets the given `Date`’s hours, minutes, and seconds to the values in the\nlabeled arguments according to the current time zone. Returns the number of\nmilliseconds since the epoch of the updated `Date`. *This function modifies the\noriginal `Date`.* See\n[`Date.setHours`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setHours)\non MDN.\n\n## Examples\n\n```rescript\nlet date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT\nlet futureTime = Js.Date.setHoursMS(date1, ~hours=22.0, ~minutes=46.0, ~seconds=37.0, ())\ndate1 == Js.Date.fromString(\"1973-11-29T22:46:37.321Z00:00\")\nfutureTime == Js.Date.getTime(date1)\n```"],"signature":"let setHoursMS: (\\n t,\\n ~hours: float,\\n ~minutes: float,\\n ~seconds: float,\\n unit,\\n) => float"},{"id":"Js.Date.setHoursMSMs","kind":"value","name":"setHoursMSMs","docstrings":["Sets the given `Date`’s hours, minutes, seconds, and milliseconds to the values\nin the labeled arguments according to the current time zone. Returns the number\nof milliseconds since the epoch of the updated `Date`. *This function modifies\nthe original `Date`.* See\n[`Date.setHours`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setHours)\non MDN.\n\n## Examples\n\n```rescript\nlet date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT\nlet futureTime = Js.Date.setHoursMSMs(\n date1,\n ~hours=22.0,\n ~minutes=46.0,\n ~seconds=37.0,\n ~milliseconds=494.0,\n (),\n)\ndate1 == Js.Date.fromString(\"1973-11-29T22:46:37.494Z00:00\")\nfutureTime == Js.Date.getTime(date1)\n```"],"signature":"let setHoursMSMs: (\\n t,\\n ~hours: float,\\n ~minutes: float,\\n ~seconds: float,\\n ~milliseconds: float,\\n unit,\\n) => float"},{"id":"Js.Date.setMilliseconds","kind":"value","name":"setMilliseconds","docstrings":["Sets the given `Date`’s milliseconds to the value in the second argument\naccording to the current time zone. Returns the number of milliseconds since\nthe epoch of the updated `Date`. *This function modifies the original `Date`.*\nSee\n[`Date.setMilliseconds`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setMilliseconds)\non MDN.\n\n## Examples\n\n```rescript\nlet date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT\nlet futureTime = Js.Date.setMilliseconds(date1, 494.0)\ndate1 == Js.Date.fromString(\"1973-11-29T21:30:54.494Z00:00\")\nfutureTime == Js.Date.getTime(date1)\n```"],"signature":"let setMilliseconds: (t, float) => float"},{"id":"Js.Date.setMinutes","kind":"value","name":"setMinutes","docstrings":["Sets the given `Date`’s minutes to the value in the second argument according\nto the current time zone. Returns the number of milliseconds since the epoch of\nthe updated `Date`. *This function modifies the original `Date`.* See\n[`Date.setMinutes`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setMinutes)\non MDN.\n\n## Examples\n\n```rescript\nlet date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT\nlet futureTime = Js.Date.setMinutes(date1, 34.0)\ndate1 == Js.Date.fromString(\"1973-11-29T21:34:54.494Z00:00\")\nfutureTime == Js.Date.getTime(date1)\n```"],"signature":"let setMinutes: (t, float) => float"},{"id":"Js.Date.setMinutesS","kind":"value","name":"setMinutesS","docstrings":["Sets the given `Date`’s minutes and seconds to the values in the labeled\narguments according to the current time zone. Returns the number of\nmilliseconds since the epoch of the updated `Date`. *This function modifies the\noriginal `Date`.* See\n[`Date.setMinutes`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setMinutes)\non MDN.\n\n## Examples\n\n```rescript\nlet date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT\nlet futureTime = Js.Date.setMinutesS(date1, ~minutes=34.0, ~seconds=56.0, ())\ndate1 == Js.Date.fromString(\"1973-11-29T21:34:56.494Z00:00\")\nfutureTime == Js.Date.getTime(date1)\n```"],"signature":"let setMinutesS: (t, ~minutes: float, ~seconds: float, unit) => float"},{"id":"Js.Date.setMinutesSMs","kind":"value","name":"setMinutesSMs","docstrings":["Sets the given `Date`’s minutes, seconds, and milliseconds to the values in the\nlabeled arguments according to the current time zone. Returns the number of\nmilliseconds since the epoch of the updated `Date`. *This function modifies the\noriginal `Date`.* See\n[`Date.setMinutes`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setMinutes)\non MDN.\n\n## Examples\n\n```rescript\nlet date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT\nlet futureTime = Js.Date.setMinutesSMs(\n date1,\n ~minutes=34.0,\n ~seconds=56.0,\n ~milliseconds=789.0,\n (),\n)\ndate1 == Js.Date.fromString(\"1973-11-29T21:34:56.789Z00:00\")\nfutureTime == Js.Date.getTime(date1)\n```"],"signature":"let setMinutesSMs: (\\n t,\\n ~minutes: float,\\n ~seconds: float,\\n ~milliseconds: float,\\n unit,\\n) => float"},{"id":"Js.Date.setMonth","kind":"value","name":"setMonth","docstrings":["Sets the given `Date`’s month to the value in the second argument according to\nthe current time zone. Returns the number of milliseconds since the epoch of\nthe updated `Date`. *This function modifies the original `Date`.* See\n[`Date.setMonth`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setMonth)\non MDN.\n\n## Examples\n\n```rescript\nlet date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT\nlet futureTime = Js.Date.setMonth(date1, 11.0)\ndate1 == Js.Date.fromString(\"1973-12-29T21:34:56.789Z00:00\")\nfutureTime == Js.Date.getTime(date1)\n```"],"signature":"let setMonth: (t, float) => float"},{"id":"Js.Date.setMonthD","kind":"value","name":"setMonthD","docstrings":["Sets the given `Date`’s month and day of month to the values in the labeled\narguments according to the current time zone. Returns the number of\nmilliseconds since the epoch of the updated `Date`. *This function modifies the\noriginal `Date`.* See\n[`Date.setMonth`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setMonth)\non MDN.\n\n## Examples\n\n```rescript\nlet date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT\nlet futureTime = Js.Date.setMonthD(date1, ~month=11.0, ~date=8.0, ())\ndate1 == Js.Date.fromString(\"1973-12-08T21:34:56.789Z00:00\")\nfutureTime == Js.Date.getTime(date1)\n```"],"signature":"let setMonthD: (t, ~month: float, ~date: float, unit) => float"},{"id":"Js.Date.setSeconds","kind":"value","name":"setSeconds","docstrings":["Sets the given `Date`’s seconds to the value in the second argument according\nto the current time zone. Returns the number of milliseconds since the epoch of\nthe updated `Date`. *This function modifies the original `Date`.* See\n[`Date.setSeconds`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setSeconds)\non MDN.\n\n## Examples\n\n```rescript\nlet date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT\nlet futureTime = Js.Date.setSeconds(date1, 56.0)\ndate1 == Js.Date.fromString(\"1973-12-29T21:30:56.321Z00:00\")\nfutureTime == Js.Date.getTime(date1)\n```"],"signature":"let setSeconds: (t, float) => float"},{"id":"Js.Date.setSecondsMs","kind":"value","name":"setSecondsMs","docstrings":["Sets the given `Date`’s seconds and milliseconds to the values in the labeled\narguments according to the current time zone. Returns the number of\nmilliseconds since the epoch of the updated `Date`. *This function modifies the\noriginal `Date`.* See\n[`Date.setSeconds`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setSeconds)\non MDN.\n\n## Examples\n\n```rescript\nlet date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT\nlet futureTime = Js.Date.setSecondsMs(date1, ~seconds=56.0, ~milliseconds=789.0, ())\ndate1 == Js.Date.fromString(\"1973-12-29T21:30:56.789Z00:00\")\nfutureTime == Js.Date.getTime(date1)\n```"],"signature":"let setSecondsMs: (t, ~seconds: float, ~milliseconds: float, unit) => float"},{"id":"Js.Date.setTime","kind":"value","name":"setTime","docstrings":["Sets the given `Date`’s value in terms of milliseconds since the epoch. Returns\nthe number of milliseconds since the epoch of the updated `Date`. *This\nfunction modifies the original `Date`.* See\n[`Date.setTime`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setTime)\non MDN.\n\n## Examples\n\n```rescript\nlet date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT\nlet futureTime = Js.Date.setTime(date1, 198765432101.0)\n\ndate1 == Js.Date.fromString(\"1976-04-19T12:37:12.101Z00:00\")\nfutureTime == Js.Date.getTime(date1)\n```"],"signature":"let setTime: (t, float) => float"},{"id":"Js.Date.setUTCDate","kind":"value","name":"setUTCDate","docstrings":["Sets the given `Date`’s day of month to the value in the second argument\naccording to UTC. Returns the number of milliseconds since the epoch of the\nupdated `Date`. *This function modifies the original `Date`.* See\n[`Date.setUTCDate`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCDate)\non MDN.\n\n## Examples\n\n```rescript\nlet date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT\nlet twoWeeksBefore = Js.Date.setUTCDate(date1, 15.0)\ndate1 == Js.Date.fromString(\"1973-11-15T21:30:54.321Z00:00\")\ntwoWeeksBefore == Js.Date.getTime(date1)\n```"],"signature":"let setUTCDate: (t, float) => float"},{"id":"Js.Date.setUTCFullYear","kind":"value","name":"setUTCFullYear","docstrings":["Sets the given `Date`’s year to the value in the second argument according to\nUTC. Returns the number of milliseconds since the epoch of the updated `Date`.\n*This function modifies the original `Date`.* See\n[`Date.setUTCFullYear`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCFullYear)\non MDN.\n\n## Examples\n\n```rescript\nlet date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT\nlet nextYear = Js.Date.setUTCFullYear(date1, 1974.0)\ndate1 == Js.Date.fromString(\"1974-11-15T21:30:54.321Z00:00\")\nnextYear == Js.Date.getTime(date1)\n```"],"signature":"let setUTCFullYear: (t, float) => float"},{"id":"Js.Date.setUTCFullYearM","kind":"value","name":"setUTCFullYearM","docstrings":["Sets the given `Date`’s year and month to the values in the labeled arguments\naccording to UTC. Returns the number of milliseconds since the epoch of the\nupdated `Date`. *This function modifies the original `Date`.* See\n[`Date.setUTCFullYear`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCFullYear)\non MDN.\n\n## Examples\n\n```rescript\nlet date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT\nlet future = Js.Date.setUTCFullYearM(date1, ~year=1974.0, ~month=0.0, ())\ndate1 == Js.Date.fromString(\"1974-01-22T21:30:54.321Z00:00\")\nfuture == Js.Date.getTime(date1)\n```"],"signature":"let setUTCFullYearM: (t, ~year: float, ~month: float, unit) => float"},{"id":"Js.Date.setUTCFullYearMD","kind":"value","name":"setUTCFullYearMD","docstrings":["Sets the given `Date`’s year, month, and day of month to the values in the\nlabeled arguments according to UTC. Returns the number of milliseconds since\nthe epoch of the updated `Date`. *This function modifies the original `Date`.*\nSee\n[`Date.setUTCFullYear`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCFullYear)\non MDN.\n\n## Examples\n\n```rescript\nlet date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT\nlet future = Js.Date.setUTCFullYearMD(date1, ~year=1974.0, ~month=0.0, ~date=7.0, ())\ndate1 == Js.Date.fromString(\"1974-01-07T21:30:54.321Z00:00\")\nfuture == Js.Date.getTime(date1)\n```"],"signature":"let setUTCFullYearMD: (\\n t,\\n ~year: float,\\n ~month: float,\\n ~date: float,\\n unit,\\n) => float"},{"id":"Js.Date.setUTCHours","kind":"value","name":"setUTCHours","docstrings":["Sets the given `Date`’s hours to the value in the second argument according to\nUTC. Returns the number of milliseconds since the epoch of the updated `Date`.\n*This function modifies the original `Date`.* See\n[`Date.setUTCHours`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCHours)\non MDN.\n\n## Examples\n\n```rescript\nlet date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT\nlet nextHour = Js.Date.setUTCHours(date1, 22.0)\ndate1 == Js.Date.fromString(\"1973-11-29T22:30:54.321Z00:00\")\nnextHour == Js.Date.getTime(date1)\n```"],"signature":"let setUTCHours: (t, float) => float"},{"id":"Js.Date.setUTCHoursM","kind":"value","name":"setUTCHoursM","docstrings":["Sets the given `Date`’s hours and minutes to the values in the labeled\narguments according to UTC. Returns the number of milliseconds since the epoch\nof the updated `Date`. *This function modifies the original `Date`.* See\n[`Date.setUTCHours`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCHours)\non MDN.\n\n## Examples\n\n```rescript\nlet date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT\nlet futureTime = Js.Date.setUTCHoursM(date1, ~hours=22.0, ~minutes=46.0, ())\ndate1 == Js.Date.fromString(\"1973-11-29T22:46:54.321Z00:00\")\nfutureTime == Js.Date.getTime(date1)\n```"],"signature":"let setUTCHoursM: (t, ~hours: float, ~minutes: float, unit) => float"},{"id":"Js.Date.setUTCHoursMS","kind":"value","name":"setUTCHoursMS","docstrings":["Sets the given `Date`’s hours, minutes, and seconds to the values in the\nlabeled arguments according to UTC. Returns the number of milliseconds since\nthe epoch of the updated `Date`. *This function modifies the original `Date`.*\n\nSee\n[`Date.setUTCHours`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCHours)\non MDN.\n\n## Examples\n\n```rescript\nlet date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT\nlet futureTime = Js.Date.setUTCHoursMS(date1, ~hours=22.0, ~minutes=46.0, ~seconds=37.0, ())\ndate1 == Js.Date.fromString(\"1973-11-29T22:46:37.321Z00:00\")\nfutureTime == Js.Date.getTime(date1)\n```"],"signature":"let setUTCHoursMS: (\\n t,\\n ~hours: float,\\n ~minutes: float,\\n ~seconds: float,\\n unit,\\n) => float"},{"id":"Js.Date.setUTCHoursMSMs","kind":"value","name":"setUTCHoursMSMs","docstrings":["Sets the given `Date`’s hours, minutes, seconds, and milliseconds to the values\nin the labeled arguments according to UTC. Returns the number of milliseconds\nsince the epoch of the updated `Date`. *This function modifies the original\n`Date`.* See\n[`Date.setUTCHours`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCHours)\non MDN.\n\n## Examples\n\n```rescript\nlet date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT\nlet futureTime = Js.Date.setUTCHoursMSMs(\n date1,\n ~hours=22.0,\n ~minutes=46.0,\n ~seconds=37.0,\n ~milliseconds=494.0,\n (),\n)\ndate1 == Js.Date.fromString(\"1973-11-29T22:46:37.494Z00:00\")\nfutureTime == Js.Date.getTime(date1)\n```"],"signature":"let setUTCHoursMSMs: (\\n t,\\n ~hours: float,\\n ~minutes: float,\\n ~seconds: float,\\n ~milliseconds: float,\\n unit,\\n) => float"},{"id":"Js.Date.setUTCMilliseconds","kind":"value","name":"setUTCMilliseconds","docstrings":["Sets the given `Date`’s milliseconds to the value in the second argument\naccording to UTC. Returns the number of milliseconds since the epoch of the\nupdated `Date`. *This function modifies the original `Date`.* See\n[`Date.setUTCMilliseconds`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCMilliseconds)\non MDN.\n\n## Examples\n\n```rescript\nlet date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT\nlet futureTime = Js.Date.setUTCMilliseconds(date1, 494.0)\ndate1 == Js.Date.fromString(\"1973-11-29T21:30:54.494Z00:00\")\nfutureTime == Js.Date.getTime(date1)\n```"],"signature":"let setUTCMilliseconds: (t, float) => float"},{"id":"Js.Date.setUTCMinutes","kind":"value","name":"setUTCMinutes","docstrings":["Sets the given `Date`’s minutes to the value in the second argument according\nto the current time zone. Returns the number of milliseconds since the epoch of\nthe updated `Date`. *This function modifies the original `Date`.* See\n[`Date.setUTCMinutes`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCMinutes)\non MDN.\n\n## Examples\n\n```rescript\nlet date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT\nlet futureTime = Js.Date.setUTCMinutes(date1, 34.0)\ndate1 == Js.Date.fromString(\"1973-11-29T21:34:54.494Z00:00\")\nfutureTime == Js.Date.getTime(date1)\n```"],"signature":"let setUTCMinutes: (t, float) => float"},{"id":"Js.Date.setUTCMinutesS","kind":"value","name":"setUTCMinutesS","docstrings":["Sets the given `Date`’s minutes and seconds to the values in the labeled\narguments according to UTC. Returns the number of milliseconds since the epoch\nof the updated `Date`. *This function modifies the original `Date`.* See\n[`Date.setUTCMinutes`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCMinutes)\non MDN.\n\n## Examples\n\n```rescript\nlet date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT\nlet futureTime = Js.Date.setUTCMinutesS(date1, ~minutes=34.0, ~seconds=56.0, ())\ndate1 == Js.Date.fromString(\"1973-11-29T21:34:56.494Z00:00\")\nfutureTime == Js.Date.getTime(date1)\n```"],"signature":"let setUTCMinutesS: (t, ~minutes: float, ~seconds: float, unit) => float"},{"id":"Js.Date.setUTCMinutesSMs","kind":"value","name":"setUTCMinutesSMs","docstrings":["Sets the given `Date`’s minutes, seconds, and milliseconds to the values in the\nlabeled arguments according to UTC. Returns the number of milliseconds since\nthe epoch of the updated `Date`. *This function modifies the original `Date`.*\nSee\n[`Date.setUTCMinutes`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCMinutes)\non MDN.\n\n## Examples\n\n```rescript\nlet date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT\nlet futureTime = Js.Date.setUTCMinutesSMs(\n date1,\n ~minutes=34.0,\n ~seconds=56.0,\n ~milliseconds=789.0,\n (),\n)\ndate1 == Js.Date.fromString(\"1973-11-29T21:34:56.789Z00:00\")\nfutureTime == Js.Date.getTime(date1)\n```"],"signature":"let setUTCMinutesSMs: (\\n t,\\n ~minutes: float,\\n ~seconds: float,\\n ~milliseconds: float,\\n unit,\\n) => float"},{"id":"Js.Date.setUTCMonth","kind":"value","name":"setUTCMonth","docstrings":["Sets the given `Date`’s month to the value in the second argument according to\nUTC. Returns the number of milliseconds since the epoch of the updated `Date`.\n*This function modifies the original `Date`.* See\n[`Date.setUTCMonth`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCMonth)\non MDN.\n\n## Examples\n\n```rescript\nlet date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT\nlet futureTime = Js.Date.setUTCMonth(date1, 11.0)\ndate1 == Js.Date.fromString(\"1973-12-29T21:34:56.789Z00:00\")\nfutureTime == Js.Date.getTime(date1)\n```"],"signature":"let setUTCMonth: (t, float) => float"},{"id":"Js.Date.setUTCMonthD","kind":"value","name":"setUTCMonthD","docstrings":["Sets the given `Date`’s month and day of month to the values in the labeled\narguments according to UTC. Returns the number of milliseconds since the epoch\nof the updated `Date`. *This function modifies the original `Date`.* See\n[`Date.setUTCMonth`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCMonth)\non MDN.\n\n## Examples\n\n```rescript\nlet date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT\nlet futureTime = Js.Date.setUTCMonthD(date1, ~month=11.0, ~date=8.0, ())\ndate1 == Js.Date.fromString(\"1973-12-08T21:34:56.789Z00:00\")\nfutureTime == Js.Date.getTime(date1)\n```"],"signature":"let setUTCMonthD: (t, ~month: float, ~date: float, unit) => float"},{"id":"Js.Date.setUTCSeconds","kind":"value","name":"setUTCSeconds","docstrings":["Sets the given `Date`’s seconds to the value in the second argument according\nto UTC. Returns the number of milliseconds since the epoch of the updated\n`Date`. *This function modifies the original `Date`.* See\n[`Date.setUTCSeconds`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCSeconds)\non MDN.\n\n## Examples\n\n```rescript\nlet date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT\nlet futureTime = Js.Date.setUTCSeconds(date1, 56.0)\ndate1 == Js.Date.fromString(\"1973-12-29T21:30:56.321Z00:00\")\nfutureTime == Js.Date.getTime(date1)\n```"],"signature":"let setUTCSeconds: (t, float) => float"},{"id":"Js.Date.setUTCSecondsMs","kind":"value","name":"setUTCSecondsMs","docstrings":["Sets the given `Date`’s seconds and milliseconds to the values in the labeled\narguments according to UTC. Returns the number of milliseconds since the epoch\nof the updated `Date`. *This function modifies the original `Date`.* See\n[`Date.setUTCSeconds`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCSeconds)\non MDN.\n\n## Examples\n\n```rescript\nlet date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT\nlet futureTime = Js.Date.setUTCSecondsMs(date1, ~seconds=56.0, ~milliseconds=789.0, ())\ndate1 == Js.Date.fromString(\"1973-12-29T21:30:56.789Z00:00\")\nfutureTime == Js.Date.getTime(date1)\n```"],"signature":"let setUTCSecondsMs: (t, ~seconds: float, ~milliseconds: float, unit) => float"},{"id":"Js.Date.setUTCTime","kind":"value","name":"setUTCTime","docstrings":["Same as [`setTime()`](#settime)."],"signature":"let setUTCTime: (t, float) => float"},{"id":"Js.Date.setYear","kind":"value","name":"setYear","docstrings":[],"signature":"let setYear: (t, float) => float"},{"id":"Js.Date.toDateString","kind":"value","name":"toDateString","docstrings":["Returns the date (day of week, year, month, and day of month) portion of a\n`Date` in English. See\n[`Date.toDateString`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toDateString)\non MDN.\n\n## Examples\n\n```rescript\nJs.Date.toDateString(exampleDate) == \"Thu Nov 29 1973\"\n```"],"signature":"let toDateString: t => string"},{"id":"Js.Date.toGMTString","kind":"value","name":"toGMTString","docstrings":[],"signature":"let toGMTString: t => string"},{"id":"Js.Date.toISOString","kind":"value","name":"toISOString","docstrings":["Returns a simplified version of the ISO 8601 format for the date. See\n[`Date.toISOString`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)\non MDN.\n\n## Examples\n\n```rescript\nJs.Date.toISOString(exampleDate) == \"1973-11-29T21:30:54.321Z\"\n```"],"signature":"let toISOString: t => string"},{"id":"Js.Date.toJSON","kind":"value","name":"toJSON","docstrings":[],"signature":"let toJSON: t => string"},{"id":"Js.Date.toJSONUnsafe","kind":"value","name":"toJSONUnsafe","docstrings":["Returns a string representation of the given date. See\n[`Date.toJSON`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toJSON)\non MDN."],"signature":"let toJSONUnsafe: t => string"},{"id":"Js.Date.toLocaleDateString","kind":"value","name":"toLocaleDateString","docstrings":["Returns the year, month, and day for the given `Date` in the current locale\nformat. See\n[`Date.toLocaleDateString`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleDateString)\non MDN.\n\n## Examples\n\n```rescript\nJs.Date.toLocaleDateString(exampleDate) == \"11/29/1973\" // for en_US.utf8\nJs.Date.toLocaleDateString(exampleDate) == \"29.11.73\" // for de_DE.utf8\n```"],"signature":"let toLocaleDateString: t => string"},{"id":"Js.Date.toLocaleString","kind":"value","name":"toLocaleString","docstrings":["Returns the time and date for the given `Date` in the current locale format.\nSee\n[`Date.toLocaleString`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleString)\non MDN.\n\n## Examples\n\n```rescript\nJs.Date.toLocaleString(exampleDate) == \"11/29/1973, 10:30:54 PM\" // for en_US.utf8\nJs.Date.toLocaleString(exampleDate) == \"29.11.1973, 22:30:54\" // for de_DE.utf8\n```"],"signature":"let toLocaleString: t => string"},{"id":"Js.Date.toLocaleTimeString","kind":"value","name":"toLocaleTimeString","docstrings":["Returns the time of day for the given `Date` in the current locale format. See\n[`Date.toLocaleTimeString`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleTimeString)\non MDN.\n\n## Examples\n\n```rescript\nJs.Date.toLocaleString(exampleDate) == \"10:30:54 PM\" // for en_US.utf8\nJs.Date.toLocaleString(exampleDate) == \"22:30:54\" // for de_DE.utf8\n```"],"signature":"let toLocaleTimeString: t => string"},{"id":"Js.Date.toString","kind":"value","name":"toString","docstrings":["Returns a string representing the date and time of day for the given `Date` in\nthe current locale and time zone. See\n[`Date.toString`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toString)\non MDN.\n\n## Examples\n\n```rescript\nJs.Date.toString(\n exampleDate,\n) == \"Thu Nov 29 1973 22:30:54 GMT+0100 (Central European Standard Time)\"\n```"],"signature":"let toString: t => string"},{"id":"Js.Date.toTimeString","kind":"value","name":"toTimeString","docstrings":["Returns a string representing the time of day for the given `Date` in the\ncurrent locale and time zone. See\n[`Date.toTimeString`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toTimeString)\non MDN.\n\n## Examples\n\n```rescript\nJs.Date.toTimeString(exampleDate) == \"22:30:54 GMT+0100 (Central European Standard Time)\"\n```"],"signature":"let toTimeString: t => string"},{"id":"Js.Date.toUTCString","kind":"value","name":"toUTCString","docstrings":["Returns a string representing the date and time of day for the given `Date` in\nthe current locale and UTC (GMT time zone). See\n[`Date.toUTCString`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toUTCString)\non MDN.\n\n## Examples\n\n```rescript\nJs.Date.toUTCString(exampleDate) == \"Thu, 29 Nov 1973 21:30:54 GMT\"\n```"],"signature":"let toUTCString: t => string"}]},"js/promise2":{"id":"Js.Promise2","name":"Promise2","docstrings":["Provide bindings to JS Promise"],"items":[{"id":"Js.Promise2.t","kind":"type","name":"t","docstrings":[],"signature":"type t<'a> = promise<'a>"},{"id":"Js.Promise2.error","kind":"type","name":"error","docstrings":[],"signature":"type error"},{"id":"Js.Promise2.then","kind":"value","name":"then","docstrings":["Type-safe t-first then"],"signature":"let then: (promise<'a>, 'a => promise<'b>) => promise<'b>"},{"id":"Js.Promise2.catch","kind":"value","name":"catch","docstrings":["Type-safe t-first catch"],"signature":"let catch: (promise<'a>, error => promise<'a>) => promise<'a>"},{"id":"Js.Promise2.make","kind":"value","name":"make","docstrings":[],"signature":"let make: (\\n (\\n ~resolve: (. 'a) => unit,\\n ~reject: (. exn) => unit,\\n ) => unit,\\n) => promise<'a>"},{"id":"Js.Promise2.resolve","kind":"value","name":"resolve","docstrings":[],"signature":"let resolve: 'a => promise<'a>"},{"id":"Js.Promise2.reject","kind":"value","name":"reject","docstrings":[],"signature":"let reject: exn => promise<'a>"},{"id":"Js.Promise2.all","kind":"value","name":"all","docstrings":[],"signature":"let all: array> => promise>"},{"id":"Js.Promise2.all2","kind":"value","name":"all2","docstrings":[],"signature":"let all2: ((promise<'a0>, promise<'a1>)) => promise<('a0, 'a1)>"},{"id":"Js.Promise2.all3","kind":"value","name":"all3","docstrings":[],"signature":"let all3: (\\n (promise<'a0>, promise<'a1>, promise<'a2>),\\n) => promise<('a0, 'a1, 'a2)>"},{"id":"Js.Promise2.all4","kind":"value","name":"all4","docstrings":[],"signature":"let all4: (\\n (promise<'a0>, promise<'a1>, promise<'a2>, promise<'a3>),\\n) => promise<('a0, 'a1, 'a2, 'a3)>"},{"id":"Js.Promise2.all5","kind":"value","name":"all5","docstrings":[],"signature":"let all5: (\\n (\\n promise<'a0>,\\n promise<'a1>,\\n promise<'a2>,\\n promise<'a3>,\\n promise<'a4>,\\n ),\\n) => promise<('a0, 'a1, 'a2, 'a3, 'a4)>"},{"id":"Js.Promise2.all6","kind":"value","name":"all6","docstrings":[],"signature":"let all6: (\\n (\\n promise<'a0>,\\n promise<'a1>,\\n promise<'a2>,\\n promise<'a3>,\\n promise<'a4>,\\n promise<'a5>,\\n ),\\n) => promise<('a0, 'a1, 'a2, 'a3, 'a4, 'a5)>"},{"id":"Js.Promise2.race","kind":"value","name":"race","docstrings":[],"signature":"let race: array> => promise<'a>"},{"id":"Js.Promise2.unsafe_async","kind":"value","name":"unsafe_async","docstrings":[],"signature":"let unsafe_async: 'a => promise<'a>"},{"id":"Js.Promise2.unsafe_await","kind":"value","name":"unsafe_await","docstrings":[],"signature":"let unsafe_await: promise<'a> => 'a"}]},"js/promise":{"id":"Js.Promise","name":"Promise","docstrings":["Provide bindings to JS Promise"],"items":[{"id":"Js.Promise.t","kind":"type","name":"t","docstrings":[],"signature":"type t<'a> = promise<'a>"},{"id":"Js.Promise.error","kind":"type","name":"error","docstrings":[],"signature":"type error = Js_promise2.error"},{"id":"Js.Promise.make","kind":"value","name":"make","docstrings":[],"signature":"let make: (\\n (\\n ~resolve: (. 'a) => unit,\\n ~reject: (. exn) => unit,\\n ) => unit,\\n) => promise<'a>"},{"id":"Js.Promise.resolve","kind":"value","name":"resolve","docstrings":[],"signature":"let resolve: 'a => promise<'a>"},{"id":"Js.Promise.reject","kind":"value","name":"reject","docstrings":[],"signature":"let reject: exn => promise<'a>"},{"id":"Js.Promise.all","kind":"value","name":"all","docstrings":[],"signature":"let all: array> => promise>"},{"id":"Js.Promise.all2","kind":"value","name":"all2","docstrings":[],"signature":"let all2: ((promise<'a0>, promise<'a1>)) => promise<('a0, 'a1)>"},{"id":"Js.Promise.all3","kind":"value","name":"all3","docstrings":[],"signature":"let all3: (\\n (promise<'a0>, promise<'a1>, promise<'a2>),\\n) => promise<('a0, 'a1, 'a2)>"},{"id":"Js.Promise.all4","kind":"value","name":"all4","docstrings":[],"signature":"let all4: (\\n (promise<'a0>, promise<'a1>, promise<'a2>, promise<'a3>),\\n) => promise<('a0, 'a1, 'a2, 'a3)>"},{"id":"Js.Promise.all5","kind":"value","name":"all5","docstrings":[],"signature":"let all5: (\\n (\\n promise<'a0>,\\n promise<'a1>,\\n promise<'a2>,\\n promise<'a3>,\\n promise<'a4>,\\n ),\\n) => promise<('a0, 'a1, 'a2, 'a3, 'a4)>"},{"id":"Js.Promise.all6","kind":"value","name":"all6","docstrings":[],"signature":"let all6: (\\n (\\n promise<'a0>,\\n promise<'a1>,\\n promise<'a2>,\\n promise<'a3>,\\n promise<'a4>,\\n promise<'a5>,\\n ),\\n) => promise<('a0, 'a1, 'a2, 'a3, 'a4, 'a5)>"},{"id":"Js.Promise.race","kind":"value","name":"race","docstrings":[],"signature":"let race: array> => promise<'a>"},{"id":"Js.Promise.then_","kind":"value","name":"then_","docstrings":[],"signature":"let then_: ('a => promise<'b>, promise<'a>) => promise<'b>"},{"id":"Js.Promise.catch","kind":"value","name":"catch","docstrings":[],"signature":"let catch: (error => promise<'a>, promise<'a>) => promise<'a>"},{"id":"Js.Promise.unsafe_async","kind":"value","name":"unsafe_async","docstrings":[],"signature":"let unsafe_async: 'a => promise<'a>"},{"id":"Js.Promise.unsafe_await","kind":"value","name":"unsafe_await","docstrings":[],"signature":"let unsafe_await: promise<'a> => 'a"}]},"js/re":{"id":"Js.Re","name":"Re","docstrings":["Provide bindings to JS regex expression"],"items":[{"id":"Js.Re.t","kind":"type","name":"t","docstrings":["The RegExp object."],"signature":"type t"},{"id":"Js.Re.result","kind":"type","name":"result","docstrings":["The result of a executing a RegExp on a string."],"signature":"type result"},{"id":"Js.Re.captures","kind":"value","name":"captures","docstrings":["An `array` of the match and captures, the first is the full match and the\nremaining are the substring captures."],"signature":"let captures: result => array>"},{"id":"Js.Re.matches","kind":"value","name":"matches","docstrings":[],"signature":"let matches: result => array"},{"id":"Js.Re.index","kind":"value","name":"index","docstrings":["0-based index of the match in the input string."],"signature":"let index: result => int"},{"id":"Js.Re.input","kind":"value","name":"input","docstrings":["The original input string."],"signature":"let input: result => string"},{"id":"Js.Re.fromString","kind":"value","name":"fromString","docstrings":["Constructs a RegExp object (Js.Re.t) from a `string`.\nRegex literals `%re(\"/.../\")` should generally be preferred, but `fromString`\nis useful when you need to dynamically construct a regex using strings,\nexactly like when you do so in JavaScript.\n\n## Examples\n\n```rescript\nlet firstReScriptFileExtension = (filename, content) => {\n let result = Js.Re.fromString(filename ++ \"\\.(res|resi)\")->Js.Re.exec_(content)\n switch result {\n | Some(r) => Js.Nullable.toOption(Js.Re.captures(r)[1])\n | None => None\n }\n}\n\n// outputs \"res\"\nfirstReScriptFileExtension(\"School\", \"School.res School.resi Main.js School.bs.js\")\n```"],"signature":"let fromString: string => t"},{"id":"Js.Re.fromStringWithFlags","kind":"value","name":"fromStringWithFlags","docstrings":["Constructs a RegExp object (`Js.Re.t`) from a string with the given flags.\nSee `Js.Re.fromString`.\n\nValid flags:\n\n- **g** global\n- **i** ignore case\n- **m** multiline\n- **u** unicode (es2015)\n- **y** sticky (es2015)"],"signature":"let fromStringWithFlags: (string, ~flags: string) => t"},{"id":"Js.Re.flags","kind":"value","name":"flags","docstrings":["Returns the enabled flags as a string."],"signature":"let flags: t => string"},{"id":"Js.Re.global","kind":"value","name":"global","docstrings":["Returns a `bool` indicating whether the global flag is set."],"signature":"let global: t => bool"},{"id":"Js.Re.ignoreCase","kind":"value","name":"ignoreCase","docstrings":["Returns a `bool` indicating whether the ignoreCase flag is set."],"signature":"let ignoreCase: t => bool"},{"id":"Js.Re.lastIndex","kind":"value","name":"lastIndex","docstrings":["Returns the index where the next match will start its search. This property\nwill be modified when the RegExp object is used, if the global (\"g\") flag is\nset.\n\n## Examples\n\n```rescript\nlet re = %re(\"/ab*TODO/g\")\nlet str = \"abbcdefabh\"\n\nlet break = ref(false)\nwhile !break.contents {\n switch Js.Re.exec_(re, str) {\n | Some(result) => Js.Nullable.iter(Js.Re.captures(result)[0], (. match_) => {\n let next = Belt.Int.toString(Js.Re.lastIndex(re))\n Js.log(\"Found \" ++ (match_ ++ (\". Next match starts at \" ++ next)))\n })\n | None => break := true\n }\n}\n```\n\nSee\n[`RegExp: lastIndex`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/lastIndex)\non MDN."],"signature":"let lastIndex: t => int"},{"id":"Js.Re.setLastIndex","kind":"value","name":"setLastIndex","docstrings":["Sets the index at which the next match will start its search from."],"signature":"let setLastIndex: (t, int) => unit"},{"id":"Js.Re.multiline","kind":"value","name":"multiline","docstrings":["Returns a `bool` indicating whether the multiline flag is set."],"signature":"let multiline: t => bool"},{"id":"Js.Re.source","kind":"value","name":"source","docstrings":["Returns the pattern as a `string`."],"signature":"let source: t => string"},{"id":"Js.Re.sticky","kind":"value","name":"sticky","docstrings":["Returns a `bool` indicating whether the sticky flag is set."],"signature":"let sticky: t => bool"},{"id":"Js.Re.unicode","kind":"value","name":"unicode","docstrings":["Returns a `bool` indicating whether the unicode flag is set."],"signature":"let unicode: t => bool"},{"id":"Js.Re.exec_","kind":"value","name":"exec_","docstrings":["Executes a search on a given string using the given RegExp object.\nReturns `Some(Js.Re.result)` if a match is found, `None` otherwise.\n\n## Examples\n\n```rescript\n/* Match \"quick brown\" followed by \"jumps\", ignoring characters in between\n * Remember \"brown\" and \"jumps\"\n * Ignore case\n */\n\nlet re = %re(\"/quick\\s(brown).+?(jumps)/ig\")\nlet result = Js.Re.exec_(re, \"The Quick Brown Fox Jumps Over The Lazy Dog\")\n```\n\nSee [`RegExp.prototype.exec()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/exec)\non MDN."],"signature":"let exec_: (t, string) => option"},{"id":"Js.Re.test_","kind":"value","name":"test_","docstrings":["Tests whether the given RegExp object will match a given `string`.\nReturns true if a match is found, false otherwise.\n\n## Examples\n\n```rescript\n/* A simple implementation of Js.String.startsWith */\n\nlet str = \"hello world!\"\n\nlet startsWith = (target, substring) =>\n Js.Re.fromString(\"^\" ++ substring)->Js.Re.test_(target)\n\nJs.log(str->startsWith(\"hello\")) /* prints \"true\" */\n```\n\nSee [`RegExp.prototype.test()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/test)\non MDN."],"signature":"let test_: (t, string) => bool"}]},"js/string2":{"id":"Js.String2","name":"String2","docstrings":["Provide bindings to JS string"],"items":[{"id":"Js.String2.t","kind":"type","name":"t","docstrings":[],"signature":"type t = string"},{"id":"Js.String2.make","kind":"value","name":"make","docstrings":["`make(value)` converts the given value to a `string`.\n\n## Examples\n\n```rescript\nJs.String2.make(3.5) == \"3.5\"\nJs.String2.make([1, 2, 3]) == \"1,2,3\"\n```"],"signature":"let make: 'a => t"},{"id":"Js.String2.fromCharCode","kind":"value","name":"fromCharCode","docstrings":["`fromCharCode(n)` creates a `string` containing the character corresponding to\nthat number; `n` ranges from 0 to 65535.If out of range, the lower 16 bits of\nthe value are used. Thus, `fromCharCode(0x1F63A)` gives the same result as\n`fromCharCode(0xF63A)`.\n\nSee [`String.fromCharCode`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/fromCharCode)\non MDN.\n\n## Examples\n\n```rescript\nJs.String2.fromCharCode(65) == \"A\"\nJs.String2.fromCharCode(0x3c8) == `ψ`\nJs.String2.fromCharCode(0xd55c) == `한`\nJs.String2.fromCharCode(-64568) == `ψ`\n```"],"signature":"let fromCharCode: int => t"},{"id":"Js.String2.fromCharCodeMany","kind":"value","name":"fromCharCodeMany","docstrings":["`fromCharCodeMany([n1, n2, n3])` creates a `string` from the characters\ncorresponding to the given numbers, using the same rules as `fromCharCode`.\n\nSee [`String.fromCharCode`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/fromCharCode)\non MDN."],"signature":"let fromCharCodeMany: array => t"},{"id":"Js.String2.fromCodePoint","kind":"value","name":"fromCodePoint","docstrings":["`fromCodePoint(n)` creates a `string` containing the character corresponding to\nthat numeric code point. If the number is not a valid code point, it raises\n`RangeError`. Thus, `fromCodePoint(0x1F63A)` will produce a correct value,\nunlike `fromCharCode(0x1F63A)`, and `fromCodePoint(-5)` will raise a\n`RangeError`.\n\nSee [`String.fromCodePoint`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/fromCodePoint)\non MDN.\n\n## Examples\n\n```rescript\nJs.String2.fromCodePoint(65) == \"A\"\nJs.String2.fromCodePoint(0x3c8) == `ψ`\nJs.String2.fromCodePoint(0xd55c) == `한`\nJs.String2.fromCodePoint(0x1f63a) == `😺`\n```"],"signature":"let fromCodePoint: int => t"},{"id":"Js.String2.fromCodePointMany","kind":"value","name":"fromCodePointMany","docstrings":["`fromCodePointMany([n1, n2, n3])` creates a `string` from the characters\ncorresponding to the given code point numbers, using the same rules as\n`fromCodePoint`.\n\nSee [`String.fromCodePoint`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/fromCodePoint)\non MDN.\n\n## Examples\n\n```rescript\nJs.String2.fromCodePointMany([0xd55c, 0xae00, 0x1f63a]) == `한글😺`\n```"],"signature":"let fromCodePointMany: array => t"},{"id":"Js.String2.length","kind":"value","name":"length","docstrings":["`length(s)` returns the length of the given `string`.\n\nSee [`String.length`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/length)\non MDN.\n\n## Examples\n\n```rescript\nJs.String2.length(\"abcd\") == 4\n```"],"signature":"let length: t => int"},{"id":"Js.String2.get","kind":"value","name":"get","docstrings":["`get(s, n)` returns as a `string` the character at the given index number. If\n`n` is out of range, this function returns `undefined`,so at some point this\nfunction may be modified to return `option`.\n\n## Examples\n\n```rescript\nJs.String2.get(\"Reason\", 0) == \"R\"\nJs.String2.get(\"Reason\", 4) == \"o\"\nJs.String2.get(`Rẽasöń`, 5) == `ń`\n```"],"signature":"let get: (t, int) => t"},{"id":"Js.String2.charAt","kind":"value","name":"charAt","docstrings":["`charAt(s, n)` gets the character at index `n` within string `s`. If `n` is\nnegative or greater than the length of `s`, it returns the empty string. If the\nstring contains characters outside the range \\u0000-\\uffff, it will return the\nfirst 16-bit value at that position in the string.\n\nSee [`String.charAt`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/charAt)\non MDN.\n\n## Examples\n\n```rescript\nJs.String2.charAt(\"Reason\", 0) == \"R\"\nJs.String2.charAt(\"Reason\", 12) == \"\"\nJs.String2.charAt(`Rẽasöń`, 5) == `ń`\n```"],"signature":"let charAt: (t, int) => t"},{"id":"Js.String2.charCodeAt","kind":"value","name":"charCodeAt","docstrings":["`charCodeAt(s, n)` returns the character code at position `n` in string `s`;\nthe result is in the range 0-65535, unlke `codePointAt`, so it will not work\ncorrectly for characters with code points greater than or equal to 0x10000. The\nreturn type is `float` because this function returns NaN if `n` is less than\nzero or greater than the length of the string.\n\nSee [`String.charCodeAt`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/charCodeAt)\non MDN.\n\n## Examples\n\n```rescript\nJs.String2.charCodeAt(`😺`, 0) == 0xd83d->Belt.Int.toFloat\nJs.String2.codePointAt(`😺`, 0) == Some(0x1f63a)\n```"],"signature":"let charCodeAt: (t, int) => float"},{"id":"Js.String2.codePointAt","kind":"value","name":"codePointAt","docstrings":["`codePointAt(s, n)` returns the code point at position `n` within string `s` as\na `Some(value)`. The return value handles code points greater than or equal to\n0x10000. If there is no code point at the given position, the function returns\n`None`.\n\nSee [`String.codePointAt`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/codePointAt)\non MDN.\n\n## Examples\n\n```rescript\nJs.String2.codePointAt(`¿😺?`, 1) == Some(0x1f63a)\nJs.String2.codePointAt(\"abc\", 5) == None\n```"],"signature":"let codePointAt: (t, int) => option"},{"id":"Js.String2.concat","kind":"value","name":"concat","docstrings":["`concat(original, append)` returns a new `string` with `append` added after\n`original`.\n\nSee [`String.concat`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/concat)\non MDN.\n\n## Examples\n\n```rescript\nJs.String2.concat(\"cow\", \"bell\") == \"cowbell\"\n```"],"signature":"let concat: (t, t) => t"},{"id":"Js.String2.concatMany","kind":"value","name":"concatMany","docstrings":["`concatMany(original, arr)` returns a new `string` consisting of each item of an\narray of strings added to the `original` string.\n\nSee [`String.concat`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/concat)\non MDN.\n\n## Examples\n\n```rescript\nJs.String2.concatMany(\"1st\", [\"2nd\", \"3rd\", \"4th\"]) == \"1st2nd3rd4th\"\n```"],"signature":"let concatMany: (t, array) => t"},{"id":"Js.String2.endsWith","kind":"value","name":"endsWith","docstrings":["ES2015: `endsWith(str, substr)` returns `true` if the `str` ends with `substr`,\n`false` otherwise.\n\nSee [`String.endsWith`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith)\non MDN.\n\n## Examples\n\n```rescript\nJs.String2.endsWith(\"ReScript\", \"Script\") == true\nJs.String2.endsWith(\"C++\", \"Script\") == false\n```"],"signature":"let endsWith: (t, t) => bool"},{"id":"Js.String2.endsWithFrom","kind":"value","name":"endsWithFrom","docstrings":["`endsWithFrom(str, ending, len)` returns `true` if the first len characters of\n`str` end with `ending`, `false` otherwise. If `len` is greater than or equal\nto the length of `str`, then it works like `endsWith`. (Honestly, this should\nhave been named endsWithAt, but oh well).\n\nSee [`String.endsWith`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith)\non MDN.\n\n## Examples\n\n```rescript\nJs.String2.endsWithFrom(\"abcd\", \"cd\", 4) == true\nJs.String2.endsWithFrom(\"abcde\", \"cd\", 3) == false\nJs.String2.endsWithFrom(\"abcde\", \"cde\", 99) == true\nJs.String2.endsWithFrom(\"example.dat\", \"ple\", 7) == true\n```"],"signature":"let endsWithFrom: (t, t, int) => bool"},{"id":"Js.String2.includes","kind":"value","name":"includes","docstrings":["ES2015: `includes(str, searchValue)` returns `true` if `searchValue` is found\nanywhere within `str`, false otherwise.\n\nSee [`String.includes`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes)\non MDN.\n\n## Examples\n\n```rescript\nJs.String2.includes(\"programmer\", \"gram\") == true\nJs.String2.includes(\"programmer\", \"er\") == true\nJs.String2.includes(\"programmer\", \"pro\") == true\nJs.String2.includes(\"programmer.dat\", \"xyz\") == false\n```"],"signature":"let includes: (t, t) => bool"},{"id":"Js.String2.includesFrom","kind":"value","name":"includesFrom","docstrings":["ES2015: `includes(str, searchValue start)` returns `true` if `searchValue` is\nfound anywhere within `str` starting at character number `start` (where 0 is\nthe first character), `false` otherwise.\n\nSee [`String.includes`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes)\non MDN.\n\n## Examples\n\n```rescript\nJs.String2.includesFrom(\"programmer\", \"gram\", 1) == true\nJs.String2.includesFrom(\"programmer\", \"gram\", 4) == false\nJs.String2.includesFrom(`대한민국`, `한`, 1) == true\n```"],"signature":"let includesFrom: (t, t, int) => bool"},{"id":"Js.String2.indexOf","kind":"value","name":"indexOf","docstrings":["ES2015: `indexOf(str, searchValue)` returns the position at which `searchValue`\nwas first found within `str`, or -1 if `searchValue` is not in `str`.\n\nSee [`String.indexOf`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/indexOf)\non MDN.\n\n## Examples\n\n```rescript\nJs.String2.indexOf(\"bookseller\", \"ok\") == 2\nJs.String2.indexOf(\"bookseller\", \"sell\") == 4\nJs.String2.indexOf(\"beekeeper\", \"ee\") == 1\nJs.String2.indexOf(\"bookseller\", \"xyz\") == -1\n```"],"signature":"let indexOf: (t, t) => int"},{"id":"Js.String2.indexOfFrom","kind":"value","name":"indexOfFrom","docstrings":["`indexOfFrom(str, searchValue, start)` returns the position at which\n`searchValue` was found within `str` starting at character position `start`, or\n-1 if `searchValue` is not found in that portion of `str`. The return value is\nrelative to the beginning of the string, no matter where the search started\nfrom.\n\nSee [`String.indexOf`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/indexOf)\non MDN.\n\n## Examples\n\n```rescript\nJs.String2.indexOfFrom(\"bookseller\", \"ok\", 1) == 2\nJs.String2.indexOfFrom(\"bookseller\", \"sell\", 2) == 4\nJs.String2.indexOfFrom(\"bookseller\", \"sell\", 5) == -1\n```"],"signature":"let indexOfFrom: (t, t, int) => int"},{"id":"Js.String2.lastIndexOf","kind":"value","name":"lastIndexOf","docstrings":["`lastIndexOf(str, searchValue)` returns the position of the last occurrence of\n`searchValue` within `str`, searching backwards from the end of the string.\nReturns -1 if `searchValue` is not in `str`. The return value is always\nrelative to the beginning of the string.\n\nSee [`String.lastIndexOf`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/lastIndexOf)\non MDN.\n\n## Examples\n\n```rescript\nJs.String2.lastIndexOf(\"bookseller\", \"ok\") == 2\nJs.String2.lastIndexOf(\"beekeeper\", \"ee\") == 4\nJs.String2.lastIndexOf(\"abcdefg\", \"xyz\") == -1\n```"],"signature":"let lastIndexOf: (t, t) => int"},{"id":"Js.String2.lastIndexOfFrom","kind":"value","name":"lastIndexOfFrom","docstrings":["`lastIndexOfFrom(str, searchValue, start)` returns the position of the last\noccurrence of `searchValue` within `str`, searching backwards from the given\nstart position. Returns -1 if `searchValue` is not in `str`. The return value\nis always relative to the beginning of the string.\n\nSee [`String.lastIndexOf`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/lastIndexOf)\non MDN.\n\n## Examples\n\n```rescript\nJs.String2.lastIndexOfFrom(\"bookseller\", \"ok\", 6) == 2\nJs.String2.lastIndexOfFrom(\"beekeeper\", \"ee\", 8) == 4\nJs.String2.lastIndexOfFrom(\"beekeeper\", \"ee\", 3) == 1\nJs.String2.lastIndexOfFrom(\"abcdefg\", \"xyz\", 4) == -1\n```"],"signature":"let lastIndexOfFrom: (t, t, int) => int"},{"id":"Js.String2.localeCompare","kind":"value","name":"localeCompare","docstrings":["`localeCompare(reference, comparison)` returns\n- a negative value if reference comes before comparison in sort order\n- zero if reference and comparison have the same sort order\n- a positive value if reference comes after comparison in sort order\n\nSee [`String.localeCompare`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/localeCompare) on MDN.\n\n## Examples\n\n```rescript\nJs.String2.localeCompare(\"zebra\", \"ant\") > 0.0\nJs.String2.localeCompare(\"ant\", \"zebra\") < 0.0\nJs.String2.localeCompare(\"cat\", \"cat\") == 0.0\nJs.String2.localeCompare(\"CAT\", \"cat\") > 0.0\n```"],"signature":"let localeCompare: (t, t) => float"},{"id":"Js.String2.match_","kind":"value","name":"match_","docstrings":["`match(str, regexp)` matches a `string` against the given `regexp`. If there is\nno match, it returns `None`. For regular expressions without the g modifier, if\n there is a match, the return value is `Some(array)` where the array contains:\n- The entire matched string\n- Any capture groups if the regexp had parentheses\nFor regular expressions with the g modifier, a matched expression returns\n`Some(array)` with all the matched substrings and no capture groups.\n\nSee [`String.match`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/match)\non MDN.\n\n## Examples\n\n```rescript\nJs.String2.match_(\"The better bats\", %re(\"/b[aeiou]t/\")) == Some([\"bet\"])\nJs.String2.match_(\"The better bats\", %re(\"/b[aeiou]t/g\")) == Some([\"bet\", \"bat\"])\nJs.String2.match_(\"Today is 2018-04-05.\", %re(\"/(\\d+)-(\\d+)-(\\d+)/\")) ==\n Some([\"2018-04-05\", \"2018\", \"04\", \"05\"])\nJs.String2.match_(\"The large container.\", %re(\"/b[aeiou]g/\")) == None\n```"],"signature":"let match_: (t, Js_re.t) => option>>"},{"id":"Js.String2.normalize","kind":"value","name":"normalize","docstrings":["`normalize(str)` returns the normalized Unicode string using Normalization Form\nCanonical (NFC) Composition. Consider the character ã, which can be represented\nas the single codepoint \\u00e3 or the combination of a lower case letter A\n\\u0061 and a combining tilde \\u0303. Normalization ensures that both can be\nstored in an equivalent binary representation.\n\nSee [`String.normalize`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/normalize)\non MDN. See also [Unicode technical report\n#15](https://unicode.org/reports/tr15/) for details."],"signature":"let normalize: t => t"},{"id":"Js.String2.normalizeByForm","kind":"value","name":"normalizeByForm","docstrings":["ES2015: `normalize(str, form)` returns the normalized Unicode string using the\nspecified form of normalization, which may be one of:\n- \"NFC\" — Normalization Form Canonical Composition.\n- \"NFD\" — Normalization Form Canonical Decomposition.\n- \"NFKC\" — Normalization Form Compatibility Composition.\n- \"NFKD\" — Normalization Form Compatibility Decomposition.\n\nSee [`String.normalize`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/normalize) on MDN.\nSee also [Unicode technical report #15](https://unicode.org/reports/tr15/) for details."],"signature":"let normalizeByForm: (t, t) => t"},{"id":"Js.String2.repeat","kind":"value","name":"repeat","docstrings":["`repeat(str, n)` returns a `string` that consists of `n` repetitions of `str`.\nRaises `RangeError` if `n` is negative.\n\nSee [`String.repeat`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/repeat)\non MDN.\n\n## Examples\n\n```rescript\nJs.String2.repeat(\"ha\", 3) == \"hahaha\"\nJs.String2.repeat(\"empty\", 0) == \"\"\n```"],"signature":"let repeat: (t, int) => t"},{"id":"Js.String2.replace","kind":"value","name":"replace","docstrings":["ES2015: `replace(str, substr, newSubstr)` returns a new `string` which is\nidentical to `str` except with the first matching instance of `substr` replaced\nby `newSubstr`. `substr` is treated as a verbatim string to match, not a\nregular expression.\n\nSee [`String.replace`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace)\non MDN.\n\n## Examples\n\n```rescript\nJs.String2.replace(\"old string\", \"old\", \"new\") == \"new string\"\nJs.String2.replace(\"the cat and the dog\", \"the\", \"this\") == \"this cat and the dog\"\n```"],"signature":"let replace: (t, t, t) => t"},{"id":"Js.String2.replaceByRe","kind":"value","name":"replaceByRe","docstrings":["`replaceByRe(str, regex, replacement)` returns a new `string` where occurrences\nmatching regex have been replaced by `replacement`.\n\nSee [`String.replace`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace)\non MDN.\n\n## Examples\n\n```rescript\nJs.String2.replaceByRe(\"vowels be gone\", %re(\"/[aeiou]/g\"), \"x\") == \"vxwxls bx gxnx\"\nJs.String2.replaceByRe(\"Juan Fulano\", %re(\"/(\\w+) (\\w+)/\"), \"$2, $1\") == \"Fulano, Juan\"\n```"],"signature":"let replaceByRe: (t, Js_re.t, t) => t"},{"id":"Js.String2.unsafeReplaceBy0","kind":"value","name":"unsafeReplaceBy0","docstrings":["Returns a new `string` with some or all matches of a pattern with no capturing\nparentheses replaced by the value returned from the given function. The\nfunction receives as its parameters the matched string, the offset at which the\nmatch begins, and the whole string being matched.\n\nSee [`String.replace`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace)\non MDN.\n\n## Examples\n\n```rescript\nlet str = \"beautiful vowels\"\nlet re = %re(\"/[aeiou]/g\")\nlet matchFn = (matchPart, _offset, _wholeString) => Js.String2.toUpperCase(matchPart)\n\nJs.String2.unsafeReplaceBy0(str, re, matchFn) == \"bEAUtIfUl vOwEls\"\n```"],"signature":"let unsafeReplaceBy0: (t, Js_re.t, (t, int, t) => t) => t"},{"id":"Js.String2.unsafeReplaceBy1","kind":"value","name":"unsafeReplaceBy1","docstrings":["Returns a new `string` with some or all matches of a pattern with one set of\ncapturing parentheses replaced by the value returned from the given function.\nThe function receives as its parameters the matched string, the captured\nstring, the offset at which the match begins, and the whole string being\nmatched.\n\nSee [`String.replace`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace)\non MDN.\n\n## Examples\n\n```rescript\nlet str = \"Jony is 40\"\nlet re = %re(\"/(Jony is )\\d+/g\")\nlet matchFn = (_match, part1, _offset, _wholeString) => {\n part1 ++ \"41\"\n}\n\nJs.String2.unsafeReplaceBy1(str, re, matchFn) == \"Jony is 41\"\n```"],"signature":"let unsafeReplaceBy1: (t, Js_re.t, (t, t, int, t) => t) => t"},{"id":"Js.String2.unsafeReplaceBy2","kind":"value","name":"unsafeReplaceBy2","docstrings":["Returns a new `string` with some or all matches of a pattern with two sets of\ncapturing parentheses replaced by the value returned from the given function.\nThe function receives as its parameters the matched string, the captured\nstrings, the offset at which the match begins, and the whole string being\nmatched.\n\nSee [`String.replace`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace)\non MDN.\n\n## Examples\n\n```rescript\nlet str = \"7 times 6\"\nlet re = %re(\"/(\\d+) times (\\d+)/\")\nlet matchFn = (_match, p1, p2, _offset, _wholeString) => {\n switch (Belt.Int.fromString(p1), Belt.Int.fromString(p2)) {\n | (Some(x), Some(y)) => Belt.Int.toString(x * y)\n | _ => \"???\"\n }\n}\n\nJs.String2.unsafeReplaceBy2(str, re, matchFn) == \"42\"\n```"],"signature":"let unsafeReplaceBy2: (t, Js_re.t, (t, t, t, int, t) => t) => t"},{"id":"Js.String2.unsafeReplaceBy3","kind":"value","name":"unsafeReplaceBy3","docstrings":["Returns a new `string` with some or all matches of a pattern with three sets of\ncapturing parentheses replaced by the value returned from the given function.\nThe function receives as its parameters the matched string, the captured\nstrings, the offset at which the match begins, and the whole string being\nmatched.\n\nSee [`String.replace`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace)\non MDN."],"signature":"let unsafeReplaceBy3: (t, Js_re.t, (t, t, t, t, int, t) => t) => t"},{"id":"Js.String2.search","kind":"value","name":"search","docstrings":["`search(str, regexp)` returns the starting position of the first match of\n`regexp` in the given `str`, or -1 if there is no match.\n\nSee [`String.search`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/search)\non MDN.\n\n## Examples\n\n```rescript\nJs.String2.search(\"testing 1 2 3\", %re(\"/\\d+/\")) == 8\nJs.String2.search(\"no numbers\", %re(\"/\\d+/\")) == -1\n```"],"signature":"let search: (t, Js_re.t) => int"},{"id":"Js.String2.slice","kind":"value","name":"slice","docstrings":["`slice(str, from:n1, to_:n2)` returns the substring of `str` starting at\ncharacter `n1` up to but not including `n2`.\n- If either `n1` or `n2` is negative, then it is evaluated as `length(str - n1)` or `length(str - n2)`.\n- If `n2` is greater than the length of `str`, then it is treated as `length(str)`.\n- If `n1` is greater than `n2`, slice returns the empty string.\n\nSee [`String.slice`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/slice) on MDN.\n\n## Examples\n\n```rescript\nJs.String2.slice(\"abcdefg\", ~from=2, ~to_=5) == \"cde\"\nJs.String2.slice(\"abcdefg\", ~from=2, ~to_=9) == \"cdefg\"\nJs.String2.slice(\"abcdefg\", ~from=-4, ~to_=-2) == \"de\"\nJs.String2.slice(\"abcdefg\", ~from=5, ~to_=1) == \"\"\n```"],"signature":"let slice: (t, ~from: int, ~to_: int) => t"},{"id":"Js.String2.sliceToEnd","kind":"value","name":"sliceToEnd","docstrings":["`sliceToEnd(str, from:n)` returns the substring of `str` starting at character\n`n` to the end of the string.\n- If `n` is negative, then it is evaluated as `length(str - n)`.\n- If `n` is greater than the length of `str`, then sliceToEnd returns the empty string.\n\nSee [`String.slice`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/slice) on MDN.\n\n## Examples\n\n```rescript\nJs.String2.sliceToEnd(\"abcdefg\", ~from=4) == \"efg\"\nJs.String2.sliceToEnd(\"abcdefg\", ~from=-2) == \"fg\"\nJs.String2.sliceToEnd(\"abcdefg\", ~from=7) == \"\"\n```"],"signature":"let sliceToEnd: (t, ~from: int) => t"},{"id":"Js.String2.split","kind":"value","name":"split","docstrings":["`split(str, delimiter)` splits the given `str` at every occurrence of\n`delimiter` and returns an array of the resulting substrings.\n\nSee [`String.split`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/split)\non MDN.\n\n## Examples\n\n```rescript\nJs.String2.split(\"2018-01-02\", \"-\") == [\"2018\", \"01\", \"02\"]\nJs.String2.split(\"a,b,,c\", \",\") == [\"a\", \"b\", \"\", \"c\"]\nJs.String2.split(\"good::bad as great::awful\", \"::\") == [\"good\", \"bad as great\", \"awful\"]\nJs.String2.split(\"has-no-delimiter\", \";\") == [\"has-no-delimiter\"]\n```"],"signature":"let split: (t, t) => array"},{"id":"Js.String2.splitAtMost","kind":"value","name":"splitAtMost","docstrings":["`splitAtMost delimiter ~limit: n str` splits the given `str` at every occurrence of `delimiter` and returns an array of the first `n` resulting substrings. If `n` is negative or greater than the number of substrings, the array will contain all the substrings.\n\n```\nsplitAtMost \"ant/bee/cat/dog/elk\" \"/\" ~limit: 3 = [|\"ant\"; \"bee\"; \"cat\"|];;\nsplitAtMost \"ant/bee/cat/dog/elk\" \"/\" ~limit: 0 = [| |];;\nsplitAtMost \"ant/bee/cat/dog/elk\" \"/\" ~limit: 9 = [|\"ant\"; \"bee\"; \"cat\"; \"dog\"; \"elk\"|];;\n```"],"signature":"let splitAtMost: (t, t, ~limit: int) => array"},{"id":"Js.String2.splitByRe","kind":"value","name":"splitByRe","docstrings":["`splitByRe(str, regex)` splits the given `str` at every occurrence of `regex`\nand returns an array of the resulting substrings.\n\nSee [`String.split`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/split)\non MDN.\n\n## Examples\n\n```rescript\nJs.String2.splitByRe(\"art; bed , cog ;dad\", %re(\"/\\s*[,;]\\s*TODO/\")) == [\n Some(\"art\"),\n Some(\"bed\"),\n Some(\"cog\"),\n Some(\"dad\"),\n ]\n```"],"signature":"let splitByRe: (t, Js_re.t) => array>"},{"id":"Js.String2.splitByReAtMost","kind":"value","name":"splitByReAtMost","docstrings":["`splitByReAtMost(str, regex, ~limit:n)` splits the given `str` at every\noccurrence of `regex` and returns an array of the first `n` resulting\nsubstrings. If `n` is negative or greater than the number of substrings, the\narray will contain all the substrings.\n\nSee [`String.split`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/split)\non MDN.\n\n## Examples\n\n```rescript\nJs.String2.splitByReAtMost(\"one: two: three: four\", %re(\"/\\s*:\\s*TODO/\"), ~limit=3) == [\n Some(\"one\"),\n Some(\"two\"),\n Some(\"three\"),\n ]\n\nJs.String2.splitByReAtMost(\"one: two: three: four\", %re(\"/\\s*:\\s*TODO/\"), ~limit=0) == []\n\nJs.String2.splitByReAtMost(\"one: two: three: four\", %re(\"/\\s*:\\s*TODO/\"), ~limit=8) == [\n Some(\"one\"),\n Some(\"two\"),\n Some(\"three\"),\n Some(\"four\"),\n ]\n```"],"signature":"let splitByReAtMost: (t, Js_re.t, ~limit: int) => array>"},{"id":"Js.String2.startsWith","kind":"value","name":"startsWith","docstrings":["ES2015: `startsWith(str, substr)` returns `true` if the `str` starts with\n`substr`, `false` otherwise.\n\nSee [`String.startsWith`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith)\non MDN.\n\n## Examples\n\n```rescript\nJs.String2.startsWith(\"ReScript\", \"Re\") == true\nJs.String2.startsWith(\"ReScript\", \"\") == true\nJs.String2.startsWith(\"JavaScript\", \"Re\") == false\n```"],"signature":"let startsWith: (t, t) => bool"},{"id":"Js.String2.startsWithFrom","kind":"value","name":"startsWithFrom","docstrings":["ES2015: `startsWithFrom(str, substr, n)` returns `true` if the `str` starts\nwith `substr` starting at position `n`, false otherwise. If `n` is negative,\nthe search starts at the beginning of `str`.\n\nSee [`String.startsWith`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith)\non MDN.\n\n## Examples\n\n```rescript\nJs.String2.startsWithFrom(\"ReScript\", \"Scri\", 2) == true\nJs.String2.startsWithFrom(\"ReScript\", \"\", 2) == true\nJs.String2.startsWithFrom(\"JavaScript\", \"Scri\", 2) == false\n```"],"signature":"let startsWithFrom: (t, t, int) => bool"},{"id":"Js.String2.substr","kind":"value","name":"substr","docstrings":["`substr(str, ~from:n)` returns the substring of `str` from position `n` to the\nend of the string.\n- If `n` is less than zero, the starting position is the length of `str - n`.\n- If `n` is greater than or equal to the length of `str`, returns the empty string.\n\nJavaScript’s `String.substr()` is a legacy function. When possible, use\n`substring()` instead.\n\nSee [`String.substr`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/substr)\non MDN.\n\n## Examples\n\n```rescript\nJs.String2.substr(\"abcdefghij\", ~from=3) == \"defghij\"\nJs.String2.substr(\"abcdefghij\", ~from=-3) == \"hij\"\nJs.String2.substr(\"abcdefghij\", ~from=12) == \"\"\n```"],"signature":"let substr: (t, ~from: int) => t"},{"id":"Js.String2.substrAtMost","kind":"value","name":"substrAtMost","docstrings":["`substrAtMost(str, ~from: pos, ~length: n)` returns the substring of `str` of\nlength `n` starting at position `pos`.\n- If `pos` is less than zero, the starting position is the length of `str - pos`.\n- If `pos` is greater than or equal to the length of `str`, returns the empty string.\n- If `n` is less than or equal to zero, returns the empty string.\n\nJavaScript’s `String.substr()` is a legacy function. When possible, use\n`substring()` instead.\n\nSee [`String.substr`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/substr)\non MDN.\n\n## Examples\n\n```rescript\nJs.String2.substrAtMost(\"abcdefghij\", ~from=3, ~length=4) == \"defg\"\nJs.String2.substrAtMost(\"abcdefghij\", ~from=-3, ~length=4) == \"hij\"\nJs.String2.substrAtMost(\"abcdefghij\", ~from=12, ~length=2) == \"\"\n```"],"signature":"let substrAtMost: (t, ~from: int, ~length: int) => t"},{"id":"Js.String2.substring","kind":"value","name":"substring","docstrings":["`substring(str, ~from: start, ~to_: finish)` returns characters `start` up to\nbut not including finish from `str`.\n- If `start` is less than zero, it is treated as zero.\n- If `finish` is zero or negative, the empty string is returned.\n- If `start` is greater than `finish`, the `start` and `finish` points are swapped.\n\nSee [`String.substring`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/substring) on MDN.\n\n## Examples\n\n```rescript\nJs.String2.substring(\"playground\", ~from=3, ~to_=6) == \"ygr\"\nJs.String2.substring(\"playground\", ~from=6, ~to_=3) == \"ygr\"\nJs.String2.substring(\"playground\", ~from=4, ~to_=12) == \"ground\"\n```"],"signature":"let substring: (t, ~from: int, ~to_: int) => t"},{"id":"Js.String2.substringToEnd","kind":"value","name":"substringToEnd","docstrings":["`substringToEnd(str, ~from: start)` returns the substring of `str` from\nposition `start` to the end.\n- If `start` is less than or equal to zero, the entire string is returned.\n- If `start` is greater than or equal to the length of `str`, the empty string is returned.\n\nSee [`String.substring`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/substring) on MDN.\n\n## Examples\n\n```rescript\nJs.String2.substringToEnd(\"playground\", ~from=4) == \"ground\"\nJs.String2.substringToEnd(\"playground\", ~from=-3) == \"playground\"\nJs.String2.substringToEnd(\"playground\", ~from=12) == \"\"\n```"],"signature":"let substringToEnd: (t, ~from: int) => t"},{"id":"Js.String2.toLowerCase","kind":"value","name":"toLowerCase","docstrings":["`toLowerCase(str)` converts `str` to lower case using the locale-insensitive\ncase mappings in the Unicode Character Database. Notice that the conversion can\ngive different results depending upon context, for example with the Greek\nletter sigma, which has two different lower case forms; one when it is the last\ncharacter in a string and another when it is not.\n\nSee [`String.toLowerCase`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/toLowerCase)\non MDN.\n\n## Examples\n\n```rescript\nJs.String2.toLowerCase(\"ABC\") == \"abc\"\nJs.String2.toLowerCase(`ΣΠ`) == `σπ`\nJs.String2.toLowerCase(`ΠΣ`) == `πς`\n```"],"signature":"let toLowerCase: t => t"},{"id":"Js.String2.toLocaleLowerCase","kind":"value","name":"toLocaleLowerCase","docstrings":["`toLocaleLowerCase(str)` converts `str` to lower case using the current locale.\nSee [`String.toLocaleLowerCase`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/toLocaleLowerCase)\non MDN."],"signature":"let toLocaleLowerCase: t => t"},{"id":"Js.String2.toUpperCase","kind":"value","name":"toUpperCase","docstrings":["`toUpperCase(str)` converts `str` to upper case using the locale-insensitive\ncase mappings in the Unicode Character Database. Notice that the conversion can\nexpand the number of letters in the result; for example the German ß\ncapitalizes to two Ses in a row.\n\nSee [`String.toUpperCase`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/toUpperCase)\non MDN.\n\n## Examples\n\n```rescript\nJs.String2.toUpperCase(\"abc\") == \"ABC\"\nJs.String2.toUpperCase(`Straße`) == `STRASSE`\nJs.String2.toUpperCase(`πς`) == `ΠΣ`\n```"],"signature":"let toUpperCase: t => t"},{"id":"Js.String2.toLocaleUpperCase","kind":"value","name":"toLocaleUpperCase","docstrings":["`toLocaleUpperCase(str)` converts `str` to upper case using the current locale.\nSee [`String.to:LocaleUpperCase`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/toLocaleUpperCase)\non MDN."],"signature":"let toLocaleUpperCase: t => t"},{"id":"Js.String2.trim","kind":"value","name":"trim","docstrings":["`trim(str)` returns a string that is `str` with whitespace stripped from both\nends. Internal whitespace is not removed.\n\nSee [`String.trim`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/trim)\non MDN.\n\n## Examples\n\n```rescript\nJs.String2.trim(\" abc def \") == \"abc def\"\nJs.String2.trim(\"\\n\\r\\t abc def \\n\\n\\t\\r \") == \"abc def\"\n```"],"signature":"let trim: t => t"},{"id":"Js.String2.anchor","kind":"value","name":"anchor","docstrings":["`anchor(anchorText, anchorName)` creates a string with an HTML `` element\nwith name attribute of `anchorName` and `anchorText` as its content. Please do\nnot use this method, as it has been removed from the relevant web standards.\n\nSee [`String.anchor`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/anchor)\non MDN.\n\n## Examples\n\n```rescript\nJs.String2.anchor(\"Page One\", \"page1\") == \"Page One\"\n```"],"signature":"let anchor: (t, t) => t"},{"id":"Js.String2.link","kind":"value","name":"link","docstrings":["ES2015: `link(linkText, urlText)` creates a string with an HTML `` element\nwith href attribute of `urlText` and `linkText` as its content. Please do not\nuse this method, as it has been removed from the relevant web standards. See\n[`String.link`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/link)\non MDN.\n\n## Examples\n\n```rescript\nJs.String2.link(\"Go to page two\", \"page2.html\") == \"Go to page two\"\n```"],"signature":"let link: (t, t) => t"},{"id":"Js.String2.castToArrayLike","kind":"value","name":"castToArrayLike","docstrings":["Casts its argument to an `array_like` entity that can be processed by functions\nsuch as `Js.Array2.fromMap()`\n\n## Examples\n\n```rescript\nlet s = \"abcde\"\nlet arr = Js.Array2.fromMap(Js.String2.castToArrayLike(s), x => x)\narr == [\"a\", \"b\", \"c\", \"d\", \"e\"]\n```"],"signature":"let castToArrayLike: t => Js_array2.array_like"}]},"js/string":{"id":"Js.String","name":"String","docstrings":["Provide bindings to JS string"],"items":[{"id":"Js.String.t","kind":"type","name":"t","docstrings":[],"signature":"type t = string"},{"id":"Js.String.make","kind":"value","name":"make","docstrings":["`make(value)` converts the given value to a `string`.\n\n## Examples\n\n```rescript\nJs.String2.make(3.5) == \"3.5\"\nJs.String2.make([1, 2, 3]) == \"1,2,3\"\n```"],"signature":"let make: 'a => t"},{"id":"Js.String.fromCharCode","kind":"value","name":"fromCharCode","docstrings":["`fromCharCode(n)` creates a `string` containing the character corresponding to that number; `n` ranges from 0 to 65535.\nIf out of range, the lower 16 bits of the value are used. Thus, `fromCharCode(0x1F63A)` gives the same result as `fromCharCode(0xF63A)`. See [`String.fromCharCode`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/fromCharCode) on MDN.\n\n## Examples\n\n```rescript\nJs.String2.fromCharCode(65) == \"A\"\nJs.String2.fromCharCode(0x3c8) == `ψ`\nJs.String2.fromCharCode(0xd55c) == `한`\nJs.String2.fromCharCode(-64568) == `ψ`\n```"],"signature":"let fromCharCode: int => t"},{"id":"Js.String.fromCharCodeMany","kind":"value","name":"fromCharCodeMany","docstrings":["`fromCharCodeMany([n1, n2, n3])` creates a `string` from the characters\ncorresponding to the given numbers, using the same rules as `fromCharCode`. See\n[`String.fromCharCode`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/fromCharCode)\non MDN."],"signature":"let fromCharCodeMany: array => t"},{"id":"Js.String.fromCodePoint","kind":"value","name":"fromCodePoint","docstrings":["`fromCodePoint(n)` creates a `string` containing the character corresponding to\nthat numeric code point. If the number is not a valid code point, it raises\n`RangeError`.Thus, `fromCodePoint(0x1F63A)` will produce a correct value,\nunlike `fromCharCode(0x1F63A)`, and `fromCodePoint(-5)` will raise a\n`RangeError`.\n\nSee [`String.fromCodePoint`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/fromCodePoint)\non MDN.\n\n## Examples\n\n```rescript\nJs.String2.fromCodePoint(65) == \"A\"\nJs.String2.fromCodePoint(0x3c8) == `ψ`\nJs.String2.fromCodePoint(0xd55c) == `한`\nJs.String2.fromCodePoint(0x1f63a) == `😺`\n```"],"signature":"let fromCodePoint: int => t"},{"id":"Js.String.fromCodePointMany","kind":"value","name":"fromCodePointMany","docstrings":["`fromCodePointMany([n1, n2, n3])` creates a `string` from the characters\ncorresponding to the given code point numbers, using the same rules as\n`fromCodePoint`.\n\nSee [`String.fromCodePoint`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/fromCodePoint)\non MDN.\n\n## Examples\n\n```rescript\nJs.String2.fromCodePointMany([0xd55c, 0xae00, 0x1f63a]) == `한글😺`\n```"],"signature":"let fromCodePointMany: array => t"},{"id":"Js.String.length","kind":"value","name":"length","docstrings":["`length(s)` returns the length of the given `string`. See\n[`String.length`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/length)\non MDN.\n\n## Examples\n\n```rescript\nJs.String2.length(\"abcd\") == 4\n```"],"signature":"let length: t => int"},{"id":"Js.String.get","kind":"value","name":"get","docstrings":["`get(s, n)` returns as a `string` the character at the given index number. If\n`n` is out of range, this function returns `undefined`, so at some point this\nfunction may be modified to return `option`.\n\n## Examples\n\n```rescript\nJs.String2.get(\"Reason\", 0) == \"R\"\nJs.String2.get(\"Reason\", 4) == \"o\"\nJs.String2.get(`Rẽasöń`, 5) == `ń`\n```"],"signature":"let get: (t, int) => t"},{"id":"Js.String.charAt","kind":"value","name":"charAt","docstrings":[],"signature":"let charAt: (int, t) => t"},{"id":"Js.String.charCodeAt","kind":"value","name":"charCodeAt","docstrings":[],"signature":"let charCodeAt: (int, t) => float"},{"id":"Js.String.codePointAt","kind":"value","name":"codePointAt","docstrings":[],"signature":"let codePointAt: (int, t) => option"},{"id":"Js.String.concat","kind":"value","name":"concat","docstrings":[],"signature":"let concat: (t, t) => t"},{"id":"Js.String.concatMany","kind":"value","name":"concatMany","docstrings":[],"signature":"let concatMany: (array, t) => t"},{"id":"Js.String.endsWith","kind":"value","name":"endsWith","docstrings":[],"signature":"let endsWith: (t, t) => bool"},{"id":"Js.String.endsWithFrom","kind":"value","name":"endsWithFrom","docstrings":[],"signature":"let endsWithFrom: (t, int, t) => bool"},{"id":"Js.String.includes","kind":"value","name":"includes","docstrings":[],"signature":"let includes: (t, t) => bool"},{"id":"Js.String.includesFrom","kind":"value","name":"includesFrom","docstrings":[],"signature":"let includesFrom: (t, int, t) => bool"},{"id":"Js.String.indexOf","kind":"value","name":"indexOf","docstrings":[],"signature":"let indexOf: (t, t) => int"},{"id":"Js.String.indexOfFrom","kind":"value","name":"indexOfFrom","docstrings":[],"signature":"let indexOfFrom: (t, int, t) => int"},{"id":"Js.String.lastIndexOf","kind":"value","name":"lastIndexOf","docstrings":[],"signature":"let lastIndexOf: (t, t) => int"},{"id":"Js.String.lastIndexOfFrom","kind":"value","name":"lastIndexOfFrom","docstrings":[],"signature":"let lastIndexOfFrom: (t, int, t) => int"},{"id":"Js.String.localeCompare","kind":"value","name":"localeCompare","docstrings":[],"signature":"let localeCompare: (t, t) => float"},{"id":"Js.String.match_","kind":"value","name":"match_","docstrings":[],"signature":"let match_: (Js_re.t, t) => option>>"},{"id":"Js.String.normalize","kind":"value","name":"normalize","docstrings":["`normalize(str)` returns the normalized Unicode string using Normalization Form\nCanonical (NFC) Composition. Consider the character ã, which can be represented\nas the single codepoint \\u00e3 or the combination of a lower case letter A\n\\u0061 and a combining tilde \\u0303. Normalization ensures that both can be\nstored in an equivalent binary representation.\n\nSee [`String.normalize`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/normalize)\non MDN.\n\nSee also [Unicode technical report #15](https://unicode.org/reports/tr15/) for\ndetails."],"signature":"let normalize: t => t"},{"id":"Js.String.normalizeByForm","kind":"value","name":"normalizeByForm","docstrings":[],"signature":"let normalizeByForm: (t, t) => t"},{"id":"Js.String.repeat","kind":"value","name":"repeat","docstrings":[],"signature":"let repeat: (int, t) => t"},{"id":"Js.String.replace","kind":"value","name":"replace","docstrings":[],"signature":"let replace: (t, t, t) => t"},{"id":"Js.String.replaceByRe","kind":"value","name":"replaceByRe","docstrings":[],"signature":"let replaceByRe: (Js_re.t, t, t) => t"},{"id":"Js.String.unsafeReplaceBy0","kind":"value","name":"unsafeReplaceBy0","docstrings":[],"signature":"let unsafeReplaceBy0: (Js_re.t, (t, int, t) => t, t) => t"},{"id":"Js.String.unsafeReplaceBy1","kind":"value","name":"unsafeReplaceBy1","docstrings":[],"signature":"let unsafeReplaceBy1: (Js_re.t, (t, t, int, t) => t, t) => t"},{"id":"Js.String.unsafeReplaceBy2","kind":"value","name":"unsafeReplaceBy2","docstrings":[],"signature":"let unsafeReplaceBy2: (Js_re.t, (t, t, t, int, t) => t, t) => t"},{"id":"Js.String.unsafeReplaceBy3","kind":"value","name":"unsafeReplaceBy3","docstrings":[],"signature":"let unsafeReplaceBy3: (Js_re.t, (t, t, t, t, int, t) => t, t) => t"},{"id":"Js.String.search","kind":"value","name":"search","docstrings":[],"signature":"let search: (Js_re.t, t) => int"},{"id":"Js.String.slice","kind":"value","name":"slice","docstrings":[],"signature":"let slice: (~from: int, ~to_: int, t) => t"},{"id":"Js.String.sliceToEnd","kind":"value","name":"sliceToEnd","docstrings":[],"signature":"let sliceToEnd: (~from: int, t) => t"},{"id":"Js.String.split","kind":"value","name":"split","docstrings":[],"signature":"let split: (t, t) => array"},{"id":"Js.String.splitAtMost","kind":"value","name":"splitAtMost","docstrings":[],"signature":"let splitAtMost: (t, ~limit: int, t) => array"},{"id":"Js.String.splitByRe","kind":"value","name":"splitByRe","docstrings":[],"signature":"let splitByRe: (Js_re.t, t) => array>"},{"id":"Js.String.splitByReAtMost","kind":"value","name":"splitByReAtMost","docstrings":[],"signature":"let splitByReAtMost: (Js_re.t, ~limit: int, t) => array>"},{"id":"Js.String.startsWith","kind":"value","name":"startsWith","docstrings":[],"signature":"let startsWith: (t, t) => bool"},{"id":"Js.String.startsWithFrom","kind":"value","name":"startsWithFrom","docstrings":[],"signature":"let startsWithFrom: (t, int, t) => bool"},{"id":"Js.String.substr","kind":"value","name":"substr","docstrings":[],"signature":"let substr: (~from: int, t) => t"},{"id":"Js.String.substrAtMost","kind":"value","name":"substrAtMost","docstrings":[],"signature":"let substrAtMost: (~from: int, ~length: int, t) => t"},{"id":"Js.String.substring","kind":"value","name":"substring","docstrings":[],"signature":"let substring: (~from: int, ~to_: int, t) => t"},{"id":"Js.String.substringToEnd","kind":"value","name":"substringToEnd","docstrings":[],"signature":"let substringToEnd: (~from: int, t) => t"},{"id":"Js.String.toLowerCase","kind":"value","name":"toLowerCase","docstrings":["`toLowerCase(str)` converts `str` to lower case using the locale-insensitive\ncase mappings in the Unicode Character Database. Notice that the conversion can\ngive different results depending upon context, for example with the Greek\nletter sigma, which has two different lower case forms; one when it is the last\ncharacter in a string and another when it is not.\n\nSee [`String.toLowerCase`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/toLowerCase)\non MDN.\n\n## Examples\n\n```rescript\nJs.String.toLowerCase(\"ABC\") == \"abc\"\nJs.String.toLowerCase(`ΣΠ`) == `σπ`\nJs.String.toLowerCase(`ΠΣ`) == `πς`\n```"],"signature":"let toLowerCase: t => t"},{"id":"Js.String.toLocaleLowerCase","kind":"value","name":"toLocaleLowerCase","docstrings":["`toLocaleLowerCase(str)` converts `str` to lower case using the current locale.\n\nSee [`String.toLocaleLowerCase`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/toLocaleLowerCase)\non MDN."],"signature":"let toLocaleLowerCase: t => t"},{"id":"Js.String.toUpperCase","kind":"value","name":"toUpperCase","docstrings":["`toUpperCase(str)` converts `str` to upper case using the locale-insensitive\ncase mappings in the Unicode Character Database. Notice that the conversion can\nexpand the number of letters in the result; for example the German ß\ncapitalizes to two Ses in a row.\n\nSee [`String.toUpperCase`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/toUpperCase)\non MDN.\n\n## Examples\n\n```rescript\nJs.String.toUpperCase(\"abc\") == \"ABC\"\nJs.String.toUpperCase(`Straße`) == `STRASSE`\nJs.String.toUpperCase(`πς`) == `ΠΣ`\n```"],"signature":"let toUpperCase: t => t"},{"id":"Js.String.toLocaleUpperCase","kind":"value","name":"toLocaleUpperCase","docstrings":["`toLocaleUpperCase(str)` converts `str` to upper case using the current locale.\n\nSee [`String.to:LocaleUpperCase`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/toLocaleUpperCase)\non MDN."],"signature":"let toLocaleUpperCase: t => t"},{"id":"Js.String.trim","kind":"value","name":"trim","docstrings":["`trim(str)` returns a string that is `str` with whitespace stripped from both\nends. Internal whitespace is not removed.\n\nSee [`String.trim`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/trim)\non MDN.\n\n## Examples\n\n```rescript\nJs.String.trim(\" abc def \") == \"abc def\"\nJs.String.trim(\"\\n\\r\\t abc def \\n\\n\\t\\r \") == \"abc def\"\n```"],"signature":"let trim: t => t"},{"id":"Js.String.anchor","kind":"value","name":"anchor","docstrings":[],"signature":"let anchor: (t, t) => t"},{"id":"Js.String.link","kind":"value","name":"link","docstrings":[],"signature":"let link: (t, t) => t"},{"id":"Js.String.castToArrayLike","kind":"value","name":"castToArrayLike","docstrings":["Casts its argument to an `array_like` entity that can be processed by functions\nsuch as `Js.Array2.fromMap()`\n\n## Examples\n\n```rescript\nlet s = \"abcde\"\nlet arr = Js.Array2.fromMap(Js.String.castToArrayLike(s), x => x)\narr == [\"a\", \"b\", \"c\", \"d\", \"e\"]\n```"],"signature":"let castToArrayLike: t => Js_array2.array_like"}]},"js/array2":{"id":"Js.Array2","name":"Array2","docstrings":["Provide bindings to JS array"],"items":[{"id":"Js.Array2.t","kind":"type","name":"t","docstrings":["The type used to describe a JavaScript array."],"signature":"type t<'a> = array<'a>"},{"id":"Js.Array2.array_like","kind":"type","name":"array_like","docstrings":["A type used to describe JavaScript objects that are like an array or are iterable."],"signature":"type array_like<'a>"},{"id":"Js.Array2.from","kind":"value","name":"from","docstrings":["Creates a shallow copy of an array from an array-like object. See\n[`Array.from`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/from)\non MDN.\n\n## Examples\n\n```rescript\nlet strArr = Js.String.castToArrayLike(\"abcd\")\nJs.Array2.from(strArr) == [\"a\", \"b\", \"c\", \"d\"]\n```"],"signature":"let from: array_like<'a> => array<'a>"},{"id":"Js.Array2.fromMap","kind":"value","name":"fromMap","docstrings":["Creates a new array by applying a function (the second argument) to each item\nin the `array_like` first argument. See\n[`Array.from`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/from)\non MDN.\n\n## Examples\n\n```rescript\nlet strArr = Js.String.castToArrayLike(\"abcd\")\nlet code = s => Js.String.charCodeAt(0, s)\nJs.Array2.fromMap(strArr, code) == [97.0, 98.0, 99.0, 100.0]\n```"],"signature":"let fromMap: (array_like<'a>, 'a => 'b) => array<'b>"},{"id":"Js.Array2.isArray","kind":"value","name":"isArray","docstrings":["Returns `true` if its argument is an array; `false` otherwise. This is a runtime check, which is why the second example returns `true`---a list is internally represented as a nested JavaScript array.\n\n## Examples\n\n```rescript\nJs.Array2.isArray([5, 2, 3, 1, 4]) == true\nJs.Array2.isArray(list{5, 2, 3, 1, 4}) == true\nJs.Array2.isArray(\"abcd\") == false\n```"],"signature":"let isArray: 'a => bool"},{"id":"Js.Array2.length","kind":"value","name":"length","docstrings":["Returns the number of elements in the array. See\n[`Array.length`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/length)\non MDN."],"signature":"let length: array<'a> => int"},{"id":"Js.Array2.copyWithin","kind":"value","name":"copyWithin","docstrings":["Copies from the first element in the given array to the designated `~to_`\nposition, returning the resulting array. *This function modifies the original\narray.* See\n[`Array.copyWithin`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/copyWithin)\non MDN.\n\n## Examples\n\n```rescript\nlet arr = [100, 101, 102, 103, 104]\nJs.Array2.copyWithin(arr, ~to_=2) == [100, 101, 100, 101, 102]\narr == [100, 101, 100, 101, 102]\n```"],"signature":"let copyWithin: (t<'a>, ~to_: int) => t<'a>"},{"id":"Js.Array2.copyWithinFrom","kind":"value","name":"copyWithinFrom","docstrings":["Copies starting at element `~from` in the given array to the designated `~to_`\nposition, returning the resulting array. *This function modifies the original\narray.* See\n[`Array.copyWithin`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/copyWithin)\non MDN.\n\n## Examples\n\n```rescript\nlet arr = [100, 101, 102, 103, 104]\nJs.Array2.copyWithinFrom(arr, ~from=2, ~to_=0) == [102, 103, 104, 103, 104]\narr == [102, 103, 104, 103, 104]\n```"],"signature":"let copyWithinFrom: (t<'a>, ~to_: int, ~from: int) => t<'a>"},{"id":"Js.Array2.copyWithinFromRange","kind":"value","name":"copyWithinFromRange","docstrings":["Copies starting at element `~start` in the given array up to but not including\n`~end_` to the designated `~to_` position, returning the resulting array. *This\nfunction modifies the original array.* See\n[`Array.copyWithin`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/copyWithin)\non MDN.\n\n## Examples\n\n```rescript\nlet arr = [100, 101, 102, 103, 104, 105]\nJs.Array2.copyWithinFromRange(arr, ~start=2, ~end_=5, ~to_=1) == [100, 102, 103, 104, 104, 105]\narr == [100, 102, 103, 104, 104, 105]\n```"],"signature":"let copyWithinFromRange: (t<'a>, ~to_: int, ~start: int, ~end_: int) => t<'a>"},{"id":"Js.Array2.fillInPlace","kind":"value","name":"fillInPlace","docstrings":["Sets all elements of the given array (the first arumgent) to the designated\nvalue (the secon argument), returning the resulting array. *This function\n modifies the original array.*\n\nSee\n[`Array.fill`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/fill)\non MDN.\n\n## Examples\n\n```rescript\nlet arr = [100, 101, 102, 103, 104]\nJs.Array2.fillInPlace(arr, 99) == [99, 99, 99, 99, 99]\narr == [99, 99, 99, 99, 99]\n```"],"signature":"let fillInPlace: (t<'a>, 'a) => t<'a>"},{"id":"Js.Array2.fillFromInPlace","kind":"value","name":"fillFromInPlace","docstrings":["Sets all elements of the given array (the first arumgent) from position `~from`\nto the end to the designated value (the second argument), returning the\nresulting array. *This function modifies the original array.* See\n[`Array.fill`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/fill)\non MDN.\n\n## Examples\n\n```rescript\nlet arr = [100, 101, 102, 103, 104]\nJs.Array2.fillFromInPlace(arr, 99, ~from=2) == [100, 101, 99, 99, 99]\narr == [100, 101, 99, 99, 99]\n```"],"signature":"let fillFromInPlace: (t<'a>, 'a, ~from: int) => t<'a>"},{"id":"Js.Array2.fillRangeInPlace","kind":"value","name":"fillRangeInPlace","docstrings":["Sets the elements of the given array (the first arumgent) from position\n`~start` up to but not including position `~end_` to the designated value (the\nsecond argument), returning the resulting array. *This function modifies the\noriginal array.* See\n[`Array.fill`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/fill)\non MDN.\n\n## Examples\n\n```rescript\nlet arr = [100, 101, 102, 103, 104]\nJs.Array2.fillRangeInPlace(arr, 99, ~start=1, ~end_=4) == [100, 99, 99, 99, 104]\narr == [100, 99, 99, 99, 104]\n```"],"signature":"let fillRangeInPlace: (t<'a>, 'a, ~start: int, ~end_: int) => t<'a>"},{"id":"Js.Array2.pop","kind":"value","name":"pop","docstrings":["If the array is not empty, removes the last element and returns it as\n`Some(value)`; returns `None` if the array is empty. *This function modifies\nthe original array.* See\n[`Array.pop`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/pop)\non MDN.\n\n## Examples\n\n```rescript\nlet arr = [100, 101, 102, 103, 104]\nJs.Array2.pop(arr) == Some(104)\narr == [100, 101, 102, 103]\n\nlet empty: array = []\nJs.Array2.pop(empty) == None\n```"],"signature":"let pop: t<'a> => option<'a>"},{"id":"Js.Array2.push","kind":"value","name":"push","docstrings":["Appends the given value to the array, returning the number of elements in the\nupdated array. *This function modifies the original array.* See\n[`Array.push`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/push)\non MDN.\n\n## Examples\n\n```rescript\nlet arr = [\"ant\", \"bee\", \"cat\"]\nJs.Array2.push(arr, \"dog\") == 4\narr == [\"ant\", \"bee\", \"cat\", \"dog\"]\n```"],"signature":"let push: (t<'a>, 'a) => int"},{"id":"Js.Array2.pushMany","kind":"value","name":"pushMany","docstrings":["Appends the values from one array (the second argument) to another (the first\nargument), returning the number of elements in the updated array. *This\nfunction modifies the original array.* See\n[`Array.push`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/push)\non MDN.\n\n## Examples\n\n```rescript\nlet arr = [\"ant\", \"bee\", \"cat\"]\nJs.Array2.pushMany(arr, [\"dog\", \"elk\"]) == 5\narr == [\"ant\", \"bee\", \"cat\", \"dog\", \"elk\"]\n```"],"signature":"let pushMany: (t<'a>, array<'a>) => int"},{"id":"Js.Array2.reverseInPlace","kind":"value","name":"reverseInPlace","docstrings":["Returns an array with the elements of the input array in reverse order. *This\nfunction modifies the original array.* See\n[`Array.reverse`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reverse)\non MDN.\n\n## Examples\n\n```rescript\nlet arr = [\"ant\", \"bee\", \"cat\"]\nJs.Array2.reverseInPlace(arr) == [\"cat\", \"bee\", \"ant\"]\narr == [\"cat\", \"bee\", \"ant\"]\n```"],"signature":"let reverseInPlace: t<'a> => t<'a>"},{"id":"Js.Array2.shift","kind":"value","name":"shift","docstrings":["If the array is not empty, removes the first element and returns it as\n`Some(value)`; returns `None` if the array is empty. *This function modifies\nthe original array.* See\n[`Array.shift`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/shift)\non MDN.\n\n## Examples\n\n```rescript\nlet arr = [100, 101, 102, 103, 104]\nJs.Array2.shift(arr) == Some(100)\narr == [101, 102, 103, 104]\n\nlet empty: array = []\nJs.Array2.shift(empty) == None\n```"],"signature":"let shift: t<'a> => option<'a>"},{"id":"Js.Array2.sortInPlace","kind":"value","name":"sortInPlace","docstrings":["Sorts the given array in place and returns the sorted array. JavaScript sorts\nthe array by converting the arguments to UTF-16 strings and sorting them. See\nthe second example with sorting numbers, which does not do a numeric sort.\n*This function modifies the original array.* See\n[`Array.sort`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort)\non MDN.\n\n## Examples\n\n```rescript\nlet words = [\"bee\", \"dog\", \"ant\", \"cat\"]\nJs.Array2.sortInPlace(words) == [\"ant\", \"bee\", \"cat\", \"dog\"]\nwords == [\"ant\", \"bee\", \"cat\", \"dog\"]\n\nlet numbers = [3, 30, 10, 1, 20, 2]\nJs.Array2.sortInPlace(numbers) == [1, 10, 2, 20, 3, 30]\nnumbers == [1, 10, 2, 20, 3, 30]\n```"],"signature":"let sortInPlace: t<'a> => t<'a>"},{"id":"Js.Array2.sortInPlaceWith","kind":"value","name":"sortInPlaceWith","docstrings":["Sorts the given array in place and returns the sorted array. *This function\n modifies the original array.*\n\nThe first argument to `sortInPlaceWith()` is a function that compares two items\nfrom the array and returns:\n\n* an integer less than zero if the first item is less than the second item *\nzero if the items are equal * an integer greater than zero if the first item is\ngreater than the second item\n\nSee\n[`Array.sort`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort)\non MDN.\n\n## Examples\n\n```rescript\n// sort by word length\nlet words = [\"horse\", \"aardvark\", \"dog\", \"camel\"]\nlet byLength = (s1, s2) => Js.String.length(s1) - Js.String.length(s2)\n\nJs.Array2.sortInPlaceWith(words, byLength) == [\"dog\", \"horse\", \"camel\", \"aardvark\"]\n\n// sort in reverse numeric order\nlet numbers = [3, 30, 10, 1, 20, 2]\nlet reverseNumeric = (n1, n2) => n2 - n1\nJs.Array2.sortInPlaceWith(numbers, reverseNumeric) == [30, 20, 10, 3, 2, 1]\n```"],"signature":"let sortInPlaceWith: (t<'a>, ('a, 'a) => int) => t<'a>"},{"id":"Js.Array2.spliceInPlace","kind":"value","name":"spliceInPlace","docstrings":["Starting at position `~pos`, remove `~remove` elements and then add the\nelements from the `~add` array. Returns an array consisting of the removed\nitems. *This function modifies the original array.* See\n[`Array.splice`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/splice)\non MDN.\n\n## Examples\n\n```rescript\nlet arr = [\"a\", \"b\", \"c\", \"d\", \"e\", \"f\"]\nJs.Array2.spliceInPlace(arr, ~pos=2, ~remove=2, ~add=[\"x\", \"y\", \"z\"]) == [\"c\", \"d\"]\narr == [\"a\", \"b\", \"x\", \"y\", \"z\", \"e\", \"f\"]\n\nlet arr2 = [\"a\", \"b\", \"c\", \"d\"]\nJs.Array2.spliceInPlace(arr2, ~pos=3, ~remove=0, ~add=[\"x\", \"y\"]) == []\narr2 == [\"a\", \"b\", \"c\", \"x\", \"y\", \"d\"]\n\nlet arr3 = [\"a\", \"b\", \"c\", \"d\", \"e\", \"f\"]\nJs.Array2.spliceInPlace(arr3, ~pos=9, ~remove=2, ~add=[\"x\", \"y\", \"z\"]) == []\narr3 == [\"a\", \"b\", \"c\", \"d\", \"e\", \"f\", \"x\", \"y\", \"z\"]\n```"],"signature":"let spliceInPlace: (t<'a>, ~pos: int, ~remove: int, ~add: array<'a>) => t<'a>"},{"id":"Js.Array2.removeFromInPlace","kind":"value","name":"removeFromInPlace","docstrings":["Removes elements from the given array starting at position `~pos` to the end of\nthe array, returning the removed elements. *This function modifies the original\narray.* See\n[`Array.splice`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/splice)\non MDN.\n\n## Examples\n\n```rescript\nlet arr = [\"a\", \"b\", \"c\", \"d\", \"e\", \"f\"]\nJs.Array2.removeFromInPlace(arr, ~pos=4) == [\"e\", \"f\"]\narr == [\"a\", \"b\", \"c\", \"d\"]\n```"],"signature":"let removeFromInPlace: (t<'a>, ~pos: int) => t<'a>"},{"id":"Js.Array2.removeCountInPlace","kind":"value","name":"removeCountInPlace","docstrings":["Removes `~count` elements from the given array starting at position `~pos`,\nreturning the removed elements. *This function modifies the original array.*\nSee\n[`Array.splice`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/splice)\non MDN.\n\n## Examples\n\n```rescript\nlet arr = [\"a\", \"b\", \"c\", \"d\", \"e\", \"f\"]\nJs.Array2.removeCountInPlace(arr, ~pos=2, ~count=3) == [\"c\", \"d\", \"e\"]\narr == [\"a\", \"b\", \"f\"]\n```"],"signature":"let removeCountInPlace: (t<'a>, ~pos: int, ~count: int) => t<'a>"},{"id":"Js.Array2.unshift","kind":"value","name":"unshift","docstrings":["Adds the given element to the array, returning the new number of elements in\nthe array. *This function modifies the original array.* See\n[`Array.unshift`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/unshift)\non MDN.\n\n## Examples\n\n```rescript\nlet arr = [\"b\", \"c\", \"d\"]\nJs.Array2.unshift(arr, \"a\") == 4\narr == [\"a\", \"b\", \"c\", \"d\"]\n```"],"signature":"let unshift: (t<'a>, 'a) => int"},{"id":"Js.Array2.unshiftMany","kind":"value","name":"unshiftMany","docstrings":["Adds the elements in the second array argument at the beginning of the first\narray argument, returning the new number of elements in the array. *This\nfunction modifies the original array.* See\n[`Array.unshift`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/unshift)\non MDN.\n\n## Examples\n\n```rescript\nlet arr = [\"d\", \"e\"]\nJs.Array2.unshiftMany(arr, [\"a\", \"b\", \"c\"]) == 5\narr == [\"a\", \"b\", \"c\", \"d\", \"e\"]\n```"],"signature":"let unshiftMany: (t<'a>, array<'a>) => int"},{"id":"Js.Array2.append","kind":"value","name":"append","docstrings":[],"signature":"let append: (t<'a>, 'a) => t<'a>"},{"id":"Js.Array2.concat","kind":"value","name":"concat","docstrings":["Concatenates the second array argument to the first array argument, returning a\nnew array. The original arrays are not modified. See\n[`Array.concat`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/concat)\non MDN.\n\n## Examples\n\n```rescript\nJs.Array2.concat([\"a\", \"b\"], [\"c\", \"d\", \"e\"]) == [\"a\", \"b\", \"c\", \"d\", \"e\"]\n```"],"signature":"let concat: (t<'a>, t<'a>) => t<'a>"},{"id":"Js.Array2.concatMany","kind":"value","name":"concatMany","docstrings":["The second argument to `concatMany()` is an array of arrays; these are added at\nthe end of the first argument, returning a new array. See\n[`Array.concat`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/concat)\non MDN.\n\n## Examples\n\n```rescript\nJs.Array2.concatMany([\"a\", \"b\", \"c\"], [[\"d\", \"e\"], [\"f\", \"g\", \"h\"]]) == [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\",\n \"f\",\n \"g\",\n \"h\",\n ]\n```"],"signature":"let concatMany: (t<'a>, array>) => t<'a>"},{"id":"Js.Array2.includes","kind":"value","name":"includes","docstrings":["Returns true if the given value is in the array, `false` otherwise. See\n[`Array.includes`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/includes)\non MDN.\n\n## Examples\n\n```rescript\nJs.Array2.includes([\"a\", \"b\", \"c\"], \"b\") == true\nJs.Array2.includes([\"a\", \"b\", \"c\"], \"x\") == false\n```"],"signature":"let includes: (t<'a>, 'a) => bool"},{"id":"Js.Array2.indexOf","kind":"value","name":"indexOf","docstrings":["Returns the index of the first element in the array that has the given value.\nIf the value is not in the array, returns -1. See\n[`Array.indexOf`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf)\non MDN.\n\n## Examples\n\n```rescript\nJs.Array2.indexOf([100, 101, 102, 103], 102) == 2\nJs.Array2.indexOf([100, 101, 102, 103], 999) == -1\n```"],"signature":"let indexOf: (t<'a>, 'a) => int"},{"id":"Js.Array2.indexOfFrom","kind":"value","name":"indexOfFrom","docstrings":["Returns the index of the first element in the array with the given value. The\nsearch starts at position `~from`. See\n[`Array.indexOf`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf)\non MDN.\n\n## Examples\n\n```rescript\nJs.Array2.indexOfFrom([\"a\", \"b\", \"a\", \"c\", \"a\"], \"a\", ~from=2) == 2\nJs.Array2.indexOfFrom([\"a\", \"b\", \"a\", \"c\", \"a\"], \"a\", ~from=3) == 4\nJs.Array2.indexOfFrom([\"a\", \"b\", \"a\", \"c\", \"a\"], \"b\", ~from=2) == -1\n```"],"signature":"let indexOfFrom: (t<'a>, 'a, ~from: int) => int"},{"id":"Js.Array2.joinWith","kind":"value","name":"joinWith","docstrings":["This function converts each element of the array to a string (via JavaScript)\nand concatenates them, separated by the string given in the first argument,\ninto a single string. See\n[`Array.join`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/join)\non MDN.\n\n## Examples\n\n```rescript\nJs.Array2.joinWith([\"ant\", \"bee\", \"cat\"], \"--\") == \"ant--bee--cat\"\nJs.Array2.joinWith([\"door\", \"bell\"], \"\") == \"doorbell\"\nJs.Array2.joinWith([2020, 9, 4], \"/\") == \"2020/9/4\"\nJs.Array2.joinWith([2.5, 3.6, 3e-2], \";\") == \"2.5;3.6;0.03\"\n```"],"signature":"let joinWith: (t<'a>, string) => string"},{"id":"Js.Array2.lastIndexOf","kind":"value","name":"lastIndexOf","docstrings":["Returns the index of the last element in the array that has the given value. If\nthe value is not in the array, returns -1. See\n[`Array.lastIndexOf`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/lastIndexOf)\non MDN.\n\n## Examples\n\n```rescript\nJs.Array2.lastIndexOf([\"a\", \"b\", \"a\", \"c\"], \"a\") == 2\nJs.Array2.lastIndexOf([\"a\", \"b\", \"a\", \"c\"], \"x\") == -1\n```"],"signature":"let lastIndexOf: (t<'a>, 'a) => int"},{"id":"Js.Array2.lastIndexOfFrom","kind":"value","name":"lastIndexOfFrom","docstrings":["Returns the index of the last element in the array that has the given value,\nsearching from position `~from` down to the start of the array. If the value is\nnot in the array, returns -1. See\n[`Array.lastIndexOf`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/lastIndexOf)\non MDN.\n\n## Examples\n\n```rescript\nJs.Array2.lastIndexOfFrom([\"a\", \"b\", \"a\", \"c\", \"a\", \"d\"], \"a\", ~from=3) == 2\nJs.Array2.lastIndexOfFrom([\"a\", \"b\", \"a\", \"c\", \"a\", \"d\"], \"c\", ~from=2) == -1\n```"],"signature":"let lastIndexOfFrom: (t<'a>, 'a, ~from: int) => int"},{"id":"Js.Array2.slice","kind":"value","name":"slice","docstrings":["Returns a shallow copy of the given array from the `~start` index up to but not\nincluding the `~end_` position. Negative numbers indicate an offset from the\nend of the array. See\n[`Array.slice`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/slice)\non MDN.\n\n## Examples\n\n```rescript\nlet arr = [100, 101, 102, 103, 104, 105, 106]\nJs.Array2.slice(arr, ~start=2, ~end_=5) == [102, 103, 104]\nJs.Array2.slice(arr, ~start=-3, ~end_=-1) == [104, 105]\nJs.Array2.slice(arr, ~start=9, ~end_=10) == []\n```"],"signature":"let slice: (t<'a>, ~start: int, ~end_: int) => t<'a>"},{"id":"Js.Array2.copy","kind":"value","name":"copy","docstrings":["Returns a copy of the entire array. Same as `Js.Array2.Slice(arr, ~start=0,\n~end_=Js.Array2.length(arr))`. See\n[`Array.slice`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/slice)\non MDN."],"signature":"let copy: t<'a> => t<'a>"},{"id":"Js.Array2.sliceFrom","kind":"value","name":"sliceFrom","docstrings":["Returns a shallow copy of the given array from the given index to the end. See\n[`Array.slice`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/slice)\non MDN."],"signature":"let sliceFrom: (t<'a>, int) => t<'a>"},{"id":"Js.Array2.toString","kind":"value","name":"toString","docstrings":["Converts the array to a string. Each element is converted to a string using\nJavaScript. Unlike the JavaScript `Array.toString()`, all elements in a\nReasonML array must have the same type. See\n[`Array.toString`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/toString)\non MDN.\n\n## Examples\n\n```rescript\nJs.Array2.toString([3.5, 4.6, 7.8]) == \"3.5,4.6,7.8\"\nJs.Array2.toString([\"a\", \"b\", \"c\"]) == \"a,b,c\"\n```"],"signature":"let toString: t<'a> => string"},{"id":"Js.Array2.toLocaleString","kind":"value","name":"toLocaleString","docstrings":["Converts the array to a string using the conventions of the current locale.\nEach element is converted to a string using JavaScript. Unlike the JavaScript\n`Array.toLocaleString()`, all elements in a ReasonML array must have the same\ntype. See\n[`Array.toLocaleString`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/toLocaleString)\non MDN.\n\n## Examples\n\n```rescript\nJs.Array2.toLocaleString([Js.Date.make()])\n// returns \"3/19/2020, 10:52:11 AM\" for locale en_US.utf8\n// returns \"2020-3-19 10:52:11\" for locale de_DE.utf8\n```"],"signature":"let toLocaleString: t<'a> => string"},{"id":"Js.Array2.every","kind":"value","name":"every","docstrings":["The first argument to `every()` is an array. The second argument is a predicate\nfunction that returns a boolean. The `every()` function returns `true` if the\npredicate function is true for all items in the given array. If given an empty\narray, returns `true`. See\n[`Array.every`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/every)\non MDN.\n\n## Examples\n\n```rescript\nlet isEven = x => mod(x, 2) == 0\nJs.Array2.every([6, 22, 8, 4], isEven) == true\nJs.Array2.every([6, 22, 7, 4], isEven) == false\n```"],"signature":"let every: (t<'a>, 'a => bool) => bool"},{"id":"Js.Array2.everyi","kind":"value","name":"everyi","docstrings":["The first argument to `everyi()` is an array. The second argument is a\npredicate function with two arguments: an array element and that element’s\nindex; it returns a boolean. The `everyi()` function returns `true` if the\npredicate function is true for all items in the given array. If given an empty\narray, returns `true`. See\n[`Array.every`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/every)\non MDN.\n\n## Examples\n\n```rescript\n// determine if all even-index items are positive\nlet evenIndexPositive = (item, index) => mod(index, 2) == 0 ? item > 0 : true\n\nJs.Array2.everyi([6, -3, 5, 8], evenIndexPositive) == true\nJs.Array2.everyi([6, 3, -5, 8], evenIndexPositive) == false\n```"],"signature":"let everyi: (t<'a>, ('a, int) => bool) => bool"},{"id":"Js.Array2.filter","kind":"value","name":"filter","docstrings":["Applies the given predicate function (the second argument) to each element in\nthe array; the result is an array of those elements for which the predicate\nfunction returned `true`. See\n[`Array.filter`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter)\non MDN.\n\n## Examples\n\n```rescript\nlet nonEmpty = s => s != \"\"\nJs.Array2.filter([\"abc\", \"\", \"\", \"def\", \"ghi\"], nonEmpty) == [\"abc\", \"def\", \"ghi\"]\n```"],"signature":"let filter: (t<'a>, 'a => bool) => t<'a>"},{"id":"Js.Array2.filteri","kind":"value","name":"filteri","docstrings":["Each element of the given array are passed to the predicate function. The\nreturn value is an array of all those elements for which the predicate function\nreturned `true`.\n\nSee\n[`Array.filter`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter)\non MDN.\n\n## Examples\n\n```rescript\n// keep only positive elements at odd indices\nlet positiveOddElement = (item, index) => mod(index, 2) == 1 && item > 0\n\nJs.Array2.filteri([6, 3, 5, 8, 7, -4, 1], positiveOddElement) == [3, 8]\n```"],"signature":"let filteri: (t<'a>, ('a, int) => bool) => t<'a>"},{"id":"Js.Array2.find","kind":"value","name":"find","docstrings":["Returns `Some(value)` for the first element in the array that satisifies the\ngiven predicate function, or `None` if no element satisifies the predicate. See\n[`Array.find`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/find)\non MDN.\n\n## Examples\n\n```rescript\n// find first negative element\nJs.Array2.find([33, 22, -55, 77, -44], x => x < 0) == Some(-55)\nJs.Array2.find([33, 22, 55, 77, 44], x => x < 0) == None\n```"],"signature":"let find: (t<'a>, 'a => bool) => option<'a>"},{"id":"Js.Array2.findi","kind":"value","name":"findi","docstrings":["Returns `Some(value)` for the first element in the array that satisifies the\ngiven predicate function, or `None` if no element satisifies the predicate. The\npredicate function takes an array element and an index as its parameters. See\n[`Array.find`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/find)\non MDN.\n\n## Examples\n\n```rescript\n// find first positive item at an odd index\nlet positiveOddElement = (item, index) => mod(index, 2) == 1 && item > 0\n\nJs.Array2.findi([66, -33, 55, 88, 22], positiveOddElement) == Some(88)\nJs.Array2.findi([66, -33, 55, -88, 22], positiveOddElement) == None\n```"],"signature":"let findi: (t<'a>, ('a, int) => bool) => option<'a>"},{"id":"Js.Array2.findIndex","kind":"value","name":"findIndex","docstrings":["Returns the index of the first element in the array that satisifies the given\npredicate function, or -1 if no element satisifies the predicate. See\n[`Array.find`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/find)\non MDN.\n\n## Examples\n\n```rescript\nJs.Array2.findIndex([33, 22, -55, 77, -44], x => x < 0) == 2\nJs.Array2.findIndex([33, 22, 55, 77, 44], x => x < 0) == -1\n```"],"signature":"let findIndex: (t<'a>, 'a => bool) => int"},{"id":"Js.Array2.findIndexi","kind":"value","name":"findIndexi","docstrings":["Returns `Some(value)` for the first element in the array that satisifies the\ngiven predicate function, or `None` if no element satisifies the predicate. The\npredicate function takes an array element and an index as its parameters. See\n[`Array.find`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/find)\non MDN.\n\n## Examples\n\n```rescript\n// find index of first positive item at an odd index\nlet positiveOddElement = (item, index) => mod(index, 2) == 1 && item > 0\n\nJs.Array2.findIndexi([66, -33, 55, 88, 22], positiveOddElement) == 3\nJs.Array2.findIndexi([66, -33, 55, -88, 22], positiveOddElement) == -1\n```"],"signature":"let findIndexi: (t<'a>, ('a, int) => bool) => int"},{"id":"Js.Array2.forEach","kind":"value","name":"forEach","docstrings":["The `forEach()` function applies the function given as the second argument to\neach element in the array. The function you provide returns `unit`, and the\n`forEach()` function also returns `unit`. You use `forEach()` when you need to\nprocess each element in the array but not return any new array or value; for\nexample, to print the items in an array. See\n[`Array.forEach`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach)\non MDN.\n\n## Examples\n\n```rescript\n// display all elements in an array\nJs.Array2.forEach([\"a\", \"b\", \"c\"], x => Js.log(x)) == ()\n```"],"signature":"let forEach: (t<'a>, 'a => unit) => unit"},{"id":"Js.Array2.forEachi","kind":"value","name":"forEachi","docstrings":["The `forEachi()` function applies the function given as the second argument to\neach element in the array. The function you provide takes an item in the array\nand its index number, and returns `unit`. The `forEachi()` function also\nreturns `unit`. You use `forEachi()` when you need to process each element in\nthe array but not return any new array or value; for example, to print the\nitems in an array. See\n[`Array.forEach`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach)\non MDN.\n\n## Examples\n\n```rescript\n// display all elements in an array as a numbered list\nJs.Array2.forEachi([\"a\", \"b\", \"c\"], (item, index) => Js.log2(index + 1, item)) == ()\n```"],"signature":"let forEachi: (t<'a>, ('a, int) => unit) => unit"},{"id":"Js.Array2.map","kind":"value","name":"map","docstrings":["Applies the function (the second argument) to each item in the array, returning\na new array. The result array does not have to have elements of the same type\nas the input array. See\n[`Array.map`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map)\non MDN.\n\n## Examples\n\n```rescript\nJs.Array2.map([12, 4, 8], x => x * x) == [144, 16, 64]\nJs.Array2.map([\"animal\", \"vegetable\", \"mineral\"], Js.String.length) == [6, 9, 7]\n```"],"signature":"let map: (t<'a>, 'a => 'b) => t<'b>"},{"id":"Js.Array2.mapi","kind":"value","name":"mapi","docstrings":["Applies the function (the second argument) to each item in the array, returning\na new array. The function acceps two arguments: an item from the array and its\nindex number. The result array does not have to have elements of the same type\nas the input array. See\n[`Array.map`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map)\non MDN.\n\n## Examples\n\n```rescript\n// multiply each item in array by its position\nlet product = (item, index) => item * index\nJs.Array2.mapi([10, 11, 12], product) == [0, 11, 24]\n```"],"signature":"let mapi: (t<'a>, ('a, int) => 'b) => t<'b>"},{"id":"Js.Array2.reduce","kind":"value","name":"reduce","docstrings":["The `reduce()` function takes three parameters: an array, a *reducer function*,\nand a beginning accumulator value. The reducer function has two parameters: an\naccumulated value and an element of the array.\n\n`reduce()` first calls the reducer function with the beginning value and the\nfirst element in the array. The result becomes the new accumulator value, which\nis passed in to the reducer function along with the second element in the\narray. `reduce()` proceeds through the array, passing in the result of each\nstage as the accumulator to the reducer function.\n\nWhen all array elements are processed, the final value of the accumulator\nbecomes the return value of `reduce()`. See\n[`Array.reduce`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce)\non MDN.\n\n## Examples\n\n```rescript\nlet sumOfSquares = (accumulator, item) => accumulator + item * item\n\nJs.Array2.reduce([10, 2, 4], sumOfSquares, 0) == 120\nJs.Array2.reduce([10, 2, 4], \"*\", 1) == 80\nJs.Array2.reduce(\n [\"animal\", \"vegetable\", \"mineral\"],\n (acc, item) => acc + Js.String.length(item),\n 0,\n) == 22 // 6 + 9 + 7\nJs.Array2.reduce([2.0, 4.0], (acc, item) => item /. acc, 1.0) == 2.0 // 4.0 / (2.0 / 1.0)\n```"],"signature":"let reduce: (t<'a>, ('b, 'a) => 'b, 'b) => 'b"},{"id":"Js.Array2.reducei","kind":"value","name":"reducei","docstrings":["The `reducei()` function takes three parameters: an array, a *reducer\nfunction*, and a beginning accumulator value. The reducer function has three\nparameters: an accumulated value, an element of the array, and the index of\nthat element.\n\n`reducei()` first calls the reducer function with the beginning value, the\nfirst element in the array, and zero (its index). The result becomes the new\naccumulator value, which is passed to the reducer function along with the\nsecond element in the array and one (its index). `reducei()` proceeds from left\nto right through the array, passing in the result of each stage as the\naccumulator to the reducer function.\n\nWhen all array elements are processed, the final value of the accumulator\nbecomes the return value of `reducei()`. See\n[`Array.reduce`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce)\non MDN.\n\n## Examples\n\n```rescript\n// find sum of even-index elements in array\nlet sumOfEvens = (accumulator, item, index) =>\n if mod(index, 2) == 0 {\n accumulator + item\n } else {\n accumulator\n }\n\nJs.Array2.reducei([2, 5, 1, 4, 3], sumOfEvens, 0) == 6\n```"],"signature":"let reducei: (t<'a>, ('b, 'a, int) => 'b, 'b) => 'b"},{"id":"Js.Array2.reduceRight","kind":"value","name":"reduceRight","docstrings":["The `reduceRight()` function takes three parameters: an array, a *reducer\nfunction*, and a beginning accumulator value. The reducer function has two\nparameters: an accumulated value and an element of the array.\n\n`reduceRight()` first calls the reducer function with the beginning value and\nthe last element in the array. The result becomes the new accumulator value,\nwhich is passed in to the reducer function along with the next-to-last element\nin the array. `reduceRight()` proceeds from right to left through the array,\npassing in the result of each stage as the accumulator to the reducer function.\n\nWhen all array elements are processed, the final value of the accumulator\nbecomes the return value of `reduceRight()`. See\n[`Array.reduceRight`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduceRight)\non MDN.\n\n**NOTE:** In many cases, `reduce()` and `reduceRight()` give the same result.\nHowever, see the last example here and compare it to the example from\n`reduce()`, where order makes a difference.\n\n## Examples\n\n```rescript\nlet sumOfSquares = (accumulator, item) => accumulator + item * item\n\nJs.Array2.reduceRight([10, 2, 4], sumOfSquares, 0) == 120\nJs.Array2.reduceRight([2.0, 4.0], (acc, item) => item /. acc, 1.0) == 0.5 // 2.0 / (4.0 / 1.0)\n```"],"signature":"let reduceRight: (t<'a>, ('b, 'a) => 'b, 'b) => 'b"},{"id":"Js.Array2.reduceRighti","kind":"value","name":"reduceRighti","docstrings":["The `reduceRighti()` function takes three parameters: an array, a *reducer\nfunction*, and a beginning accumulator value. The reducer function has three\nparameters: an accumulated value, an element of the array, and the index of\nthat element. `reduceRighti()` first calls the reducer function with the\nbeginning value, the last element in the array, and its index (length of array\nminus one). The result becomes the new accumulator value, which is passed in to\nthe reducer function along with the second element in the array and one (its\nindex). `reduceRighti()` proceeds from right to left through the array, passing\nin the result of each stage as the accumulator to the reducer function.\n\nWhen all array elements are processed, the final value of the accumulator\nbecomes the return value of `reduceRighti()`. See\n[`Array.reduceRight`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduceRight)\non MDN.\n\n**NOTE:** In many cases, `reducei()` and `reduceRighti()` give the same result.\nHowever, there are cases where the order in which items are processed makes a\ndifference.\n\n## Examples\n\n```rescript\n// find sum of even-index elements in array\nlet sumOfEvens = (accumulator, item, index) =>\n if mod(index, 2) == 0 {\n accumulator + item\n } else {\n accumulator\n }\n\nJs.Array2.reduceRighti([2, 5, 1, 4, 3], sumOfEvens, 0) == 6\n```"],"signature":"let reduceRighti: (t<'a>, ('b, 'a, int) => 'b, 'b) => 'b"},{"id":"Js.Array2.some","kind":"value","name":"some","docstrings":["Returns `true` if the predicate function given as the second argument to\n`some()` returns `true` for any element in the array; `false` otherwise.\n\n## Examples\n\n```rescript\nlet isEven = x => mod(x, 2) == 0\n\nJs.Array2.some([3, 7, 5, 2, 9], isEven) == true\nJs.Array2.some([3, 7, 5, 1, 9], isEven) == false\n```"],"signature":"let some: (t<'a>, 'a => bool) => bool"},{"id":"Js.Array2.somei","kind":"value","name":"somei","docstrings":["Returns `true` if the predicate function given as the second argument to\n`somei()` returns `true` for any element in the array; `false` otherwise. The\npredicate function has two arguments: an item from the array and the index\nvalue\n\n## Examples\n\n```rescript\n// Does any string in the array\n// have the same length as its index?\n\nlet sameLength = (str, index) => Js.String.length(str) == index\n\n// \"ef\" has length 2 and is it at index 2\nJs.Array2.somei([\"ab\", \"cd\", \"ef\", \"gh\"], sameLength) == true\n// no item has the same length as its index\nJs.Array2.somei([\"a\", \"bc\", \"def\", \"gh\"], sameLength) == false\n```"],"signature":"let somei: (t<'a>, ('a, int) => bool) => bool"},{"id":"Js.Array2.unsafe_get","kind":"value","name":"unsafe_get","docstrings":["Returns the value at the given position in the array if the position is in\nbounds; returns the JavaScript value `undefined` otherwise.\n\n## Examples\n\n```rescript\nlet arr = [100, 101, 102, 103]\nJs.Array2.unsafe_get(arr, 3) == 103\nJs.Array2.unsafe_get(arr, 4) // returns undefined\n```"],"signature":"let unsafe_get: (array<'a>, int) => 'a"},{"id":"Js.Array2.unsafe_set","kind":"value","name":"unsafe_set","docstrings":["Sets the value at the given position in the array if the position is in bounds.\nIf the index is out of bounds, well, “here there be dragons.“\n\n*This function modifies the original array.*\n\n## Examples\n\n```rescript\nlet arr = [100, 101, 102, 103]\nJs.Array2.unsafe_set(arr, 3, 99)\n// result is [100, 101, 102, 99];\n\nJs.Array2.unsafe_set(arr, 4, 88)\n// result is [100, 101, 102, 99, 88]\n\nJs.Array2.unsafe_set(arr, 6, 77)\n// result is [100, 101, 102, 99, 88, <1 empty item>, 77]\n\nJs.Array2.unsafe_set(arr, -1, 66)\n// you don't want to know.\n```"],"signature":"let unsafe_set: (array<'a>, int, 'a) => unit"}]},"js/array":{"id":"Js.Array","name":"Array","docstrings":["Provide bindings to JS array"],"items":[{"id":"Js.Array.t","kind":"type","name":"t","docstrings":["The type used to describe a JavaScript array."],"signature":"type t<'a> = array<'a>"},{"id":"Js.Array.array_like","kind":"type","name":"array_like","docstrings":["A type used to describe JavaScript objects that are like an array or are iterable."],"signature":"type array_like<'a> = Js_array2.array_like<'a>"},{"id":"Js.Array.from","kind":"value","name":"from","docstrings":["Creates a shallow copy of an array from an array-like object. See [`Array.from`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/from) on MDN.\n\n## Examples\n\n```rescript\nlet strArr = Js.String.castToArrayLike(\"abcd\")\nJs.Array.from(strArr) == [\"a\", \"b\", \"c\", \"d\"]\n```"],"signature":"let from: array_like<'a> => array<'a>"},{"id":"Js.Array.fromMap","kind":"value","name":"fromMap","docstrings":["Creates a new array by applying a function (the second argument) to each item\nin the `array_like` first argument. See\n[`Array.from`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/from)\non MDN.\n\n## Examples\n\n```rescript\nlet strArr = Js.String.castToArrayLike(\"abcd\")\nlet code = s => Js.String.charCodeAt(0, s)\nJs.Array.fromMap(strArr, code) == [97.0, 98.0, 99.0, 100.0]\n```"],"signature":"let fromMap: (array_like<'a>, 'a => 'b) => array<'b>"},{"id":"Js.Array.isArray","kind":"value","name":"isArray","docstrings":[],"signature":"let isArray: 'a => bool"},{"id":"Js.Array.length","kind":"value","name":"length","docstrings":["Returns the number of elements in the array. See [`Array.length`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/length) on MDN."],"signature":"let length: array<'a> => int"},{"id":"Js.Array.copyWithin","kind":"value","name":"copyWithin","docstrings":[],"signature":"let copyWithin: (~to_: int, t<'a>) => t<'a>"},{"id":"Js.Array.copyWithinFrom","kind":"value","name":"copyWithinFrom","docstrings":[],"signature":"let copyWithinFrom: (~to_: int, ~from: int, t<'a>) => t<'a>"},{"id":"Js.Array.copyWithinFromRange","kind":"value","name":"copyWithinFromRange","docstrings":[],"signature":"let copyWithinFromRange: (~to_: int, ~start: int, ~end_: int, t<'a>) => t<'a>"},{"id":"Js.Array.fillInPlace","kind":"value","name":"fillInPlace","docstrings":[],"signature":"let fillInPlace: ('a, t<'a>) => t<'a>"},{"id":"Js.Array.fillFromInPlace","kind":"value","name":"fillFromInPlace","docstrings":[],"signature":"let fillFromInPlace: ('a, ~from: int, t<'a>) => t<'a>"},{"id":"Js.Array.fillRangeInPlace","kind":"value","name":"fillRangeInPlace","docstrings":[],"signature":"let fillRangeInPlace: ('a, ~start: int, ~end_: int, t<'a>) => t<'a>"},{"id":"Js.Array.pop","kind":"value","name":"pop","docstrings":["If the array is not empty, removes the last element and returns it as `Some(value)`; returns `None` if the array is empty. *This function modifies the original array.* See [`Array.pop`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/pop) on MDN.\n\n## Examples\n\n```rescript\nlet arr = [100, 101, 102, 103, 104]\nJs.Array.pop(arr) == Some(104)\narr == [100, 101, 102, 103]\n\nlet empty: array = []\nJs.Array.pop(empty) == None\n```"],"signature":"let pop: t<'a> => option<'a>"},{"id":"Js.Array.push","kind":"value","name":"push","docstrings":[],"signature":"let push: ('a, t<'a>) => int"},{"id":"Js.Array.pushMany","kind":"value","name":"pushMany","docstrings":[],"signature":"let pushMany: (array<'a>, t<'a>) => int"},{"id":"Js.Array.reverseInPlace","kind":"value","name":"reverseInPlace","docstrings":["Returns an array with the elements of the input array in reverse order. *This function modifies the original array.* See [`Array.reverse`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reverse) on MDN.\n\n## Examples\n\n```rescript\nlet arr = [\"ant\", \"bee\", \"cat\"]\nJs.Array.reverseInPlace(arr) == [\"cat\", \"bee\", \"ant\"]\narr == [\"cat\", \"bee\", \"ant\"]\n```"],"signature":"let reverseInPlace: t<'a> => t<'a>"},{"id":"Js.Array.shift","kind":"value","name":"shift","docstrings":["If the array is not empty, removes the first element and returns it as `Some(value)`; returns `None` if the array is empty. *This function modifies the original array.* See [`Array.shift`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/shift) on MDN.\n\n## Examples\n\n```rescript\nlet arr = [100, 101, 102, 103, 104]\nJs.Array.shift(arr) == Some(100)\narr == [101, 102, 103, 104]\n\nlet empty: array = []\nJs.Array.shift(empty) == None\n```"],"signature":"let shift: t<'a> => option<'a>"},{"id":"Js.Array.sortInPlace","kind":"value","name":"sortInPlace","docstrings":["Sorts the given array in place and returns the sorted array. JavaScript sorts the array by converting the arguments to UTF-16 strings and sorting them. See the second example with sorting numbers, which does not do a numeric sort. *This function modifies the original array.* See [`Array.sort`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort) on MDN.\n\n## Examples\n\n```rescript\nlet words = [\"bee\", \"dog\", \"ant\", \"cat\"]\nJs.Array.sortInPlace(words) == [\"ant\", \"bee\", \"cat\", \"dog\"]\nwords == [\"ant\", \"bee\", \"cat\", \"dog\"]\n\nlet numbers = [3, 30, 10, 1, 20, 2]\nJs.Array.sortInPlace(numbers) == [1, 10, 2, 20, 3, 30]\nnumbers == [1, 10, 2, 20, 3, 30]\n```"],"signature":"let sortInPlace: t<'a> => t<'a>"},{"id":"Js.Array.sortInPlaceWith","kind":"value","name":"sortInPlaceWith","docstrings":[],"signature":"let sortInPlaceWith: (('a, 'a) => int, t<'a>) => t<'a>"},{"id":"Js.Array.spliceInPlace","kind":"value","name":"spliceInPlace","docstrings":[],"signature":"let spliceInPlace: (~pos: int, ~remove: int, ~add: array<'a>, t<'a>) => t<'a>"},{"id":"Js.Array.removeFromInPlace","kind":"value","name":"removeFromInPlace","docstrings":[],"signature":"let removeFromInPlace: (~pos: int, t<'a>) => t<'a>"},{"id":"Js.Array.removeCountInPlace","kind":"value","name":"removeCountInPlace","docstrings":[],"signature":"let removeCountInPlace: (~pos: int, ~count: int, t<'a>) => t<'a>"},{"id":"Js.Array.unshift","kind":"value","name":"unshift","docstrings":[],"signature":"let unshift: ('a, t<'a>) => int"},{"id":"Js.Array.unshiftMany","kind":"value","name":"unshiftMany","docstrings":[],"signature":"let unshiftMany: (array<'a>, t<'a>) => int"},{"id":"Js.Array.concat","kind":"value","name":"concat","docstrings":[],"signature":"let concat: (t<'a>, t<'a>) => t<'a>"},{"id":"Js.Array.concatMany","kind":"value","name":"concatMany","docstrings":[],"signature":"let concatMany: (array>, t<'a>) => t<'a>"},{"id":"Js.Array.includes","kind":"value","name":"includes","docstrings":[],"signature":"let includes: ('a, t<'a>) => bool"},{"id":"Js.Array.indexOf","kind":"value","name":"indexOf","docstrings":[],"signature":"let indexOf: ('a, t<'a>) => int"},{"id":"Js.Array.indexOfFrom","kind":"value","name":"indexOfFrom","docstrings":[],"signature":"let indexOfFrom: ('a, ~from: int, t<'a>) => int"},{"id":"Js.Array.join","kind":"value","name":"join","docstrings":[],"signature":"let join: t<'a> => string"},{"id":"Js.Array.joinWith","kind":"value","name":"joinWith","docstrings":[],"signature":"let joinWith: (string, t<'a>) => string"},{"id":"Js.Array.lastIndexOf","kind":"value","name":"lastIndexOf","docstrings":[],"signature":"let lastIndexOf: ('a, t<'a>) => int"},{"id":"Js.Array.lastIndexOfFrom","kind":"value","name":"lastIndexOfFrom","docstrings":[],"signature":"let lastIndexOfFrom: ('a, ~from: int, t<'a>) => int"},{"id":"Js.Array.slice","kind":"value","name":"slice","docstrings":[],"signature":"let slice: (~start: int, ~end_: int, t<'a>) => t<'a>"},{"id":"Js.Array.copy","kind":"value","name":"copy","docstrings":["Returns a copy of the entire array. Same as `Js.Array.Slice(~start=0,\n~end_=Js.Array.length(arr), arr)`. See\n[`Array.slice`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/slice)\non MDN."],"signature":"let copy: t<'a> => t<'a>"},{"id":"Js.Array.sliceFrom","kind":"value","name":"sliceFrom","docstrings":[],"signature":"let sliceFrom: (int, t<'a>) => t<'a>"},{"id":"Js.Array.toString","kind":"value","name":"toString","docstrings":["Converts the array to a string. Each element is converted to a string using\nJavaScript. Unlike the JavaScript `Array.toString()`, all elements in a\nReasonML array must have the same type. See\n[`Array.toString`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/toString)\non MDN.\n\n## Examples\n\n```rescript\nJs.Array.toString([3.5, 4.6, 7.8]) == \"3.5,4.6,7.8\"\nJs.Array.toString([\"a\", \"b\", \"c\"]) == \"a,b,c\"\n```"],"signature":"let toString: t<'a> => string"},{"id":"Js.Array.toLocaleString","kind":"value","name":"toLocaleString","docstrings":["Converts the array to a string using the conventions of the current locale.\nEach element is converted to a string using JavaScript. Unlike the JavaScript\n`Array.toLocaleString()`, all elements in a ReasonML array must have the same\ntype. See\n[`Array.toLocaleString`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/toLocaleString)\non MDN.\n\n## Examples\n\n```rescript\nJs.Array.toLocaleString([Js.Date.make()])\n// returns \"3/19/2020, 10:52:11 AM\" for locale en_US.utf8\n// returns \"2020-3-19 10:52:11\" for locale de_DE.utf8\n```"],"signature":"let toLocaleString: t<'a> => string"},{"id":"Js.Array.every","kind":"value","name":"every","docstrings":[],"signature":"let every: ('a => bool, t<'a>) => bool"},{"id":"Js.Array.everyi","kind":"value","name":"everyi","docstrings":[],"signature":"let everyi: (('a, int) => bool, t<'a>) => bool"},{"id":"Js.Array.filter","kind":"value","name":"filter","docstrings":[],"signature":"let filter: ('a => bool, t<'a>) => t<'a>"},{"id":"Js.Array.filteri","kind":"value","name":"filteri","docstrings":[],"signature":"let filteri: (('a, int) => bool, t<'a>) => t<'a>"},{"id":"Js.Array.find","kind":"value","name":"find","docstrings":[],"signature":"let find: ('a => bool, t<'a>) => option<'a>"},{"id":"Js.Array.findi","kind":"value","name":"findi","docstrings":[],"signature":"let findi: (('a, int) => bool, t<'a>) => option<'a>"},{"id":"Js.Array.findIndex","kind":"value","name":"findIndex","docstrings":[],"signature":"let findIndex: ('a => bool, t<'a>) => int"},{"id":"Js.Array.findIndexi","kind":"value","name":"findIndexi","docstrings":[],"signature":"let findIndexi: (('a, int) => bool, t<'a>) => int"},{"id":"Js.Array.forEach","kind":"value","name":"forEach","docstrings":[],"signature":"let forEach: ('a => unit, t<'a>) => unit"},{"id":"Js.Array.forEachi","kind":"value","name":"forEachi","docstrings":[],"signature":"let forEachi: (('a, int) => unit, t<'a>) => unit"},{"id":"Js.Array.map","kind":"value","name":"map","docstrings":[],"signature":"let map: ('a => 'b, t<'a>) => t<'b>"},{"id":"Js.Array.mapi","kind":"value","name":"mapi","docstrings":[],"signature":"let mapi: (('a, int) => 'b, t<'a>) => t<'b>"},{"id":"Js.Array.reduce","kind":"value","name":"reduce","docstrings":[],"signature":"let reduce: (('a, 'b) => 'a, 'a, t<'b>) => 'a"},{"id":"Js.Array.reducei","kind":"value","name":"reducei","docstrings":[],"signature":"let reducei: (('a, 'b, int) => 'a, 'a, t<'b>) => 'a"},{"id":"Js.Array.reduceRight","kind":"value","name":"reduceRight","docstrings":[],"signature":"let reduceRight: (('a, 'b) => 'a, 'a, t<'b>) => 'a"},{"id":"Js.Array.reduceRighti","kind":"value","name":"reduceRighti","docstrings":[],"signature":"let reduceRighti: (('a, 'b, int) => 'a, 'a, t<'b>) => 'a"},{"id":"Js.Array.some","kind":"value","name":"some","docstrings":[],"signature":"let some: ('a => bool, t<'a>) => bool"},{"id":"Js.Array.somei","kind":"value","name":"somei","docstrings":[],"signature":"let somei: (('a, int) => bool, t<'a>) => bool"},{"id":"Js.Array.unsafe_get","kind":"value","name":"unsafe_get","docstrings":["Returns the value at the given position in the array if the position is in\nbounds; returns the JavaScript value `undefined` otherwise.\n\n## Examples\n\n```rescript\nlet arr = [100, 101, 102, 103]\nJs.Array.unsafe_get(arr, 3) == 103\nJs.Array.unsafe_get(arr, 4) // returns undefined\n```"],"signature":"let unsafe_get: (array<'a>, int) => 'a"},{"id":"Js.Array.unsafe_set","kind":"value","name":"unsafe_set","docstrings":["Sets the value at the given position in the array if the position is in bounds.\nIf the index is out of bounds, well, “here there be dragons.“ *This function\n modifies the original array.*\n\n## Examples\n\n```rescript\nlet arr = [100, 101, 102, 103]\nJs.Array.unsafe_set(arr, 3, 99)\n// result is [100, 101, 102, 99]\n\nJs.Array.unsafe_set(arr, 4, 88)\n// result is [100, 101, 102, 99, 88]\n\nJs.Array.unsafe_set(arr, 6, 77)\n// result is [100, 101, 102, 99, 88, <1 empty item>, 77]\n\nJs.Array.unsafe_set(arr, -1, 66)\n// you don't want to know.\n```"],"signature":"let unsafe_set: (array<'a>, int, 'a) => unit"}]},"js/exn":{"id":"Js.Exn","name":"Exn","docstrings":["Provide utilities for dealing with Js exceptions"],"items":[{"id":"Js.Exn.t","kind":"type","name":"t","docstrings":["Represents a JS exception"],"signature":"type t"},{"id":"Js.Exn.asJsExn","kind":"value","name":"asJsExn","docstrings":[],"signature":"let asJsExn: exn => option"},{"id":"Js.Exn.stack","kind":"value","name":"stack","docstrings":[],"signature":"let stack: t => option"},{"id":"Js.Exn.message","kind":"value","name":"message","docstrings":[],"signature":"let message: t => option"},{"id":"Js.Exn.name","kind":"value","name":"name","docstrings":[],"signature":"let name: t => option"},{"id":"Js.Exn.fileName","kind":"value","name":"fileName","docstrings":[],"signature":"let fileName: t => option"},{"id":"Js.Exn.isCamlExceptionOrOpenVariant","kind":"value","name":"isCamlExceptionOrOpenVariant","docstrings":["internal use only"],"signature":"let isCamlExceptionOrOpenVariant: 'a => bool"},{"id":"Js.Exn.anyToExnInternal","kind":"value","name":"anyToExnInternal","docstrings":["`anyToExnInternal(obj)` will take any value `obj` and wrap it\nin a Js.Exn.Error if given value is not an exn already. If\n`obj` is an exn, it will return `obj` without any changes.\n\nThis function is mostly useful for cases where you want to unify a type of a value\nthat potentially is either exn, a JS error, or any other JS value really (e.g. for\na value passed to a Promise.catch callback)\n\n**IMPORTANT**: This is an internal API and may be changed / removed any time in the future.\n\n## Examples\n\n```rescript\nswitch (Js.Exn.unsafeAnyToExn(\"test\")) {\n| Js.Exn.Error(v) =>\n switch(Js.Exn.message(v)) {\n | Some(str) => Js.log(\"We won't end up here\")\n | None => Js.log2(\"We will land here: \", v)\n }\n}\n```"],"signature":"let anyToExnInternal: 'a => exn"},{"id":"Js.Exn.raiseError","kind":"value","name":"raiseError","docstrings":["Raise Js exception Error object with stacktrace"],"signature":"let raiseError: string => 'a"},{"id":"Js.Exn.raiseEvalError","kind":"value","name":"raiseEvalError","docstrings":[],"signature":"let raiseEvalError: string => 'a"},{"id":"Js.Exn.raiseRangeError","kind":"value","name":"raiseRangeError","docstrings":[],"signature":"let raiseRangeError: string => 'a"},{"id":"Js.Exn.raiseReferenceError","kind":"value","name":"raiseReferenceError","docstrings":[],"signature":"let raiseReferenceError: string => 'a"},{"id":"Js.Exn.raiseSyntaxError","kind":"value","name":"raiseSyntaxError","docstrings":[],"signature":"let raiseSyntaxError: string => 'a"},{"id":"Js.Exn.raiseTypeError","kind":"value","name":"raiseTypeError","docstrings":[],"signature":"let raiseTypeError: string => 'a"},{"id":"Js.Exn.raiseUriError","kind":"value","name":"raiseUriError","docstrings":[],"signature":"let raiseUriError: string => 'a"}]},"js/null_undefined":{"id":"Js.Null_undefined","name":"Null_undefined","docstrings":[],"items":[{"id":"Js.Null_undefined.t","kind":"type","name":"t","docstrings":["Local alias for `Js.null_undefined<'a>`."],"signature":"type t<'a> = Js.nullable<'a> = Value('a) | Null | Undefined"},{"id":"Js.Null_undefined.return","kind":"value","name":"return","docstrings":["Constructs a value of `Js.null_undefined<'a>` containing a value of `'a`."],"signature":"let return: 'a => t<'a>"},{"id":"Js.Null_undefined.isNullable","kind":"value","name":"isNullable","docstrings":["Returns `true` if the given value is null or undefined, `false` otherwise."],"signature":"let isNullable: t<'a> => bool"},{"id":"Js.Null_undefined.null","kind":"value","name":"null","docstrings":["The null value of type `Js.null_undefined<'a>`."],"signature":"let null: t<'a>"},{"id":"Js.Null_undefined.undefined","kind":"value","name":"undefined","docstrings":["The undefined value of type `Js.null_undefined<'a>`."],"signature":"let undefined: t<'a>"},{"id":"Js.Null_undefined.bind","kind":"value","name":"bind","docstrings":["Maps the contained value using the given function.\n\nIf `Js.null_undefined<'a>` contains a value, that value is unwrapped, mapped to\na `'b` using the given function `a' => 'b`, then wrapped back up and returned\nas `Js.null_undefined<'b>`.\n\n## Examples\n\n```rescript\nlet maybeGreetWorld = (maybeGreeting: Js.null_undefined) =>\n Js.Null_undefined.bind(maybeGreeting, (. greeting) => greeting ++ \" world!\")\n```"],"signature":"let bind: (t<'a>, (. 'a) => 'b) => t<'b>"},{"id":"Js.Null_undefined.iter","kind":"value","name":"iter","docstrings":["Iterates over the contained value with the given function.\nIf `Js.null_undefined<'a>` contains a value, that value is unwrapped and applied to the given function.\n\n## Examples\n\n```rescript\nlet maybeSay = (maybeMessage: Js.null_undefined) =>\n Js.Null_undefined.iter(maybeMessage, (. message) => Js.log(message))\n```"],"signature":"let iter: (t<'a>, (. 'a) => unit) => unit"},{"id":"Js.Null_undefined.fromOption","kind":"value","name":"fromOption","docstrings":["Maps `option<'a>` to `Js.null_undefined<'a>`.\n`Some(a)` => `a`\n`None` => `undefined`"],"signature":"let fromOption: option<'a> => t<'a>"},{"id":"Js.Null_undefined.from_opt","kind":"value","name":"from_opt","docstrings":[],"signature":"let from_opt: option<'a> => t<'a>"},{"id":"Js.Null_undefined.toOption","kind":"value","name":"toOption","docstrings":["Maps `Js.null_undefined<'a>` to `option<'a>`.\n`a` => `Some(a)`\n`undefined` => `None`\n`null` => `None`"],"signature":"let toOption: t<'a> => option<'a>"},{"id":"Js.Null_undefined.to_opt","kind":"value","name":"to_opt","docstrings":[],"signature":"let to_opt: t<'a> => option<'a>"}]},"js/nullable":{"id":"Js.Nullable","name":"Nullable","docstrings":["Provide utilities for `Js.null_undefined`"],"items":[{"id":"Js.Nullable.t","kind":"type","name":"t","docstrings":["Local alias for `Js.null_undefined<'a>`."],"signature":"type t<'a> = Js.nullable<'a> = Value('a) | Null | Undefined"},{"id":"Js.Nullable.return","kind":"value","name":"return","docstrings":["Constructs a value of `Js.null_undefined<'a>` containing a value of `'a`."],"signature":"let return: 'a => t<'a>"},{"id":"Js.Nullable.isNullable","kind":"value","name":"isNullable","docstrings":["Returns `true` if the given value is null or undefined, `false` otherwise."],"signature":"let isNullable: t<'a> => bool"},{"id":"Js.Nullable.null","kind":"value","name":"null","docstrings":["The null value of type `Js.null_undefined<'a>`."],"signature":"let null: t<'a>"},{"id":"Js.Nullable.undefined","kind":"value","name":"undefined","docstrings":["The undefined value of type `Js.null_undefined<'a>`."],"signature":"let undefined: t<'a>"},{"id":"Js.Nullable.bind","kind":"value","name":"bind","docstrings":["Maps the contained value using the given function.\n\nIf `Js.null_undefined<'a>` contains a value, that value is unwrapped, mapped to\na `'b` using the given function `a' => 'b`, then wrapped back up and returned\nas `Js.null_undefined<'b>`.\n\n## Examples\n\n```rescript\nlet maybeGreetWorld = (maybeGreeting: Js.null_undefined) =>\n Js.Null_undefined.bind(maybeGreeting, (. greeting) => greeting ++ \" world!\")\n```"],"signature":"let bind: (t<'a>, (. 'a) => 'b) => t<'b>"},{"id":"Js.Nullable.iter","kind":"value","name":"iter","docstrings":["Iterates over the contained value with the given function.\nIf `Js.null_undefined<'a>` contains a value, that value is unwrapped and applied to the given function.\n\n## Examples\n\n```rescript\nlet maybeSay = (maybeMessage: Js.null_undefined) =>\n Js.Null_undefined.iter(maybeMessage, (. message) => Js.log(message))\n```"],"signature":"let iter: (t<'a>, (. 'a) => unit) => unit"},{"id":"Js.Nullable.fromOption","kind":"value","name":"fromOption","docstrings":["Maps `option<'a>` to `Js.null_undefined<'a>`.\n`Some(a)` => `a`\n`None` => `undefined`"],"signature":"let fromOption: option<'a> => t<'a>"},{"id":"Js.Nullable.from_opt","kind":"value","name":"from_opt","docstrings":[],"signature":"let from_opt: option<'a> => t<'a>"},{"id":"Js.Nullable.toOption","kind":"value","name":"toOption","docstrings":["Maps `Js.null_undefined<'a>` to `option<'a>`.\n`a` => `Some(a)`\n`undefined` => `None`\n`null` => `None`"],"signature":"let toOption: t<'a> => option<'a>"},{"id":"Js.Nullable.to_opt","kind":"value","name":"to_opt","docstrings":[],"signature":"let to_opt: t<'a> => option<'a>"}]},"js/undefined":{"id":"Js.Undefined","name":"Undefined","docstrings":["Provide utilities for `Js.undefined<'a>`"],"items":[{"id":"Js.Undefined.t","kind":"type","name":"t","docstrings":["Local alias for `Js.undefined<'a>`"],"signature":"type t<'a> = Js.undefined<'a>"},{"id":"Js.Undefined.return","kind":"value","name":"return","docstrings":["Constructs a value of `Js.undefined<'a>` containing a value of `'a`."],"signature":"let return: 'a => t<'a>"},{"id":"Js.Undefined.test","kind":"value","name":"test","docstrings":["Returns `true` if the given value is empty (undefined), `false` otherwise."],"signature":"let test: t<'a> => bool"},{"id":"Js.Undefined.testAny","kind":"value","name":"testAny","docstrings":["Returns `true` if the given value is empty (undefined).\n\n**since 1.6.1**"],"signature":"let testAny: 'a => bool"},{"id":"Js.Undefined.empty","kind":"value","name":"empty","docstrings":["The empty value, `undefined`"],"signature":"let empty: t<'a>"},{"id":"Js.Undefined.getUnsafe","kind":"value","name":"getUnsafe","docstrings":[],"signature":"let getUnsafe: t<'a> => 'a"},{"id":"Js.Undefined.getExn","kind":"value","name":"getExn","docstrings":[],"signature":"let getExn: t<'a> => 'a"},{"id":"Js.Undefined.bind","kind":"value","name":"bind","docstrings":["Maps the contained value using the given function.\nIf `Js.undefined<'a>` contains a value, that value is unwrapped, mapped to a\n`'b` using the given function `a' => 'b`, then wrapped back up and returned as\n`Js.undefined<'b>`.\n\n## Examples\n\n```rescript\nlet maybeGreetWorld = (maybeGreeting: Js.undefined) =>\n Js.Undefined.bind(maybeGreeting, (. greeting) => greeting ++ \" world!\")\n```"],"signature":"let bind: (t<'a>, (. 'a) => 'b) => t<'b>"},{"id":"Js.Undefined.iter","kind":"value","name":"iter","docstrings":["Iterates over the contained value with the given function. If\n`Js.undefined<'a>` contains a value, that value is unwrapped and applied to the\ngiven function.\n\n## Examples\n\n```rescript\nlet maybeSay = (maybeMessage: Js.undefined) =>\n Js.Undefined.iter(maybeMessage, (. message) => Js.log(message))\n```"],"signature":"let iter: (t<'a>, (. 'a) => unit) => unit"},{"id":"Js.Undefined.fromOption","kind":"value","name":"fromOption","docstrings":["Maps `option<'a>` to `Js.undefined<'a>`.\n`Some(a)` => `a`\n`None` => `empty`"],"signature":"let fromOption: option<'a> => t<'a>"},{"id":"Js.Undefined.from_opt","kind":"value","name":"from_opt","docstrings":[],"signature":"let from_opt: option<'a> => t<'a>"},{"id":"Js.Undefined.toOption","kind":"value","name":"toOption","docstrings":["Maps `Js.undefined<'a>` to `option<'a>`\n`a` => `Some(a)`\n`empty` => `None`"],"signature":"let toOption: t<'a> => option<'a>"},{"id":"Js.Undefined.to_opt","kind":"value","name":"to_opt","docstrings":[],"signature":"let to_opt: t<'a> => option<'a>"}]},"js/null":{"id":"Js.Null","name":"Null","docstrings":["Provide utilities for `Js.null<'a>`"],"items":[{"id":"Js.Null.t","kind":"type","name":"t","docstrings":["Local alias for `Js.null<'a>`"],"signature":"type t<'a> = Js.null<'a> = Value('a) | Null"},{"id":"Js.Null.return","kind":"value","name":"return","docstrings":["Constructs a value of `Js.null<'a>` containing a value of `'a`."],"signature":"let return: 'a => t<'a>"},{"id":"Js.Null.test","kind":"value","name":"test","docstrings":["Returns `true` if the given value is empty (`null`), `false` otherwise."],"signature":"let test: t<'a> => bool"},{"id":"Js.Null.empty","kind":"value","name":"empty","docstrings":["The empty value, `null`"],"signature":"let empty: t<'a>"},{"id":"Js.Null.getUnsafe","kind":"value","name":"getUnsafe","docstrings":[],"signature":"let getUnsafe: t<'a> => 'a"},{"id":"Js.Null.getExn","kind":"value","name":"getExn","docstrings":[],"signature":"let getExn: t<'a> => 'a"},{"id":"Js.Null.bind","kind":"value","name":"bind","docstrings":["Maps the contained value using the given function.\n\nIf `Js.null<'a>` contains a value, that value is unwrapped, mapped to a `'b`\nusing the given function `'a => 'b`, then wrapped back up and returned as\n`Js.null<'b>`.\n\n## Examples\n\n```rescript\nlet maybeGreetWorld = (maybeGreeting: Js.null) =>\n Js.Null.bind(maybeGreeting, (. greeting) => greeting ++ \" world!\")\n```"],"signature":"let bind: (t<'a>, (. 'a) => 'b) => t<'b>"},{"id":"Js.Null.iter","kind":"value","name":"iter","docstrings":["Iterates over the contained value with the given function.\nIf `Js.null<'a>` contains a value, that value is unwrapped and applied to the given function.\n\n## Examples\n\n```rescript\nlet maybeSay = (maybeMessage: Js.null) =>\n Js.Null.iter(maybeMessage, (. message) => Js.log(message))\n```"],"signature":"let iter: (t<'a>, (. 'a) => unit) => unit"},{"id":"Js.Null.fromOption","kind":"value","name":"fromOption","docstrings":["Maps `option<'a>` to `Js.null<'a>`.\n`Some(a)` => `a`\n`None` => `empty`"],"signature":"let fromOption: option<'a> => t<'a>"},{"id":"Js.Null.from_opt","kind":"value","name":"from_opt","docstrings":[],"signature":"let from_opt: option<'a> => t<'a>"},{"id":"Js.Null.toOption","kind":"value","name":"toOption","docstrings":["Maps `Js.null<'a>` to `option<'a>`.\n`a` => `Some(a)`\n`empty` => `None`"],"signature":"let toOption: t<'a> => option<'a>"},{"id":"Js.Null.to_opt","kind":"value","name":"to_opt","docstrings":[],"signature":"let to_opt: t<'a> => option<'a>"}]},"js/internal":{"id":"Js.Internal","name":"Internal","docstrings":[],"items":[{"id":"Js.Internal.opaqueFullApply","kind":"value","name":"opaqueFullApply","docstrings":[],"signature":"let opaqueFullApply: 'a => 'a"},{"id":"Js.Internal.run","kind":"value","name":"run","docstrings":[],"signature":"let run: ((. unit) => 'a) => 'a"},{"id":"Js.Internal.opaque","kind":"value","name":"opaque","docstrings":[],"signature":"let opaque: 'a => 'a"}]},"js/mapperrt":{"id":"Js.MapperRt","name":"MapperRt","docstrings":[],"items":[{"id":"Js.MapperRt.raiseWhenNotFound","kind":"value","name":"raiseWhenNotFound","docstrings":[],"signature":"let raiseWhenNotFound: 'a => 'a"},{"id":"Js.MapperRt.fromInt","kind":"value","name":"fromInt","docstrings":["`fromInt(len, array, int)` return the mapped `enum`"],"signature":"let fromInt: (int, array, int) => option"},{"id":"Js.MapperRt.fromIntAssert","kind":"value","name":"fromIntAssert","docstrings":[],"signature":"let fromIntAssert: (int, array, int) => int"}]}} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 08cc5dcc3..ba8903516 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,6 +12,7 @@ "@headlessui/react": "^1.2.0", "@mdx-js/loader": "^2.3.0", "@rescript/react": "^0.12.0-alpha.3", + "@rescript/tools": "^0.3.0", "codemirror": "^5.54.0", "docson": "^2.1.0", "eslint-config-next": "^13.1.1", @@ -26,6 +27,7 @@ "prettier": "^1.18.2", "react": "^18.2.0", "react-dom": "^18.2.0", + "react-markdown": "^9.0.1", "rehype-slug": "^5.1.0", "remark-comment": "^1.0.0", "remark-frontmatter": "^4.0.1", @@ -662,7 +664,7 @@ "webpack": ">=4" } }, - "node_modules/@mdx-js/mdx": { + "node_modules/@mdx-js/loader/node_modules/@mdx-js/mdx": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-2.3.0.tgz", "integrity": "sha512-jLuwRlz8DQfQNiUCJR50Y09CGPq3fLtmtUQfVrj79E0JWu3dvsVcxVIcfhR5h0iXu+/z++zDrYeiJqifRynJkA==", @@ -690,4040 +692,3930 @@ "url": "https://opencollective.com/unified" } }, - "node_modules/@mdx-js/mdx/node_modules/bail": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", - "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", + "node_modules/@mdx-js/loader/node_modules/estree-util-attach-comments": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/estree-util-attach-comments/-/estree-util-attach-comments-2.1.1.tgz", + "integrity": "sha512-+5Ba/xGGS6mnwFbXIuQiDPTbuTxuMCooq3arVv7gPZtYpjp+VXH/NkHAP35OOefPhNG/UGqU3vt/LTABwcHX0w==", + "dependencies": { + "@types/estree": "^1.0.0" + }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/@mdx-js/mdx/node_modules/is-plain-obj": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", - "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", - "engines": { - "node": ">=12" + "node_modules/@mdx-js/loader/node_modules/estree-util-build-jsx": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/estree-util-build-jsx/-/estree-util-build-jsx-2.2.2.tgz", + "integrity": "sha512-m56vOXcOBuaF+Igpb9OPAy7f9w9OIkb5yhjsZuaPm7HoGi4oTOQi0h2+yZ+AtKklYFZ+rPC4n0wYCJCEU1ONqg==", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "estree-util-is-identifier-name": "^2.0.0", + "estree-walker": "^3.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/@mdx-js/mdx/node_modules/trough": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/trough/-/trough-2.1.0.tgz", - "integrity": "sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==", + "node_modules/@mdx-js/loader/node_modules/estree-util-to-js": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/estree-util-to-js/-/estree-util-to-js-1.2.0.tgz", + "integrity": "sha512-IzU74r1PK5IMMGZXUVZbmiu4A1uhiPgW5hm1GjcOfr4ZzHaMPpLNJjR7HjXiIOzi25nZDrgFTobHTkV5Q6ITjA==", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "astring": "^1.8.0", + "source-map": "^0.7.0" + }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/@mdx-js/mdx/node_modules/unified": { - "version": "10.1.2", - "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", - "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==", + "node_modules/@mdx-js/loader/node_modules/estree-util-visit": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/estree-util-visit/-/estree-util-visit-1.2.1.tgz", + "integrity": "sha512-xbgqcrkIVbIG+lI/gzbvd9SGTJL4zqJKBFttUl5pP27KhAjtMKbX/mQXJ7qgyXpMgVy/zvpm0xoQQaGL8OloOw==", "dependencies": { - "@types/unist": "^2.0.0", - "bail": "^2.0.0", - "extend": "^3.0.0", - "is-buffer": "^2.0.0", - "is-plain-obj": "^4.0.0", - "trough": "^2.0.0", - "vfile": "^5.0.0" + "@types/estree-jsx": "^1.0.0", + "@types/unist": "^2.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, - "node_modules/@mdx-js/react": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@mdx-js/react/-/react-2.3.0.tgz", - "integrity": "sha512-zQH//gdOmuu7nt2oJR29vFhDv88oGPmVw6BggmrHeMI+xgEkp1B2dX9/bMBSYtK0dyLX/aOmesKS09g222K1/g==", + "node_modules/@mdx-js/loader/node_modules/hast-util-to-estree": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/hast-util-to-estree/-/hast-util-to-estree-2.3.3.tgz", + "integrity": "sha512-ihhPIUPxN0v0w6M5+IiAZZrn0LH2uZomeWwhn7uP7avZC6TE7lIiEh2yBMPr5+zi1aUCXq6VoYRgs2Bw9xmycQ==", "dependencies": { - "@types/mdx": "^2.0.0", - "@types/react": ">=16" + "@types/estree": "^1.0.0", + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^2.0.0", + "@types/unist": "^2.0.0", + "comma-separated-tokens": "^2.0.0", + "estree-util-attach-comments": "^2.0.0", + "estree-util-is-identifier-name": "^2.0.0", + "hast-util-whitespace": "^2.0.0", + "mdast-util-mdx-expression": "^1.0.0", + "mdast-util-mdxjs-esm": "^1.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0", + "style-to-object": "^0.4.1", + "unist-util-position": "^4.0.0", + "zwitch": "^2.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" - }, - "peerDependencies": { - "react": ">=16" } }, - "node_modules/@next/env": { - "version": "13.4.12", - "resolved": "https://registry.npmjs.org/@next/env/-/env-13.4.12.tgz", - "integrity": "sha512-RmHanbV21saP/6OEPBJ7yJMuys68cIf8OBBWd7+uj40LdpmswVAwe1uzeuFyUsd6SfeITWT3XnQfn6wULeKwDQ==" + "node_modules/@mdx-js/loader/node_modules/hast-util-whitespace": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-2.0.1.tgz", + "integrity": "sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } }, - "node_modules/@next/eslint-plugin-next": { - "version": "13.4.12", - "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-13.4.12.tgz", - "integrity": "sha512-6rhK9CdxEgj/j1qvXIyLTWEaeFv7zOK8yJMulz3Owel0uek0U9MJCGzmKgYxM3aAUBo3gKeywCZKyQnJKto60A==", + "node_modules/@mdx-js/loader/node_modules/markdown-extensions": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/markdown-extensions/-/markdown-extensions-1.1.1.tgz", + "integrity": "sha512-WWC0ZuMzCyDHYCasEGs4IPvLyTGftYwh6wIEOULOF0HXcqZlhwRzrK0w2VUlxWA98xnvb/jszw4ZSkJ6ADpM6Q==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@mdx-js/loader/node_modules/mdast-util-mdx": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-mdx/-/mdast-util-mdx-2.0.1.tgz", + "integrity": "sha512-38w5y+r8nyKlGvNjSEqWrhG0w5PmnRA+wnBvm+ulYCct7nsGYhFVb0lljS9bQav4psDAS1eGkP2LMVcZBi/aqw==", "dependencies": { - "glob": "7.1.7" + "mdast-util-from-markdown": "^1.0.0", + "mdast-util-mdx-expression": "^1.0.0", + "mdast-util-mdx-jsx": "^2.0.0", + "mdast-util-mdxjs-esm": "^1.0.0", + "mdast-util-to-markdown": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/@next/eslint-plugin-next/node_modules/glob": { - "version": "7.1.7", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", - "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", + "node_modules/@mdx-js/loader/node_modules/mdast-util-mdx-expression": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-1.3.2.tgz", + "integrity": "sha512-xIPmR5ReJDu/DHH1OoIT1HkuybIfRGYRywC+gJtI7qHjCJp/M9jrmBEJW22O8lskDWm562BX2W8TiAwRTb0rKA==", "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^2.0.0", + "@types/mdast": "^3.0.0", + "mdast-util-from-markdown": "^1.0.0", + "mdast-util-to-markdown": "^1.0.0" }, - "engines": { - "node": "*" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@mdx-js/loader/node_modules/mdast-util-mdx-jsx": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-2.1.4.tgz", + "integrity": "sha512-DtMn9CmVhVzZx3f+optVDF8yFgQVt7FghCRNdlIaS3X5Bnym3hZwPbg/XW86vdpKjlc1PVj26SpnLGeJBXD3JA==", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^2.0.0", + "@types/mdast": "^3.0.0", + "@types/unist": "^2.0.0", + "ccount": "^2.0.0", + "mdast-util-from-markdown": "^1.1.0", + "mdast-util-to-markdown": "^1.3.0", + "parse-entities": "^4.0.0", + "stringify-entities": "^4.0.0", + "unist-util-remove-position": "^4.0.0", + "unist-util-stringify-position": "^3.0.0", + "vfile-message": "^3.0.0" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/@next/swc-darwin-arm64": { - "version": "13.4.12", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-13.4.12.tgz", - "integrity": "sha512-deUrbCXTMZ6ZhbOoloqecnUeNpUOupi8SE2tx4jPfNS9uyUR9zK4iXBvH65opVcA/9F5I/p8vDXSYbUlbmBjZg==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10" + "node_modules/@mdx-js/loader/node_modules/mdast-util-mdxjs-esm": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-1.3.1.tgz", + "integrity": "sha512-SXqglS0HrEvSdUEfoXFtcg7DRl7S2cwOXc7jkuusG472Mmjag34DUDeOJUZtl+BVnyeO1frIgVpHlNRWc2gk/w==", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^2.0.0", + "@types/mdast": "^3.0.0", + "mdast-util-from-markdown": "^1.0.0", + "mdast-util-to-markdown": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/@next/swc-darwin-x64": { - "version": "13.4.12", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-13.4.12.tgz", - "integrity": "sha512-WRvH7RxgRHlC1yb5oG0ZLx8F7uci9AivM5/HGGv9ZyG2Als8Ij64GC3d+mQ5sJhWjusyU6T6V1WKTUoTmOB0zQ==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10" + "node_modules/@mdx-js/loader/node_modules/mdast-util-to-hast": { + "version": "12.3.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-12.3.0.tgz", + "integrity": "sha512-pits93r8PhnIoU4Vy9bjW39M2jJ6/tdHyja9rrot9uujkN7UTU9SDnE6WNJz/IGyQk3XHX6yNNtrBH6cQzm8Hw==", + "dependencies": { + "@types/hast": "^2.0.0", + "@types/mdast": "^3.0.0", + "mdast-util-definitions": "^5.0.0", + "micromark-util-sanitize-uri": "^1.1.0", + "trim-lines": "^3.0.0", + "unist-util-generated": "^2.0.0", + "unist-util-position": "^4.0.0", + "unist-util-visit": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/@next/swc-linux-arm64-gnu": { - "version": "13.4.12", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-13.4.12.tgz", - "integrity": "sha512-YEKracAWuxp54tKiAvvq73PUs9lok57cc8meYRibTWe/VdPB2vLgkTVWFcw31YDuRXdEhdX0fWS6Q+ESBhnEig==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "linux" + "node_modules/@mdx-js/loader/node_modules/micromark-extension-mdx-expression": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-1.0.8.tgz", + "integrity": "sha512-zZpeQtc5wfWKdzDsHRBY003H2Smg+PUi2REhqgIhdzAa5xonhP03FcXxqFSerFiNUr5AWmHpaNPQTBVOS4lrXw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } ], - "engines": { - "node": ">= 10" + "dependencies": { + "@types/estree": "^1.0.0", + "micromark-factory-mdx-expression": "^1.0.0", + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-events-to-acorn": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" } }, - "node_modules/@next/swc-linux-arm64-musl": { - "version": "13.4.12", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-13.4.12.tgz", - "integrity": "sha512-LhJR7/RAjdHJ2Isl2pgc/JaoxNk0KtBgkVpiDJPVExVWA1c6gzY57+3zWuxuyWzTG+fhLZo2Y80pLXgIJv7g3g==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" + "node_modules/@mdx-js/loader/node_modules/micromark-extension-mdx-jsx": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-1.0.5.tgz", + "integrity": "sha512-gPH+9ZdmDflbu19Xkb8+gheqEDqkSpdCEubQyxuz/Hn8DOXiXvrXeikOoBA71+e8Pfi0/UYmU3wW3H58kr7akA==", + "dependencies": { + "@types/acorn": "^4.0.0", + "@types/estree": "^1.0.0", + "estree-util-is-identifier-name": "^2.0.0", + "micromark-factory-mdx-expression": "^1.0.0", + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0", + "vfile-message": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/@next/swc-linux-x64-gnu": { - "version": "13.4.12", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-13.4.12.tgz", - "integrity": "sha512-1DWLL/B9nBNiQRng+1aqs3OaZcxC16Nf+mOnpcrZZSdyKHek3WQh6j/fkbukObgNGwmCoVevLUa/p3UFTTqgqg==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" + "node_modules/@mdx-js/loader/node_modules/micromark-extension-mdx-md": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-md/-/micromark-extension-mdx-md-1.0.1.tgz", + "integrity": "sha512-7MSuj2S7xjOQXAjjkbjBsHkMtb+mDGVW6uI2dBL9snOBCbZmoNgDAeZ0nSn9j3T42UE/g2xVNMn18PJxZvkBEA==", + "dependencies": { + "micromark-util-types": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/@next/swc-linux-x64-musl": { - "version": "13.4.12", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-13.4.12.tgz", - "integrity": "sha512-kEAJmgYFhp0VL+eRWmUkVxLVunn7oL9Mdue/FS8yzRBVj7Z0AnIrHpTIeIUl1bbdQq1VaoOztnKicAjfkLTRCQ==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" + "node_modules/@mdx-js/loader/node_modules/micromark-extension-mdxjs": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs/-/micromark-extension-mdxjs-1.0.1.tgz", + "integrity": "sha512-7YA7hF6i5eKOfFUzZ+0z6avRG52GpWR8DL+kN47y3f2KhxbBZMhmxe7auOeaTBrW2DenbbZTf1ea9tA2hDpC2Q==", + "dependencies": { + "acorn": "^8.0.0", + "acorn-jsx": "^5.0.0", + "micromark-extension-mdx-expression": "^1.0.0", + "micromark-extension-mdx-jsx": "^1.0.0", + "micromark-extension-mdx-md": "^1.0.0", + "micromark-extension-mdxjs-esm": "^1.0.0", + "micromark-util-combine-extensions": "^1.0.0", + "micromark-util-types": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/@next/swc-win32-arm64-msvc": { - "version": "13.4.12", - "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-13.4.12.tgz", - "integrity": "sha512-GMLuL/loR6yIIRTnPRY6UGbLL9MBdw2anxkOnANxvLvsml4F0HNIgvnU3Ej4BjbqMTNjD4hcPFdlEow4XHPdZA==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" + "node_modules/@mdx-js/loader/node_modules/micromark-extension-mdxjs-esm": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-1.0.5.tgz", + "integrity": "sha512-xNRBw4aoURcyz/S69B19WnZAkWJMxHMT5hE36GtDAyhoyn/8TuAeqjFJQlwk+MKQsUD7b3l7kFX+vlfVWgcX1w==", + "dependencies": { + "@types/estree": "^1.0.0", + "micromark-core-commonmark": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-events-to-acorn": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "unist-util-position-from-estree": "^1.1.0", + "uvu": "^0.5.0", + "vfile-message": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/@next/swc-win32-ia32-msvc": { - "version": "13.4.12", - "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-13.4.12.tgz", - "integrity": "sha512-PhgNqN2Vnkm7XaMdRmmX0ZSwZXQAtamBVSa9A/V1dfKQCV1rjIZeiy/dbBnVYGdj63ANfsOR/30XpxP71W0eww==", - "cpu": [ - "ia32" - ], - "optional": true, - "os": [ - "win32" + "node_modules/@mdx-js/loader/node_modules/micromark-factory-mdx-expression": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-1.0.9.tgz", + "integrity": "sha512-jGIWzSmNfdnkJq05c7b0+Wv0Kfz3NJ3N4cBjnbO4zjXIlxJr+f8lk+5ZmwFvqdAbUy2q6B5rCY//g0QAAaXDWA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } ], - "engines": { - "node": ">= 10" + "dependencies": { + "@types/estree": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-events-to-acorn": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "unist-util-position-from-estree": "^1.0.0", + "uvu": "^0.5.0", + "vfile-message": "^3.0.0" } }, - "node_modules/@next/swc-win32-x64-msvc": { - "version": "13.4.12", - "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-13.4.12.tgz", - "integrity": "sha512-Z+56e/Ljt0bUs+T+jPjhFyxYBcdY2RIq9ELFU+qAMQMteHo7ymbV7CKmlcX59RI9C4YzN8PgMgLyAoi916b5HA==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "win32" + "node_modules/@mdx-js/loader/node_modules/micromark-util-events-to-acorn": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-1.2.3.tgz", + "integrity": "sha512-ij4X7Wuc4fED6UoLWkmo0xJQhsktfNh1J0m8g4PbIMPlx+ek/4YdW5mvbye8z/aZvAPUoxgXHrwVlXAPKMRp1w==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } ], - "engines": { - "node": ">= 10" + "dependencies": { + "@types/acorn": "^4.0.0", + "@types/estree": "^1.0.0", + "@types/unist": "^2.0.0", + "estree-util-visit": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0", + "vfile-message": "^3.0.0" } }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "node_modules/@mdx-js/loader/node_modules/remark-mdx": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/remark-mdx/-/remark-mdx-2.3.0.tgz", + "integrity": "sha512-g53hMkpM0I98MU266IzDFMrTD980gNF3BJnkyFcmN+dD873mQeD5rdMO3Y2X+x8umQfbSE0PcoEDl7ledSA+2g==", "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" + "mdast-util-mdx": "^2.0.0", + "micromark-extension-mdxjs": "^1.0.0" }, - "engines": { - "node": ">= 8" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "engines": { - "node": ">= 8" + "node_modules/@mdx-js/loader/node_modules/remark-rehype": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-10.1.0.tgz", + "integrity": "sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw==", + "dependencies": { + "@types/hast": "^2.0.0", + "@types/mdast": "^3.0.0", + "mdast-util-to-hast": "^12.1.0", + "unified": "^10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "node_modules/@mdx-js/loader/node_modules/unified": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", + "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==", "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" + "@types/unist": "^2.0.0", + "bail": "^2.0.0", + "extend": "^3.0.0", + "is-buffer": "^2.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^5.0.0" }, - "engines": { - "node": ">= 8" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/@pkgr/utils": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/@pkgr/utils/-/utils-2.4.2.tgz", - "integrity": "sha512-POgTXhjrTfbTV63DiFXav4lBHiICLKKwDeaKn9Nphwj7WH6m0hMMCaJkMyRWjgtPFyRKRVoMXXjczsTQRDEhYw==", + "node_modules/@mdx-js/loader/node_modules/unist-util-position": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-4.0.4.tgz", + "integrity": "sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg==", "dependencies": { - "cross-spawn": "^7.0.3", - "fast-glob": "^3.3.0", - "is-glob": "^4.0.3", - "open": "^9.1.0", - "picocolors": "^1.0.0", - "tslib": "^2.6.0" - }, - "engines": { - "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + "@types/unist": "^2.0.0" }, "funding": { - "url": "https://opencollective.com/unts" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/@rescript/react": { - "version": "0.12.0-alpha.3", - "resolved": "https://registry.npmjs.org/@rescript/react/-/react-0.12.0-alpha.3.tgz", - "integrity": "sha512-/S1uj77RPDzuLg3Ofb8KKU3Vppqy97/vF6bBdBZ+saIO9bpHVlsmmJyJG8QXjGZKE+aMynrrR3Tj4+9+5OzLdw==", - "peerDependencies": { - "react": ">=18.0.0", - "react-dom": ">=18.0.0" - } - }, - "node_modules/@rushstack/eslint-patch": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.3.2.tgz", - "integrity": "sha512-V+MvGwaHH03hYhY+k6Ef/xKd6RYlc4q8WBx+2ANmipHJcKuktNcI/NgEsJgdSUF6Lw32njT6OnrRsKYCdgHjYw==" - }, - "node_modules/@swc/helpers": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.1.tgz", - "integrity": "sha512-sJ902EfIzn1Fa+qYmjdQqh8tPsoxyBz+8yBKC2HKUxyezKJFwPGOn7pv4WY6QuQW//ySQi5lJjA/ZT9sNWWNTg==", - "dependencies": { - "tslib": "^2.4.0" - } - }, - "node_modules/@trysound/sax": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", - "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", - "dev": true, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/@types/acorn": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/@types/acorn/-/acorn-4.0.6.tgz", - "integrity": "sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==", - "dependencies": { - "@types/estree": "*" - } - }, - "node_modules/@types/debug": { - "version": "4.1.8", - "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.8.tgz", - "integrity": "sha512-/vPO1EPOs306Cvhwv7KfVfYvOJqA/S/AXjaHQiJboCZzcNDb+TIJFN9/2C9DZ//ijSKWioNyUxD792QmDJ+HKQ==", - "dependencies": { - "@types/ms": "*" - } - }, - "node_modules/@types/eslint": { - "version": "8.44.1", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.1.tgz", - "integrity": "sha512-XpNDc4Z5Tb4x+SW1MriMVeIsMoONHCkWFMkR/aPJbzEsxqHy+4Glu/BqTdPrApfDeMaXbtNh6bseNgl5KaWrSg==", - "peer": true, - "dependencies": { - "@types/estree": "*", - "@types/json-schema": "*" - } - }, - "node_modules/@types/eslint-scope": { - "version": "3.7.4", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", - "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", - "peer": true, - "dependencies": { - "@types/eslint": "*", - "@types/estree": "*" - } - }, - "node_modules/@types/estree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz", - "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==" - }, - "node_modules/@types/estree-jsx": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.0.tgz", - "integrity": "sha512-3qvGd0z8F2ENTGr/GG1yViqfiKmRfrXVx5sJyHGFu3z7m5g5utCQtGp/g29JnjflhtQJBv1WDQukHiT58xPcYQ==", - "dependencies": { - "@types/estree": "*" - } - }, - "node_modules/@types/hast": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.5.tgz", - "integrity": "sha512-SvQi0L/lNpThgPoleH53cdjB3y9zpLlVjRbqB3rH8hx1jiRSBGAhyjV3H+URFjNVRqt2EdYNrbZE5IsGlNfpRg==", - "dependencies": { - "@types/unist": "^2" - } - }, - "node_modules/@types/js-yaml": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-4.0.5.tgz", - "integrity": "sha512-FhpRzf927MNQdRZP0J5DLIdTXhjLYzeUTmLAu69mnVksLH9CJY3IuSeEgbKUki7GQZm0WqDkGzyxju2EZGD2wA==" - }, - "node_modules/@types/json-schema": { - "version": "7.0.12", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", - "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==", - "peer": true - }, - "node_modules/@types/json5": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==" - }, - "node_modules/@types/mdast": { - "version": "3.0.12", - "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.12.tgz", - "integrity": "sha512-DT+iNIRNX884cx0/Q1ja7NyUPpZuv0KPyL5rGNxm1WC1OtHstl7n4Jb7nk+xacNShQMbczJjt8uFzznpp6kYBg==", + "node_modules/@mdx-js/loader/node_modules/unist-util-position-from-estree": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/unist-util-position-from-estree/-/unist-util-position-from-estree-1.1.2.tgz", + "integrity": "sha512-poZa0eXpS+/XpoQwGwl79UUdea4ol2ZuCYguVaJS4qzIOMDzbqz8a3erUCOmubSZkaOuGamb3tX790iwOIROww==", "dependencies": { - "@types/unist": "^2" + "@types/unist": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/@types/mdx": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.5.tgz", - "integrity": "sha512-76CqzuD6Q7LC+AtbPqrvD9AqsN0k8bsYo2bM2J8pmNldP1aIPAbzUQ7QbobyXL4eLr1wK5x8FZFe8eF/ubRuBg==" - }, - "node_modules/@types/ms": { - "version": "0.7.31", - "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.31.tgz", - "integrity": "sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==" - }, - "node_modules/@types/node": { - "version": "20.4.6", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.4.6.tgz", - "integrity": "sha512-q0RkvNgMweWWIvSMDiXhflGUKMdIxBo2M2tYM/0kEGDueQByFzK4KZAgu5YHGFNxziTlppNpTIBcqHQAxlfHdA==", - "peer": true - }, - "node_modules/@types/prop-types": { - "version": "15.7.5", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", - "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==" - }, - "node_modules/@types/react": { - "version": "18.2.18", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.18.tgz", - "integrity": "sha512-da4NTSeBv/P34xoZPhtcLkmZuJ+oYaCxHmyHzwaDQo9RQPBeXV+06gEk2FpqEcsX9XrnNLvRpVh6bdavDSjtiQ==", + "node_modules/@mdx-js/loader/node_modules/unist-util-remove-position": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-4.0.2.tgz", + "integrity": "sha512-TkBb0HABNmxzAcfLf4qsIbFbaPDvMO6wa3b3j4VcEzFVaw1LBKwnW4/sRJ/atSLSzoIg41JWEdnE7N6DIhGDGQ==", "dependencies": { - "@types/prop-types": "*", - "@types/scheduler": "*", - "csstype": "^3.0.2" + "@types/unist": "^2.0.0", + "unist-util-visit": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/@types/scheduler": { - "version": "0.16.3", - "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.3.tgz", - "integrity": "sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==" - }, - "node_modules/@types/unist": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.7.tgz", - "integrity": "sha512-cputDpIbFgLUaGQn6Vqg3/YsJwxUwHLO13v3i5ouxT4lat0khip9AEWxtERujXV9wxIB1EyF97BSJFt6vpdI8g==" - }, - "node_modules/@typescript-eslint/parser": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", - "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", + "node_modules/@mdx-js/react": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@mdx-js/react/-/react-2.3.0.tgz", + "integrity": "sha512-zQH//gdOmuu7nt2oJR29vFhDv88oGPmVw6BggmrHeMI+xgEkp1B2dX9/bMBSYtK0dyLX/aOmesKS09g222K1/g==", "dependencies": { - "@typescript-eslint/scope-manager": "5.62.0", - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/typescript-estree": "5.62.0", - "debug": "^4.3.4" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "@types/mdx": "^2.0.0", + "@types/react": ">=16" }, "funding": { "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "url": "https://opencollective.com/unified" }, "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "react": ">=16" } }, - "node_modules/@typescript-eslint/parser/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "node_modules/@next/env": { + "version": "13.4.12", + "resolved": "https://registry.npmjs.org/@next/env/-/env-13.4.12.tgz", + "integrity": "sha512-RmHanbV21saP/6OEPBJ7yJMuys68cIf8OBBWd7+uj40LdpmswVAwe1uzeuFyUsd6SfeITWT3XnQfn6wULeKwDQ==" + }, + "node_modules/@next/eslint-plugin-next": { + "version": "13.4.12", + "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-13.4.12.tgz", + "integrity": "sha512-6rhK9CdxEgj/j1qvXIyLTWEaeFv7zOK8yJMulz3Owel0uek0U9MJCGzmKgYxM3aAUBo3gKeywCZKyQnJKto60A==", "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "glob": "7.1.7" } }, - "node_modules/@typescript-eslint/parser/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", - "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", + "node_modules/@next/eslint-plugin-next/node_modules/glob": { + "version": "7.1.7", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", + "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", "dependencies": { - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/visitor-keys": "5.62.0" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "*" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@typescript-eslint/types": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", - "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", + "node_modules/@next/swc-darwin-arm64": { + "version": "13.4.12", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-13.4.12.tgz", + "integrity": "sha512-deUrbCXTMZ6ZhbOoloqecnUeNpUOupi8SE2tx4jPfNS9uyUR9zK4iXBvH65opVcA/9F5I/p8vDXSYbUlbmBjZg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "node": ">= 10" } }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", - "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", - "dependencies": { - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/visitor-keys": "5.62.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - }, + "node_modules/@next/swc-darwin-x64": { + "version": "13.4.12", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-13.4.12.tgz", + "integrity": "sha512-WRvH7RxgRHlC1yb5oG0ZLx8F7uci9AivM5/HGGv9ZyG2Als8Ij64GC3d+mQ5sJhWjusyU6T6V1WKTUoTmOB0zQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "node": ">= 10" } }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dependencies": { - "ms": "2.1.2" - }, + "node_modules/@next/swc-linux-arm64-gnu": { + "version": "13.4.12", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-13.4.12.tgz", + "integrity": "sha512-YEKracAWuxp54tKiAvvq73PUs9lok57cc8meYRibTWe/VdPB2vLgkTVWFcw31YDuRXdEhdX0fWS6Q+ESBhnEig==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "node": ">= 10" } }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + "node_modules/@next/swc-linux-arm64-musl": { + "version": "13.4.12", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-13.4.12.tgz", + "integrity": "sha512-LhJR7/RAjdHJ2Isl2pgc/JaoxNk0KtBgkVpiDJPVExVWA1c6gzY57+3zWuxuyWzTG+fhLZo2Y80pLXgIJv7g3g==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", - "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", - "dependencies": { - "@typescript-eslint/types": "5.62.0", - "eslint-visitor-keys": "^3.3.0" - }, + "node_modules/@next/swc-linux-x64-gnu": { + "version": "13.4.12", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-13.4.12.tgz", + "integrity": "sha512-1DWLL/B9nBNiQRng+1aqs3OaZcxC16Nf+mOnpcrZZSdyKHek3WQh6j/fkbukObgNGwmCoVevLUa/p3UFTTqgqg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "node": ">= 10" } }, - "node_modules/@webassemblyjs/ast": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", - "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", - "peer": true, - "dependencies": { - "@webassemblyjs/helper-numbers": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + "node_modules/@next/swc-linux-x64-musl": { + "version": "13.4.12", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-13.4.12.tgz", + "integrity": "sha512-kEAJmgYFhp0VL+eRWmUkVxLVunn7oL9Mdue/FS8yzRBVj7Z0AnIrHpTIeIUl1bbdQq1VaoOztnKicAjfkLTRCQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" } }, - "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", - "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", - "peer": true + "node_modules/@next/swc-win32-arm64-msvc": { + "version": "13.4.12", + "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-13.4.12.tgz", + "integrity": "sha512-GMLuL/loR6yIIRTnPRY6UGbLL9MBdw2anxkOnANxvLvsml4F0HNIgvnU3Ej4BjbqMTNjD4hcPFdlEow4XHPdZA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } }, - "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", - "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", - "peer": true + "node_modules/@next/swc-win32-ia32-msvc": { + "version": "13.4.12", + "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-13.4.12.tgz", + "integrity": "sha512-PhgNqN2Vnkm7XaMdRmmX0ZSwZXQAtamBVSa9A/V1dfKQCV1rjIZeiy/dbBnVYGdj63ANfsOR/30XpxP71W0eww==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } }, - "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", - "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==", - "peer": true + "node_modules/@next/swc-win32-x64-msvc": { + "version": "13.4.12", + "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-13.4.12.tgz", + "integrity": "sha512-Z+56e/Ljt0bUs+T+jPjhFyxYBcdY2RIq9ELFU+qAMQMteHo7ymbV7CKmlcX59RI9C4YzN8PgMgLyAoi916b5HA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } }, - "node_modules/@webassemblyjs/helper-numbers": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", - "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", - "peer": true, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", "dependencies": { - "@webassemblyjs/floating-point-hex-parser": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", - "@xtuc/long": "4.2.2" + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" } }, - "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", - "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", - "peer": true - }, - "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", - "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", - "peer": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6" + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "engines": { + "node": ">= 8" } }, - "node_modules/@webassemblyjs/ieee754": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", - "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", - "peer": true, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", "dependencies": { - "@xtuc/ieee754": "^1.2.0" + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" } }, - "node_modules/@webassemblyjs/leb128": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", - "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", - "peer": true, + "node_modules/@pkgr/utils": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@pkgr/utils/-/utils-2.4.2.tgz", + "integrity": "sha512-POgTXhjrTfbTV63DiFXav4lBHiICLKKwDeaKn9Nphwj7WH6m0hMMCaJkMyRWjgtPFyRKRVoMXXjczsTQRDEhYw==", "dependencies": { - "@xtuc/long": "4.2.2" + "cross-spawn": "^7.0.3", + "fast-glob": "^3.3.0", + "is-glob": "^4.0.3", + "open": "^9.1.0", + "picocolors": "^1.0.0", + "tslib": "^2.6.0" + }, + "engines": { + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts" } }, - "node_modules/@webassemblyjs/utf8": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", - "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", - "peer": true - }, - "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", - "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", - "peer": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/helper-wasm-section": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-opt": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6", - "@webassemblyjs/wast-printer": "1.11.6" + "node_modules/@rescript/react": { + "version": "0.12.0-alpha.3", + "resolved": "https://registry.npmjs.org/@rescript/react/-/react-0.12.0-alpha.3.tgz", + "integrity": "sha512-/S1uj77RPDzuLg3Ofb8KKU3Vppqy97/vF6bBdBZ+saIO9bpHVlsmmJyJG8QXjGZKE+aMynrrR3Tj4+9+5OzLdw==", + "peerDependencies": { + "react": ">=18.0.0", + "react-dom": ">=18.0.0" } }, - "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", - "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", - "peer": true, + "node_modules/@rescript/tools": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@rescript/tools/-/tools-0.3.0.tgz", + "integrity": "sha512-h4m2lnmkz7CqkJxNQ+/hnGDnq28CmF+EdWQ/FnbLzY0TABDLYYoRUZ4UfyvqzX7OJbK0QRPSz2HKF0DyEWOczw==", "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" + "rescript": "^11.0.0-rc.7" + }, + "bin": { + "rescript-tools": "src/Cli.bs.js" + }, + "engines": { + "node": "*" } }, - "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", - "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", - "peer": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6" - } + "node_modules/@rushstack/eslint-patch": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.3.2.tgz", + "integrity": "sha512-V+MvGwaHH03hYhY+k6Ef/xKd6RYlc4q8WBx+2ANmipHJcKuktNcI/NgEsJgdSUF6Lw32njT6OnrRsKYCdgHjYw==" }, - "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", - "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", - "peer": true, + "node_modules/@swc/helpers": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.1.tgz", + "integrity": "sha512-sJ902EfIzn1Fa+qYmjdQqh8tPsoxyBz+8yBKC2HKUxyezKJFwPGOn7pv4WY6QuQW//ySQi5lJjA/ZT9sNWWNTg==", "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" + "tslib": "^2.4.0" } }, - "node_modules/@webassemblyjs/wast-printer": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", - "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", - "peer": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@xtuc/long": "4.2.2" + "node_modules/@trysound/sax": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", + "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", + "dev": true, + "engines": { + "node": ">=10.13.0" } }, - "node_modules/@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "peer": true - }, - "node_modules/@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", - "peer": true - }, - "node_modules/accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "node_modules/@types/acorn": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@types/acorn/-/acorn-4.0.6.tgz", + "integrity": "sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==", "dependencies": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" - }, - "engines": { - "node": ">= 0.6" + "@types/estree": "*" } }, - "node_modules/acorn": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", - "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" + "node_modules/@types/debug": { + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.8.tgz", + "integrity": "sha512-/vPO1EPOs306Cvhwv7KfVfYvOJqA/S/AXjaHQiJboCZzcNDb+TIJFN9/2C9DZ//ijSKWioNyUxD792QmDJ+HKQ==", + "dependencies": { + "@types/ms": "*" } }, - "node_modules/acorn-import-assertions": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", - "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", + "node_modules/@types/eslint": { + "version": "8.44.1", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.1.tgz", + "integrity": "sha512-XpNDc4Z5Tb4x+SW1MriMVeIsMoONHCkWFMkR/aPJbzEsxqHy+4Glu/BqTdPrApfDeMaXbtNh6bseNgl5KaWrSg==", "peer": true, - "peerDependencies": { - "acorn": "^8" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "@types/estree": "*", + "@types/json-schema": "*" } }, - "node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "node_modules/@types/eslint-scope": { + "version": "3.7.4", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", + "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", "peer": true, - "peerDependencies": { - "ajv": "^6.9.1" + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" } }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "engines": { - "node": ">=8" - } + "node_modules/@types/estree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz", + "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==" }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/@types/estree-jsx": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.3.tgz", + "integrity": "sha512-pvQ+TKeRHeiUGRhvYwRrQ/ISnohKkSJR14fT2yqyZ4e9K5vqc7hrtY2Y1Dw0ZwAzQ6DQsxsaCUuSIIi8v0Cq6w==", "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "@types/estree": "*" } }, - "node_modules/any-promise": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", - "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", - "dev": true - }, - "node_modules/anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "dev": true, + "node_modules/@types/hast": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.5.tgz", + "integrity": "sha512-SvQi0L/lNpThgPoleH53cdjB3y9zpLlVjRbqB3rH8hx1jiRSBGAhyjV3H+URFjNVRqt2EdYNrbZE5IsGlNfpRg==", "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" + "@types/unist": "^2" } }, - "node_modules/arg": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", - "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", - "dev": true + "node_modules/@types/js-yaml": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-4.0.5.tgz", + "integrity": "sha512-FhpRzf927MNQdRZP0J5DLIdTXhjLYzeUTmLAu69mnVksLH9CJY3IuSeEgbKUki7GQZm0WqDkGzyxju2EZGD2wA==" }, - "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + "node_modules/@types/json-schema": { + "version": "7.0.12", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", + "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==", + "peer": true }, - "node_modules/aria-query": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", - "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", + "node_modules/@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==" + }, + "node_modules/@types/mdast": { + "version": "3.0.12", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.12.tgz", + "integrity": "sha512-DT+iNIRNX884cx0/Q1ja7NyUPpZuv0KPyL5rGNxm1WC1OtHstl7n4Jb7nk+xacNShQMbczJjt8uFzznpp6kYBg==", "dependencies": { - "dequal": "^2.0.3" + "@types/unist": "^2" } }, - "node_modules/array-buffer-byte-length": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", - "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", + "node_modules/@types/mdx": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.5.tgz", + "integrity": "sha512-76CqzuD6Q7LC+AtbPqrvD9AqsN0k8bsYo2bM2J8pmNldP1aIPAbzUQ7QbobyXL4eLr1wK5x8FZFe8eF/ubRuBg==" + }, + "node_modules/@types/ms": { + "version": "0.7.31", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.31.tgz", + "integrity": "sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==" + }, + "node_modules/@types/node": { + "version": "20.4.6", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.4.6.tgz", + "integrity": "sha512-q0RkvNgMweWWIvSMDiXhflGUKMdIxBo2M2tYM/0kEGDueQByFzK4KZAgu5YHGFNxziTlppNpTIBcqHQAxlfHdA==", + "peer": true + }, + "node_modules/@types/prop-types": { + "version": "15.7.5", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", + "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==" + }, + "node_modules/@types/react": { + "version": "18.2.18", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.18.tgz", + "integrity": "sha512-da4NTSeBv/P34xoZPhtcLkmZuJ+oYaCxHmyHzwaDQo9RQPBeXV+06gEk2FpqEcsX9XrnNLvRpVh6bdavDSjtiQ==", "dependencies": { - "call-bind": "^1.0.2", - "is-array-buffer": "^3.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" } }, - "node_modules/array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" + "node_modules/@types/scheduler": { + "version": "0.16.3", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.3.tgz", + "integrity": "sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==" }, - "node_modules/array-includes": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz", - "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", + "node_modules/@types/unist": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.7.tgz", + "integrity": "sha512-cputDpIbFgLUaGQn6Vqg3/YsJwxUwHLO13v3i5ouxT4lat0khip9AEWxtERujXV9wxIB1EyF97BSJFt6vpdI8g==" + }, + "node_modules/@typescript-eslint/parser": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", + "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", - "is-string": "^1.0.7" + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "debug": "^4.3.4" }, "engines": { - "node": ">= 0.4" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "node_modules/@typescript-eslint/parser/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, "engines": { - "node": ">=8" + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "node_modules/array.prototype.findlastindex": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.2.tgz", - "integrity": "sha512-tb5thFFlUcp7NdNF6/MpDk/1r/4awWG1FIz3YqDf+/zJSTezBb+/5WViH41obXULHVpDzoiCLpJ/ZO9YbJMsdw==", + "node_modules/@typescript-eslint/parser/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", + "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0", - "get-intrinsic": "^1.1.3" + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" }, "engines": { - "node": ">= 0.4" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/array.prototype.flat": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz", - "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0" - }, + "node_modules/@typescript-eslint/types": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", + "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", "engines": { - "node": ">= 0.4" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/array.prototype.flatmap": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz", - "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==", + "node_modules/@typescript-eslint/typescript-estree": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", + "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0" + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" }, "engines": { - "node": ">= 0.4" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/array.prototype.tosorted": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz", - "integrity": "sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==", + "node_modules/@typescript-eslint/typescript-estree/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0", - "get-intrinsic": "^1.1.3" + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "node_modules/arraybuffer.prototype.slice": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.1.tgz", - "integrity": "sha512-09x0ZWFEjj4WD8PDbykUwo3t9arLn8NIzmmYEJFpYekOAQjpkGSyrQhNoRTcwwcFRu+ycWF78QZ63oWTqSjBcw==", + "node_modules/@typescript-eslint/typescript-estree/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", + "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", "dependencies": { - "array-buffer-byte-length": "^1.0.0", - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "get-intrinsic": "^1.2.1", - "is-array-buffer": "^3.0.2", - "is-shared-array-buffer": "^1.0.2" + "@typescript-eslint/types": "5.62.0", + "eslint-visitor-keys": "^3.3.0" }, "engines": { - "node": ">= 0.4" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/asn1": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", - "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", + "node_modules/@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==" + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", + "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", + "peer": true, "dependencies": { - "safer-buffer": "~2.1.0" + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" } }, - "node_modules/assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", - "engines": { - "node": ">=0.8" - } + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", + "peer": true }, - "node_modules/ast-types-flow": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", - "integrity": "sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==" + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", + "peer": true }, - "node_modules/astring": { - "version": "1.8.6", - "resolved": "https://registry.npmjs.org/astring/-/astring-1.8.6.tgz", - "integrity": "sha512-ISvCdHdlTDlH5IpxQJIex7BWBywFWgjJSVdwst+/iQCoEYnyOaQ95+X1JGshuBjGp6nxKUy1jMgE3zPqN7fQdg==", - "bin": { - "astring": "bin/astring" + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", + "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==", + "peer": true + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", + "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", + "peer": true, + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@xtuc/long": "4.2.2" } }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", + "peer": true }, - "node_modules/at-least-node": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", - "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", - "dev": true, - "engines": { - "node": ">= 4.0.0" + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", + "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6" } }, - "node_modules/autoprefixer": { - "version": "10.4.14", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.14.tgz", - "integrity": "sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/autoprefixer" - } - ], + "node_modules/@webassemblyjs/ieee754": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", + "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "peer": true, "dependencies": { - "browserslist": "^4.21.5", - "caniuse-lite": "^1.0.30001464", - "fraction.js": "^4.2.0", - "normalize-range": "^0.1.2", - "picocolors": "^1.0.0", - "postcss-value-parser": "^4.2.0" - }, - "bin": { - "autoprefixer": "bin/autoprefixer" - }, - "engines": { - "node": "^10 || ^12 || >=14" - }, - "peerDependencies": { - "postcss": "^8.1.0" + "@xtuc/ieee754": "^1.2.0" } }, - "node_modules/available-typed-arrays": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node_modules/@webassemblyjs/leb128": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", + "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "peer": true, + "dependencies": { + "@xtuc/long": "4.2.2" } }, - "node_modules/aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", - "engines": { - "node": "*" + "node_modules/@webassemblyjs/utf8": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", + "peer": true + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", + "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/helper-wasm-section": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-opt": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6", + "@webassemblyjs/wast-printer": "1.11.6" } }, - "node_modules/aws4": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz", - "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==" + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", + "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } }, - "node_modules/axe-core": { - "version": "4.7.2", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.7.2.tgz", - "integrity": "sha512-zIURGIS1E1Q4pcrMjp+nnEh+16G56eG/MUllJH8yEvw7asDo7Ac9uhC9KIH5jzpITueEZolfYglnCGIuSBz39g==", - "engines": { - "node": ">=4" + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", + "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6" } }, - "node_modules/axobject-query": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.2.1.tgz", - "integrity": "sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==", + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", + "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", + "peer": true, "dependencies": { - "dequal": "^2.0.3" + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" } }, - "node_modules/bail": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/bail/-/bail-1.0.5.tgz", - "integrity": "sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", + "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@xtuc/long": "4.2.2" } }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "peer": true }, - "node_modules/batch": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==" + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "peer": true }, - "node_modules/bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", "dependencies": { - "tweetnacl": "^0.14.3" + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" } }, - "node_modules/big-integer": { - "version": "1.6.51", - "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.51.tgz", - "integrity": "sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==", + "node_modules/acorn": { + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", + "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", + "bin": { + "acorn": "bin/acorn" + }, "engines": { - "node": ">=0.6" + "node": ">=0.4.0" } }, - "node_modules/big.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", - "dev": true, - "engines": { - "node": "*" + "node_modules/acorn-import-assertions": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", + "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", + "peer": true, + "peerDependencies": { + "acorn": "^8" } }, - "node_modules/binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "dev": true, - "engines": { - "node": ">=8" + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/body-parser": { - "version": "1.20.1", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", - "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dependencies": { - "bytes": "3.1.2", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.11.0", - "raw-body": "2.5.1", - "type-is": "~1.6.18", - "unpipe": "1.0.0" + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "peer": true, + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" + "node": ">=8" } }, - "node_modules/body-parser/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dependencies": { - "ms": "2.0.0" + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/body-parser/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "node_modules/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", "dev": true }, - "node_modules/bplist-parser": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.2.0.tgz", - "integrity": "sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==", + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, "dependencies": { - "big-integer": "^1.6.44" + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" }, "engines": { - "node": ">= 5.10.0" + "node": ">= 8" } }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "dev": true }, - "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "node_modules/aria-query": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", + "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" + "dequal": "^2.0.3" } }, - "node_modules/browserslist": { - "version": "4.21.10", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.10.tgz", - "integrity": "sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], + "node_modules/array-buffer-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", + "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", "dependencies": { - "caniuse-lite": "^1.0.30001517", - "electron-to-chromium": "^1.4.477", - "node-releases": "^2.0.13", - "update-browserslist-db": "^1.0.11" - }, - "bin": { - "browserslist": "cli.js" + "call-bind": "^1.0.2", + "is-array-buffer": "^3.0.1" }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "peer": true + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" }, - "node_modules/bundle-name": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-3.0.0.tgz", - "integrity": "sha512-PKA4BeSvBpQKQ8iPOGCSiell+N8P+Tf1DlwqmYhpe2gAhKPHn8EYOxVT+ShuGmhg8lN8XiSlS80yiExKXrURlw==", + "node_modules/array-includes": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz", + "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", "dependencies": { - "run-applescript": "^5.0.0" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.3", + "is-string": "^1.0.7" }, "engines": { - "node": ">=12" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/busboy": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", - "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", - "dependencies": { - "streamsearch": "^1.1.0" - }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", "engines": { - "node": ">=10.16.0" + "node": ">=8" } }, - "node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "node_modules/array.prototype.findlastindex": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.2.tgz", + "integrity": "sha512-tb5thFFlUcp7NdNF6/MpDk/1r/4awWG1FIz3YqDf+/zJSTezBb+/5WViH41obXULHVpDzoiCLpJ/ZO9YbJMsdw==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0", + "get-intrinsic": "^1.1.3" + }, "engines": { - "node": ">= 0.8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "node_modules/array.prototype.flat": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz", + "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==", "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "peer": true, + "node_modules/array.prototype.flatmap": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz", + "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" + }, "engines": { - "node": ">=6" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/camelcase-css": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", - "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/caniuse-api": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", - "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", - "dev": true, + "node_modules/array.prototype.tosorted": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz", + "integrity": "sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==", "dependencies": { - "browserslist": "^4.0.0", - "caniuse-lite": "^1.0.0", - "lodash.memoize": "^4.1.2", - "lodash.uniq": "^4.5.0" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001518", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001518.tgz", - "integrity": "sha512-rup09/e3I0BKjncL+FesTayKtPrdwKhUufQFd3riFw1hHg8JmIFoInYfB102cFcY/pPgGmdyl/iy+jgiDi2vdA==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ] - }, - "node_modules/caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" - }, - "node_modules/ccount": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", - "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0", + "get-intrinsic": "^1.1.3" } }, - "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.1.tgz", + "integrity": "sha512-09x0ZWFEjj4WD8PDbykUwo3t9arLn8NIzmmYEJFpYekOAQjpkGSyrQhNoRTcwwcFRu+ycWF78QZ63oWTqSjBcw==", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "array-buffer-byte-length": "^1.0.0", + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "get-intrinsic": "^1.2.1", + "is-array-buffer": "^3.0.2", + "is-shared-array-buffer": "^1.0.2" }, "engines": { - "node": ">=10" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/character-entities": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", - "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "node_modules/asn1": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", + "dependencies": { + "safer-buffer": "~2.1.0" } }, - "node_modules/character-entities-html4": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", - "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", + "engines": { + "node": ">=0.8" } }, - "node_modules/character-entities-legacy": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", - "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "node_modules/ast-types-flow": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", + "integrity": "sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==" + }, + "node_modules/astring": { + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/astring/-/astring-1.8.6.tgz", + "integrity": "sha512-ISvCdHdlTDlH5IpxQJIex7BWBywFWgjJSVdwst+/iQCoEYnyOaQ95+X1JGshuBjGp6nxKUy1jMgE3zPqN7fQdg==", + "bin": { + "astring": "bin/astring" } }, - "node_modules/character-reference-invalid": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz", - "integrity": "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "node_modules/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" } }, - "node_modules/chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "node_modules/autoprefixer": { + "version": "10.4.14", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.14.tgz", + "integrity": "sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==", "dev": true, "funding": [ { - "type": "individual", - "url": "https://paulmillr.com/funding/" + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" } ], "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" + "browserslist": "^4.21.5", + "caniuse-lite": "^1.0.30001464", + "fraction.js": "^4.2.0", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" }, "engines": { - "node": ">= 8.10.0" + "node": "^10 || ^12 || >=14" }, - "optionalDependencies": { - "fsevents": "~2.3.2" + "peerDependencies": { + "postcss": "^8.1.0" } }, - "node_modules/chokidar/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.1" - }, + "node_modules/available-typed-arrays": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", "engines": { - "node": ">= 6" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/chrome-trace-event": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", - "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", - "peer": true, + "node_modules/aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", "engines": { - "node": ">=6.0" + "node": "*" } }, - "node_modules/client-only": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", - "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==" + "node_modules/aws4": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz", + "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==" }, - "node_modules/cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dev": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" + "node_modules/axe-core": { + "version": "4.7.2", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.7.2.tgz", + "integrity": "sha512-zIURGIS1E1Q4pcrMjp+nnEh+16G56eG/MUllJH8yEvw7asDo7Ac9uhC9KIH5jzpITueEZolfYglnCGIuSBz39g==", + "engines": { + "node": ">=4" } }, - "node_modules/codemirror": { - "version": "5.65.14", - "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.65.14.tgz", - "integrity": "sha512-VSNugIBDGt0OU9gDjeVr6fNkoFQznrWEUdAApMlXQNbfE8gGO19776D6MwSqF/V/w/sDwonsQ0z7KmmI9guScg==" - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/axobject-query": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.2.1.tgz", + "integrity": "sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==", "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" + "dequal": "^2.0.3" } }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "node_modules/bail": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", + "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } }, - "node_modules/colord": { - "version": "2.9.3", - "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", - "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==", - "dev": true + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, - "node_modules/combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "node_modules/batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==" + }, + "node_modules/bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", "dependencies": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" + "tweetnacl": "^0.14.3" } }, - "node_modules/comma-separated-tokens": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", - "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "node_modules/big-integer": { + "version": "1.6.51", + "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.51.tgz", + "integrity": "sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==", + "engines": { + "node": ">=0.6" } }, - "node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" - }, - "node_modules/content-disposition": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", - "dependencies": { - "safe-buffer": "5.2.1" - }, + "node_modules/big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true, "engines": { - "node": ">= 0.6" + "node": "*" } }, - "node_modules/content-type": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", - "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true, "engines": { - "node": ">= 0.6" + "node": ">=8" } }, - "node_modules/cookie": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", - "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "node_modules/body-parser": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", + "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, "engines": { - "node": ">= 0.6" + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" } }, - "node_modules/cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" + "node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } }, - "node_modules/core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==" + "node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "dev": true + }, + "node_modules/bplist-parser": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.2.0.tgz", + "integrity": "sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==", "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" + "big-integer": "^1.6.44" }, "engines": { - "node": ">= 8" - } - }, - "node_modules/css-declaration-sorter": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.4.1.tgz", - "integrity": "sha512-rtdthzxKuyq6IzqX6jEcIzQF/YqccluefyCYheovBOLhFT/drQA9zj/UbRAa9J7C0o6EG6u3E6g+vKkay7/k3g==", - "dev": true, - "engines": { - "node": "^10 || ^12 || >=14" - }, - "peerDependencies": { - "postcss": "^8.0.9" + "node": ">= 5.10.0" } }, - "node_modules/css-select": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", - "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", - "dev": true, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^6.1.0", - "domhandler": "^5.0.2", - "domutils": "^3.0.1", - "nth-check": "^2.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/css-tree": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", - "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", - "dev": true, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "dependencies": { - "mdn-data": "2.0.30", - "source-map-js": "^1.0.1" + "fill-range": "^7.0.1" }, "engines": { - "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + "node": ">=8" } }, - "node_modules/css-what": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", - "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", - "dev": true, - "engines": { - "node": ">= 6" + "node_modules/browserslist": { + "version": "4.21.10", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.10.tgz", + "integrity": "sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001517", + "electron-to-chromium": "^1.4.477", + "node-releases": "^2.0.13", + "update-browserslist-db": "^1.0.11" }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "dev": true, "bin": { - "cssesc": "bin/cssesc" + "browserslist": "cli.js" }, "engines": { - "node": ">=4" + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, - "node_modules/cssnano": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-6.0.1.tgz", - "integrity": "sha512-fVO1JdJ0LSdIGJq68eIxOqFpIJrZqXUsBt8fkrBcztCQqAjQD51OhZp7tc0ImcbwXD4k7ny84QTV90nZhmqbkg==", - "dev": true, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "peer": true + }, + "node_modules/bundle-name": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-3.0.0.tgz", + "integrity": "sha512-PKA4BeSvBpQKQ8iPOGCSiell+N8P+Tf1DlwqmYhpe2gAhKPHn8EYOxVT+ShuGmhg8lN8XiSlS80yiExKXrURlw==", "dependencies": { - "cssnano-preset-default": "^6.0.1", - "lilconfig": "^2.1.0" + "run-applescript": "^5.0.0" }, "engines": { - "node": "^14 || ^16 || >=18.0" + "node": ">=12" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/cssnano" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/cssnano-preset-default": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-6.0.1.tgz", - "integrity": "sha512-7VzyFZ5zEB1+l1nToKyrRkuaJIx0zi/1npjvZfbBwbtNTzhLtlvYraK/7/uqmX2Wb2aQtd983uuGw79jAjLSuQ==", - "dev": true, + "node_modules/busboy": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", + "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", "dependencies": { - "css-declaration-sorter": "^6.3.1", - "cssnano-utils": "^4.0.0", - "postcss-calc": "^9.0.0", - "postcss-colormin": "^6.0.0", - "postcss-convert-values": "^6.0.0", - "postcss-discard-comments": "^6.0.0", - "postcss-discard-duplicates": "^6.0.0", - "postcss-discard-empty": "^6.0.0", - "postcss-discard-overridden": "^6.0.0", - "postcss-merge-longhand": "^6.0.0", - "postcss-merge-rules": "^6.0.1", - "postcss-minify-font-values": "^6.0.0", - "postcss-minify-gradients": "^6.0.0", - "postcss-minify-params": "^6.0.0", - "postcss-minify-selectors": "^6.0.0", - "postcss-normalize-charset": "^6.0.0", - "postcss-normalize-display-values": "^6.0.0", - "postcss-normalize-positions": "^6.0.0", - "postcss-normalize-repeat-style": "^6.0.0", - "postcss-normalize-string": "^6.0.0", - "postcss-normalize-timing-functions": "^6.0.0", - "postcss-normalize-unicode": "^6.0.0", - "postcss-normalize-url": "^6.0.0", - "postcss-normalize-whitespace": "^6.0.0", - "postcss-ordered-values": "^6.0.0", - "postcss-reduce-initial": "^6.0.0", - "postcss-reduce-transforms": "^6.0.0", - "postcss-svgo": "^6.0.0", - "postcss-unique-selectors": "^6.0.0" + "streamsearch": "^1.1.0" }, "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">=10.16.0" } }, - "node_modules/cssnano-utils": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-4.0.0.tgz", - "integrity": "sha512-Z39TLP+1E0KUcd7LGyF4qMfu8ZufI0rDzhdyAMsa/8UyNUU8wpS0fhdBxbQbv32r64ea00h4878gommRVg2BHw==", - "dev": true, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">= 0.8" } }, - "node_modules/csso": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz", - "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==", - "dev": true, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", "dependencies": { - "css-tree": "~2.2.0" + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" }, - "engines": { - "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", - "npm": ">=7.0.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/csso/node_modules/css-tree": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz", - "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==", - "dev": true, - "dependencies": { - "mdn-data": "2.0.28", - "source-map-js": "^1.0.1" - }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "peer": true, "engines": { - "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", - "npm": ">=7.0.0" + "node": ">=6" } }, - "node_modules/csso/node_modules/mdn-data": { - "version": "2.0.28", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz", - "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==", - "dev": true - }, - "node_modules/csstype": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", - "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" - }, - "node_modules/damerau-levenshtein": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", - "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==" - }, - "node_modules/dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", - "dependencies": { - "assert-plus": "^1.0.0" - }, + "node_modules/camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "dev": true, "engines": { - "node": ">=0.10" + "node": ">= 6" } }, - "node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "node_modules/caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", + "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "dev": true, "dependencies": { - "ms": "^2.1.1" + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" } }, - "node_modules/decode-named-character-reference": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz", - "integrity": "sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==", - "dependencies": { - "character-entities": "^2.0.0" - }, + "node_modules/caniuse-lite": { + "version": "1.0.30001518", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001518.tgz", + "integrity": "sha512-rup09/e3I0BKjncL+FesTayKtPrdwKhUufQFd3riFw1hHg8JmIFoInYfB102cFcY/pPgGmdyl/iy+jgiDi2vdA==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] + }, + "node_modules/caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" + }, + "node_modules/ccount": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", + "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "peer": true - }, - "node_modules/default-browser": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-4.0.0.tgz", - "integrity": "sha512-wX5pXO1+BrhMkSbROFsyxUm0i/cJEScyNhA4PPxc41ICuv05ZZB/MX28s8aZx6xjmatvebIapF6hLEKEcpneUA==", + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dependencies": { - "bundle-name": "^3.0.0", - "default-browser-id": "^3.0.0", - "execa": "^7.1.1", - "titleize": "^3.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=14.16" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/default-browser-id": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-3.0.0.tgz", - "integrity": "sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA==", - "dependencies": { - "bplist-parser": "^0.2.0", - "untildify": "^4.0.0" - }, - "engines": { - "node": ">=12" - }, + "node_modules/character-entities": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", + "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/define-lazy-prop": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", - "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", - "engines": { - "node": ">=12" - }, + "node_modules/character-entities-html4": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", + "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/define-properties": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", - "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", - "dependencies": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, + "node_modules/character-entities-legacy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", + "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", "funding": { - "url": "https://github.com/sponsors/ljharb" + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", - "engines": { - "node": ">=0.4.0" + "node_modules/character-reference-invalid": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz", + "integrity": "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/dependency-graph": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.9.0.tgz", - "integrity": "sha512-9YLIBURXj4DJMFALxXw9K3Y3rwb5Fk0X5/8ipCzaN84+gKxoHK43tVKRNakCQbiEx07E8Uwhuq21BpUagFhZ8w==", + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, "engines": { - "node": ">= 0.6.0" + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" } }, - "node_modules/dequal": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", - "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, "engines": { - "node": ">=6" + "node": ">= 6" } }, - "node_modules/destroy": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "node_modules/chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "peer": true, "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" + "node": ">=6.0" } }, - "node_modules/didyoumean": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", - "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", - "dev": true + "node_modules/client-only": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", + "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==" }, - "node_modules/diff": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz", - "integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==", - "engines": { - "node": ">=0.3.1" + "node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" } }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "node_modules/codemirror": { + "version": "5.65.14", + "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.65.14.tgz", + "integrity": "sha512-VSNugIBDGt0OU9gDjeVr6fNkoFQznrWEUdAApMlXQNbfE8gGO19776D6MwSqF/V/w/sDwonsQ0z7KmmI9guScg==" + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dependencies": { - "path-type": "^4.0.0" + "color-name": "~1.1.4" }, "engines": { - "node": ">=8" + "node": ">=7.0.0" } }, - "node_modules/dlv": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", - "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/colord": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", + "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==", "dev": true }, - "node_modules/docson": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/docson/-/docson-2.1.0.tgz", - "integrity": "sha512-0NbHZPfyMaEIIDQzhhRN9EmAK9sBLOqLt7B8dCjGyl2ytUpbAgmixpVMgpg1rQK04Or5fuEkQsHQRehdEF2BTA==", + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", "dependencies": { - "commander": "^2.15.1", - "debug": "^3.1.0", - "express": "^4.16.3", - "handlebars": "^4.0.11", - "jquery": "^2.2.4", - "jsonpointer": "^4.0.1", - "jsonpointer.js": "^0.4.0", - "lodash": "^4.17.10", - "marked": "^0.3.14", - "serve-index": "^1.9.1", - "traverse": "^0.6.6", - "urijs": "^1.19.1" + "delayed-stream": "~1.0.0" }, - "bin": { - "docson": "lib/docson-cli.js" + "engines": { + "node": ">= 0.8" } }, - "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "peer": true, + "node_modules/comma-separated-tokens": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", + "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", "dependencies": { - "esutils": "^2.0.2" + "safe-buffer": "5.2.1" }, "engines": { - "node": ">=6.0.0" + "node": ">= 0.6" } }, - "node_modules/dom-serializer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", - "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", - "dev": true, - "dependencies": { - "domelementtype": "^2.3.0", - "domhandler": "^5.0.2", - "entities": "^4.2.0" - }, - "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "engines": { + "node": ">= 0.6" } }, - "node_modules/domelementtype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ] + "node_modules/cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "engines": { + "node": ">= 0.6" + } }, - "node_modules/domhandler": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", - "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", - "dev": true, + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" + }, + "node_modules/core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==" + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", "dependencies": { - "domelementtype": "^2.3.0" + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" }, "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" + "node": ">= 8" } }, - "node_modules/domutils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", - "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", + "node_modules/css-declaration-sorter": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.4.1.tgz", + "integrity": "sha512-rtdthzxKuyq6IzqX6jEcIzQF/YqccluefyCYheovBOLhFT/drQA9zj/UbRAa9J7C0o6EG6u3E6g+vKkay7/k3g==", "dev": true, - "dependencies": { - "dom-serializer": "^2.0.0", - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3" + "engines": { + "node": "^10 || ^12 || >=14" }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" + "peerDependencies": { + "postcss": "^8.0.9" } }, - "node_modules/ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", + "node_modules/css-select": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", + "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", + "dev": true, "dependencies": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" } }, - "node_modules/ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" - }, - "node_modules/electron-to-chromium": { - "version": "1.4.482", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.482.tgz", - "integrity": "sha512-h+UqpfmEr1Qkk0zp7ej/jid7CXoq4m4QzW6wNTb0ELJ/BZCpA4wgUylBIMGCe621tnr4l5VmoHjdoSx2lbnNJA==" - }, - "node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" - }, - "node_modules/emojis-list": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "node_modules/css-tree": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", + "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", "dev": true, + "dependencies": { + "mdn-data": "2.0.30", + "source-map-js": "^1.0.1" + }, "engines": { - "node": ">= 4" + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" } }, - "node_modules/encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "node_modules/css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "dev": true, "engines": { - "node": ">= 0.8" + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" } }, - "node_modules/enhanced-resolve": { - "version": "5.15.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", - "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", - "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true, + "bin": { + "cssesc": "bin/cssesc" }, "engines": { - "node": ">=10.13.0" + "node": ">=4" } }, - "node_modules/entities": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "node_modules/cssnano": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-6.0.1.tgz", + "integrity": "sha512-fVO1JdJ0LSdIGJq68eIxOqFpIJrZqXUsBt8fkrBcztCQqAjQD51OhZp7tc0ImcbwXD4k7ny84QTV90nZhmqbkg==", "dev": true, + "dependencies": { + "cssnano-preset-default": "^6.0.1", + "lilconfig": "^2.1.0" + }, "engines": { - "node": ">=0.12" + "node": "^14 || ^16 || >=18.0" }, "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" + "type": "opencollective", + "url": "https://opencollective.com/cssnano" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/es-abstract": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.1.tgz", - "integrity": "sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw==", + "node_modules/cssnano-preset-default": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-6.0.1.tgz", + "integrity": "sha512-7VzyFZ5zEB1+l1nToKyrRkuaJIx0zi/1npjvZfbBwbtNTzhLtlvYraK/7/uqmX2Wb2aQtd983uuGw79jAjLSuQ==", + "dev": true, "dependencies": { - "array-buffer-byte-length": "^1.0.0", - "arraybuffer.prototype.slice": "^1.0.1", - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "es-set-tostringtag": "^2.0.1", - "es-to-primitive": "^1.2.1", - "function.prototype.name": "^1.1.5", - "get-intrinsic": "^1.2.1", - "get-symbol-description": "^1.0.0", - "globalthis": "^1.0.3", - "gopd": "^1.0.1", - "has": "^1.0.3", - "has-property-descriptors": "^1.0.0", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.5", - "is-array-buffer": "^3.0.2", - "is-callable": "^1.2.7", - "is-negative-zero": "^2.0.2", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", - "is-string": "^1.0.7", - "is-typed-array": "^1.1.10", - "is-weakref": "^1.0.2", - "object-inspect": "^1.12.3", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.5.0", - "safe-array-concat": "^1.0.0", - "safe-regex-test": "^1.0.0", - "string.prototype.trim": "^1.2.7", - "string.prototype.trimend": "^1.0.6", - "string.prototype.trimstart": "^1.0.6", - "typed-array-buffer": "^1.0.0", - "typed-array-byte-length": "^1.0.0", - "typed-array-byte-offset": "^1.0.0", - "typed-array-length": "^1.0.4", - "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.10" + "css-declaration-sorter": "^6.3.1", + "cssnano-utils": "^4.0.0", + "postcss-calc": "^9.0.0", + "postcss-colormin": "^6.0.0", + "postcss-convert-values": "^6.0.0", + "postcss-discard-comments": "^6.0.0", + "postcss-discard-duplicates": "^6.0.0", + "postcss-discard-empty": "^6.0.0", + "postcss-discard-overridden": "^6.0.0", + "postcss-merge-longhand": "^6.0.0", + "postcss-merge-rules": "^6.0.1", + "postcss-minify-font-values": "^6.0.0", + "postcss-minify-gradients": "^6.0.0", + "postcss-minify-params": "^6.0.0", + "postcss-minify-selectors": "^6.0.0", + "postcss-normalize-charset": "^6.0.0", + "postcss-normalize-display-values": "^6.0.0", + "postcss-normalize-positions": "^6.0.0", + "postcss-normalize-repeat-style": "^6.0.0", + "postcss-normalize-string": "^6.0.0", + "postcss-normalize-timing-functions": "^6.0.0", + "postcss-normalize-unicode": "^6.0.0", + "postcss-normalize-url": "^6.0.0", + "postcss-normalize-whitespace": "^6.0.0", + "postcss-ordered-values": "^6.0.0", + "postcss-reduce-initial": "^6.0.0", + "postcss-reduce-transforms": "^6.0.0", + "postcss-svgo": "^6.0.0", + "postcss-unique-selectors": "^6.0.0" }, "engines": { - "node": ">= 0.4" + "node": "^14 || ^16 || >=18.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/es-module-lexer": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.0.tgz", - "integrity": "sha512-vZK7T0N2CBmBOixhmjdqx2gWVbFZ4DXZ/NyRMZVlJXPa7CyFS+/a4QQsDGDQy9ZfEzxFuNEsMLeQJnKP2p5/JA==", - "peer": true + "node_modules/cssnano-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-4.0.0.tgz", + "integrity": "sha512-Z39TLP+1E0KUcd7LGyF4qMfu8ZufI0rDzhdyAMsa/8UyNUU8wpS0fhdBxbQbv32r64ea00h4878gommRVg2BHw==", + "dev": true, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } }, - "node_modules/es-set-tostringtag": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", - "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", + "node_modules/csso": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz", + "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==", + "dev": true, "dependencies": { - "get-intrinsic": "^1.1.3", - "has": "^1.0.3", - "has-tostringtag": "^1.0.0" + "css-tree": "~2.2.0" }, "engines": { - "node": ">= 0.4" + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" } }, - "node_modules/es-shim-unscopables": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", - "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", + "node_modules/csso/node_modules/css-tree": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz", + "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==", + "dev": true, "dependencies": { - "has": "^1.0.3" + "mdn-data": "2.0.28", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" } }, - "node_modules/es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "node_modules/csso/node_modules/mdn-data": { + "version": "2.0.28", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz", + "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==", + "dev": true + }, + "node_modules/csstype": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", + "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" + }, + "node_modules/damerau-levenshtein": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", + "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==" + }, + "node_modules/dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", "dependencies": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" + "assert-plus": "^1.0.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=0.10" } }, - "node_modules/esbuild": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.16.17.tgz", - "integrity": "sha512-G8LEkV0XzDMNwXKgM0Jwu3nY3lSTwSGY6XbxM9cr9+s0T/qSV1q1JVPBGzm3dcjhCic9+emZDmMffkwgPeOeLg==", - "dev": true, - "hasInstallScript": true, - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=12" - }, - "optionalDependencies": { - "@esbuild/android-arm": "0.16.17", - "@esbuild/android-arm64": "0.16.17", - "@esbuild/android-x64": "0.16.17", - "@esbuild/darwin-arm64": "0.16.17", - "@esbuild/darwin-x64": "0.16.17", - "@esbuild/freebsd-arm64": "0.16.17", - "@esbuild/freebsd-x64": "0.16.17", - "@esbuild/linux-arm": "0.16.17", - "@esbuild/linux-arm64": "0.16.17", - "@esbuild/linux-ia32": "0.16.17", - "@esbuild/linux-loong64": "0.16.17", - "@esbuild/linux-mips64el": "0.16.17", - "@esbuild/linux-ppc64": "0.16.17", - "@esbuild/linux-riscv64": "0.16.17", - "@esbuild/linux-s390x": "0.16.17", - "@esbuild/linux-x64": "0.16.17", - "@esbuild/netbsd-x64": "0.16.17", - "@esbuild/openbsd-x64": "0.16.17", - "@esbuild/sunos-x64": "0.16.17", - "@esbuild/win32-arm64": "0.16.17", - "@esbuild/win32-ia32": "0.16.17", - "@esbuild/win32-x64": "0.16.17" + "node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dependencies": { + "ms": "^2.1.1" } }, - "node_modules/esbuild-loader": { - "version": "2.21.0", - "resolved": "https://registry.npmjs.org/esbuild-loader/-/esbuild-loader-2.21.0.tgz", - "integrity": "sha512-k7ijTkCT43YBSZ6+fBCW1Gin7s46RrJ0VQaM8qA7lq7W+OLsGgtLyFV8470FzYi/4TeDexniTBTPTwZUnXXR5g==", - "dev": true, + "node_modules/decode-named-character-reference": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz", + "integrity": "sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==", "dependencies": { - "esbuild": "^0.16.17", - "joycon": "^3.0.1", - "json5": "^2.2.0", - "loader-utils": "^2.0.0", - "tapable": "^2.2.0", - "webpack-sources": "^1.4.3" + "character-entities": "^2.0.0" }, "funding": { - "url": "https://github.com/privatenumber/esbuild-loader?sponsor=1" - }, - "peerDependencies": { - "webpack": "^4.40.0 || ^5.0.0" - } - }, - "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "engines": { - "node": ">=6" + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "peer": true }, - "node_modules/escape-string-regexp": { + "node_modules/default-browser": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "peer": true, + "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-4.0.0.tgz", + "integrity": "sha512-wX5pXO1+BrhMkSbROFsyxUm0i/cJEScyNhA4PPxc41ICuv05ZZB/MX28s8aZx6xjmatvebIapF6hLEKEcpneUA==", + "dependencies": { + "bundle-name": "^3.0.0", + "default-browser-id": "^3.0.0", + "execa": "^7.1.1", + "titleize": "^3.0.0" + }, "engines": { - "node": ">=10" + "node": ">=14.16" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint": { - "version": "8.46.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.46.0.tgz", - "integrity": "sha512-cIO74PvbW0qU8e0mIvk5IV3ToWdCq5FYG6gWPHHkx6gNdjlbAYvtfHmlCMXxjcoVaIdwy/IAt3+mDkZkfvb2Dg==", - "peer": true, + "node_modules/default-browser-id": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-3.0.0.tgz", + "integrity": "sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA==", "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.1", - "@eslint/js": "^8.46.0", - "@humanwhocodes/config-array": "^0.11.10", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "ajv": "^6.12.4", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.2", - "eslint-visitor-keys": "^3.4.2", - "espree": "^9.6.1", - "esquery": "^1.4.2", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" - }, - "bin": { - "eslint": "bin/eslint.js" + "bplist-parser": "^0.2.0", + "untildify": "^4.0.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=12" }, "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-config-next": { - "version": "13.4.12", - "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-13.4.12.tgz", - "integrity": "sha512-ZF0r5vxKaVazyZH/37Au/XItiG7qUOBw+HaH3PeyXltIMwXorsn6bdrl0Nn9N5v5v9spc+6GM2ryjugbjF6X2g==", - "dependencies": { - "@next/eslint-plugin-next": "13.4.12", - "@rushstack/eslint-patch": "^1.1.3", - "@typescript-eslint/parser": "^5.42.0", - "eslint-import-resolver-node": "^0.3.6", - "eslint-import-resolver-typescript": "^3.5.2", - "eslint-plugin-import": "^2.26.0", - "eslint-plugin-jsx-a11y": "^6.5.1", - "eslint-plugin-react": "^7.31.7", - "eslint-plugin-react-hooks": "5.0.0-canary-7118f5dd7-20230705" - }, - "peerDependencies": { - "eslint": "^7.23.0 || ^8.0.0", - "typescript": ">=3.3.1" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/eslint-import-resolver-node": { - "version": "0.3.7", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz", - "integrity": "sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==", - "dependencies": { - "debug": "^3.2.7", - "is-core-module": "^2.11.0", - "resolve": "^1.22.1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint-import-resolver-typescript": { - "version": "3.5.5", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.5.5.tgz", - "integrity": "sha512-TdJqPHs2lW5J9Zpe17DZNQuDnox4xo2o+0tE7Pggain9Rbc19ik8kFtXdxZ250FVx2kF4vlt2RSf4qlUpG7bhw==", - "dependencies": { - "debug": "^4.3.4", - "enhanced-resolve": "^5.12.0", - "eslint-module-utils": "^2.7.4", - "get-tsconfig": "^4.5.0", - "globby": "^13.1.3", - "is-core-module": "^2.11.0", - "is-glob": "^4.0.3", - "synckit": "^0.8.5" - }, + "node_modules/define-lazy-prop": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", + "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", "engines": { - "node": "^14.18.0 || >=16.0.0" + "node": ">=12" }, "funding": { - "url": "https://opencollective.com/unts/projects/eslint-import-resolver-ts" - }, - "peerDependencies": { - "eslint": "*", - "eslint-plugin-import": "*" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint-import-resolver-typescript/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "node_modules/define-properties": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", + "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", "dependencies": { - "ms": "2.1.2" + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" }, "engines": { - "node": ">=6.0" + "node": ">= 0.4" }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint-import-resolver-typescript/node_modules/globby": { - "version": "13.2.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz", - "integrity": "sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==", - "dependencies": { - "dir-glob": "^3.0.1", - "fast-glob": "^3.3.0", - "ignore": "^5.2.4", - "merge2": "^1.4.1", - "slash": "^4.0.0" - }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.4.0" } }, - "node_modules/eslint-import-resolver-typescript/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/eslint-import-resolver-typescript/node_modules/slash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", - "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 0.8" } }, - "node_modules/eslint-module-utils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz", - "integrity": "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==", - "dependencies": { - "debug": "^3.2.7" - }, + "node_modules/dependency-graph": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.9.0.tgz", + "integrity": "sha512-9YLIBURXj4DJMFALxXw9K3Y3rwb5Fk0X5/8ipCzaN84+gKxoHK43tVKRNakCQbiEx07E8Uwhuq21BpUagFhZ8w==", + "dev": true, "engines": { - "node": ">=4" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - } + "node": ">= 0.6.0" } }, - "node_modules/eslint-plugin-import": { - "version": "2.28.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.28.0.tgz", - "integrity": "sha512-B8s/n+ZluN7sxj9eUf7/pRFERX0r5bnFA2dCaLHy2ZeaQEAz0k+ZZkFWRFHJAqxfxQDx6KLv9LeIki7cFdwW+Q==", - "dependencies": { - "array-includes": "^3.1.6", - "array.prototype.findlastindex": "^1.2.2", - "array.prototype.flat": "^1.3.1", - "array.prototype.flatmap": "^1.3.1", - "debug": "^3.2.7", - "doctrine": "^2.1.0", - "eslint-import-resolver-node": "^0.3.7", - "eslint-module-utils": "^2.8.0", - "has": "^1.0.3", - "is-core-module": "^2.12.1", - "is-glob": "^4.0.3", - "minimatch": "^3.1.2", - "object.fromentries": "^2.0.6", - "object.groupby": "^1.0.0", - "object.values": "^1.1.6", - "resolve": "^1.22.3", - "semver": "^6.3.1", - "tsconfig-paths": "^3.14.2" - }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" + "node": ">=6" } }, - "node_modules/eslint-plugin-import/node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dependencies": { - "esutils": "^2.0.2" - }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", "engines": { - "node": ">=0.10.0" + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" } }, - "node_modules/eslint-plugin-import/node_modules/resolve": { - "version": "1.22.3", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.3.tgz", - "integrity": "sha512-P8ur/gp/AmbEzjr729bZnLjXK5Z+4P0zhIJgBgzqRih7hL7BOukHGtSTA3ACMY467GRFz3duQsi0bDZdR7DKdw==", + "node_modules/devlop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", + "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==", "dependencies": { - "is-core-module": "^2.12.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" + "dequal": "^2.0.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/eslint-plugin-import/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "bin": { - "semver": "bin/semver.js" - } + "node_modules/didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", + "dev": true }, - "node_modules/eslint-plugin-jsx-a11y": { - "version": "6.7.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.7.1.tgz", - "integrity": "sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==", - "dependencies": { - "@babel/runtime": "^7.20.7", - "aria-query": "^5.1.3", - "array-includes": "^3.1.6", - "array.prototype.flatmap": "^1.3.1", - "ast-types-flow": "^0.0.7", - "axe-core": "^4.6.2", - "axobject-query": "^3.1.1", - "damerau-levenshtein": "^1.0.8", - "emoji-regex": "^9.2.2", - "has": "^1.0.3", - "jsx-ast-utils": "^3.3.3", - "language-tags": "=1.0.5", - "minimatch": "^3.1.2", - "object.entries": "^1.1.6", - "object.fromentries": "^2.0.6", - "semver": "^6.3.0" - }, + "node_modules/diff": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz", + "integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==", "engines": { - "node": ">=4.0" - }, - "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" - } - }, - "node_modules/eslint-plugin-jsx-a11y/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "bin": { - "semver": "bin/semver.js" + "node": ">=0.3.1" } }, - "node_modules/eslint-plugin-react": { - "version": "7.33.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.33.1.tgz", - "integrity": "sha512-L093k0WAMvr6VhNwReB8VgOq5s2LesZmrpPdKz/kZElQDzqS7G7+DnKoqT+w4JwuiGeAhAvHO0fvy0Eyk4ejDA==", + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", "dependencies": { - "array-includes": "^3.1.6", - "array.prototype.flatmap": "^1.3.1", - "array.prototype.tosorted": "^1.1.1", - "doctrine": "^2.1.0", - "estraverse": "^5.3.0", - "jsx-ast-utils": "^2.4.1 || ^3.0.0", - "minimatch": "^3.1.2", - "object.entries": "^1.1.6", - "object.fromentries": "^2.0.6", - "object.hasown": "^1.1.2", - "object.values": "^1.1.6", - "prop-types": "^15.8.1", - "resolve": "^2.0.0-next.4", - "semver": "^6.3.1", - "string.prototype.matchall": "^4.0.8" + "path-type": "^4.0.0" }, "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + "node": ">=8" } }, - "node_modules/eslint-plugin-react-hooks": { - "version": "5.0.0-canary-7118f5dd7-20230705", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.0.0-canary-7118f5dd7-20230705.tgz", - "integrity": "sha512-AZYbMo/NW9chdL7vk6HQzQhT+PvTAEVqWk9ziruUoW2kAOcN5qNyelv70e0F1VNQAbvutOC9oc+xfWycI9FxDw==", - "engines": { - "node": ">=10" + "node_modules/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "dev": true + }, + "node_modules/docson": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/docson/-/docson-2.1.0.tgz", + "integrity": "sha512-0NbHZPfyMaEIIDQzhhRN9EmAK9sBLOqLt7B8dCjGyl2ytUpbAgmixpVMgpg1rQK04Or5fuEkQsHQRehdEF2BTA==", + "dependencies": { + "commander": "^2.15.1", + "debug": "^3.1.0", + "express": "^4.16.3", + "handlebars": "^4.0.11", + "jquery": "^2.2.4", + "jsonpointer": "^4.0.1", + "jsonpointer.js": "^0.4.0", + "lodash": "^4.17.10", + "marked": "^0.3.14", + "serve-index": "^1.9.1", + "traverse": "^0.6.6", + "urijs": "^1.19.1" }, - "peerDependencies": { - "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" + "bin": { + "docson": "lib/docson-cli.js" } }, - "node_modules/eslint-plugin-react/node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "peer": true, "dependencies": { "esutils": "^2.0.2" }, "engines": { - "node": ">=0.10.0" + "node": ">=6.0.0" } }, - "node_modules/eslint-plugin-react/node_modules/resolve": { - "version": "2.0.0-next.4", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz", - "integrity": "sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==", + "node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "dev": true, "dependencies": { - "is-core-module": "^2.9.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/eslint-plugin-react/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "bin": { - "semver": "bin/semver.js" + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" } }, - "node_modules/eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", - "peer": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] + }, + "node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "dev": true, + "dependencies": { + "domelementtype": "^2.3.0" + }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">= 4" }, "funding": { - "url": "https://opencollective.com/eslint" + "url": "https://github.com/fb55/domhandler?sponsor=1" } }, - "node_modules/eslint-visitor-keys": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.2.tgz", - "integrity": "sha512-8drBzUEyZ2llkpCA67iYrgEssKDUu68V8ChqqOfFupIaG/LCVPUT+CoGJpT77zJprs4T/W7p07LP7zAIMuweVw==", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node_modules/domutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", + "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", + "dev": true, + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" }, "funding": { - "url": "https://opencollective.com/eslint" + "url": "https://github.com/fb55/domutils?sponsor=1" } }, - "node_modules/eslint/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "peer": true, + "node_modules/ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" } }, - "node_modules/eslint/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "peer": true + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" }, - "node_modules/espree": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", - "peer": true, - "dependencies": { - "acorn": "^8.9.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } + "node_modules/electron-to-chromium": { + "version": "1.4.482", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.482.tgz", + "integrity": "sha512-h+UqpfmEr1Qkk0zp7ej/jid7CXoq4m4QzW6wNTb0ELJ/BZCpA4wgUylBIMGCe621tnr4l5VmoHjdoSx2lbnNJA==" }, - "node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" + }, + "node_modules/emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "dev": true, "engines": { - "node": ">=4" + "node": ">= 4" } }, - "node_modules/esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", - "peer": true, - "dependencies": { - "estraverse": "^5.1.0" - }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", "engines": { - "node": ">=0.10" + "node": ">= 0.8" } }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "peer": true, + "node_modules/enhanced-resolve": { + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", + "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", "dependencies": { - "estraverse": "^5.2.0" + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" }, "engines": { - "node": ">=4.0" + "node": ">=10.13.0" } }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true, "engines": { - "node": ">=4.0" - } - }, - "node_modules/estree-util-attach-comments": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/estree-util-attach-comments/-/estree-util-attach-comments-2.1.1.tgz", - "integrity": "sha512-+5Ba/xGGS6mnwFbXIuQiDPTbuTxuMCooq3arVv7gPZtYpjp+VXH/NkHAP35OOefPhNG/UGqU3vt/LTABwcHX0w==", - "dependencies": { - "@types/estree": "^1.0.0" + "node": ">=0.12" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "url": "https://github.com/fb55/entities?sponsor=1" } }, - "node_modules/estree-util-build-jsx": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/estree-util-build-jsx/-/estree-util-build-jsx-2.2.2.tgz", - "integrity": "sha512-m56vOXcOBuaF+Igpb9OPAy7f9w9OIkb5yhjsZuaPm7HoGi4oTOQi0h2+yZ+AtKklYFZ+rPC4n0wYCJCEU1ONqg==", + "node_modules/es-abstract": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.1.tgz", + "integrity": "sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw==", "dependencies": { - "@types/estree-jsx": "^1.0.0", - "estree-util-is-identifier-name": "^2.0.0", - "estree-walker": "^3.0.0" + "array-buffer-byte-length": "^1.0.0", + "arraybuffer.prototype.slice": "^1.0.1", + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "es-set-tostringtag": "^2.0.1", + "es-to-primitive": "^1.2.1", + "function.prototype.name": "^1.1.5", + "get-intrinsic": "^1.2.1", + "get-symbol-description": "^1.0.0", + "globalthis": "^1.0.3", + "gopd": "^1.0.1", + "has": "^1.0.3", + "has-property-descriptors": "^1.0.0", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.5", + "is-array-buffer": "^3.0.2", + "is-callable": "^1.2.7", + "is-negative-zero": "^2.0.2", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "is-string": "^1.0.7", + "is-typed-array": "^1.1.10", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.3", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.5.0", + "safe-array-concat": "^1.0.0", + "safe-regex-test": "^1.0.0", + "string.prototype.trim": "^1.2.7", + "string.prototype.trimend": "^1.0.6", + "string.prototype.trimstart": "^1.0.6", + "typed-array-buffer": "^1.0.0", + "typed-array-byte-length": "^1.0.0", + "typed-array-byte-offset": "^1.0.0", + "typed-array-length": "^1.0.4", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/estree-util-is-identifier-name": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-2.1.0.tgz", - "integrity": "sha512-bEN9VHRyXAUOjkKVQVvArFym08BTWB0aJPppZZr0UNyAqWsLaVfAqP7hbaTJjzHifmB5ebnR8Wm7r7yGN/HonQ==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } + "node_modules/es-module-lexer": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.0.tgz", + "integrity": "sha512-vZK7T0N2CBmBOixhmjdqx2gWVbFZ4DXZ/NyRMZVlJXPa7CyFS+/a4QQsDGDQy9ZfEzxFuNEsMLeQJnKP2p5/JA==", + "peer": true }, - "node_modules/estree-util-to-js": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/estree-util-to-js/-/estree-util-to-js-1.2.0.tgz", - "integrity": "sha512-IzU74r1PK5IMMGZXUVZbmiu4A1uhiPgW5hm1GjcOfr4ZzHaMPpLNJjR7HjXiIOzi25nZDrgFTobHTkV5Q6ITjA==", + "node_modules/es-set-tostringtag": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", + "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", "dependencies": { - "@types/estree-jsx": "^1.0.0", - "astring": "^1.8.0", - "source-map": "^0.7.0" + "get-intrinsic": "^1.1.3", + "has": "^1.0.3", + "has-tostringtag": "^1.0.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": ">= 0.4" } }, - "node_modules/estree-util-value-to-estree": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/estree-util-value-to-estree/-/estree-util-value-to-estree-3.0.1.tgz", - "integrity": "sha512-b2tdzTurEIbwRh+mKrEcaWfu1wgb8J1hVsgREg7FFiecWwK/PhO8X0kyc+0bIcKNtD4sqxIdNoRy6/p/TvECEA==", + "node_modules/es-shim-unscopables": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", + "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", "dependencies": { - "@types/estree": "^1.0.0", - "is-plain-obj": "^4.0.0" - }, + "has": "^1.0.3" + } + }, + "node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, "engines": { - "node": ">=16.0.0" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/remcohaszing" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/estree-util-value-to-estree/node_modules/is-plain-obj": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", - "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "node_modules/esbuild": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.16.17.tgz", + "integrity": "sha512-G8LEkV0XzDMNwXKgM0Jwu3nY3lSTwSGY6XbxM9cr9+s0T/qSV1q1JVPBGzm3dcjhCic9+emZDmMffkwgPeOeLg==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, "engines": { "node": ">=12" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "optionalDependencies": { + "@esbuild/android-arm": "0.16.17", + "@esbuild/android-arm64": "0.16.17", + "@esbuild/android-x64": "0.16.17", + "@esbuild/darwin-arm64": "0.16.17", + "@esbuild/darwin-x64": "0.16.17", + "@esbuild/freebsd-arm64": "0.16.17", + "@esbuild/freebsd-x64": "0.16.17", + "@esbuild/linux-arm": "0.16.17", + "@esbuild/linux-arm64": "0.16.17", + "@esbuild/linux-ia32": "0.16.17", + "@esbuild/linux-loong64": "0.16.17", + "@esbuild/linux-mips64el": "0.16.17", + "@esbuild/linux-ppc64": "0.16.17", + "@esbuild/linux-riscv64": "0.16.17", + "@esbuild/linux-s390x": "0.16.17", + "@esbuild/linux-x64": "0.16.17", + "@esbuild/netbsd-x64": "0.16.17", + "@esbuild/openbsd-x64": "0.16.17", + "@esbuild/sunos-x64": "0.16.17", + "@esbuild/win32-arm64": "0.16.17", + "@esbuild/win32-ia32": "0.16.17", + "@esbuild/win32-x64": "0.16.17" } }, - "node_modules/estree-util-visit": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/estree-util-visit/-/estree-util-visit-1.2.1.tgz", - "integrity": "sha512-xbgqcrkIVbIG+lI/gzbvd9SGTJL4zqJKBFttUl5pP27KhAjtMKbX/mQXJ7qgyXpMgVy/zvpm0xoQQaGL8OloOw==", + "node_modules/esbuild-loader": { + "version": "2.21.0", + "resolved": "https://registry.npmjs.org/esbuild-loader/-/esbuild-loader-2.21.0.tgz", + "integrity": "sha512-k7ijTkCT43YBSZ6+fBCW1Gin7s46RrJ0VQaM8qA7lq7W+OLsGgtLyFV8470FzYi/4TeDexniTBTPTwZUnXXR5g==", + "dev": true, "dependencies": { - "@types/estree-jsx": "^1.0.0", - "@types/unist": "^2.0.0" + "esbuild": "^0.16.17", + "joycon": "^3.0.1", + "json5": "^2.2.0", + "loader-utils": "^2.0.0", + "tapable": "^2.2.0", + "webpack-sources": "^1.4.3" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/estree-walker": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", - "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", - "dependencies": { - "@types/estree": "^1.0.0" + "url": "https://github.com/privatenumber/esbuild-loader?sponsor=1" + }, + "peerDependencies": { + "webpack": "^4.40.0 || ^5.0.0" } }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "node_modules/etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", - "engines": { - "node": ">= 0.6" - } + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" }, - "node_modules/events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "peer": true, "engines": { - "node": ">=0.8.x" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/execa": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-7.2.0.tgz", - "integrity": "sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==", + "node_modules/eslint": { + "version": "8.46.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.46.0.tgz", + "integrity": "sha512-cIO74PvbW0qU8e0mIvk5IV3ToWdCq5FYG6gWPHHkx6gNdjlbAYvtfHmlCMXxjcoVaIdwy/IAt3+mDkZkfvb2Dg==", + "peer": true, "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.1", - "human-signals": "^4.3.0", - "is-stream": "^3.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^5.1.0", - "onetime": "^6.0.0", - "signal-exit": "^3.0.7", - "strip-final-newline": "^3.0.0" + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.1", + "@eslint/js": "^8.46.0", + "@humanwhocodes/config-array": "^0.11.10", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.2", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" }, "engines": { - "node": "^14.18.0 || ^16.14.0 || >=18.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" + "url": "https://opencollective.com/eslint" } }, - "node_modules/express": { - "version": "4.18.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", - "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", + "node_modules/eslint-config-next": { + "version": "13.4.12", + "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-13.4.12.tgz", + "integrity": "sha512-ZF0r5vxKaVazyZH/37Au/XItiG7qUOBw+HaH3PeyXltIMwXorsn6bdrl0Nn9N5v5v9spc+6GM2ryjugbjF6X2g==", "dependencies": { - "accepts": "~1.3.8", - "array-flatten": "1.1.1", - "body-parser": "1.20.1", - "content-disposition": "0.5.4", - "content-type": "~1.0.4", - "cookie": "0.5.0", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "2.0.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "1.2.0", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.7", - "qs": "6.11.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.2.1", - "send": "0.18.0", - "serve-static": "1.15.0", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" + "@next/eslint-plugin-next": "13.4.12", + "@rushstack/eslint-patch": "^1.1.3", + "@typescript-eslint/parser": "^5.42.0", + "eslint-import-resolver-node": "^0.3.6", + "eslint-import-resolver-typescript": "^3.5.2", + "eslint-plugin-import": "^2.26.0", + "eslint-plugin-jsx-a11y": "^6.5.1", + "eslint-plugin-react": "^7.31.7", + "eslint-plugin-react-hooks": "5.0.0-canary-7118f5dd7-20230705" }, - "engines": { - "node": ">= 0.10.0" + "peerDependencies": { + "eslint": "^7.23.0 || ^8.0.0", + "typescript": ">=3.3.1" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/express/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "node_modules/eslint-import-resolver-node": { + "version": "0.3.7", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz", + "integrity": "sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==", "dependencies": { - "ms": "2.0.0" + "debug": "^3.2.7", + "is-core-module": "^2.11.0", + "resolve": "^1.22.1" } }, - "node_modules/express/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" - }, - "node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "node_modules/eslint-import-resolver-typescript": { + "version": "3.5.5", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.5.5.tgz", + "integrity": "sha512-TdJqPHs2lW5J9Zpe17DZNQuDnox4xo2o+0tE7Pggain9Rbc19ik8kFtXdxZ250FVx2kF4vlt2RSf4qlUpG7bhw==", "dependencies": { - "is-extendable": "^0.1.0" + "debug": "^4.3.4", + "enhanced-resolve": "^5.12.0", + "eslint-module-utils": "^2.7.4", + "get-tsconfig": "^4.5.0", + "globby": "^13.1.3", + "is-core-module": "^2.11.0", + "is-glob": "^4.0.3", + "synckit": "^0.8.5" }, "engines": { - "node": ">=0.10.0" + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts/projects/eslint-import-resolver-ts" + }, + "peerDependencies": { + "eslint": "*", + "eslint-plugin-import": "*" } }, - "node_modules/extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", - "engines": [ - "node >=0.6.0" - ] - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" - }, - "node_modules/fast-glob": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", - "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", + "node_modules/eslint-import-resolver-typescript/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" + "ms": "2.1.2" }, "engines": { - "node": ">=8.6.0" + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "node_modules/fast-glob/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "node_modules/eslint-import-resolver-typescript/node_modules/globby": { + "version": "13.2.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz", + "integrity": "sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==", "dependencies": { - "is-glob": "^4.0.1" + "dir-glob": "^3.0.1", + "fast-glob": "^3.3.0", + "ignore": "^5.2.4", + "merge2": "^1.4.1", + "slash": "^4.0.0" }, "engines": { - "node": ">= 6" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "peer": true - }, - "node_modules/fastq": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", - "dependencies": { - "reusify": "^1.0.4" - } + "node_modules/eslint-import-resolver-typescript/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, - "node_modules/fault": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fault/-/fault-2.0.1.tgz", - "integrity": "sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==", - "dependencies": { - "format": "^0.2.0" + "node_modules/eslint-import-resolver-typescript/node_modules/slash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "engines": { + "node": ">=12" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "peer": true, + "node_modules/eslint-module-utils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz", + "integrity": "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==", "dependencies": { - "flat-cache": "^3.0.4" + "debug": "^3.2.7" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": ">=4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } } }, - "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "node_modules/eslint-plugin-import": { + "version": "2.28.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.28.0.tgz", + "integrity": "sha512-B8s/n+ZluN7sxj9eUf7/pRFERX0r5bnFA2dCaLHy2ZeaQEAz0k+ZZkFWRFHJAqxfxQDx6KLv9LeIki7cFdwW+Q==", "dependencies": { - "to-regex-range": "^5.0.1" + "array-includes": "^3.1.6", + "array.prototype.findlastindex": "^1.2.2", + "array.prototype.flat": "^1.3.1", + "array.prototype.flatmap": "^1.3.1", + "debug": "^3.2.7", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.7", + "eslint-module-utils": "^2.8.0", + "has": "^1.0.3", + "is-core-module": "^2.12.1", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.6", + "object.groupby": "^1.0.0", + "object.values": "^1.1.6", + "resolve": "^1.22.3", + "semver": "^6.3.1", + "tsconfig-paths": "^3.14.2" }, "engines": { - "node": ">=8" + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" } }, - "node_modules/finalhandler": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", - "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "node_modules/eslint-plugin-import/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dependencies": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "statuses": "2.0.1", - "unpipe": "~1.0.0" + "esutils": "^2.0.2" }, "engines": { - "node": ">= 0.8" + "node": ">=0.10.0" } }, - "node_modules/finalhandler/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "node_modules/eslint-plugin-import/node_modules/resolve": { + "version": "1.22.3", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.3.tgz", + "integrity": "sha512-P8ur/gp/AmbEzjr729bZnLjXK5Z+4P0zhIJgBgzqRih7hL7BOukHGtSTA3ACMY467GRFz3duQsi0bDZdR7DKdw==", "dependencies": { - "ms": "2.0.0" + "is-core-module": "^2.12.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/finalhandler/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "node_modules/eslint-plugin-import/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "peer": true, + "node_modules/eslint-plugin-jsx-a11y": { + "version": "6.7.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.7.1.tgz", + "integrity": "sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==", "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" + "@babel/runtime": "^7.20.7", + "aria-query": "^5.1.3", + "array-includes": "^3.1.6", + "array.prototype.flatmap": "^1.3.1", + "ast-types-flow": "^0.0.7", + "axe-core": "^4.6.2", + "axobject-query": "^3.1.1", + "damerau-levenshtein": "^1.0.8", + "emoji-regex": "^9.2.2", + "has": "^1.0.3", + "jsx-ast-utils": "^3.3.3", + "language-tags": "=1.0.5", + "minimatch": "^3.1.2", + "object.entries": "^1.1.6", + "object.fromentries": "^2.0.6", + "semver": "^6.3.0" }, "engines": { - "node": ">=10" + "node": ">=4.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" } }, - "node_modules/flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", - "peer": true, - "dependencies": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" + "node_modules/eslint-plugin-jsx-a11y/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" } }, - "node_modules/flatted": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", - "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", - "peer": true - }, - "node_modules/for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "node_modules/eslint-plugin-react": { + "version": "7.33.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.33.1.tgz", + "integrity": "sha512-L093k0WAMvr6VhNwReB8VgOq5s2LesZmrpPdKz/kZElQDzqS7G7+DnKoqT+w4JwuiGeAhAvHO0fvy0Eyk4ejDA==", "dependencies": { - "is-callable": "^1.1.3" + "array-includes": "^3.1.6", + "array.prototype.flatmap": "^1.3.1", + "array.prototype.tosorted": "^1.1.1", + "doctrine": "^2.1.0", + "estraverse": "^5.3.0", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.6", + "object.fromentries": "^2.0.6", + "object.hasown": "^1.1.2", + "object.values": "^1.1.6", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.4", + "semver": "^6.3.1", + "string.prototype.matchall": "^4.0.8" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" } }, - "node_modules/forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", + "node_modules/eslint-plugin-react-hooks": { + "version": "5.0.0-canary-7118f5dd7-20230705", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.0.0-canary-7118f5dd7-20230705.tgz", + "integrity": "sha512-AZYbMo/NW9chdL7vk6HQzQhT+PvTAEVqWk9ziruUoW2kAOcN5qNyelv70e0F1VNQAbvutOC9oc+xfWycI9FxDw==", "engines": { - "node": "*" + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" } }, - "node_modules/form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "node_modules/eslint-plugin-react/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" + "esutils": "^2.0.2" }, "engines": { - "node": ">= 0.12" + "node": ">=0.10.0" } }, - "node_modules/format": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/format/-/format-0.2.2.tgz", - "integrity": "sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==", - "engines": { - "node": ">=0.4.x" + "node_modules/eslint-plugin-react/node_modules/resolve": { + "version": "2.0.0-next.4", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz", + "integrity": "sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==", + "dependencies": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", - "engines": { - "node": ">= 0.6" + "node_modules/eslint-plugin-react/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" } }, - "node_modules/fraction.js": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", - "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==", - "dev": true, + "node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "peer": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, "engines": { - "node": "*" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "type": "patreon", - "url": "https://www.patreon.com/infusion" + "url": "https://opencollective.com/eslint" } }, - "node_modules/fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "node_modules/eslint-visitor-keys": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.2.tgz", + "integrity": "sha512-8drBzUEyZ2llkpCA67iYrgEssKDUu68V8ChqqOfFupIaG/LCVPUT+CoGJpT77zJprs4T/W7p07LP7zAIMuweVw==", "engines": { - "node": ">= 0.6" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "dev": true, + "node_modules/eslint/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "peer": true, "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" + "ms": "2.1.2" }, "engines": { - "node": ">=10" - } - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" - }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + "node_modules/eslint/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "peer": true }, - "node_modules/function.prototype.name": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", - "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", + "node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "peer": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0", - "functions-have-names": "^1.2.2" + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" }, "engines": { - "node": ">= 0.4" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://opencollective.com/eslint" } }, - "node_modules/functions-have-names": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" } }, - "node_modules/fuse.js": { - "version": "6.6.2", - "resolved": "https://registry.npmjs.org/fuse.js/-/fuse.js-6.6.2.tgz", - "integrity": "sha512-cJaJkxCCxC8qIIcPBF9yGxY0W/tVZS3uEISDxhYIdtk8OL93pe+6Zj7LjCqVV4dzbqcriOZ+kQ/NE4RXZHsIGA==", + "node_modules/esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "peer": true, + "dependencies": { + "estraverse": "^5.1.0" + }, "engines": { - "node": ">=10" + "node": ">=0.10" } }, - "node_modules/gentype": { - "version": "3.50.0", - "resolved": "https://registry.npmjs.org/gentype/-/gentype-3.50.0.tgz", - "integrity": "sha512-EKZzbS4HBuw80zDm5ZJxDdfoGw4nYClTgkv4vp8/db1MXmvCdJSA2NuvxNBYF8i5VqYccdQWzNGClmhWpTFWFQ==", - "hasInstallScript": true, - "bin": { - "gentype": "gentype.exe" + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "peer": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" } }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "engines": { - "node": "6.* || 8.* || >= 10.*" + "node": ">=4.0" } }, - "node_modules/get-intrinsic": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", - "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", + "node_modules/estree-util-is-identifier-name": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-2.1.0.tgz", + "integrity": "sha512-bEN9VHRyXAUOjkKVQVvArFym08BTWB0aJPppZZr0UNyAqWsLaVfAqP7hbaTJjzHifmB5ebnR8Wm7r7yGN/HonQ==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-value-to-estree": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/estree-util-value-to-estree/-/estree-util-value-to-estree-3.0.1.tgz", + "integrity": "sha512-b2tdzTurEIbwRh+mKrEcaWfu1wgb8J1hVsgREg7FFiecWwK/PhO8X0kyc+0bIcKNtD4sqxIdNoRy6/p/TvECEA==", "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3" + "@types/estree": "^1.0.0", + "is-plain-obj": "^4.0.0" + }, + "engines": { + "node": ">=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/remcohaszing" } }, - "node_modules/get-own-enumerable-property-symbols": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", - "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==" + "node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "dependencies": { + "@types/estree": "^1.0.0" + } }, - "node_modules/get-stdin": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-8.0.0.tgz", - "integrity": "sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==", - "dev": true, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.10.0" } }, - "node_modules/get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 0.6" } }, - "node_modules/get-symbol-description": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", - "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "peer": true, + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/execa": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-7.2.0.tgz", + "integrity": "sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==", "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.1", + "human-signals": "^4.3.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^3.0.7", + "strip-final-newline": "^3.0.0" }, "engines": { - "node": ">= 0.4" + "node": "^14.18.0 || ^16.14.0 || >=18.0.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node_modules/get-tsconfig": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.6.2.tgz", - "integrity": "sha512-E5XrT4CbbXcXWy+1jChlZmrmCwd5KGx502kDCXJJ7y898TtWW9FwoG5HfOLVRKmlmDGkWN2HM9Ho+/Y8F0sJDg==", + "node_modules/express": { + "version": "4.18.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", + "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", "dependencies": { - "resolve-pkg-maps": "^1.0.0" + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.1", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.5.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.11.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" }, - "funding": { - "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" + "engines": { + "node": ">= 0.10.0" } }, - "node_modules/getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", + "node_modules/express/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dependencies": { - "assert-plus": "^1.0.0" + "ms": "2.0.0" } }, - "node_modules/github-slugger": { + "node_modules/express/node_modules/ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-2.0.0.tgz", - "integrity": "sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==" + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" }, - "node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" }, - "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dependencies": { - "is-glob": "^4.0.3" + "is-extendable": "^0.1.0" }, "engines": { - "node": ">=10.13.0" + "node": ">=0.10.0" } }, - "node_modules/glob-to-regexp": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" + "node_modules/extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", + "engines": [ + "node >=0.6.0" + ] }, - "node_modules/globals": { - "version": "13.20.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", - "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", - "peer": true, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, + "node_modules/fast-glob": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", + "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", "dependencies": { - "type-fest": "^0.20.2" + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8.6.0" } }, - "node_modules/globalthis": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", - "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dependencies": { - "define-properties": "^1.1.3" + "is-glob": "^4.0.1" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 6" } }, - "node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "peer": true + }, + "node_modules/fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "reusify": "^1.0.4" } }, - "node_modules/gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "node_modules/fault": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fault/-/fault-2.0.1.tgz", + "integrity": "sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==", "dependencies": { - "get-intrinsic": "^1.1.3" + "format": "^0.2.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" - }, - "node_modules/graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "peer": true - }, - "node_modules/gray-matter": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz", - "integrity": "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==", + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "peer": true, "dependencies": { - "js-yaml": "^3.13.1", - "kind-of": "^6.0.2", - "section-matter": "^1.0.0", - "strip-bom-string": "^1.0.0" + "flat-cache": "^3.0.4" }, "engines": { - "node": ">=6.0" - } - }, - "node_modules/gray-matter/node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dependencies": { - "sprintf-js": "~1.0.2" + "node": "^10.12.0 || >=12.0.0" } }, - "node_modules/gray-matter/node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "to-regex-range": "^5.0.1" }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "engines": { + "node": ">=8" } }, - "node_modules/handlebars": { - "version": "4.7.8", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz", - "integrity": "sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==", + "node_modules/finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", "dependencies": { - "minimist": "^1.2.5", - "neo-async": "^2.6.2", - "source-map": "^0.6.1", - "wordwrap": "^1.0.0" - }, - "bin": { - "handlebars": "bin/handlebars" + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" }, "engines": { - "node": ">=0.4.7" - }, - "optionalDependencies": { - "uglify-js": "^3.1.4" + "node": ">= 0.8" } }, - "node_modules/handlebars/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" } }, - "node_modules/har-schema": { + "node_modules/finalhandler/node_modules/ms": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==", - "engines": { - "node": ">=4" - } + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" }, - "node_modules/har-validator": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", - "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", - "deprecated": "this library is no longer supported", + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "peer": true, "dependencies": { - "ajv": "^6.12.3", - "har-schema": "^2.0.0" + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" }, "engines": { - "node": ">=6" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "node_modules/flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "peer": true, "dependencies": { - "function-bind": "^1.1.1" + "flatted": "^3.1.0", + "rimraf": "^3.0.2" }, "engines": { - "node": ">= 0.4.0" + "node": "^10.12.0 || >=12.0.0" } }, - "node_modules/has-bigints": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", - "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node_modules/flatted": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", + "peer": true + }, + "node_modules/for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dependencies": { + "is-callable": "^1.1.3" } }, - "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "node_modules/forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", "engines": { - "node": ">=8" + "node": "*" } }, - "node_modules/has-property-descriptors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "node_modules/form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", "dependencies": { - "get-intrinsic": "^1.1.1" + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">= 0.12" } }, - "node_modules/has-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "node_modules/format": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/format/-/format-0.2.2.tgz", + "integrity": "sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==", "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=0.4.x" } }, - "node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 0.6" } }, - "node_modules/has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", - "dependencies": { - "has-symbols": "^1.0.2" - }, + "node_modules/fraction.js": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", + "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==", + "dev": true, "engines": { - "node": ">= 0.4" + "node": "*" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "type": "patreon", + "url": "https://www.patreon.com/infusion" } }, - "node_modules/hast-util-has-property": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/hast-util-has-property/-/hast-util-has-property-2.0.1.tgz", - "integrity": "sha512-X2+RwZIMTMKpXUzlotatPzWj8bspCymtXH3cfG3iQKV+wPF53Vgaqxi/eLqGck0wKq1kS9nvoB1wchbCPEL8sg==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "engines": { + "node": ">= 0.6" } }, - "node_modules/hast-util-heading-rank": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/hast-util-heading-rank/-/hast-util-heading-rank-2.1.1.tgz", - "integrity": "sha512-iAuRp+ESgJoRFJbSyaqsfvJDY6zzmFoEnL1gtz1+U8gKtGGj1p0CVlysuUAUjq95qlZESHINLThwJzNGmgGZxA==", + "node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, "dependencies": { - "@types/hast": "^2.0.0" + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": ">=10" } }, - "node_modules/hast-util-to-estree": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/hast-util-to-estree/-/hast-util-to-estree-2.3.3.tgz", - "integrity": "sha512-ihhPIUPxN0v0w6M5+IiAZZrn0LH2uZomeWwhn7uP7avZC6TE7lIiEh2yBMPr5+zi1aUCXq6VoYRgs2Bw9xmycQ==", - "dependencies": { - "@types/estree": "^1.0.0", - "@types/estree-jsx": "^1.0.0", - "@types/hast": "^2.0.0", - "@types/unist": "^2.0.0", - "comma-separated-tokens": "^2.0.0", - "estree-util-attach-comments": "^2.0.0", - "estree-util-is-identifier-name": "^2.0.0", - "hast-util-whitespace": "^2.0.0", - "mdast-util-mdx-expression": "^1.0.0", - "mdast-util-mdxjs-esm": "^1.0.0", - "property-information": "^6.0.0", - "space-separated-tokens": "^2.0.0", - "style-to-object": "^0.4.1", - "unist-util-position": "^4.0.0", - "zwitch": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, - "node_modules/hast-util-to-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/hast-util-to-string/-/hast-util-to-string-2.0.0.tgz", - "integrity": "sha512-02AQ3vLhuH3FisaMM+i/9sm4OXGSq1UhOOCpTLLQtHdL3tZt7qil69r8M8iDkZYyC0HCFylcYoP+8IO7ddta1A==", + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "node_modules/function.prototype.name": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", + "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", "dependencies": { - "@types/hast": "^2.0.0" + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0", + "functions-have-names": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/hast-util-whitespace": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-2.0.1.tgz", - "integrity": "sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng==", + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/highlight.js": { - "version": "10.7.3", - "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz", - "integrity": "sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==", + "node_modules/fuse.js": { + "version": "6.6.2", + "resolved": "https://registry.npmjs.org/fuse.js/-/fuse.js-6.6.2.tgz", + "integrity": "sha512-cJaJkxCCxC8qIIcPBF9yGxY0W/tVZS3uEISDxhYIdtk8OL93pe+6Zj7LjCqVV4dzbqcriOZ+kQ/NE4RXZHsIGA==", "engines": { - "node": "*" + "node": ">=10" } }, - "node_modules/http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", - "dependencies": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" - }, + "node_modules/gentype": { + "version": "3.50.0", + "resolved": "https://registry.npmjs.org/gentype/-/gentype-3.50.0.tgz", + "integrity": "sha512-EKZzbS4HBuw80zDm5ZJxDdfoGw4nYClTgkv4vp8/db1MXmvCdJSA2NuvxNBYF8i5VqYccdQWzNGClmhWpTFWFQ==", + "hasInstallScript": true, + "bin": { + "gentype": "gentype.exe" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, "engines": { - "node": ">= 0.8" + "node": "6.* || 8.* || >= 10.*" } }, - "node_modules/http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==", + "node_modules/get-intrinsic": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", + "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", "dependencies": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3" }, - "engines": { - "node": ">=0.8", - "npm": ">=1.3.7" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/human-signals": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-4.3.1.tgz", - "integrity": "sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==", - "engines": { - "node": ">=14.18.0" - } + "node_modules/get-own-enumerable-property-symbols": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", + "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==" }, - "node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, + "node_modules/get-stdin": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-8.0.0.tgz", + "integrity": "sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==", + "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", "engines": { - "node": ">= 4" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "peer": true, + "node_modules/get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" }, "engines": { - "node": ">=6" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "peer": true, - "engines": { - "node": ">=0.8.19" + "node_modules/get-tsconfig": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.6.2.tgz", + "integrity": "sha512-E5XrT4CbbXcXWy+1jChlZmrmCwd5KGx502kDCXJJ7y898TtWW9FwoG5HfOLVRKmlmDGkWN2HM9Ho+/Y8F0sJDg==", + "dependencies": { + "resolve-pkg-maps": "^1.0.0" + }, + "funding": { + "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" } }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "node_modules/getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", "dependencies": { - "once": "^1.3.0", - "wrappy": "1" + "assert-plus": "^1.0.0" } }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "node_modules/inline-style-parser": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz", - "integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==" + "node_modules/github-slugger": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-2.0.0.tgz", + "integrity": "sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==" }, - "node_modules/internal-slot": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", - "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dependencies": { - "get-intrinsic": "^1.2.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" }, "engines": { - "node": ">= 0.4" + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dependencies": { + "is-glob": "^4.0.3" + }, "engines": { - "node": ">= 0.10" + "node": ">=10.13.0" } }, - "node_modules/is-alphabetical": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz", - "integrity": "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" }, - "node_modules/is-alphanumeric": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-alphanumeric/-/is-alphanumeric-1.0.0.tgz", - "integrity": "sha512-ZmRL7++ZkcMOfDuWZuMJyIVLr2keE1o/DeNWh1EmgqGhUcV+9BIVsx0BcSBOHTZqzjs4+dISzr2KAeBEWGgXeA==", + "node_modules/globals": { + "version": "13.20.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", + "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", + "peer": true, + "dependencies": { + "type-fest": "^0.20.2" + }, "engines": { - "node": ">=0.10.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-alphanumerical": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz", - "integrity": "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==", + "node_modules/globalthis": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", + "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", "dependencies": { - "is-alphabetical": "^2.0.0", - "is-decimal": "^2.0.0" + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-array-buffer": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", - "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", - "is-typed-array": "^1.1.10" + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", "dependencies": { - "has-bigints": "^1.0.1" + "get-intrinsic": "^1.1.3" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "peer": true + }, + "node_modules/gray-matter": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz", + "integrity": "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==", "dependencies": { - "binary-extensions": "^2.0.0" + "js-yaml": "^3.13.1", + "kind-of": "^6.0.2", + "section-matter": "^1.0.0", + "strip-bom-string": "^1.0.0" }, "engines": { - "node": ">=8" + "node": ">=6.0" } }, - "node_modules/is-boolean-object": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "node_modules/gray-matter/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "sprintf-js": "~1.0.2" + } + }, + "node_modules/gray-matter/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/handlebars": { + "version": "4.7.8", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz", + "integrity": "sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==", + "dependencies": { + "minimist": "^1.2.5", + "neo-async": "^2.6.2", + "source-map": "^0.6.1", + "wordwrap": "^1.0.0" + }, + "bin": { + "handlebars": "bin/handlebars" }, "engines": { - "node": ">= 0.4" + "node": ">=0.4.7" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "optionalDependencies": { + "uglify-js": "^3.1.4" } }, - "node_modules/is-buffer": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", - "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], + "node_modules/handlebars/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "node_modules/har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==", "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=4" } }, - "node_modules/is-core-module": { - "version": "2.12.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.1.tgz", - "integrity": "sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==", + "node_modules/har-validator": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", + "deprecated": "this library is no longer supported", "dependencies": { - "has": "^1.0.3" + "ajv": "^6.12.3", + "har-schema": "^2.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=6" } }, - "node_modules/is-date-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", "dependencies": { - "has-tostringtag": "^1.0.0" + "function-bind": "^1.1.1" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-decimal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz", - "integrity": "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "node": ">= 0.4.0" } }, - "node_modules/is-docker": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", - "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", - "bin": { - "is-docker": "cli.js" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, + "node_modules/has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "engines": { - "node": ">=0.10.0" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "engines": { "node": ">=8" } }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "node_modules/has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", "dependencies": { - "is-extglob": "^2.1.1" + "get-intrinsic": "^1.1.1" }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-hexadecimal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz", - "integrity": "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==", "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-inside-container": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", - "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", - "dependencies": { - "is-docker": "^3.0.0" - }, - "bin": { - "is-inside-container": "cli.js" - }, + "node_modules/has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", "engines": { - "node": ">=14.16" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-negative-zero": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", - "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", "engines": { "node": ">= 0.4" }, @@ -4731,20 +4623,12 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-number-object": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", - "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "node_modules/has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", "dependencies": { - "has-tostringtag": "^1.0.0" + "has-symbols": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -4753,616 +4637,561 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", - "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==", - "engines": { - "node": ">=0.10.0" + "node_modules/hast-util-has-property": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/hast-util-has-property/-/hast-util-has-property-2.0.1.tgz", + "integrity": "sha512-X2+RwZIMTMKpXUzlotatPzWj8bspCymtXH3cfG3iQKV+wPF53Vgaqxi/eLqGck0wKq1kS9nvoB1wchbCPEL8sg==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "peer": true, - "engines": { - "node": ">=8" + "node_modules/hast-util-heading-rank": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/hast-util-heading-rank/-/hast-util-heading-rank-2.1.1.tgz", + "integrity": "sha512-iAuRp+ESgJoRFJbSyaqsfvJDY6zzmFoEnL1gtz1+U8gKtGGj1p0CVlysuUAUjq95qlZESHINLThwJzNGmgGZxA==", + "dependencies": { + "@types/hast": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/is-plain-obj": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", - "engines": { - "node": ">=8" + "node_modules/hast-util-to-jsx-runtime": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.3.0.tgz", + "integrity": "sha512-H/y0+IWPdsLLS738P8tDnrQ8Z+dj12zQQ6WC11TIM21C8WFVoIxcqWXf2H3hiTVZjF1AWqoimGwrTWecWrnmRQ==", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "hast-util-whitespace": "^3.0.0", + "mdast-util-mdx-expression": "^2.0.0", + "mdast-util-mdx-jsx": "^3.0.0", + "mdast-util-mdxjs-esm": "^2.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0", + "style-to-object": "^1.0.0", + "unist-util-position": "^5.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/is-reference": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-3.0.1.tgz", - "integrity": "sha512-baJJdQLiYaJdvFbJqXrcGv3WU3QCzBlUcI5QhbesIm6/xPsvmO+2CDoi/GMOFBQEQm+PXkwOPrp9KK5ozZsp2w==", + "node_modules/hast-util-to-jsx-runtime/node_modules/@types/hast": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.3.tgz", + "integrity": "sha512-2fYGlaDy/qyLlhidX42wAH0KBi2TCjKMH8CHmBXgRlJ3Y+OXTiqsPQ6IWarZKwF1JoUcAJdPogv1d4b0COTpmQ==", "dependencies": { - "@types/estree": "*" + "@types/unist": "*" } }, - "node_modules/is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, + "node_modules/hast-util-to-jsx-runtime/node_modules/@types/unist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", + "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==" + }, + "node_modules/hast-util-to-jsx-runtime/node_modules/estree-util-is-identifier-name": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-3.0.0.tgz", + "integrity": "sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==", "funding": { - "url": "https://github.com/sponsors/ljharb" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/is-regexp": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", - "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==", - "engines": { - "node": ">=0.10.0" + "node_modules/hast-util-to-jsx-runtime/node_modules/inline-style-parser": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.2.tgz", + "integrity": "sha512-EcKzdTHVe8wFVOGEYXiW9WmJXPjqi1T+234YpJr98RiFYKHV3cdy1+3mkTE+KHTHxFFLH51SfaGOoUdW+v7ViQ==" + }, + "node_modules/hast-util-to-jsx-runtime/node_modules/style-to-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-1.0.5.tgz", + "integrity": "sha512-rDRwHtoDD3UMMrmZ6BzOW0naTjMsVZLIjsGleSKS/0Oz+cgCfAPRspaqJuE8rDzpKha/nEvnM0IF4seEAZUTKQ==", + "dependencies": { + "inline-style-parser": "0.2.2" } }, - "node_modules/is-shared-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", - "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "node_modules/hast-util-to-jsx-runtime/node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", "dependencies": { - "call-bind": "^1.0.2" + "@types/unist": "^3.0.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/is-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", - "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node_modules/hast-util-to-jsx-runtime/node_modules/vfile-message": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.2.tgz", + "integrity": "sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "node_modules/hast-util-to-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hast-util-to-string/-/hast-util-to-string-2.0.0.tgz", + "integrity": "sha512-02AQ3vLhuH3FisaMM+i/9sm4OXGSq1UhOOCpTLLQtHdL3tZt7qil69r8M8iDkZYyC0HCFylcYoP+8IO7ddta1A==", "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" + "@types/hast": "^2.0.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "node_modules/hast-util-whitespace": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz", + "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==", "dependencies": { - "has-symbols": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" + "@types/hast": "^3.0.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/is-typed-array": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", - "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", + "node_modules/hast-util-whitespace/node_modules/@types/hast": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.3.tgz", + "integrity": "sha512-2fYGlaDy/qyLlhidX42wAH0KBi2TCjKMH8CHmBXgRlJ3Y+OXTiqsPQ6IWarZKwF1JoUcAJdPogv1d4b0COTpmQ==", "dependencies": { - "which-typed-array": "^1.1.11" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "@types/unist": "*" } }, - "node_modules/is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" - }, - "node_modules/is-weakref": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", - "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", - "dependencies": { - "call-bind": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node_modules/highlight.js": { + "version": "10.7.3", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz", + "integrity": "sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==", + "engines": { + "node": "*" } }, - "node_modules/is-whitespace-character": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.4.tgz", - "integrity": "sha512-SDweEzfIZM0SJV0EUga669UTKlmL0Pq8Lno0QDQsPnvECB3IM2aP0gdx5TrU0A01MAPfViaZiI2V1QMZLaKK5w==", + "node_modules/html-url-attributes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-url-attributes/-/html-url-attributes-3.0.0.tgz", + "integrity": "sha512-/sXbVCWayk6GDVg3ctOX6nxaVj7So40FcFAnWlWGNAB1LpYKcV5Cd10APjPjW80O7zYW2MsjBV4zZ7IZO5fVow==", "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", "dependencies": { - "is-docker": "^2.0.0" + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" }, "engines": { - "node": ">=8" + "node": ">= 0.8" } }, - "node_modules/is-wsl/node_modules/is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", - "bin": { - "is-docker": "cli.js" + "node_modules/http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==", + "dependencies": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.8", + "npm": ">=1.3.7" } }, - "node_modules/isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" - }, - "node_modules/isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==" + "node_modules/human-signals": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-4.3.1.tgz", + "integrity": "sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==", + "engines": { + "node": ">=14.18.0" + } }, - "node_modules/jest-worker": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", - "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", - "peer": true, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" + "safer-buffer": ">= 2.1.2 < 3" }, "engines": { - "node": ">= 10.13.0" + "node": ">=0.10.0" } }, - "node_modules/jest-worker/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "node_modules/ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", "peer": true, "dependencies": { - "has-flag": "^4.0.0" + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" }, "engines": { - "node": ">=10" + "node": ">=6" }, "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/jiti": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.19.1.tgz", - "integrity": "sha512-oVhqoRDaBXf7sjkll95LHVS6Myyyb1zaunVwk4Z0+WPSW4gjS0pl01zYKHScTuyEhQsFxV5L4DR5r+YqSyqyyg==", - "dev": true, - "bin": { - "jiti": "bin/jiti.js" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/joycon": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/joycon/-/joycon-3.1.1.tgz", - "integrity": "sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==", - "dev": true, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "peer": true, "engines": { - "node": ">=10" + "node": ">=0.8.19" } }, - "node_modules/jquery": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/jquery/-/jquery-2.2.4.tgz", - "integrity": "sha512-lBHj60ezci2u1v2FqnZIraShGgEXq35qCzMv4lITyHGppTnA13rwR0MgwyNJh9TnDs3aXUvd1xjAotfraMHX/Q==" - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - }, - "node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "once": "^1.3.0", + "wrappy": "1" } }, - "node_modules/jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==" - }, - "node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "peer": true - }, - "node_modules/json-schema": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", - "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "peer": true + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, - "node_modules/json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==" + "node_modules/inline-style-parser": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz", + "integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==" }, - "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true, - "bin": { - "json5": "lib/cli.js" + "node_modules/internal-slot": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", + "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", + "dependencies": { + "get-intrinsic": "^1.2.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" }, "engines": { - "node": ">=6" + "node": ">= 0.4" } }, - "node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "engines": { + "node": ">= 0.10" } }, - "node_modules/jsonpointer": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.1.0.tgz", - "integrity": "sha512-CXcRvMyTlnR53xMcKnuMzfCA5i/nfblTnnr74CZb6C4vG39eu6w51t7nKmU5MfLfbTgGItliNyjO/ciNPDqClg==", - "engines": { - "node": ">=0.10.0" + "node_modules/is-alphabetical": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz", + "integrity": "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/jsonpointer.js": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/jsonpointer.js/-/jsonpointer.js-0.4.0.tgz", - "integrity": "sha512-2bf/1crAmPpsmj1I6rDT6W0SOErkrNBpb555xNWcMVWYrX6VnXpG0GRMQ2shvOHwafpfse8q0gnzPFYVH6Tqdg==" - }, - "node_modules/jsprim": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", - "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", - "dependencies": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.4.0", - "verror": "1.10.0" - }, + "node_modules/is-alphanumeric": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-alphanumeric/-/is-alphanumeric-1.0.0.tgz", + "integrity": "sha512-ZmRL7++ZkcMOfDuWZuMJyIVLr2keE1o/DeNWh1EmgqGhUcV+9BIVsx0BcSBOHTZqzjs4+dISzr2KAeBEWGgXeA==", "engines": { - "node": ">=0.6.0" + "node": ">=0.10.0" } }, - "node_modules/jsx-ast-utils": { - "version": "3.3.5", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", - "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", + "node_modules/is-alphanumerical": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz", + "integrity": "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==", "dependencies": { - "array-includes": "^3.1.6", - "array.prototype.flat": "^1.3.1", - "object.assign": "^4.1.4", - "object.values": "^1.1.6" + "is-alphabetical": "^2.0.0", + "is-decimal": "^2.0.0" }, - "engines": { - "node": ">=4.0" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "engines": { - "node": ">=0.10.0" + "node_modules/is-array-buffer": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", + "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "is-typed-array": "^1.1.10" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/kleur": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", - "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", - "engines": { - "node": ">=6" + "node_modules/is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dependencies": { + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/language-subtag-registry": { - "version": "0.3.22", - "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz", - "integrity": "sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==" - }, - "node_modules/language-tags": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz", - "integrity": "sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==", + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, "dependencies": { - "language-subtag-registry": "~0.3.2" + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "peer": true, + "node_modules/is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">= 0.8.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/lilconfig": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", - "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", - "dev": true, + "node_modules/is-buffer": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", + "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], "engines": { - "node": ">=10" + "node": ">=4" } }, - "node_modules/lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "dev": true - }, - "node_modules/loader-runner": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", - "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", - "peer": true, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", "engines": { - "node": ">=6.11.5" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/loader-utils": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", - "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", - "dev": true, + "node_modules/is-core-module": { + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.1.tgz", + "integrity": "sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==", "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" + "has": "^1.0.3" }, - "engines": { - "node": ">=8.9.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "peer": true, + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", "dependencies": { - "p-locate": "^5.0.0" + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">=10" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "node_modules/lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", - "dev": true - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "peer": true - }, - "node_modules/lodash.uniq": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==", - "dev": true - }, - "node_modules/longest-streak": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz", - "integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==", + "node_modules/is-decimal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz", + "integrity": "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "dependencies": { - "js-tokens": "^3.0.0 || ^4.0.0" - }, + "node_modules/is-docker": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", + "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", "bin": { - "loose-envify": "cli.js" - } - }, - "node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dependencies": { - "yallist": "^4.0.0" + "is-docker": "cli.js" }, "engines": { - "node": ">=10" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/lz-string": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", - "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==", - "bin": { - "lz-string": "bin/bin.js" + "node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "engines": { + "node": ">=0.10.0" } }, - "node_modules/markdown-escapes": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.4.tgz", - "integrity": "sha512-8z4efJYk43E0upd0NbVXwgSTQs6cT3T06etieCMEg7dRbzCbxUCK/GHlX8mhHRDcp+OLlHkPKsvqQTCvsRl2cg==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "engines": { + "node": ">=0.10.0" } }, - "node_modules/markdown-extensions": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/markdown-extensions/-/markdown-extensions-1.1.1.tgz", - "integrity": "sha512-WWC0ZuMzCyDHYCasEGs4IPvLyTGftYwh6wIEOULOF0HXcqZlhwRzrK0w2VUlxWA98xnvb/jszw4ZSkJ6ADpM6Q==", + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dependencies": { + "is-extglob": "^2.1.1" + }, "engines": { "node": ">=0.10.0" } }, - "node_modules/markdown-table": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.3.tgz", - "integrity": "sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==", + "node_modules/is-hexadecimal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz", + "integrity": "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/marked": { - "version": "0.3.19", - "resolved": "https://registry.npmjs.org/marked/-/marked-0.3.19.tgz", - "integrity": "sha512-ea2eGWOqNxPcXv8dyERdSr/6FmzvWwzjMxpfGB/sbMccXoct+xY+YukPD+QTUZwyvK7BZwcr4m21WBOW41pAkg==", + "node_modules/is-inside-container": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", + "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", + "dependencies": { + "is-docker": "^3.0.0" + }, "bin": { - "marked": "bin/marked" + "is-inside-container": "cli.js" }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/mdast-util-compact": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mdast-util-compact/-/mdast-util-compact-1.0.4.tgz", - "integrity": "sha512-3YDMQHI5vRiS2uygEFYaqckibpJtKq5Sj2c8JioeOQBU6INpKbdWzfyLqFFnDwEcEnRFIdMsguzs5pC1Jp4Isg==", - "dependencies": { - "unist-util-visit": "^1.1.0" + "node": ">=14.16" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/mdast-util-compact/node_modules/unist-util-is": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-3.0.0.tgz", - "integrity": "sha512-sVZZX3+kspVNmLWBPAB6r+7D9ZgAFPNWm66f7YNb420RlQSbn+n8rG8dGZSkrER7ZIXGQYNm5pqC3v3HopH24A==" - }, - "node_modules/mdast-util-compact/node_modules/unist-util-visit": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-1.4.1.tgz", - "integrity": "sha512-AvGNk7Bb//EmJZyhtRUnNMEpId/AZ5Ph/KUpTI09WHQuDZHKovQ1oEv3mfmKpWKtoMzyMC4GLBm1Zy5k12fjIw==", - "dependencies": { - "unist-util-visit-parents": "^2.0.0" + "node_modules/is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/mdast-util-compact/node_modules/unist-util-visit-parents": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-2.1.2.tgz", - "integrity": "sha512-DyN5vD4NE3aSeB+PXYNKxzGsfocxp6asDc2XXE3b0ekO2BaRUpBicbbUygfSvYfUz1IkmjFR1YF7dPklraMZ2g==", - "dependencies": { - "unist-util-is": "^3.0.0" + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "engines": { + "node": ">=0.12.0" } }, - "node_modules/mdast-util-definitions": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-5.1.2.tgz", - "integrity": "sha512-8SVPMuHqlPME/z3gqVwWY4zVXn8lqKv/pAhC57FuJ40ImXyBpmO5ukh98zB2v7Blql2FiHjHv9LVztSIqjY+MA==", + "node_modules/is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", "dependencies": { - "@types/mdast": "^3.0.0", - "@types/unist": "^2.0.0", - "unist-util-visit": "^4.0.0" + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/mdast-util-find-and-replace": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-2.2.2.tgz", - "integrity": "sha512-MTtdFRz/eMDHXzeK6W3dO7mXUlF82Gom4y0oOgvHhh/HXZAGvIQDUvQ0SuUx+j2tv44b8xTHOm8K/9OoRFnXKw==", - "dependencies": { - "@types/mdast": "^3.0.0", - "escape-string-regexp": "^5.0.0", - "unist-util-is": "^5.0.0", - "unist-util-visit-parents": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "node_modules/is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==", + "engines": { + "node": ">=0.10.0" } }, - "node_modules/mdast-util-find-and-replace/node_modules/escape-string-regexp": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", - "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", "engines": { "node": ">=12" }, @@ -5370,602 +5199,840 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/mdast-util-from-markdown": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-1.3.1.tgz", - "integrity": "sha512-4xTO/M8c82qBcnQc1tgpNtubGUW/Y1tBQ1B0i5CtSoelOLKFYlElIr3bvgREYYO5iRqbMY1YuqZng0GVOI8Qww==", + "node_modules/is-reference": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-3.0.1.tgz", + "integrity": "sha512-baJJdQLiYaJdvFbJqXrcGv3WU3QCzBlUcI5QhbesIm6/xPsvmO+2CDoi/GMOFBQEQm+PXkwOPrp9KK5ozZsp2w==", "dependencies": { - "@types/mdast": "^3.0.0", - "@types/unist": "^2.0.0", - "decode-named-character-reference": "^1.0.0", - "mdast-util-to-string": "^3.1.0", - "micromark": "^3.0.0", - "micromark-util-decode-numeric-character-reference": "^1.0.0", - "micromark-util-decode-string": "^1.0.0", - "micromark-util-normalize-identifier": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "unist-util-stringify-position": "^3.0.0", - "uvu": "^0.5.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "@types/estree": "*" } }, - "node_modules/mdast-util-frontmatter": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mdast-util-frontmatter/-/mdast-util-frontmatter-1.0.1.tgz", - "integrity": "sha512-JjA2OjxRqAa8wEG8hloD0uTU0kdn8kbtOWpPP94NBkfAlbxn4S8gCGf/9DwFtEeGPXrDcNXdiDjVaRdUFqYokw==", + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", "dependencies": { - "@types/mdast": "^3.0.0", - "mdast-util-to-markdown": "^1.3.0", - "micromark-extension-frontmatter": "^1.0.0" + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/mdast-util-gfm": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-2.0.2.tgz", - "integrity": "sha512-qvZ608nBppZ4icQlhQQIAdc6S3Ffj9RGmzwUKUWuEICFnd1LVkN3EktF7ZHAgfcEdvZB5owU9tQgt99e2TlLjg==", + "node_modules/is-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", + "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", "dependencies": { - "mdast-util-from-markdown": "^1.0.0", - "mdast-util-gfm-autolink-literal": "^1.0.0", - "mdast-util-gfm-footnote": "^1.0.0", - "mdast-util-gfm-strikethrough": "^1.0.0", - "mdast-util-gfm-table": "^1.0.0", - "mdast-util-gfm-task-list-item": "^1.0.0", - "mdast-util-to-markdown": "^1.0.0" + "call-bind": "^1.0.2" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/mdast-util-gfm-autolink-literal": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-1.0.3.tgz", - "integrity": "sha512-My8KJ57FYEy2W2LyNom4n3E7hKTuQk/0SES0u16tjA9Z3oFkF4RrC/hPAPgjlSpezsOvI8ObcXcElo92wn5IGA==", - "dependencies": { - "@types/mdast": "^3.0.0", - "ccount": "^2.0.0", - "mdast-util-find-and-replace": "^2.0.0", - "micromark-util-character": "^1.0.0" + "node_modules/is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/mdast-util-gfm-footnote": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-1.0.2.tgz", - "integrity": "sha512-56D19KOGbE00uKVj3sgIykpwKL179QsVFwx/DCW0u/0+URsryacI4MAdNJl0dh+u2PSsD9FtxPFbHCzJ78qJFQ==", + "node_modules/is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", "dependencies": { - "@types/mdast": "^3.0.0", - "mdast-util-to-markdown": "^1.3.0", - "micromark-util-normalize-identifier": "^1.0.0" + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/mdast-util-gfm-strikethrough": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-1.0.3.tgz", - "integrity": "sha512-DAPhYzTYrRcXdMjUtUjKvW9z/FNAMTdU0ORyMcbmkwYNbKocDpdk+PX1L1dQgOID/+vVs1uBQ7ElrBQfZ0cuiQ==", + "node_modules/is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", "dependencies": { - "@types/mdast": "^3.0.0", - "mdast-util-to-markdown": "^1.3.0" + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/mdast-util-gfm-table": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-1.0.7.tgz", - "integrity": "sha512-jjcpmNnQvrmN5Vx7y7lEc2iIOEytYv7rTvu+MeyAsSHTASGCCRA79Igg2uKssgOs1i1po8s3plW0sTu1wkkLGg==", + "node_modules/is-typed-array": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", + "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", "dependencies": { - "@types/mdast": "^3.0.0", - "markdown-table": "^3.0.0", - "mdast-util-from-markdown": "^1.0.0", - "mdast-util-to-markdown": "^1.3.0" + "which-typed-array": "^1.1.11" + }, + "engines": { + "node": ">= 0.4" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/mdast-util-gfm-task-list-item": { + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" + }, + "node_modules/is-weakref": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-1.0.2.tgz", - "integrity": "sha512-PFTA1gzfp1B1UaiJVyhJZA1rm0+Tzn690frc/L8vNX1Jop4STZgOE6bxUhnzdVSB+vm2GU1tIsuQcA9bxTQpMQ==", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", "dependencies": { - "@types/mdast": "^3.0.0", - "mdast-util-to-markdown": "^1.3.0" + "call-bind": "^1.0.2" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/mdast-util-mdx": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/mdast-util-mdx/-/mdast-util-mdx-2.0.1.tgz", - "integrity": "sha512-38w5y+r8nyKlGvNjSEqWrhG0w5PmnRA+wnBvm+ulYCct7nsGYhFVb0lljS9bQav4psDAS1eGkP2LMVcZBi/aqw==", - "dependencies": { - "mdast-util-from-markdown": "^1.0.0", - "mdast-util-mdx-expression": "^1.0.0", - "mdast-util-mdx-jsx": "^2.0.0", - "mdast-util-mdxjs-esm": "^1.0.0", - "mdast-util-to-markdown": "^1.0.0" - }, + "node_modules/is-whitespace-character": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.4.tgz", + "integrity": "sha512-SDweEzfIZM0SJV0EUga669UTKlmL0Pq8Lno0QDQsPnvECB3IM2aP0gdx5TrU0A01MAPfViaZiI2V1QMZLaKK5w==", "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/mdast-util-mdx-expression": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-1.3.2.tgz", - "integrity": "sha512-xIPmR5ReJDu/DHH1OoIT1HkuybIfRGYRywC+gJtI7qHjCJp/M9jrmBEJW22O8lskDWm562BX2W8TiAwRTb0rKA==", + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", "dependencies": { - "@types/estree-jsx": "^1.0.0", - "@types/hast": "^2.0.0", - "@types/mdast": "^3.0.0", - "mdast-util-from-markdown": "^1.0.0", - "mdast-util-to-markdown": "^1.0.0" + "is-docker": "^2.0.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": ">=8" } }, - "node_modules/mdast-util-mdx-jsx": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-2.1.4.tgz", - "integrity": "sha512-DtMn9CmVhVzZx3f+optVDF8yFgQVt7FghCRNdlIaS3X5Bnym3hZwPbg/XW86vdpKjlc1PVj26SpnLGeJBXD3JA==", - "dependencies": { - "@types/estree-jsx": "^1.0.0", - "@types/hast": "^2.0.0", - "@types/mdast": "^3.0.0", - "@types/unist": "^2.0.0", - "ccount": "^2.0.0", - "mdast-util-from-markdown": "^1.1.0", - "mdast-util-to-markdown": "^1.3.0", - "parse-entities": "^4.0.0", - "stringify-entities": "^4.0.0", - "unist-util-remove-position": "^4.0.0", - "unist-util-stringify-position": "^3.0.0", - "vfile-message": "^3.0.0" + "node_modules/is-wsl/node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "bin": { + "is-docker": "cli.js" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-mdxjs-esm": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-1.3.1.tgz", - "integrity": "sha512-SXqglS0HrEvSdUEfoXFtcg7DRl7S2cwOXc7jkuusG472Mmjag34DUDeOJUZtl+BVnyeO1frIgVpHlNRWc2gk/w==", - "dependencies": { - "@types/estree-jsx": "^1.0.0", - "@types/hast": "^2.0.0", - "@types/mdast": "^3.0.0", - "mdast-util-from-markdown": "^1.0.0", - "mdast-util-to-markdown": "^1.0.0" + "engines": { + "node": ">=8" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/mdast-util-phrasing": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-3.0.1.tgz", - "integrity": "sha512-WmI1gTXUBJo4/ZmSk79Wcb2HcjPJBzM1nlI/OUWA8yk2X9ik3ffNbBGsU+09BFmXaL1IBb9fiuvq6/KMiNycSg==", - "dependencies": { - "@types/mdast": "^3.0.0", - "unist-util-is": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } + "node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" }, - "node_modules/mdast-util-to-hast": { - "version": "12.3.0", - "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-12.3.0.tgz", - "integrity": "sha512-pits93r8PhnIoU4Vy9bjW39M2jJ6/tdHyja9rrot9uujkN7UTU9SDnE6WNJz/IGyQk3XHX6yNNtrBH6cQzm8Hw==", - "dependencies": { - "@types/hast": "^2.0.0", - "@types/mdast": "^3.0.0", - "mdast-util-definitions": "^5.0.0", - "micromark-util-sanitize-uri": "^1.1.0", - "trim-lines": "^3.0.0", - "unist-util-generated": "^2.0.0", - "unist-util-position": "^4.0.0", - "unist-util-visit": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" }, - "node_modules/mdast-util-to-markdown": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-1.5.0.tgz", - "integrity": "sha512-bbv7TPv/WC49thZPg3jXuqzuvI45IL2EVAr/KxF0BSdHsU0ceFHOmwQn6evxAh1GaoK/6GQ1wp4R4oW2+LFL/A==", + "node_modules/isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==" + }, + "node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "peer": true, "dependencies": { - "@types/mdast": "^3.0.0", - "@types/unist": "^2.0.0", - "longest-streak": "^3.0.0", - "mdast-util-phrasing": "^3.0.0", - "mdast-util-to-string": "^3.0.0", - "micromark-util-decode-string": "^1.0.0", - "unist-util-visit": "^4.0.0", - "zwitch": "^2.0.0" + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": ">= 10.13.0" } }, - "node_modules/mdast-util-to-string": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-3.2.0.tgz", - "integrity": "sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg==", + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "peer": true, "dependencies": { - "@types/mdast": "^3.0.0" + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/mdn-data": { - "version": "2.0.30", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", - "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", - "dev": true + "node_modules/jiti": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.19.1.tgz", + "integrity": "sha512-oVhqoRDaBXf7sjkll95LHVS6Myyyb1zaunVwk4Z0+WPSW4gjS0pl01zYKHScTuyEhQsFxV5L4DR5r+YqSyqyyg==", + "dev": true, + "bin": { + "jiti": "bin/jiti.js" + } }, - "node_modules/media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "node_modules/joycon": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/joycon/-/joycon-3.1.1.tgz", + "integrity": "sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==", + "dev": true, "engines": { - "node": ">= 0.6" + "node": ">=10" } }, - "node_modules/merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" + "node_modules/jquery": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/jquery/-/jquery-2.2.4.tgz", + "integrity": "sha512-lBHj60ezci2u1v2FqnZIraShGgEXq35qCzMv4lITyHGppTnA13rwR0MgwyNJh9TnDs3aXUvd1xjAotfraMHX/Q==" }, - "node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "engines": { - "node": ">= 8" + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "node_modules/methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "node_modules/jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==" + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "peer": true + }, + "node_modules/json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "peer": true + }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==" + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "bin": { + "json5": "lib/cli.js" + }, "engines": { - "node": ">= 0.6" + "node": ">=6" } }, - "node_modules/micromark": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/micromark/-/micromark-3.2.0.tgz", - "integrity": "sha512-uD66tJj54JLYq0De10AhWycZWGQNUvDI55xPgk2sQM5kn1JYlhbCMTtEeT27+vAhW2FBQxLlOmS3pmA7/2z4aA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, "dependencies": { - "@types/debug": "^4.0.0", - "debug": "^4.0.0", - "decode-named-character-reference": "^1.0.0", - "micromark-core-commonmark": "^1.0.1", - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-chunked": "^1.0.0", - "micromark-util-combine-extensions": "^1.0.0", - "micromark-util-decode-numeric-character-reference": "^1.0.0", - "micromark-util-encode": "^1.0.0", - "micromark-util-normalize-identifier": "^1.0.0", - "micromark-util-resolve-all": "^1.0.0", - "micromark-util-sanitize-uri": "^1.0.0", - "micromark-util-subtokenize": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.1", - "uvu": "^0.5.0" + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" } }, - "node_modules/micromark-core-commonmark": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-1.1.0.tgz", - "integrity": "sha512-BgHO1aRbolh2hcrzL2d1La37V0Aoz73ymF8rAcKnohLy93titmv62E0gP8Hrx9PKcKrqCZ1BbLGbP3bEhoXYlw==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "decode-named-character-reference": "^1.0.0", - "micromark-factory-destination": "^1.0.0", - "micromark-factory-label": "^1.0.0", - "micromark-factory-space": "^1.0.0", - "micromark-factory-title": "^1.0.0", - "micromark-factory-whitespace": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-chunked": "^1.0.0", - "micromark-util-classify-character": "^1.0.0", - "micromark-util-html-tag-name": "^1.0.0", - "micromark-util-normalize-identifier": "^1.0.0", - "micromark-util-resolve-all": "^1.0.0", - "micromark-util-subtokenize": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.1", - "uvu": "^0.5.0" + "node_modules/jsonpointer": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.1.0.tgz", + "integrity": "sha512-CXcRvMyTlnR53xMcKnuMzfCA5i/nfblTnnr74CZb6C4vG39eu6w51t7nKmU5MfLfbTgGItliNyjO/ciNPDqClg==", + "engines": { + "node": ">=0.10.0" } }, - "node_modules/micromark-extension-frontmatter": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/micromark-extension-frontmatter/-/micromark-extension-frontmatter-1.1.1.tgz", - "integrity": "sha512-m2UH9a7n3W8VAH9JO9y01APpPKmNNNs71P0RbknEmYSaZU5Ghogv38BYO94AI5Xw6OYfxZRdHZZ2nYjs/Z+SZQ==", + "node_modules/jsonpointer.js": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/jsonpointer.js/-/jsonpointer.js-0.4.0.tgz", + "integrity": "sha512-2bf/1crAmPpsmj1I6rDT6W0SOErkrNBpb555xNWcMVWYrX6VnXpG0GRMQ2shvOHwafpfse8q0gnzPFYVH6Tqdg==" + }, + "node_modules/jsprim": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", + "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", "dependencies": { - "fault": "^2.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": ">=0.6.0" } }, - "node_modules/micromark-extension-gfm": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-2.0.3.tgz", - "integrity": "sha512-vb9OoHqrhCmbRidQv/2+Bc6pkP0FrtlhurxZofvOEy5o8RtuuvTq+RQ1Vw5ZDNrVraQZu3HixESqbG+0iKk/MQ==", + "node_modules/jsx-ast-utils": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", + "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", "dependencies": { - "micromark-extension-gfm-autolink-literal": "^1.0.0", - "micromark-extension-gfm-footnote": "^1.0.0", - "micromark-extension-gfm-strikethrough": "^1.0.0", - "micromark-extension-gfm-table": "^1.0.0", - "micromark-extension-gfm-tagfilter": "^1.0.0", - "micromark-extension-gfm-task-list-item": "^1.0.0", - "micromark-util-combine-extensions": "^1.0.0", - "micromark-util-types": "^1.0.0" + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "object.assign": "^4.1.4", + "object.values": "^1.1.6" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": ">=4.0" } }, - "node_modules/micromark-extension-gfm-autolink-literal": { + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/kleur": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", + "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/language-subtag-registry": { + "version": "0.3.22", + "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz", + "integrity": "sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==" + }, + "node_modules/language-tags": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-1.0.5.tgz", - "integrity": "sha512-z3wJSLrDf8kRDOh2qBtoTRD53vJ+CWIyo7uyZuxf/JAbNJjiHsOpG1y5wxk8drtv3ETAHutCu6N3thkOOgueWg==", + "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz", + "integrity": "sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==", "dependencies": { - "micromark-util-character": "^1.0.0", - "micromark-util-sanitize-uri": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "language-subtag-registry": "~0.3.2" } }, - "node_modules/micromark-extension-gfm-footnote": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-1.1.2.tgz", - "integrity": "sha512-Yxn7z7SxgyGWRNa4wzf8AhYYWNrwl5q1Z8ii+CSTTIqVkmGZF1CElX2JI8g5yGoM3GAman9/PVCUFUSJ0kB/8Q==", + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "peer": true, "dependencies": { - "micromark-core-commonmark": "^1.0.0", - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-normalize-identifier": "^1.0.0", - "micromark-util-sanitize-uri": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0" + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": ">= 0.8.0" } }, - "node_modules/micromark-extension-gfm-strikethrough": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-1.0.7.tgz", - "integrity": "sha512-sX0FawVE1o3abGk3vRjOH50L5TTLr3b5XMqnP9YDRb34M0v5OoZhG+OHFz1OffZ9dlwgpTBKaT4XW/AsUVnSDw==", + "node_modules/lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, + "node_modules/loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "peer": true, + "engines": { + "node": ">=6.11.5" + } + }, + "node_modules/loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "dev": true, "dependencies": { - "micromark-util-chunked": "^1.0.0", - "micromark-util-classify-character": "^1.0.0", - "micromark-util-resolve-all": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0" + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": ">=8.9.0" } }, - "node_modules/micromark-extension-gfm-table": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-1.0.7.tgz", - "integrity": "sha512-3ZORTHtcSnMQEKtAOsBQ9/oHp9096pI/UvdPtN7ehKvrmZZ2+bbWhi0ln+I9drmwXMt5boocn6OlwQzNXeVeqw==", + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "peer": true, "dependencies": { - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0" + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/micromark-extension-gfm-tagfilter": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-1.0.2.tgz", - "integrity": "sha512-5XWB9GbAUSHTn8VPU8/1DBXMuKYT5uOgEjJb8gN3mW0PNW5OPHpSdojoqf+iq1xo7vWzw/P8bAHY0n6ijpXF7g==", + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "node_modules/lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", + "dev": true + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "peer": true + }, + "node_modules/lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==", + "dev": true + }, + "node_modules/longest-streak": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz", + "integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", "dependencies": { - "micromark-util-types": "^1.0.0" + "js-tokens": "^3.0.0 || ^4.0.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "bin": { + "loose-envify": "cli.js" } }, - "node_modules/micromark-extension-gfm-task-list-item": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-1.0.5.tgz", - "integrity": "sha512-RMFXl2uQ0pNQy6Lun2YBYT9g9INXtWJULgbt01D/x8/6yJ2qpKyzdZD3pi6UIkzF++Da49xAelVKUeUMqd5eIQ==", + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dependencies": { - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0" + "yallist": "^4.0.0" }, + "engines": { + "node": ">=10" + } + }, + "node_modules/lz-string": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", + "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==", + "bin": { + "lz-string": "bin/bin.js" + } + }, + "node_modules/markdown-escapes": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.4.tgz", + "integrity": "sha512-8z4efJYk43E0upd0NbVXwgSTQs6cT3T06etieCMEg7dRbzCbxUCK/GHlX8mhHRDcp+OLlHkPKsvqQTCvsRl2cg==", "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/micromark-extension-mdx-expression": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-1.0.8.tgz", - "integrity": "sha512-zZpeQtc5wfWKdzDsHRBY003H2Smg+PUi2REhqgIhdzAa5xonhP03FcXxqFSerFiNUr5AWmHpaNPQTBVOS4lrXw==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "@types/estree": "^1.0.0", - "micromark-factory-mdx-expression": "^1.0.0", - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-events-to-acorn": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0" + "node_modules/markdown-table": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.3.tgz", + "integrity": "sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/micromark-extension-mdx-jsx": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-1.0.5.tgz", - "integrity": "sha512-gPH+9ZdmDflbu19Xkb8+gheqEDqkSpdCEubQyxuz/Hn8DOXiXvrXeikOoBA71+e8Pfi0/UYmU3wW3H58kr7akA==", + "node_modules/marked": { + "version": "0.3.19", + "resolved": "https://registry.npmjs.org/marked/-/marked-0.3.19.tgz", + "integrity": "sha512-ea2eGWOqNxPcXv8dyERdSr/6FmzvWwzjMxpfGB/sbMccXoct+xY+YukPD+QTUZwyvK7BZwcr4m21WBOW41pAkg==", + "bin": { + "marked": "bin/marked" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mdast-util-compact": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mdast-util-compact/-/mdast-util-compact-1.0.4.tgz", + "integrity": "sha512-3YDMQHI5vRiS2uygEFYaqckibpJtKq5Sj2c8JioeOQBU6INpKbdWzfyLqFFnDwEcEnRFIdMsguzs5pC1Jp4Isg==", "dependencies": { - "@types/acorn": "^4.0.0", - "@types/estree": "^1.0.0", - "estree-util-is-identifier-name": "^2.0.0", - "micromark-factory-mdx-expression": "^1.0.0", - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0", - "vfile-message": "^3.0.0" + "unist-util-visit": "^1.1.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, - "node_modules/micromark-extension-mdx-md": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/micromark-extension-mdx-md/-/micromark-extension-mdx-md-1.0.1.tgz", - "integrity": "sha512-7MSuj2S7xjOQXAjjkbjBsHkMtb+mDGVW6uI2dBL9snOBCbZmoNgDAeZ0nSn9j3T42UE/g2xVNMn18PJxZvkBEA==", + "node_modules/mdast-util-compact/node_modules/unist-util-is": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-3.0.0.tgz", + "integrity": "sha512-sVZZX3+kspVNmLWBPAB6r+7D9ZgAFPNWm66f7YNb420RlQSbn+n8rG8dGZSkrER7ZIXGQYNm5pqC3v3HopH24A==" + }, + "node_modules/mdast-util-compact/node_modules/unist-util-visit": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-1.4.1.tgz", + "integrity": "sha512-AvGNk7Bb//EmJZyhtRUnNMEpId/AZ5Ph/KUpTI09WHQuDZHKovQ1oEv3mfmKpWKtoMzyMC4GLBm1Zy5k12fjIw==", "dependencies": { - "micromark-util-types": "^1.0.0" + "unist-util-visit-parents": "^2.0.0" + } + }, + "node_modules/mdast-util-compact/node_modules/unist-util-visit-parents": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-2.1.2.tgz", + "integrity": "sha512-DyN5vD4NE3aSeB+PXYNKxzGsfocxp6asDc2XXE3b0ekO2BaRUpBicbbUygfSvYfUz1IkmjFR1YF7dPklraMZ2g==", + "dependencies": { + "unist-util-is": "^3.0.0" + } + }, + "node_modules/mdast-util-definitions": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-5.1.2.tgz", + "integrity": "sha512-8SVPMuHqlPME/z3gqVwWY4zVXn8lqKv/pAhC57FuJ40ImXyBpmO5ukh98zB2v7Blql2FiHjHv9LVztSIqjY+MA==", + "dependencies": { + "@types/mdast": "^3.0.0", + "@types/unist": "^2.0.0", + "unist-util-visit": "^4.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, - "node_modules/micromark-extension-mdxjs": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs/-/micromark-extension-mdxjs-1.0.1.tgz", - "integrity": "sha512-7YA7hF6i5eKOfFUzZ+0z6avRG52GpWR8DL+kN47y3f2KhxbBZMhmxe7auOeaTBrW2DenbbZTf1ea9tA2hDpC2Q==", + "node_modules/mdast-util-find-and-replace": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-2.2.2.tgz", + "integrity": "sha512-MTtdFRz/eMDHXzeK6W3dO7mXUlF82Gom4y0oOgvHhh/HXZAGvIQDUvQ0SuUx+j2tv44b8xTHOm8K/9OoRFnXKw==", "dependencies": { - "acorn": "^8.0.0", - "acorn-jsx": "^5.0.0", - "micromark-extension-mdx-expression": "^1.0.0", - "micromark-extension-mdx-jsx": "^1.0.0", - "micromark-extension-mdx-md": "^1.0.0", - "micromark-extension-mdxjs-esm": "^1.0.0", - "micromark-util-combine-extensions": "^1.0.0", - "micromark-util-types": "^1.0.0" + "@types/mdast": "^3.0.0", + "escape-string-regexp": "^5.0.0", + "unist-util-is": "^5.0.0", + "unist-util-visit-parents": "^5.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, - "node_modules/micromark-extension-mdxjs-esm": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-1.0.5.tgz", - "integrity": "sha512-xNRBw4aoURcyz/S69B19WnZAkWJMxHMT5hE36GtDAyhoyn/8TuAeqjFJQlwk+MKQsUD7b3l7kFX+vlfVWgcX1w==", + "node_modules/mdast-util-find-and-replace/node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mdast-util-from-markdown": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-1.3.1.tgz", + "integrity": "sha512-4xTO/M8c82qBcnQc1tgpNtubGUW/Y1tBQ1B0i5CtSoelOLKFYlElIr3bvgREYYO5iRqbMY1YuqZng0GVOI8Qww==", "dependencies": { - "@types/estree": "^1.0.0", - "micromark-core-commonmark": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-events-to-acorn": "^1.0.0", + "@types/mdast": "^3.0.0", + "@types/unist": "^2.0.0", + "decode-named-character-reference": "^1.0.0", + "mdast-util-to-string": "^3.1.0", + "micromark": "^3.0.0", + "micromark-util-decode-numeric-character-reference": "^1.0.0", + "micromark-util-decode-string": "^1.0.0", + "micromark-util-normalize-identifier": "^1.0.0", "micromark-util-symbol": "^1.0.0", "micromark-util-types": "^1.0.0", - "unist-util-position-from-estree": "^1.1.0", - "uvu": "^0.5.0", - "vfile-message": "^3.0.0" + "unist-util-stringify-position": "^3.0.0", + "uvu": "^0.5.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, - "node_modules/micromark-factory-destination": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-1.1.0.tgz", - "integrity": "sha512-XaNDROBgx9SgSChd69pjiGKbV+nfHGDPVYFs5dOoDd7ZnMAE+Cuu91BCpsY8RT2NP9vo/B8pds2VQNCLiu0zhg==", + "node_modules/mdast-util-frontmatter": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-frontmatter/-/mdast-util-frontmatter-1.0.1.tgz", + "integrity": "sha512-JjA2OjxRqAa8wEG8hloD0uTU0kdn8kbtOWpPP94NBkfAlbxn4S8gCGf/9DwFtEeGPXrDcNXdiDjVaRdUFqYokw==", + "dependencies": { + "@types/mdast": "^3.0.0", + "mdast-util-to-markdown": "^1.3.0", + "micromark-extension-frontmatter": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-2.0.2.tgz", + "integrity": "sha512-qvZ608nBppZ4icQlhQQIAdc6S3Ffj9RGmzwUKUWuEICFnd1LVkN3EktF7ZHAgfcEdvZB5owU9tQgt99e2TlLjg==", + "dependencies": { + "mdast-util-from-markdown": "^1.0.0", + "mdast-util-gfm-autolink-literal": "^1.0.0", + "mdast-util-gfm-footnote": "^1.0.0", + "mdast-util-gfm-strikethrough": "^1.0.0", + "mdast-util-gfm-table": "^1.0.0", + "mdast-util-gfm-task-list-item": "^1.0.0", + "mdast-util-to-markdown": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-autolink-literal": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-1.0.3.tgz", + "integrity": "sha512-My8KJ57FYEy2W2LyNom4n3E7hKTuQk/0SES0u16tjA9Z3oFkF4RrC/hPAPgjlSpezsOvI8ObcXcElo92wn5IGA==", + "dependencies": { + "@types/mdast": "^3.0.0", + "ccount": "^2.0.0", + "mdast-util-find-and-replace": "^2.0.0", + "micromark-util-character": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-footnote": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-1.0.2.tgz", + "integrity": "sha512-56D19KOGbE00uKVj3sgIykpwKL179QsVFwx/DCW0u/0+URsryacI4MAdNJl0dh+u2PSsD9FtxPFbHCzJ78qJFQ==", + "dependencies": { + "@types/mdast": "^3.0.0", + "mdast-util-to-markdown": "^1.3.0", + "micromark-util-normalize-identifier": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-strikethrough": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-1.0.3.tgz", + "integrity": "sha512-DAPhYzTYrRcXdMjUtUjKvW9z/FNAMTdU0ORyMcbmkwYNbKocDpdk+PX1L1dQgOID/+vVs1uBQ7ElrBQfZ0cuiQ==", + "dependencies": { + "@types/mdast": "^3.0.0", + "mdast-util-to-markdown": "^1.3.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-table": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-1.0.7.tgz", + "integrity": "sha512-jjcpmNnQvrmN5Vx7y7lEc2iIOEytYv7rTvu+MeyAsSHTASGCCRA79Igg2uKssgOs1i1po8s3plW0sTu1wkkLGg==", + "dependencies": { + "@types/mdast": "^3.0.0", + "markdown-table": "^3.0.0", + "mdast-util-from-markdown": "^1.0.0", + "mdast-util-to-markdown": "^1.3.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-task-list-item": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-1.0.2.tgz", + "integrity": "sha512-PFTA1gzfp1B1UaiJVyhJZA1rm0+Tzn690frc/L8vNX1Jop4STZgOE6bxUhnzdVSB+vm2GU1tIsuQcA9bxTQpMQ==", + "dependencies": { + "@types/mdast": "^3.0.0", + "mdast-util-to-markdown": "^1.3.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx-expression": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.0.tgz", + "integrity": "sha512-fGCu8eWdKUKNu5mohVGkhBXCXGnOTLuFqOvGMvdikr+J1w7lDJgxThOKpwRWzzbyXAU2hhSwsmssOY4yTokluw==", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx-expression/node_modules/@types/hast": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.3.tgz", + "integrity": "sha512-2fYGlaDy/qyLlhidX42wAH0KBi2TCjKMH8CHmBXgRlJ3Y+OXTiqsPQ6IWarZKwF1JoUcAJdPogv1d4b0COTpmQ==", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/mdast-util-mdx-expression/node_modules/@types/mdast": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.3.tgz", + "integrity": "sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg==", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/mdast-util-mdx-expression/node_modules/@types/unist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", + "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==" + }, + "node_modules/mdast-util-mdx-expression/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/mdast-util-mdx-expression/node_modules/mdast-util-from-markdown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.0.tgz", + "integrity": "sha512-n7MTOr/z+8NAX/wmhhDji8O3bRvPTV/U0oTCaZJkjhPSKTPhS3xufVhKGF8s1pJ7Ox4QgoIU7KHseh09S+9rTA==", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark": "^4.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx-expression/node_modules/mdast-util-phrasing": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.0.0.tgz", + "integrity": "sha512-xadSsJayQIucJ9n053dfQwVu1kuXg7jCTdYsMK8rqzKZh52nLfSH/k0sAxE0u+pj/zKZX+o5wB+ML5mRayOxFA==", + "dependencies": { + "@types/mdast": "^4.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx-expression/node_modules/mdast-util-to-markdown": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.0.tgz", + "integrity": "sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "longest-streak": "^3.0.0", + "mdast-util-phrasing": "^4.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark-util-decode-string": "^2.0.0", + "unist-util-visit": "^5.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx-expression/node_modules/mdast-util-to-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", + "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", + "dependencies": { + "@types/mdast": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx-expression/node_modules/micromark": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.0.tgz", + "integrity": "sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==", "funding": [ { "type": "GitHub Sponsors", @@ -5977,15 +6044,29 @@ } ], "dependencies": { - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "node_modules/micromark-factory-label": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-1.1.0.tgz", - "integrity": "sha512-OLtyez4vZo/1NjxGhcpDSbHQ+m0IIGnT8BoPamh+7jVlzLJBH98zzuCoUeMxvM6WsNeh8wx8cKvqLiPHEACn0w==", + "@types/debug": "^4.0.0", + "debug": "^4.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/mdast-util-mdx-expression/node_modules/micromark-core-commonmark": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.0.tgz", + "integrity": "sha512-jThOz/pVmAYUtkroV3D5c1osFXAMv9e0ypGDOIZuCeAe91/sD6BoE2Sjzt30yuXtwOYUmySOhMas/PVyh02itA==", "funding": [ { "type": "GitHub Sponsors", @@ -5997,16 +6078,28 @@ } ], "dependencies": { - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0" - } - }, - "node_modules/micromark-factory-mdx-expression": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-1.0.9.tgz", - "integrity": "sha512-jGIWzSmNfdnkJq05c7b0+Wv0Kfz3NJ3N4cBjnbO4zjXIlxJr+f8lk+5ZmwFvqdAbUy2q6B5rCY//g0QAAaXDWA==", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-destination": "^2.0.0", + "micromark-factory-label": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-factory-title": "^2.0.0", + "micromark-factory-whitespace": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-html-tag-name": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/mdast-util-mdx-expression/node_modules/micromark-factory-destination": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.0.tgz", + "integrity": "sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==", "funding": [ { "type": "GitHub Sponsors", @@ -6018,20 +6111,15 @@ } ], "dependencies": { - "@types/estree": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-events-to-acorn": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "unist-util-position-from-estree": "^1.0.0", - "uvu": "^0.5.0", - "vfile-message": "^3.0.0" + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, - "node_modules/micromark-factory-space": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-1.1.0.tgz", - "integrity": "sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ==", + "node_modules/mdast-util-mdx-expression/node_modules/micromark-factory-label": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.0.tgz", + "integrity": "sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==", "funding": [ { "type": "GitHub Sponsors", @@ -6043,14 +6131,16 @@ } ], "dependencies": { - "micromark-util-character": "^1.0.0", - "micromark-util-types": "^1.0.0" + "devlop": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, - "node_modules/micromark-factory-title": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-1.1.0.tgz", - "integrity": "sha512-J7n9R3vMmgjDOCY8NPw55jiyaQnH5kBdV2/UXCtZIpnHH3P6nHUKaH7XXEYuWwx/xUJcawa8plLBEjMPU24HzQ==", + "node_modules/mdast-util-mdx-expression/node_modules/micromark-factory-space": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz", + "integrity": "sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==", "funding": [ { "type": "GitHub Sponsors", @@ -6062,16 +6152,14 @@ } ], "dependencies": { - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, - "node_modules/micromark-factory-whitespace": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-1.1.0.tgz", - "integrity": "sha512-v2WlmiymVSp5oMg+1Q0N1Lxmt6pMhIHD457whWM7/GUlEks1hI9xj5w3zbc4uuMKXGisksZk8DzP2UyGbGqNsQ==", + "node_modules/mdast-util-mdx-expression/node_modules/micromark-factory-title": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.0.tgz", + "integrity": "sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A==", "funding": [ { "type": "GitHub Sponsors", @@ -6083,16 +6171,16 @@ } ], "dependencies": { - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, - "node_modules/micromark-util-character": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-1.2.0.tgz", - "integrity": "sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==", + "node_modules/mdast-util-mdx-expression/node_modules/micromark-factory-whitespace": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.0.tgz", + "integrity": "sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA==", "funding": [ { "type": "GitHub Sponsors", @@ -6104,14 +6192,16 @@ } ], "dependencies": { - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, - "node_modules/micromark-util-chunked": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-1.1.0.tgz", - "integrity": "sha512-Ye01HXpkZPNcV6FiyoW2fGZDUw4Yc7vT0E9Sad83+bEDiCJ1uXu0S3mr8WLpsz3HaG3x2q0HM6CTuPdcZcluFQ==", + "node_modules/mdast-util-mdx-expression/node_modules/micromark-util-character": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.0.1.tgz", + "integrity": "sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==", "funding": [ { "type": "GitHub Sponsors", @@ -6123,13 +6213,14 @@ } ], "dependencies": { - "micromark-util-symbol": "^1.0.0" + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, - "node_modules/micromark-util-classify-character": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-1.1.0.tgz", - "integrity": "sha512-SL0wLxtKSnklKSUplok1WQFoGhUdWYKggKUiqhX+Swala+BtptGCu5iPRc+xvzJ4PXE/hwM3FNXsfEVgoZsWbw==", + "node_modules/mdast-util-mdx-expression/node_modules/micromark-util-chunked": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.0.tgz", + "integrity": "sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg==", "funding": [ { "type": "GitHub Sponsors", @@ -6141,15 +6232,13 @@ } ], "dependencies": { - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" + "micromark-util-symbol": "^2.0.0" } }, - "node_modules/micromark-util-combine-extensions": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-1.1.0.tgz", - "integrity": "sha512-Q20sp4mfNf9yEqDL50WwuWZHUrCO4fEyeDCnMGmG5Pr0Cz15Uo7KBs6jq+dq0EgX4DPwwrh9m0X+zPV1ypFvUA==", + "node_modules/mdast-util-mdx-expression/node_modules/micromark-util-classify-character": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.0.tgz", + "integrity": "sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw==", "funding": [ { "type": "GitHub Sponsors", @@ -6161,14 +6250,15 @@ } ], "dependencies": { - "micromark-util-chunked": "^1.0.0", - "micromark-util-types": "^1.0.0" + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, - "node_modules/micromark-util-decode-numeric-character-reference": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-1.1.0.tgz", - "integrity": "sha512-m9V0ExGv0jB1OT21mrWcuf4QhP46pH1KkfWy9ZEezqHKAxkj4mPCy3nIH1rkbdMlChLHX531eOrymlwyZIf2iw==", + "node_modules/mdast-util-mdx-expression/node_modules/micromark-util-combine-extensions": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.0.tgz", + "integrity": "sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ==", "funding": [ { "type": "GitHub Sponsors", @@ -6180,13 +6270,14 @@ } ], "dependencies": { - "micromark-util-symbol": "^1.0.0" + "micromark-util-chunked": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, - "node_modules/micromark-util-decode-string": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-1.1.0.tgz", - "integrity": "sha512-YphLGCK8gM1tG1bd54azwyrQRjCFcmgj2S2GoJDNnh4vYtnL38JS8M4gpxzOPNyHdNEpheyWXCTnnTDY3N+NVQ==", + "node_modules/mdast-util-mdx-expression/node_modules/micromark-util-decode-numeric-character-reference": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.1.tgz", + "integrity": "sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ==", "funding": [ { "type": "GitHub Sponsors", @@ -6198,16 +6289,13 @@ } ], "dependencies": { - "decode-named-character-reference": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-decode-numeric-character-reference": "^1.0.0", - "micromark-util-symbol": "^1.0.0" + "micromark-util-symbol": "^2.0.0" } }, - "node_modules/micromark-util-encode": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-1.1.0.tgz", - "integrity": "sha512-EuEzTWSTAj9PA5GOAs992GzNh2dGQO52UvAbtSOMvXTxv3Criqb6IOzJUBCmEqrrXSblJIJBbFFv6zPxpreiJw==", + "node_modules/mdast-util-mdx-expression/node_modules/micromark-util-decode-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.0.tgz", + "integrity": "sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==", "funding": [ { "type": "GitHub Sponsors", @@ -6217,12 +6305,18 @@ "type": "OpenCollective", "url": "https://opencollective.com/unified" } - ] + ], + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } }, - "node_modules/micromark-util-events-to-acorn": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-1.2.3.tgz", - "integrity": "sha512-ij4X7Wuc4fED6UoLWkmo0xJQhsktfNh1J0m8g4PbIMPlx+ek/4YdW5mvbye8z/aZvAPUoxgXHrwVlXAPKMRp1w==", + "node_modules/mdast-util-mdx-expression/node_modules/micromark-util-encode": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.0.tgz", + "integrity": "sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==", "funding": [ { "type": "GitHub Sponsors", @@ -6232,22 +6326,12 @@ "type": "OpenCollective", "url": "https://opencollective.com/unified" } - ], - "dependencies": { - "@types/acorn": "^4.0.0", - "@types/estree": "^1.0.0", - "@types/unist": "^2.0.0", - "estree-util-visit": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0", - "vfile-message": "^3.0.0" - } + ] }, - "node_modules/micromark-util-html-tag-name": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-1.2.0.tgz", - "integrity": "sha512-VTQzcuQgFUD7yYztuQFKXT49KghjtETQ+Wv/zUjGSGBioZnkA4P1XXZPT1FHeJA6RwRXSF47yvJ1tsJdoxwO+Q==", + "node_modules/mdast-util-mdx-expression/node_modules/micromark-util-html-tag-name": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.0.tgz", + "integrity": "sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==", "funding": [ { "type": "GitHub Sponsors", @@ -6259,10 +6343,10 @@ } ] }, - "node_modules/micromark-util-normalize-identifier": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-1.1.0.tgz", - "integrity": "sha512-N+w5vhqrBihhjdpM8+5Xsxy71QWqGn7HYNUvch71iV2PM7+E3uWGox1Qp90loa1ephtCxG2ftRV/Conitc6P2Q==", + "node_modules/mdast-util-mdx-expression/node_modules/micromark-util-normalize-identifier": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.0.tgz", + "integrity": "sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w==", "funding": [ { "type": "GitHub Sponsors", @@ -6274,13 +6358,13 @@ } ], "dependencies": { - "micromark-util-symbol": "^1.0.0" + "micromark-util-symbol": "^2.0.0" } }, - "node_modules/micromark-util-resolve-all": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-1.1.0.tgz", - "integrity": "sha512-b/G6BTMSg+bX+xVCshPTPyAu2tmA0E4X98NSR7eIbeC6ycCqCeE7wjfDIgzEbkzdEVJXRtOG4FbEm/uGbCRouA==", + "node_modules/mdast-util-mdx-expression/node_modules/micromark-util-resolve-all": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.0.tgz", + "integrity": "sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA==", "funding": [ { "type": "GitHub Sponsors", @@ -6292,13 +6376,13 @@ } ], "dependencies": { - "micromark-util-types": "^1.0.0" + "micromark-util-types": "^2.0.0" } }, - "node_modules/micromark-util-sanitize-uri": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-1.2.0.tgz", - "integrity": "sha512-QO4GXv0XZfWey4pYFndLUKEAktKkG5kZTdUNaTAkzbuJxn2tNBOr+QtxR2XpWaMhbImT2dPzyLrPXLlPhph34A==", + "node_modules/mdast-util-mdx-expression/node_modules/micromark-util-sanitize-uri": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.0.tgz", + "integrity": "sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==", "funding": [ { "type": "GitHub Sponsors", @@ -6310,15 +6394,15 @@ } ], "dependencies": { - "micromark-util-character": "^1.0.0", - "micromark-util-encode": "^1.0.0", - "micromark-util-symbol": "^1.0.0" + "micromark-util-character": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-symbol": "^2.0.0" } }, - "node_modules/micromark-util-subtokenize": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-1.1.0.tgz", - "integrity": "sha512-kUQHyzRoxvZO2PuLzMt2P/dwVsTiivCK8icYTeR+3WgbuPqfHgPPy7nFKbeqRivBvn/3N3GBiNC+JRTMSxEC7A==", + "node_modules/mdast-util-mdx-expression/node_modules/micromark-util-subtokenize": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.0.0.tgz", + "integrity": "sha512-vc93L1t+gpR3p8jxeVdaYlbV2jTYteDje19rNSS/H5dlhxUYll5Fy6vJ2cDwP8RnsXi818yGty1ayP55y3W6fg==", "funding": [ { "type": "GitHub Sponsors", @@ -6330,16 +6414,16 @@ } ], "dependencies": { - "micromark-util-chunked": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0" + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, - "node_modules/micromark-util-symbol": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-1.1.0.tgz", - "integrity": "sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag==", + "node_modules/mdast-util-mdx-expression/node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", "funding": [ { "type": "GitHub Sponsors", @@ -6351,10 +6435,10 @@ } ] }, - "node_modules/micromark-util-types": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-1.1.0.tgz", - "integrity": "sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==", + "node_modules/mdast-util-mdx-expression/node_modules/micromark-util-types": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.0.tgz", + "integrity": "sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==", "funding": [ { "type": "GitHub Sponsors", @@ -6366,1844 +6450,2142 @@ } ] }, - "node_modules/micromark/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/micromark/node_modules/ms": { + "node_modules/mdast-util-mdx-expression/node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, - "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "node_modules/mdast-util-mdx-expression/node_modules/unist-util-is": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", + "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", "dependencies": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" + "@types/unist": "^3.0.0" }, - "engines": { - "node": ">=8.6" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "bin": { - "mime": "cli.js" + "node_modules/mdast-util-mdx-expression/node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "dependencies": { + "@types/unist": "^3.0.0" }, - "engines": { - "node": ">=4" - } - }, - "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "engines": { - "node": ">= 0.6" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "node_modules/mdast-util-mdx-expression/node_modules/unist-util-visit": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz", + "integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==", "dependencies": { - "mime-db": "1.52.0" + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" }, - "engines": { - "node": ">= 0.6" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/mimic-fn": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", - "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", - "engines": { - "node": ">=12" + "node_modules/mdast-util-mdx-expression/node_modules/unist-util-visit-parents": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz", + "integrity": "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "node_modules/mdast-util-mdx-jsx": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.0.0.tgz", + "integrity": "sha512-XZuPPzQNBPAlaqsTTgRrcJnyFbSOBovSadFgbFu8SnuNgm+6Bdx1K+IWoitsmj6Lq6MNtI+ytOqwN70n//NaBA==", "dependencies": { - "brace-expansion": "^1.1.7" + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "ccount": "^2.0.0", + "devlop": "^1.1.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "parse-entities": "^4.0.0", + "stringify-entities": "^4.0.0", + "unist-util-remove-position": "^5.0.0", + "unist-util-stringify-position": "^4.0.0", + "vfile-message": "^4.0.0" }, - "engines": { - "node": "*" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node_modules/mdast-util-mdx-jsx/node_modules/@types/hast": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.3.tgz", + "integrity": "sha512-2fYGlaDy/qyLlhidX42wAH0KBi2TCjKMH8CHmBXgRlJ3Y+OXTiqsPQ6IWarZKwF1JoUcAJdPogv1d4b0COTpmQ==", + "dependencies": { + "@types/unist": "*" } }, - "node_modules/mri": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", - "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", - "engines": { - "node": ">=4" + "node_modules/mdast-util-mdx-jsx/node_modules/@types/mdast": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.3.tgz", + "integrity": "sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg==", + "dependencies": { + "@types/unist": "*" } }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + "node_modules/mdast-util-mdx-jsx/node_modules/@types/unist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", + "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==" }, - "node_modules/mz": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", - "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", - "dev": true, + "node_modules/mdast-util-mdx-jsx/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dependencies": { - "any-promise": "^1.0.0", - "object-assign": "^4.0.1", - "thenify-all": "^1.0.0" + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "node_modules/nanoid": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", - "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "bin": { - "nanoid": "bin/nanoid.cjs" + "node_modules/mdast-util-mdx-jsx/node_modules/mdast-util-from-markdown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.0.tgz", + "integrity": "sha512-n7MTOr/z+8NAX/wmhhDji8O3bRvPTV/U0oTCaZJkjhPSKTPhS3xufVhKGF8s1pJ7Ox4QgoIU7KHseh09S+9rTA==", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark": "^4.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-stringify-position": "^4.0.0" }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "peer": true - }, - "node_modules/negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", - "engines": { - "node": ">= 0.6" + "node_modules/mdast-util-mdx-jsx/node_modules/mdast-util-phrasing": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.0.0.tgz", + "integrity": "sha512-xadSsJayQIucJ9n053dfQwVu1kuXg7jCTdYsMK8rqzKZh52nLfSH/k0sAxE0u+pj/zKZX+o5wB+ML5mRayOxFA==", + "dependencies": { + "@types/mdast": "^4.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" - }, - "node_modules/next": { - "version": "13.4.12", - "resolved": "https://registry.npmjs.org/next/-/next-13.4.12.tgz", - "integrity": "sha512-eHfnru9x6NRmTMcjQp6Nz0J4XH9OubmzOa7CkWL+AUrUxpibub3vWwttjduu9No16dug1kq04hiUUpo7J3m3Xw==", + "node_modules/mdast-util-mdx-jsx/node_modules/mdast-util-to-markdown": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.0.tgz", + "integrity": "sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==", "dependencies": { - "@next/env": "13.4.12", - "@swc/helpers": "0.5.1", - "busboy": "1.6.0", - "caniuse-lite": "^1.0.30001406", - "postcss": "8.4.14", - "styled-jsx": "5.1.1", - "watchpack": "2.4.0", - "zod": "3.21.4" - }, - "bin": { - "next": "dist/bin/next" - }, - "engines": { - "node": ">=16.8.0" - }, - "optionalDependencies": { - "@next/swc-darwin-arm64": "13.4.12", - "@next/swc-darwin-x64": "13.4.12", - "@next/swc-linux-arm64-gnu": "13.4.12", - "@next/swc-linux-arm64-musl": "13.4.12", - "@next/swc-linux-x64-gnu": "13.4.12", - "@next/swc-linux-x64-musl": "13.4.12", - "@next/swc-win32-arm64-msvc": "13.4.12", - "@next/swc-win32-ia32-msvc": "13.4.12", - "@next/swc-win32-x64-msvc": "13.4.12" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.1.0", - "fibers": ">= 3.1.0", - "react": "^18.2.0", - "react-dom": "^18.2.0", - "sass": "^1.3.0" + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "longest-streak": "^3.0.0", + "mdast-util-phrasing": "^4.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark-util-decode-string": "^2.0.0", + "unist-util-visit": "^5.0.0", + "zwitch": "^2.0.0" }, - "peerDependenciesMeta": { - "@opentelemetry/api": { - "optional": true - }, - "fibers": { - "optional": true - }, - "sass": { - "optional": true - } + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/next-mdx-remote": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/next-mdx-remote/-/next-mdx-remote-4.4.1.tgz", - "integrity": "sha512-1BvyXaIou6xy3XoNF4yaMZUCb6vD2GTAa5ciOa6WoO+gAUTYsb1K4rI/HSC2ogAWLrb/7VSV52skz07vOzmqIQ==", + "node_modules/mdast-util-mdx-jsx/node_modules/mdast-util-to-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", + "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", "dependencies": { - "@mdx-js/mdx": "^2.2.1", - "@mdx-js/react": "^2.2.1", - "vfile": "^5.3.0", - "vfile-matter": "^3.0.1" - }, - "engines": { - "node": ">=14", - "npm": ">=7" + "@types/mdast": "^4.0.0" }, - "peerDependencies": { - "react": ">=16.x <=18.x", - "react-dom": ">=16.x <=18.x" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/next/node_modules/postcss": { - "version": "8.4.14", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz", - "integrity": "sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==", + "node_modules/mdast-util-mdx-jsx/node_modules/micromark": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.0.tgz", + "integrity": "sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==", "funding": [ { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" }, { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" + "type": "OpenCollective", + "url": "https://opencollective.com/unified" } ], "dependencies": { - "nanoid": "^3.3.4", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/node-releases": { - "version": "2.0.13", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", - "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==" - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, - "engines": { - "node": ">=0.10.0" + "@types/debug": "^4.0.0", + "debug": "^4.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/mdast-util-mdx-jsx/node_modules/micromark-core-commonmark": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.0.tgz", + "integrity": "sha512-jThOz/pVmAYUtkroV3D5c1osFXAMv9e0ypGDOIZuCeAe91/sD6BoE2Sjzt30yuXtwOYUmySOhMas/PVyh02itA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-destination": "^2.0.0", + "micromark-factory-label": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-factory-title": "^2.0.0", + "micromark-factory-whitespace": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-html-tag-name": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/mdast-util-mdx-jsx/node_modules/micromark-factory-destination": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.0.tgz", + "integrity": "sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, - "node_modules/normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", - "dev": true, - "engines": { - "node": ">=0.10.0" + "node_modules/mdast-util-mdx-jsx/node_modules/micromark-factory-label": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.0.tgz", + "integrity": "sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, - "node_modules/npm-run-path": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz", - "integrity": "sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==", + "node_modules/mdast-util-mdx-jsx/node_modules/micromark-factory-space": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz", + "integrity": "sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], "dependencies": { - "path-key": "^4.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, - "node_modules/npm-run-path/node_modules/path-key": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", - "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node_modules/mdast-util-mdx-jsx/node_modules/micromark-factory-title": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.0.tgz", + "integrity": "sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, - "node_modules/nth-check": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", - "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", - "dev": true, + "node_modules/mdast-util-mdx-jsx/node_modules/micromark-factory-whitespace": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.0.tgz", + "integrity": "sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], "dependencies": { - "boolbase": "^1.0.0" - }, - "funding": { - "url": "https://github.com/fb55/nth-check?sponsor=1" + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, - "node_modules/oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", - "engines": { - "node": "*" - } - }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-hash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", - "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/object-inspect": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", - "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node_modules/mdast-util-mdx-jsx/node_modules/micromark-util-character": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.0.1.tgz", + "integrity": "sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, - "node_modules/object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "engines": { - "node": ">= 0.4" + "node_modules/mdast-util-mdx-jsx/node_modules/micromark-util-chunked": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.0.tgz", + "integrity": "sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0" } }, - "node_modules/object.assign": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", - "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "node_modules/mdast-util-mdx-jsx/node_modules/micromark-util-classify-character": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.0.tgz", + "integrity": "sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, - "node_modules/object.entries": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.6.tgz", - "integrity": "sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==", + "node_modules/mdast-util-mdx-jsx/node_modules/micromark-util-combine-extensions": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.0.tgz", + "integrity": "sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "engines": { - "node": ">= 0.4" + "micromark-util-chunked": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, - "node_modules/object.fromentries": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.6.tgz", - "integrity": "sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==", + "node_modules/mdast-util-mdx-jsx/node_modules/micromark-util-decode-numeric-character-reference": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.1.tgz", + "integrity": "sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "micromark-util-symbol": "^2.0.0" } }, - "node_modules/object.groupby": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.0.tgz", - "integrity": "sha512-70MWG6NfRH9GnbZOikuhPPYzpUpof9iW2J9E4dW7FXTqPNb6rllE6u39SKwwiNh8lCwX3DDb5OgcKGiEBrTTyw==", + "node_modules/mdast-util-mdx-jsx/node_modules/micromark-util-decode-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.0.tgz", + "integrity": "sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.21.2", - "get-intrinsic": "^1.2.1" + "decode-named-character-reference": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-symbol": "^2.0.0" } }, - "node_modules/object.hasown": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.2.tgz", - "integrity": "sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==", + "node_modules/mdast-util-mdx-jsx/node_modules/micromark-util-encode": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.0.tgz", + "integrity": "sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/mdast-util-mdx-jsx/node_modules/micromark-util-html-tag-name": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.0.tgz", + "integrity": "sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/mdast-util-mdx-jsx/node_modules/micromark-util-normalize-identifier": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.0.tgz", + "integrity": "sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], "dependencies": { - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "micromark-util-symbol": "^2.0.0" } }, - "node_modules/object.values": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz", - "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", + "node_modules/mdast-util-mdx-jsx/node_modules/micromark-util-resolve-all": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.0.tgz", + "integrity": "sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "micromark-util-types": "^2.0.0" } }, - "node_modules/on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "node_modules/mdast-util-mdx-jsx/node_modules/micromark-util-sanitize-uri": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.0.tgz", + "integrity": "sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" + "micromark-util-character": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-symbol": "^2.0.0" } }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "node_modules/mdast-util-mdx-jsx/node_modules/micromark-util-subtokenize": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.0.0.tgz", + "integrity": "sha512-vc93L1t+gpR3p8jxeVdaYlbV2jTYteDje19rNSS/H5dlhxUYll5Fy6vJ2cDwP8RnsXi818yGty1ayP55y3W6fg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], "dependencies": { - "wrappy": "1" + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, - "node_modules/onetime": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", - "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", + "node_modules/mdast-util-mdx-jsx/node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/mdast-util-mdx-jsx/node_modules/micromark-util-types": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.0.tgz", + "integrity": "sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/mdast-util-mdx-jsx/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/mdast-util-mdx-jsx/node_modules/unist-util-is": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", + "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", "dependencies": { - "mimic-fn": "^4.0.0" - }, - "engines": { - "node": ">=12" + "@types/unist": "^3.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/open": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/open/-/open-9.1.0.tgz", - "integrity": "sha512-OS+QTnw1/4vrf+9hh1jc1jnYjzSG4ttTBB8UxOwAnInG3Uo4ssetzC1ihqaIHjLJnA5GGlRl6QlZXOTQhRBUvg==", + "node_modules/mdast-util-mdx-jsx/node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", "dependencies": { - "default-browser": "^4.0.0", - "define-lazy-prop": "^3.0.0", - "is-inside-container": "^1.0.0", - "is-wsl": "^2.2.0" - }, - "engines": { - "node": ">=14.16" + "@types/unist": "^3.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/optionator": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", - "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", - "peer": true, + "node_modules/mdast-util-mdx-jsx/node_modules/unist-util-visit": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz", + "integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==", "dependencies": { - "@aashutoshrathi/word-wrap": "^1.2.3", - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0" + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" }, - "engines": { - "node": ">= 0.8.0" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "peer": true, + "node_modules/mdast-util-mdx-jsx/node_modules/unist-util-visit-parents": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz", + "integrity": "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==", "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "peer": true, + "node_modules/mdast-util-mdx-jsx/node_modules/vfile-message": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.2.tgz", + "integrity": "sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==", "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "peer": true, + "node_modules/mdast-util-mdxjs-esm": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-2.0.1.tgz", + "integrity": "sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==", "dependencies": { - "callsites": "^3.0.0" + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" }, - "engines": { - "node": ">=6" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/parse-entities": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.1.tgz", - "integrity": "sha512-SWzvYcSJh4d/SGLIOQfZ/CoNv6BTlI6YEQ7Nj82oDVnRpwe/Z/F1EMx42x3JAOwGBlCjeCH0BRJQbQ/opHL17w==", + "node_modules/mdast-util-mdxjs-esm/node_modules/@types/hast": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.3.tgz", + "integrity": "sha512-2fYGlaDy/qyLlhidX42wAH0KBi2TCjKMH8CHmBXgRlJ3Y+OXTiqsPQ6IWarZKwF1JoUcAJdPogv1d4b0COTpmQ==", "dependencies": { - "@types/unist": "^2.0.0", - "character-entities": "^2.0.0", - "character-entities-legacy": "^3.0.0", - "character-reference-invalid": "^2.0.0", - "decode-named-character-reference": "^1.0.0", - "is-alphanumerical": "^2.0.0", - "is-decimal": "^2.0.0", - "is-hexadecimal": "^2.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "@types/unist": "*" } }, - "node_modules/parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "engines": { - "node": ">= 0.8" + "node_modules/mdast-util-mdxjs-esm/node_modules/@types/mdast": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.3.tgz", + "integrity": "sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg==", + "dependencies": { + "@types/unist": "*" } }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "peer": true, - "engines": { - "node": ">=8" - } + "node_modules/mdast-util-mdxjs-esm/node_modules/@types/unist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", + "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==" }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "node_modules/mdast-util-mdxjs-esm/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, "engines": { - "node": ">=0.10.0" + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "engines": { - "node": ">=8" + "node_modules/mdast-util-mdxjs-esm/node_modules/mdast-util-from-markdown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.0.tgz", + "integrity": "sha512-n7MTOr/z+8NAX/wmhhDji8O3bRvPTV/U0oTCaZJkjhPSKTPhS3xufVhKGF8s1pJ7Ox4QgoIU7KHseh09S+9rTA==", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark": "^4.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" - }, - "node_modules/path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" - }, - "node_modules/path-type": { + "node_modules/mdast-util-mdxjs-esm/node_modules/mdast-util-phrasing": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "engines": { - "node": ">=8" + "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.0.0.tgz", + "integrity": "sha512-xadSsJayQIucJ9n053dfQwVu1kuXg7jCTdYsMK8rqzKZh52nLfSH/k0sAxE0u+pj/zKZX+o5wB+ML5mRayOxFA==", + "dependencies": { + "@types/mdast": "^4.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/performance-now": { + "node_modules/mdast-util-mdxjs-esm/node_modules/mdast-util-to-markdown": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==" - }, - "node_modules/periscopic": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/periscopic/-/periscopic-3.1.0.tgz", - "integrity": "sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==", + "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.0.tgz", + "integrity": "sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==", "dependencies": { - "@types/estree": "^1.0.0", - "estree-walker": "^3.0.0", - "is-reference": "^3.0.0" - } - }, - "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "engines": { - "node": ">=8.6" + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "longest-streak": "^3.0.0", + "mdast-util-phrasing": "^4.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark-util-decode-string": "^2.0.0", + "unist-util-visit": "^5.0.0", + "zwitch": "^2.0.0" }, "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", - "dev": true, - "engines": { - "node": ">=0.10.0" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/pirates": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", - "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", - "dev": true, - "engines": { - "node": ">= 6" + "node_modules/mdast-util-mdxjs-esm/node_modules/mdast-util-to-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", + "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", + "dependencies": { + "@types/mdast": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/postcss": { - "version": "8.4.27", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.27.tgz", - "integrity": "sha512-gY/ACJtJPSmUFPDCHtX78+01fHa64FaU4zaaWfuh1MhGJISufJAH4cun6k/8fwsHYeK4UQmENQK+tRLCFJE8JQ==", - "dev": true, + "node_modules/mdast-util-mdxjs-esm/node_modules/micromark": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.0.tgz", + "integrity": "sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==", "funding": [ { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" }, { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "@types/debug": "^4.0.0", + "debug": "^4.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/mdast-util-mdxjs-esm/node_modules/micromark-core-commonmark": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.0.tgz", + "integrity": "sha512-jThOz/pVmAYUtkroV3D5c1osFXAMv9e0ypGDOIZuCeAe91/sD6BoE2Sjzt30yuXtwOYUmySOhMas/PVyh02itA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" }, { - "type": "github", - "url": "https://github.com/sponsors/ai" + "type": "OpenCollective", + "url": "https://opencollective.com/unified" } ], "dependencies": { - "nanoid": "^3.3.6", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/postcss-calc": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-9.0.1.tgz", - "integrity": "sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ==", - "dev": true, + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-destination": "^2.0.0", + "micromark-factory-label": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-factory-title": "^2.0.0", + "micromark-factory-whitespace": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-html-tag-name": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/mdast-util-mdxjs-esm/node_modules/micromark-factory-destination": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.0.tgz", + "integrity": "sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], "dependencies": { - "postcss-selector-parser": "^6.0.11", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.2.2" + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, - "node_modules/postcss-cli": { - "version": "8.3.1", - "resolved": "https://registry.npmjs.org/postcss-cli/-/postcss-cli-8.3.1.tgz", - "integrity": "sha512-leHXsQRq89S3JC9zw/tKyiVV2jAhnfQe0J8VI4eQQbUjwIe0XxVqLrR+7UsahF1s9wi4GlqP6SJ8ydf44cgF2Q==", - "dev": true, + "node_modules/mdast-util-mdxjs-esm/node_modules/micromark-factory-label": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.0.tgz", + "integrity": "sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], "dependencies": { - "chalk": "^4.0.0", - "chokidar": "^3.3.0", - "dependency-graph": "^0.9.0", - "fs-extra": "^9.0.0", - "get-stdin": "^8.0.0", - "globby": "^11.0.0", - "postcss-load-config": "^3.0.0", - "postcss-reporter": "^7.0.0", - "pretty-hrtime": "^1.0.3", - "read-cache": "^1.0.0", - "slash": "^3.0.0", - "yargs": "^16.0.0" - }, - "bin": { - "postcss": "bin/postcss" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "postcss": "^8.0.0" + "devlop": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, - "node_modules/postcss-colormin": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-6.0.0.tgz", - "integrity": "sha512-EuO+bAUmutWoZYgHn2T1dG1pPqHU6L4TjzPlu4t1wZGXQ/fxV16xg2EJmYi0z+6r+MGV1yvpx1BHkUaRrPa2bw==", - "dev": true, + "node_modules/mdast-util-mdxjs-esm/node_modules/micromark-factory-space": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz", + "integrity": "sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], "dependencies": { - "browserslist": "^4.21.4", - "caniuse-api": "^3.0.0", - "colord": "^2.9.1", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, - "node_modules/postcss-convert-values": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-6.0.0.tgz", - "integrity": "sha512-U5D8QhVwqT++ecmy8rnTb+RL9n/B806UVaS3m60lqle4YDFcpbS3ae5bTQIh3wOGUSDHSEtMYLs/38dNG7EYFw==", - "dev": true, + "node_modules/mdast-util-mdxjs-esm/node_modules/micromark-factory-title": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.0.tgz", + "integrity": "sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], "dependencies": { - "browserslist": "^4.21.4", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, - "node_modules/postcss-discard-comments": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-6.0.0.tgz", - "integrity": "sha512-p2skSGqzPMZkEQvJsgnkBhCn8gI7NzRH2683EEjrIkoMiwRELx68yoUJ3q3DGSGuQ8Ug9Gsn+OuDr46yfO+eFw==", - "dev": true, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node_modules/mdast-util-mdxjs-esm/node_modules/micromark-factory-whitespace": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.0.tgz", + "integrity": "sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, - "node_modules/postcss-discard-duplicates": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-6.0.0.tgz", - "integrity": "sha512-bU1SXIizMLtDW4oSsi5C/xHKbhLlhek/0/yCnoMQany9k3nPBq+Ctsv/9oMmyqbR96HYHxZcHyK2HR5P/mqoGA==", - "dev": true, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node_modules/mdast-util-mdxjs-esm/node_modules/micromark-util-character": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.0.1.tgz", + "integrity": "sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, - "node_modules/postcss-discard-empty": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-6.0.0.tgz", - "integrity": "sha512-b+h1S1VT6dNhpcg+LpyiUrdnEZfICF0my7HAKgJixJLW7BnNmpRH34+uw/etf5AhOlIhIAuXApSzzDzMI9K/gQ==", - "dev": true, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node_modules/mdast-util-mdxjs-esm/node_modules/micromark-util-chunked": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.0.tgz", + "integrity": "sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0" } }, - "node_modules/postcss-discard-overridden": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-6.0.0.tgz", - "integrity": "sha512-4VELwssYXDFigPYAZ8vL4yX4mUepF/oCBeeIT4OXsJPYOtvJumyz9WflmJWTfDwCUcpDR+z0zvCWBXgTx35SVw==", - "dev": true, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node_modules/mdast-util-mdxjs-esm/node_modules/micromark-util-classify-character": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.0.tgz", + "integrity": "sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, - "node_modules/postcss-import": { - "version": "15.1.0", - "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", - "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", - "dev": true, + "node_modules/mdast-util-mdxjs-esm/node_modules/micromark-util-combine-extensions": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.0.tgz", + "integrity": "sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], "dependencies": { - "postcss-value-parser": "^4.0.0", - "read-cache": "^1.0.0", - "resolve": "^1.1.7" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "postcss": "^8.0.0" + "micromark-util-chunked": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, - "node_modules/postcss-js": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", - "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", - "dev": true, - "dependencies": { - "camelcase-css": "^2.0.1" - }, - "engines": { - "node": "^12 || ^14 || >= 16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - "peerDependencies": { - "postcss": "^8.4.21" + "node_modules/mdast-util-mdxjs-esm/node_modules/micromark-util-decode-numeric-character-reference": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.1.tgz", + "integrity": "sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0" } }, - "node_modules/postcss-load-config": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz", - "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==", - "dev": true, + "node_modules/mdast-util-mdxjs-esm/node_modules/micromark-util-decode-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.0.tgz", + "integrity": "sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], "dependencies": { - "lilconfig": "^2.0.5", - "yaml": "^1.10.2" - }, - "engines": { - "node": ">= 10" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - "peerDependencies": { - "postcss": ">=8.0.9", - "ts-node": ">=9.0.0" - }, - "peerDependenciesMeta": { - "postcss": { - "optional": true + "decode-named-character-reference": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/mdast-util-mdxjs-esm/node_modules/micromark-util-encode": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.0.tgz", + "integrity": "sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" }, - "ts-node": { - "optional": true + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/mdast-util-mdxjs-esm/node_modules/micromark-util-html-tag-name": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.0.tgz", + "integrity": "sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/mdast-util-mdxjs-esm/node_modules/micromark-util-normalize-identifier": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.0.tgz", + "integrity": "sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0" } }, - "node_modules/postcss-merge-longhand": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-6.0.0.tgz", - "integrity": "sha512-4VSfd1lvGkLTLYcxFuISDtWUfFS4zXe0FpF149AyziftPFQIWxjvFSKhA4MIxMe4XM3yTDgQMbSNgzIVxChbIg==", - "dev": true, + "node_modules/mdast-util-mdxjs-esm/node_modules/micromark-util-resolve-all": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.0.tgz", + "integrity": "sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], "dependencies": { - "postcss-value-parser": "^4.2.0", - "stylehacks": "^6.0.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "micromark-util-types": "^2.0.0" } }, - "node_modules/postcss-merge-rules": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-6.0.1.tgz", - "integrity": "sha512-a4tlmJIQo9SCjcfiCcCMg/ZCEe0XTkl/xK0XHBs955GWg9xDX3NwP9pwZ78QUOWB8/0XCjZeJn98Dae0zg6AAw==", - "dev": true, + "node_modules/mdast-util-mdxjs-esm/node_modules/micromark-util-sanitize-uri": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.0.tgz", + "integrity": "sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], "dependencies": { - "browserslist": "^4.21.4", - "caniuse-api": "^3.0.0", - "cssnano-utils": "^4.0.0", - "postcss-selector-parser": "^6.0.5" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "micromark-util-character": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-symbol": "^2.0.0" } }, - "node_modules/postcss-minify-font-values": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-6.0.0.tgz", - "integrity": "sha512-zNRAVtyh5E8ndZEYXA4WS8ZYsAp798HiIQ1V2UF/C/munLp2r1UGHwf1+6JFu7hdEhJFN+W1WJQKBrtjhFgEnA==", - "dev": true, + "node_modules/mdast-util-mdxjs-esm/node_modules/micromark-util-subtokenize": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.0.0.tgz", + "integrity": "sha512-vc93L1t+gpR3p8jxeVdaYlbV2jTYteDje19rNSS/H5dlhxUYll5Fy6vJ2cDwP8RnsXi818yGty1ayP55y3W6fg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, - "node_modules/postcss-minify-gradients": { + "node_modules/mdast-util-mdxjs-esm/node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/mdast-util-mdxjs-esm/node_modules/micromark-util-types": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.0.tgz", + "integrity": "sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/mdast-util-mdxjs-esm/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/mdast-util-mdxjs-esm/node_modules/unist-util-is": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-6.0.0.tgz", - "integrity": "sha512-wO0F6YfVAR+K1xVxF53ueZJza3L+R3E6cp0VwuXJQejnNUH0DjcAFe3JEBeTY1dLwGa0NlDWueCA1VlEfiKgAA==", - "dev": true, + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", + "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", "dependencies": { - "colord": "^2.9.1", - "cssnano-utils": "^4.0.0", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" + "@types/unist": "^3.0.0" }, - "peerDependencies": { - "postcss": "^8.2.15" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/postcss-minify-params": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-6.0.0.tgz", - "integrity": "sha512-Fz/wMQDveiS0n5JPcvsMeyNXOIMrwF88n7196puSuQSWSa+/Ofc1gDOSY2xi8+A4PqB5dlYCKk/WfqKqsI+ReQ==", - "dev": true, + "node_modules/mdast-util-mdxjs-esm/node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", "dependencies": { - "browserslist": "^4.21.4", - "cssnano-utils": "^4.0.0", - "postcss-value-parser": "^4.2.0" + "@types/unist": "^3.0.0" }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/postcss-minify-selectors": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-6.0.0.tgz", - "integrity": "sha512-ec/q9JNCOC2CRDNnypipGfOhbYPuUkewGwLnbv6omue/PSASbHSU7s6uSQ0tcFRVv731oMIx8k0SP4ZX6be/0g==", - "dev": true, + "node_modules/mdast-util-mdxjs-esm/node_modules/unist-util-visit": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz", + "integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==", "dependencies": { - "postcss-selector-parser": "^6.0.5" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" }, - "peerDependencies": { - "postcss": "^8.2.15" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/postcss-nested": { + "node_modules/mdast-util-mdxjs-esm/node_modules/unist-util-visit-parents": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz", - "integrity": "sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==", - "dev": true, + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz", + "integrity": "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==", "dependencies": { - "postcss-selector-parser": "^6.0.11" - }, - "engines": { - "node": ">=12.0" + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" }, "funding": { "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - "peerDependencies": { - "postcss": "^8.2.14" + "url": "https://opencollective.com/unified" } }, - "node_modules/postcss-normalize-charset": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-6.0.0.tgz", - "integrity": "sha512-cqundwChbu8yO/gSWkuFDmKrCZ2vJzDAocheT2JTd0sFNA4HMGoKMfbk2B+J0OmO0t5GUkiAkSM5yF2rSLUjgQ==", - "dev": true, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-display-values": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-6.0.0.tgz", - "integrity": "sha512-Qyt5kMrvy7dJRO3OjF7zkotGfuYALETZE+4lk66sziWSPzlBEt7FrUshV6VLECkI4EN8Z863O6Nci4NXQGNzYw==", - "dev": true, + "node_modules/mdast-util-phrasing": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-3.0.1.tgz", + "integrity": "sha512-WmI1gTXUBJo4/ZmSk79Wcb2HcjPJBzM1nlI/OUWA8yk2X9ik3ffNbBGsU+09BFmXaL1IBb9fiuvq6/KMiNycSg==", "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" + "@types/mdast": "^3.0.0", + "unist-util-is": "^5.0.0" }, - "peerDependencies": { - "postcss": "^8.2.15" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/postcss-normalize-positions": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-6.0.0.tgz", - "integrity": "sha512-mPCzhSV8+30FZyWhxi6UoVRYd3ZBJgTRly4hOkaSifo0H+pjDYcii/aVT4YE6QpOil15a5uiv6ftnY3rm0igPg==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" + "node_modules/mdast-util-to-hast": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.0.2.tgz", + "integrity": "sha512-U5I+500EOOw9e3ZrclN3Is3fRpw8c19SMyNZlZ2IS+7vLsNzb2Om11VpIVOR+/0137GhZsFEF6YiKD5+0Hr2Og==", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@ungap/structured-clone": "^1.0.0", + "devlop": "^1.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "trim-lines": "^3.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0" }, - "peerDependencies": { - "postcss": "^8.2.15" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/postcss-normalize-repeat-style": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-6.0.0.tgz", - "integrity": "sha512-50W5JWEBiOOAez2AKBh4kRFm2uhrT3O1Uwdxz7k24aKtbD83vqmcVG7zoIwo6xI2FZ/HDlbrCopXhLeTpQib1A==", - "dev": true, + "node_modules/mdast-util-to-hast/node_modules/@types/hast": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.3.tgz", + "integrity": "sha512-2fYGlaDy/qyLlhidX42wAH0KBi2TCjKMH8CHmBXgRlJ3Y+OXTiqsPQ6IWarZKwF1JoUcAJdPogv1d4b0COTpmQ==", "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "@types/unist": "*" } }, - "node_modules/postcss-normalize-string": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-6.0.0.tgz", - "integrity": "sha512-KWkIB7TrPOiqb8ZZz6homet2KWKJwIlysF5ICPZrXAylGe2hzX/HSf4NTX2rRPJMAtlRsj/yfkrWGavFuB+c0w==", - "dev": true, + "node_modules/mdast-util-to-hast/node_modules/@types/mdast": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.3.tgz", + "integrity": "sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg==", "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "@types/unist": "*" } }, - "node_modules/postcss-normalize-timing-functions": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-6.0.0.tgz", - "integrity": "sha512-tpIXWciXBp5CiFs8sem90IWlw76FV4oi6QEWfQwyeREVwUy39VSeSqjAT7X0Qw650yAimYW5gkl2Gd871N5SQg==", - "dev": true, + "node_modules/mdast-util-to-hast/node_modules/@types/unist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", + "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==" + }, + "node_modules/mdast-util-to-hast/node_modules/micromark-util-character": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.0.1.tgz", + "integrity": "sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, - "node_modules/postcss-normalize-unicode": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-6.0.0.tgz", - "integrity": "sha512-ui5crYkb5ubEUDugDc786L/Me+DXp2dLg3fVJbqyAl0VPkAeALyAijF2zOsnZyaS1HyfPuMH0DwyY18VMFVNkg==", - "dev": true, + "node_modules/mdast-util-to-hast/node_modules/micromark-util-encode": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.0.tgz", + "integrity": "sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/mdast-util-to-hast/node_modules/micromark-util-sanitize-uri": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.0.tgz", + "integrity": "sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], "dependencies": { - "browserslist": "^4.21.4", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "micromark-util-character": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-symbol": "^2.0.0" } }, - "node_modules/postcss-normalize-url": { + "node_modules/mdast-util-to-hast/node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/mdast-util-to-hast/node_modules/micromark-util-types": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.0.tgz", + "integrity": "sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/mdast-util-to-hast/node_modules/unist-util-is": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-6.0.0.tgz", - "integrity": "sha512-98mvh2QzIPbb02YDIrYvAg4OUzGH7s1ZgHlD3fIdTHLgPLRpv1ZTKJDnSAKr4Rt21ZQFzwhGMXxpXlfrUBKFHw==", - "dev": true, + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", + "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" + "@types/unist": "^3.0.0" }, - "peerDependencies": { - "postcss": "^8.2.15" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/postcss-normalize-whitespace": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-6.0.0.tgz", - "integrity": "sha512-7cfE1AyLiK0+ZBG6FmLziJzqQCpTQY+8XjMhMAz8WSBSCsCNNUKujgIgjCAmDT3cJ+3zjTXFkoD15ZPsckArVw==", - "dev": true, + "node_modules/mdast-util-to-hast/node_modules/unist-util-visit": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz", + "integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==", "dependencies": { - "postcss-value-parser": "^4.2.0" + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/postcss-ordered-values": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-6.0.0.tgz", - "integrity": "sha512-K36XzUDpvfG/nWkjs6d1hRBydeIxGpKS2+n+ywlKPzx1nMYDYpoGbcjhj5AwVYJK1qV2/SDoDEnHzlPD6s3nMg==", - "dev": true, + "node_modules/mdast-util-to-hast/node_modules/unist-util-visit-parents": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz", + "integrity": "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==", "dependencies": { - "cssnano-utils": "^4.0.0", - "postcss-value-parser": "^4.2.0" + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/postcss-reduce-initial": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-6.0.0.tgz", - "integrity": "sha512-s2UOnidpVuXu6JiiI5U+fV2jamAw5YNA9Fdi/GRK0zLDLCfXmSGqQtzpUPtfN66RtCbb9fFHoyZdQaxOB3WxVA==", - "dev": true, + "node_modules/mdast-util-to-markdown": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-1.5.0.tgz", + "integrity": "sha512-bbv7TPv/WC49thZPg3jXuqzuvI45IL2EVAr/KxF0BSdHsU0ceFHOmwQn6evxAh1GaoK/6GQ1wp4R4oW2+LFL/A==", "dependencies": { - "browserslist": "^4.21.4", - "caniuse-api": "^3.0.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" + "@types/mdast": "^3.0.0", + "@types/unist": "^2.0.0", + "longest-streak": "^3.0.0", + "mdast-util-phrasing": "^3.0.0", + "mdast-util-to-string": "^3.0.0", + "micromark-util-decode-string": "^1.0.0", + "unist-util-visit": "^4.0.0", + "zwitch": "^2.0.0" }, - "peerDependencies": { - "postcss": "^8.2.15" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/postcss-reduce-transforms": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-6.0.0.tgz", - "integrity": "sha512-FQ9f6xM1homnuy1wLe9lP1wujzxnwt1EwiigtWwuyf8FsqqXUDUp2Ulxf9A5yjlUOTdCJO6lonYjg1mgqIIi2w==", - "dev": true, + "node_modules/mdast-util-to-string": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-3.2.0.tgz", + "integrity": "sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg==", "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" + "@types/mdast": "^3.0.0" }, - "peerDependencies": { - "postcss": "^8.2.15" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/postcss-reporter": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/postcss-reporter/-/postcss-reporter-7.0.5.tgz", - "integrity": "sha512-glWg7VZBilooZGOFPhN9msJ3FQs19Hie7l5a/eE6WglzYqVeH3ong3ShFcp9kDWJT1g2Y/wd59cocf9XxBtkWA==", - "dev": true, - "dependencies": { - "picocolors": "^1.0.0", - "thenby": "^1.3.4" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-selector-parser": { - "version": "6.0.13", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", - "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", - "dev": true, - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } + "node_modules/mdn-data": { + "version": "2.0.30", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", + "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", + "dev": true }, - "node_modules/postcss-svgo": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-6.0.0.tgz", - "integrity": "sha512-r9zvj/wGAoAIodn84dR/kFqwhINp5YsJkLoujybWG59grR/IHx+uQ2Zo+IcOwM0jskfYX3R0mo+1Kip1VSNcvw==", - "dev": true, - "dependencies": { - "postcss-value-parser": "^4.2.0", - "svgo": "^3.0.2" - }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", "engines": { - "node": "^14 || ^16 || >= 18" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">= 0.6" } }, - "node_modules/postcss-unique-selectors": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-6.0.0.tgz", - "integrity": "sha512-EPQzpZNxOxP7777t73RQpZE5e9TrnCrkvp7AH7a0l89JmZiPnS82y216JowHXwpBCQitfyxrof9TK3rYbi7/Yw==", - "dev": true, - "dependencies": { - "postcss-selector-parser": "^6.0.5" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } + "node_modules/merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" }, - "node_modules/postcss-value-parser": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", - "dev": true + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "peer": true, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", "engines": { - "node": ">= 0.8.0" + "node": ">= 8" } }, - "node_modules/prettier": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz", - "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==", - "bin": { - "prettier": "bin-prettier.js" - }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", "engines": { - "node": ">=4" + "node": ">= 0.6" } }, - "node_modules/pretty-hrtime": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", - "integrity": "sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A==", - "dev": true, - "engines": { - "node": ">= 0.8" + "node_modules/micromark": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-3.2.0.tgz", + "integrity": "sha512-uD66tJj54JLYq0De10AhWycZWGQNUvDI55xPgk2sQM5kn1JYlhbCMTtEeT27+vAhW2FBQxLlOmS3pmA7/2z4aA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "@types/debug": "^4.0.0", + "debug": "^4.0.0", + "decode-named-character-reference": "^1.0.0", + "micromark-core-commonmark": "^1.0.1", + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-chunked": "^1.0.0", + "micromark-util-combine-extensions": "^1.0.0", + "micromark-util-decode-numeric-character-reference": "^1.0.0", + "micromark-util-encode": "^1.0.0", + "micromark-util-normalize-identifier": "^1.0.0", + "micromark-util-resolve-all": "^1.0.0", + "micromark-util-sanitize-uri": "^1.0.0", + "micromark-util-subtokenize": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.1", + "uvu": "^0.5.0" } }, - "node_modules/prop-types": { - "version": "15.8.1", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", - "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "node_modules/micromark-core-commonmark": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-1.1.0.tgz", + "integrity": "sha512-BgHO1aRbolh2hcrzL2d1La37V0Aoz73ymF8rAcKnohLy93titmv62E0gP8Hrx9PKcKrqCZ1BbLGbP3bEhoXYlw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], "dependencies": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.13.1" + "decode-named-character-reference": "^1.0.0", + "micromark-factory-destination": "^1.0.0", + "micromark-factory-label": "^1.0.0", + "micromark-factory-space": "^1.0.0", + "micromark-factory-title": "^1.0.0", + "micromark-factory-whitespace": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-chunked": "^1.0.0", + "micromark-util-classify-character": "^1.0.0", + "micromark-util-html-tag-name": "^1.0.0", + "micromark-util-normalize-identifier": "^1.0.0", + "micromark-util-resolve-all": "^1.0.0", + "micromark-util-subtokenize": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.1", + "uvu": "^0.5.0" } }, - "node_modules/property-information": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/property-information/-/property-information-6.2.0.tgz", - "integrity": "sha512-kma4U7AFCTwpqq5twzC1YVIDXSqg6qQK6JN0smOw8fgRy1OkMi0CYSzFmsy6dnqSenamAtj0CyXMUJ1Mf6oROg==", + "node_modules/micromark-extension-frontmatter": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/micromark-extension-frontmatter/-/micromark-extension-frontmatter-1.1.1.tgz", + "integrity": "sha512-m2UH9a7n3W8VAH9JO9y01APpPKmNNNs71P0RbknEmYSaZU5Ghogv38BYO94AI5Xw6OYfxZRdHZZ2nYjs/Z+SZQ==", + "dependencies": { + "fault": "^2.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" + }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/proxy-addr": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "node_modules/micromark-extension-gfm": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-2.0.3.tgz", + "integrity": "sha512-vb9OoHqrhCmbRidQv/2+Bc6pkP0FrtlhurxZofvOEy5o8RtuuvTq+RQ1Vw5ZDNrVraQZu3HixESqbG+0iKk/MQ==", "dependencies": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" + "micromark-extension-gfm-autolink-literal": "^1.0.0", + "micromark-extension-gfm-footnote": "^1.0.0", + "micromark-extension-gfm-strikethrough": "^1.0.0", + "micromark-extension-gfm-table": "^1.0.0", + "micromark-extension-gfm-tagfilter": "^1.0.0", + "micromark-extension-gfm-task-list-item": "^1.0.0", + "micromark-util-combine-extensions": "^1.0.0", + "micromark-util-types": "^1.0.0" }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/psl": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", - "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" - }, - "node_modules/punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", - "engines": { - "node": ">=6" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "node_modules/micromark-extension-gfm-autolink-literal": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-1.0.5.tgz", + "integrity": "sha512-z3wJSLrDf8kRDOh2qBtoTRD53vJ+CWIyo7uyZuxf/JAbNJjiHsOpG1y5wxk8drtv3ETAHutCu6N3thkOOgueWg==", "dependencies": { - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">=0.6" + "micromark-util-character": "^1.0.0", + "micromark-util-sanitize-uri": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "peer": true, - "dependencies": { - "safe-buffer": "^5.1.0" - } - }, - "node_modules/range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/raw-body": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", - "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", - "dependencies": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/react": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", - "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", - "dependencies": { - "loose-envify": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-dom": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", - "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", - "dependencies": { - "loose-envify": "^1.1.0", - "scheduler": "^0.23.0" - }, - "peerDependencies": { - "react": "^18.2.0" - } - }, - "node_modules/react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" - }, - "node_modules/read-cache": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", - "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", - "dev": true, - "dependencies": { - "pify": "^2.3.0" - } - }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/reanalyze": { - "version": "2.23.0", - "resolved": "https://registry.npmjs.org/reanalyze/-/reanalyze-2.23.0.tgz", - "integrity": "sha512-5pkH13pX1PrZFkIfmZUjKtYCqzFY2jTaEjBsqyR9SM3HLexAtkHTa4vLHTwuYk167KuO1uwWyEppo8NJIjfkOw==", - "dev": true, - "hasInstallScript": true, - "bin": { - "reanalyze": "reanalyze.exe" - } - }, - "node_modules/regenerator-runtime": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", - "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" - }, - "node_modules/regexp.prototype.flags": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz", - "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==", + "node_modules/micromark-extension-gfm-footnote": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-1.1.2.tgz", + "integrity": "sha512-Yxn7z7SxgyGWRNa4wzf8AhYYWNrwl5q1Z8ii+CSTTIqVkmGZF1CElX2JI8g5yGoM3GAman9/PVCUFUSJ0kB/8Q==", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "functions-have-names": "^1.2.3" - }, - "engines": { - "node": ">= 0.4" + "micromark-core-commonmark": "^1.0.0", + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-normalize-identifier": "^1.0.0", + "micromark-util-sanitize-uri": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/rehype-slug": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/rehype-slug/-/rehype-slug-5.1.0.tgz", - "integrity": "sha512-Gf91dJoXneiorNEnn+Phx97CO7oRMrpi+6r155tTxzGuLtm+QrI4cTwCa9e1rtePdL4i9tSO58PeSS6HWfgsiw==", + "node_modules/micromark-extension-gfm-strikethrough": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-1.0.7.tgz", + "integrity": "sha512-sX0FawVE1o3abGk3vRjOH50L5TTLr3b5XMqnP9YDRb34M0v5OoZhG+OHFz1OffZ9dlwgpTBKaT4XW/AsUVnSDw==", "dependencies": { - "@types/hast": "^2.0.0", - "github-slugger": "^2.0.0", - "hast-util-has-property": "^2.0.0", - "hast-util-heading-rank": "^2.0.0", - "hast-util-to-string": "^2.0.0", - "unified": "^10.0.0", - "unist-util-visit": "^4.0.0" + "micromark-util-chunked": "^1.0.0", + "micromark-util-classify-character": "^1.0.0", + "micromark-util-resolve-all": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, - "node_modules/rehype-slug/node_modules/bail": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", - "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/rehype-slug/node_modules/is-plain-obj": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", - "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", - "engines": { - "node": ">=12" + "node_modules/micromark-extension-gfm-table": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-1.0.7.tgz", + "integrity": "sha512-3ZORTHtcSnMQEKtAOsBQ9/oHp9096pI/UvdPtN7ehKvrmZZ2+bbWhi0ln+I9drmwXMt5boocn6OlwQzNXeVeqw==", + "dependencies": { + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/rehype-slug/node_modules/trough": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/trough/-/trough-2.1.0.tgz", - "integrity": "sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/rehype-slug/node_modules/unified": { - "version": "10.1.2", - "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", - "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==", + "node_modules/micromark-extension-gfm-tagfilter": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-1.0.2.tgz", + "integrity": "sha512-5XWB9GbAUSHTn8VPU8/1DBXMuKYT5uOgEjJb8gN3mW0PNW5OPHpSdojoqf+iq1xo7vWzw/P8bAHY0n6ijpXF7g==", "dependencies": { - "@types/unist": "^2.0.0", - "bail": "^2.0.0", - "extend": "^3.0.0", - "is-buffer": "^2.0.0", - "is-plain-obj": "^4.0.0", - "trough": "^2.0.0", - "vfile": "^5.0.0" + "micromark-util-types": "^1.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, - "node_modules/remark-comment": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/remark-comment/-/remark-comment-1.0.0.tgz", - "integrity": "sha512-k8YPo5MGvl8l4gGxOH6Zk4Fa2AhDACN5eqKnKZcHDORZQS15hlnezlBHj2lqyDiqzApNmYOMTibkEJbMSKU25w==", + "node_modules/micromark-extension-gfm-task-list-item": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-1.0.5.tgz", + "integrity": "sha512-RMFXl2uQ0pNQy6Lun2YBYT9g9INXtWJULgbt01D/x8/6yJ2qpKyzdZD3pi6UIkzF++Da49xAelVKUeUMqd5eIQ==", "dependencies": { "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.1.0", - "micromark-util-symbol": "^1.0.1" - } - }, - "node_modules/remark-frontmatter": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/remark-frontmatter/-/remark-frontmatter-4.0.1.tgz", - "integrity": "sha512-38fJrB0KnmD3E33a5jZC/5+gGAC2WKNiPw1/fdXJvijBlhA7RCsvJklrYJakS0HedninvaCYW8lQGf9C918GfA==", - "dependencies": { - "@types/mdast": "^3.0.0", - "mdast-util-frontmatter": "^1.0.0", - "micromark-extension-frontmatter": "^1.0.0", - "unified": "^10.0.0" + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, - "node_modules/remark-frontmatter/node_modules/bail": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", - "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "node_modules/micromark-factory-destination": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-1.1.0.tgz", + "integrity": "sha512-XaNDROBgx9SgSChd69pjiGKbV+nfHGDPVYFs5dOoDd7ZnMAE+Cuu91BCpsY8RT2NP9vo/B8pds2VQNCLiu0zhg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" } }, - "node_modules/remark-frontmatter/node_modules/is-plain-obj": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", - "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/remark-frontmatter/node_modules/trough": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/trough/-/trough-2.1.0.tgz", - "integrity": "sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "node_modules/micromark-factory-label": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-1.1.0.tgz", + "integrity": "sha512-OLtyez4vZo/1NjxGhcpDSbHQ+m0IIGnT8BoPamh+7jVlzLJBH98zzuCoUeMxvM6WsNeh8wx8cKvqLiPHEACn0w==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" } }, - "node_modules/remark-frontmatter/node_modules/unified": { - "version": "10.1.2", - "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", - "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==", + "node_modules/micromark-factory-space": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-1.1.0.tgz", + "integrity": "sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], "dependencies": { - "@types/unist": "^2.0.0", - "bail": "^2.0.0", - "extend": "^3.0.0", - "is-buffer": "^2.0.0", - "is-plain-obj": "^4.0.0", - "trough": "^2.0.0", - "vfile": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "micromark-util-character": "^1.0.0", + "micromark-util-types": "^1.0.0" } }, - "node_modules/remark-gfm": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-3.0.1.tgz", - "integrity": "sha512-lEFDoi2PICJyNrACFOfDD3JlLkuSbOa5Wd8EPt06HUdptv8Gn0bxYTdbU/XXQ3swAPkEaGxxPN9cbnMHvVu1Ig==", + "node_modules/micromark-factory-title": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-1.1.0.tgz", + "integrity": "sha512-J7n9R3vMmgjDOCY8NPw55jiyaQnH5kBdV2/UXCtZIpnHH3P6nHUKaH7XXEYuWwx/xUJcawa8plLBEjMPU24HzQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], "dependencies": { - "@types/mdast": "^3.0.0", - "mdast-util-gfm": "^2.0.0", - "micromark-extension-gfm": "^2.0.0", - "unified": "^10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" } }, - "node_modules/remark-gfm/node_modules/bail": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", - "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "node_modules/micromark-factory-whitespace": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-1.1.0.tgz", + "integrity": "sha512-v2WlmiymVSp5oMg+1Q0N1Lxmt6pMhIHD457whWM7/GUlEks1hI9xj5w3zbc4uuMKXGisksZk8DzP2UyGbGqNsQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" } }, - "node_modules/remark-gfm/node_modules/is-plain-obj": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", - "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node_modules/micromark-util-character": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-1.2.0.tgz", + "integrity": "sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" } }, - "node_modules/remark-gfm/node_modules/trough": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/trough/-/trough-2.1.0.tgz", - "integrity": "sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "node_modules/micromark-util-chunked": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-1.1.0.tgz", + "integrity": "sha512-Ye01HXpkZPNcV6FiyoW2fGZDUw4Yc7vT0E9Sad83+bEDiCJ1uXu0S3mr8WLpsz3HaG3x2q0HM6CTuPdcZcluFQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^1.0.0" } }, - "node_modules/remark-gfm/node_modules/unified": { - "version": "10.1.2", - "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", - "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==", + "node_modules/micromark-util-classify-character": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-1.1.0.tgz", + "integrity": "sha512-SL0wLxtKSnklKSUplok1WQFoGhUdWYKggKUiqhX+Swala+BtptGCu5iPRc+xvzJ4PXE/hwM3FNXsfEVgoZsWbw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], "dependencies": { - "@types/unist": "^2.0.0", - "bail": "^2.0.0", - "extend": "^3.0.0", - "is-buffer": "^2.0.0", - "is-plain-obj": "^4.0.0", - "trough": "^2.0.0", - "vfile": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" } }, - "node_modules/remark-mdx": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/remark-mdx/-/remark-mdx-2.3.0.tgz", - "integrity": "sha512-g53hMkpM0I98MU266IzDFMrTD980gNF3BJnkyFcmN+dD873mQeD5rdMO3Y2X+x8umQfbSE0PcoEDl7ledSA+2g==", + "node_modules/micromark-util-combine-extensions": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-1.1.0.tgz", + "integrity": "sha512-Q20sp4mfNf9yEqDL50WwuWZHUrCO4fEyeDCnMGmG5Pr0Cz15Uo7KBs6jq+dq0EgX4DPwwrh9m0X+zPV1ypFvUA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], "dependencies": { - "mdast-util-mdx": "^2.0.0", - "micromark-extension-mdxjs": "^1.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "micromark-util-chunked": "^1.0.0", + "micromark-util-types": "^1.0.0" } }, - "node_modules/remark-mdx-frontmatter": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/remark-mdx-frontmatter/-/remark-mdx-frontmatter-3.0.0.tgz", - "integrity": "sha512-Tnkz8n/fxZGKMBaFJa5jKumJPpuTr9eZF+u+4UcnlUNmUQP3h8ZwgaTzIvkVb6QjG6QE0itsP5JjWnkEBz8IJw==", + "node_modules/micromark-util-decode-numeric-character-reference": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-1.1.0.tgz", + "integrity": "sha512-m9V0ExGv0jB1OT21mrWcuf4QhP46pH1KkfWy9ZEezqHKAxkj4mPCy3nIH1rkbdMlChLHX531eOrymlwyZIf2iw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], "dependencies": { - "@types/mdast": "^3.0.0", - "estree-util-is-identifier-name": "^2.0.0", - "estree-util-value-to-estree": "^3.0.0", - "toml": "^3.0.0", - "unified": "^10.0.0", - "yaml": "^2.0.0" - }, - "engines": { - "node": ">=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/remcohaszing" + "micromark-util-symbol": "^1.0.0" } }, - "node_modules/remark-mdx-frontmatter/node_modules/bail": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", - "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/remark-mdx-frontmatter/node_modules/is-plain-obj": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", - "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node_modules/micromark-util-decode-string": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-1.1.0.tgz", + "integrity": "sha512-YphLGCK8gM1tG1bd54azwyrQRjCFcmgj2S2GoJDNnh4vYtnL38JS8M4gpxzOPNyHdNEpheyWXCTnnTDY3N+NVQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-decode-numeric-character-reference": "^1.0.0", + "micromark-util-symbol": "^1.0.0" } }, - "node_modules/remark-mdx-frontmatter/node_modules/trough": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/trough/-/trough-2.1.0.tgz", - "integrity": "sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } + "node_modules/micromark-util-encode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-1.1.0.tgz", + "integrity": "sha512-EuEzTWSTAj9PA5GOAs992GzNh2dGQO52UvAbtSOMvXTxv3Criqb6IOzJUBCmEqrrXSblJIJBbFFv6zPxpreiJw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] }, - "node_modules/remark-mdx-frontmatter/node_modules/unified": { - "version": "10.1.2", - "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", - "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==", + "node_modules/micromark-util-html-tag-name": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-1.2.0.tgz", + "integrity": "sha512-VTQzcuQgFUD7yYztuQFKXT49KghjtETQ+Wv/zUjGSGBioZnkA4P1XXZPT1FHeJA6RwRXSF47yvJ1tsJdoxwO+Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-normalize-identifier": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-1.1.0.tgz", + "integrity": "sha512-N+w5vhqrBihhjdpM8+5Xsxy71QWqGn7HYNUvch71iV2PM7+E3uWGox1Qp90loa1ephtCxG2ftRV/Conitc6P2Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], "dependencies": { - "@types/unist": "^2.0.0", - "bail": "^2.0.0", - "extend": "^3.0.0", - "is-buffer": "^2.0.0", - "is-plain-obj": "^4.0.0", - "trough": "^2.0.0", - "vfile": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "micromark-util-symbol": "^1.0.0" } }, - "node_modules/remark-mdx-frontmatter/node_modules/yaml": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.2.tgz", - "integrity": "sha512-N/lyzTPaJasoDmfV7YTrYCI0G/3ivm/9wdG0aHuheKowWQwGTsK0Eoiw6utmzAnI6pkJa0DUVygvp3spqqEKXg==", - "engines": { - "node": ">= 14" + "node_modules/micromark-util-resolve-all": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-1.1.0.tgz", + "integrity": "sha512-b/G6BTMSg+bX+xVCshPTPyAu2tmA0E4X98NSR7eIbeC6ycCqCeE7wjfDIgzEbkzdEVJXRtOG4FbEm/uGbCRouA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-types": "^1.0.0" } }, - "node_modules/remark-parse": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-10.0.2.tgz", - "integrity": "sha512-3ydxgHa/ZQzG8LvC7jTXccARYDcRld3VfcgIIFs7bI6vbRSxJJmzgLEIIoYKyrfhaY+ujuWaf/PJiMZXoiCXgw==", + "node_modules/micromark-util-sanitize-uri": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-1.2.0.tgz", + "integrity": "sha512-QO4GXv0XZfWey4pYFndLUKEAktKkG5kZTdUNaTAkzbuJxn2tNBOr+QtxR2XpWaMhbImT2dPzyLrPXLlPhph34A==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], "dependencies": { - "@types/mdast": "^3.0.0", - "mdast-util-from-markdown": "^1.0.0", - "unified": "^10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "micromark-util-character": "^1.0.0", + "micromark-util-encode": "^1.0.0", + "micromark-util-symbol": "^1.0.0" } }, - "node_modules/remark-parse/node_modules/bail": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", - "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "node_modules/micromark-util-subtokenize": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-1.1.0.tgz", + "integrity": "sha512-kUQHyzRoxvZO2PuLzMt2P/dwVsTiivCK8icYTeR+3WgbuPqfHgPPy7nFKbeqRivBvn/3N3GBiNC+JRTMSxEC7A==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-chunked": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" } }, - "node_modules/remark-parse/node_modules/is-plain-obj": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", - "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "node_modules/micromark-util-symbol": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-1.1.0.tgz", + "integrity": "sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-types": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-1.1.0.tgz", + "integrity": "sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, "engines": { - "node": ">=12" + "node": ">=6.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "node_modules/remark-parse/node_modules/trough": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/trough/-/trough-2.1.0.tgz", - "integrity": "sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } + "node_modules/micromark/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, - "node_modules/remark-parse/node_modules/unified": { - "version": "10.1.2", - "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", - "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==", + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", "dependencies": { - "@types/unist": "^2.0.0", - "bail": "^2.0.0", - "extend": "^3.0.0", - "is-buffer": "^2.0.0", - "is-plain-obj": "^4.0.0", - "trough": "^2.0.0", - "vfile": "^5.0.0" + "braces": "^3.0.2", + "picomatch": "^2.3.1" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": ">=8.6" } }, - "node_modules/remark-rehype": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-10.1.0.tgz", - "integrity": "sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw==", - "dependencies": { - "@types/hast": "^2.0.0", - "@types/mdast": "^3.0.0", - "mdast-util-to-hast": "^12.1.0", - "unified": "^10.0.0" + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "bin": { + "mime": "cli.js" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": ">=4" } }, - "node_modules/remark-rehype/node_modules/bail": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", - "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" } }, - "node_modules/remark-rehype/node_modules/is-plain-obj": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", - "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", "engines": { "node": ">=12" }, @@ -8211,1253 +8593,1237 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/remark-rehype/node_modules/trough": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/trough/-/trough-2.1.0.tgz", - "integrity": "sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/remark-rehype/node_modules/unified": { - "version": "10.1.2", - "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", - "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==", + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dependencies": { - "@types/unist": "^2.0.0", - "bail": "^2.0.0", - "extend": "^3.0.0", - "is-buffer": "^2.0.0", - "is-plain-obj": "^4.0.0", - "trough": "^2.0.0", - "vfile": "^5.0.0" + "brace-expansion": "^1.1.7" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-slug": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/remark-slug/-/remark-slug-5.1.2.tgz", - "integrity": "sha512-DWX+Kd9iKycqyD+/B+gEFO3jjnt7Yg1O05lygYSNTe5i5PIxxxPjp5qPBDxPIzp5wreF7+1ROCwRgjEcqmzr3A==", - "dependencies": { - "github-slugger": "^1.0.0", - "mdast-util-to-string": "^1.0.0", - "unist-util-visit": "^1.0.0" + "engines": { + "node": "*" } }, - "node_modules/remark-slug/node_modules/github-slugger": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-1.5.0.tgz", - "integrity": "sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw==" - }, - "node_modules/remark-slug/node_modules/mdast-util-to-string": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-1.1.0.tgz", - "integrity": "sha512-jVU0Nr2B9X3MU4tSK7JP1CMkSvOj7X5l/GboG1tKRw52lLF1x2Ju92Ms9tNetCcbfX3hzlM73zYo2NKkWSfF/A==", + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/remark-slug/node_modules/unist-util-is": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-3.0.0.tgz", - "integrity": "sha512-sVZZX3+kspVNmLWBPAB6r+7D9ZgAFPNWm66f7YNb420RlQSbn+n8rG8dGZSkrER7ZIXGQYNm5pqC3v3HopH24A==" - }, - "node_modules/remark-slug/node_modules/unist-util-visit": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-1.4.1.tgz", - "integrity": "sha512-AvGNk7Bb//EmJZyhtRUnNMEpId/AZ5Ph/KUpTI09WHQuDZHKovQ1oEv3mfmKpWKtoMzyMC4GLBm1Zy5k12fjIw==", - "dependencies": { - "unist-util-visit-parents": "^2.0.0" + "node_modules/mri": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", + "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", + "engines": { + "node": ">=4" } }, - "node_modules/remark-slug/node_modules/unist-util-visit-parents": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-2.1.2.tgz", - "integrity": "sha512-DyN5vD4NE3aSeB+PXYNKxzGsfocxp6asDc2XXE3b0ekO2BaRUpBicbbUygfSvYfUz1IkmjFR1YF7dPklraMZ2g==", - "dependencies": { - "unist-util-is": "^3.0.0" - } + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" }, - "node_modules/remark-stringify": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-7.0.4.tgz", - "integrity": "sha512-qck+8NeA1D0utk1ttKcWAoHRrJxERYQzkHDyn+pF5Z4whX1ug98uCNPPSeFgLSaNERRxnD6oxIug6DzZQth6Pg==", + "node_modules/mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dev": true, "dependencies": { - "ccount": "^1.0.0", - "is-alphanumeric": "^1.0.0", - "is-decimal": "^1.0.0", - "is-whitespace-character": "^1.0.0", - "longest-streak": "^2.0.1", - "markdown-escapes": "^1.0.0", - "markdown-table": "^1.1.0", - "mdast-util-compact": "^1.0.0", - "parse-entities": "^1.0.2", - "repeat-string": "^1.5.4", - "state-toggle": "^1.0.0", - "stringify-entities": "^2.0.0", - "unherit": "^1.0.4", - "xtend": "^4.0.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-stringify/node_modules/ccount": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/ccount/-/ccount-1.1.0.tgz", - "integrity": "sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/remark-stringify/node_modules/character-entities": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.4.tgz", - "integrity": "sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" } }, - "node_modules/remark-stringify/node_modules/character-entities-html4": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-1.1.4.tgz", - "integrity": "sha512-HRcDxZuZqMx3/a+qrzxdBKBPUpxWEq9xw2OPZ3a/174ihfrQKVsFhqtthBInFy1zZ9GgZyFXOatNujm8M+El3g==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "node_modules/nanoid": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", + "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, - "node_modules/remark-stringify/node_modules/character-entities-legacy": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz", - "integrity": "sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "peer": true }, - "node_modules/remark-stringify/node_modules/character-reference-invalid": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz", - "integrity": "sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "engines": { + "node": ">= 0.6" } }, - "node_modules/remark-stringify/node_modules/is-alphabetical": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz", - "integrity": "sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" }, - "node_modules/remark-stringify/node_modules/is-alphanumerical": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz", - "integrity": "sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==", + "node_modules/next": { + "version": "13.4.12", + "resolved": "https://registry.npmjs.org/next/-/next-13.4.12.tgz", + "integrity": "sha512-eHfnru9x6NRmTMcjQp6Nz0J4XH9OubmzOa7CkWL+AUrUxpibub3vWwttjduu9No16dug1kq04hiUUpo7J3m3Xw==", "dependencies": { - "is-alphabetical": "^1.0.0", - "is-decimal": "^1.0.0" + "@next/env": "13.4.12", + "@swc/helpers": "0.5.1", + "busboy": "1.6.0", + "caniuse-lite": "^1.0.30001406", + "postcss": "8.4.14", + "styled-jsx": "5.1.1", + "watchpack": "2.4.0", + "zod": "3.21.4" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "bin": { + "next": "dist/bin/next" + }, + "engines": { + "node": ">=16.8.0" + }, + "optionalDependencies": { + "@next/swc-darwin-arm64": "13.4.12", + "@next/swc-darwin-x64": "13.4.12", + "@next/swc-linux-arm64-gnu": "13.4.12", + "@next/swc-linux-arm64-musl": "13.4.12", + "@next/swc-linux-x64-gnu": "13.4.12", + "@next/swc-linux-x64-musl": "13.4.12", + "@next/swc-win32-arm64-msvc": "13.4.12", + "@next/swc-win32-ia32-msvc": "13.4.12", + "@next/swc-win32-x64-msvc": "13.4.12" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.1.0", + "fibers": ">= 3.1.0", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "sass": "^1.3.0" + }, + "peerDependenciesMeta": { + "@opentelemetry/api": { + "optional": true + }, + "fibers": { + "optional": true + }, + "sass": { + "optional": true + } } }, - "node_modules/remark-stringify/node_modules/is-decimal": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.4.tgz", - "integrity": "sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "node_modules/next-mdx-remote": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/next-mdx-remote/-/next-mdx-remote-4.4.1.tgz", + "integrity": "sha512-1BvyXaIou6xy3XoNF4yaMZUCb6vD2GTAa5ciOa6WoO+gAUTYsb1K4rI/HSC2ogAWLrb/7VSV52skz07vOzmqIQ==", + "dependencies": { + "@mdx-js/mdx": "^2.2.1", + "@mdx-js/react": "^2.2.1", + "vfile": "^5.3.0", + "vfile-matter": "^3.0.1" + }, + "engines": { + "node": ">=14", + "npm": ">=7" + }, + "peerDependencies": { + "react": ">=16.x <=18.x", + "react-dom": ">=16.x <=18.x" } }, - "node_modules/remark-stringify/node_modules/is-hexadecimal": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz", - "integrity": "sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==", + "node_modules/next-mdx-remote/node_modules/@mdx-js/mdx": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-2.3.0.tgz", + "integrity": "sha512-jLuwRlz8DQfQNiUCJR50Y09CGPq3fLtmtUQfVrj79E0JWu3dvsVcxVIcfhR5h0iXu+/z++zDrYeiJqifRynJkA==", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/mdx": "^2.0.0", + "estree-util-build-jsx": "^2.0.0", + "estree-util-is-identifier-name": "^2.0.0", + "estree-util-to-js": "^1.1.0", + "estree-walker": "^3.0.0", + "hast-util-to-estree": "^2.0.0", + "markdown-extensions": "^1.0.0", + "periscopic": "^3.0.0", + "remark-mdx": "^2.0.0", + "remark-parse": "^10.0.0", + "remark-rehype": "^10.0.0", + "unified": "^10.0.0", + "unist-util-position-from-estree": "^1.0.0", + "unist-util-stringify-position": "^3.0.0", + "unist-util-visit": "^4.0.0", + "vfile": "^5.0.0" + }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/remark-stringify/node_modules/longest-streak": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-2.0.4.tgz", - "integrity": "sha512-vM6rUVCVUJJt33bnmHiZEvr7wPT78ztX7rojL+LW51bHtLh6HTjx84LA5W4+oa6aKEJA7jJu5LR6vQRBpA5DVg==", + "node_modules/next-mdx-remote/node_modules/estree-util-attach-comments": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/estree-util-attach-comments/-/estree-util-attach-comments-2.1.1.tgz", + "integrity": "sha512-+5Ba/xGGS6mnwFbXIuQiDPTbuTxuMCooq3arVv7gPZtYpjp+VXH/NkHAP35OOefPhNG/UGqU3vt/LTABwcHX0w==", + "dependencies": { + "@types/estree": "^1.0.0" + }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/remark-stringify/node_modules/markdown-table": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-1.1.3.tgz", - "integrity": "sha512-1RUZVgQlpJSPWYbFSpmudq5nHY1doEIv89gBtF0s4gW1GF2XorxcA/70M5vq7rLv0a6mhOUccRsqkwhwLCIQ2Q==" - }, - "node_modules/remark-stringify/node_modules/parse-entities": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-1.2.2.tgz", - "integrity": "sha512-NzfpbxW/NPrzZ/yYSoQxyqUZMZXIdCfE0OIN4ESsnptHJECoUk3FZktxNuzQf4tjt5UEopnxpYJbvYuxIFDdsg==", + "node_modules/next-mdx-remote/node_modules/estree-util-build-jsx": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/estree-util-build-jsx/-/estree-util-build-jsx-2.2.2.tgz", + "integrity": "sha512-m56vOXcOBuaF+Igpb9OPAy7f9w9OIkb5yhjsZuaPm7HoGi4oTOQi0h2+yZ+AtKklYFZ+rPC4n0wYCJCEU1ONqg==", "dependencies": { - "character-entities": "^1.0.0", - "character-entities-legacy": "^1.0.0", - "character-reference-invalid": "^1.0.0", - "is-alphanumerical": "^1.0.0", - "is-decimal": "^1.0.0", - "is-hexadecimal": "^1.0.0" + "@types/estree-jsx": "^1.0.0", + "estree-util-is-identifier-name": "^2.0.0", + "estree-walker": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/remark-stringify/node_modules/stringify-entities": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-2.0.0.tgz", - "integrity": "sha512-fqqhZzXyAM6pGD9lky/GOPq6V4X0SeTAFBl0iXb/BzOegl40gpf/bV3QQP7zULNYvjr6+Dx8SCaDULjVoOru0A==", + "node_modules/next-mdx-remote/node_modules/estree-util-to-js": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/estree-util-to-js/-/estree-util-to-js-1.2.0.tgz", + "integrity": "sha512-IzU74r1PK5IMMGZXUVZbmiu4A1uhiPgW5hm1GjcOfr4ZzHaMPpLNJjR7HjXiIOzi25nZDrgFTobHTkV5Q6ITjA==", "dependencies": { - "character-entities-html4": "^1.0.0", - "character-entities-legacy": "^1.0.0", - "is-alphanumerical": "^1.0.0", - "is-decimal": "^1.0.2", - "is-hexadecimal": "^1.0.0" + "@types/estree-jsx": "^1.0.0", + "astring": "^1.8.0", + "source-map": "^0.7.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", - "engines": { - "node": ">=0.10" + "node_modules/next-mdx-remote/node_modules/estree-util-visit": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/estree-util-visit/-/estree-util-visit-1.2.1.tgz", + "integrity": "sha512-xbgqcrkIVbIG+lI/gzbvd9SGTJL4zqJKBFttUl5pP27KhAjtMKbX/mQXJ7qgyXpMgVy/zvpm0xoQQaGL8OloOw==", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/unist": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/request": { - "version": "2.88.2", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", + "node_modules/next-mdx-remote/node_modules/hast-util-to-estree": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/hast-util-to-estree/-/hast-util-to-estree-2.3.3.tgz", + "integrity": "sha512-ihhPIUPxN0v0w6M5+IiAZZrn0LH2uZomeWwhn7uP7avZC6TE7lIiEh2yBMPr5+zi1aUCXq6VoYRgs2Bw9xmycQ==", "dependencies": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" + "@types/estree": "^1.0.0", + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^2.0.0", + "@types/unist": "^2.0.0", + "comma-separated-tokens": "^2.0.0", + "estree-util-attach-comments": "^2.0.0", + "estree-util-is-identifier-name": "^2.0.0", + "hast-util-whitespace": "^2.0.0", + "mdast-util-mdx-expression": "^1.0.0", + "mdast-util-mdxjs-esm": "^1.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0", + "style-to-object": "^0.4.1", + "unist-util-position": "^4.0.0", + "zwitch": "^2.0.0" }, - "engines": { - "node": ">= 6" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/request/node_modules/qs": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", - "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", - "engines": { - "node": ">=0.6" + "node_modules/next-mdx-remote/node_modules/hast-util-whitespace": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-2.0.1.tgz", + "integrity": "sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "dev": true, + "node_modules/next-mdx-remote/node_modules/markdown-extensions": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/markdown-extensions/-/markdown-extensions-1.1.1.tgz", + "integrity": "sha512-WWC0ZuMzCyDHYCasEGs4IPvLyTGftYwh6wIEOULOF0HXcqZlhwRzrK0w2VUlxWA98xnvb/jszw4ZSkJ6ADpM6Q==", "engines": { "node": ">=0.10.0" } }, - "node_modules/rescript": { - "version": "11.0.0-rc.6", - "resolved": "https://registry.npmjs.org/rescript/-/rescript-11.0.0-rc.6.tgz", - "integrity": "sha512-2nqdpQxLgQGNp0Rb8AFn5cM3kwRTd54zLvchqCsK3iLOe1CJwdVW5nEF7lsJbFTqihl8W6Va1y7SbFxY3FNxOQ==", - "dev": true, - "hasInstallScript": true, - "bin": { - "bsc": "bsc", - "bstracing": "lib/bstracing", - "rescript": "rescript" + "node_modules/next-mdx-remote/node_modules/mdast-util-mdx": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-mdx/-/mdast-util-mdx-2.0.1.tgz", + "integrity": "sha512-38w5y+r8nyKlGvNjSEqWrhG0w5PmnRA+wnBvm+ulYCct7nsGYhFVb0lljS9bQav4psDAS1eGkP2LMVcZBi/aqw==", + "dependencies": { + "mdast-util-from-markdown": "^1.0.0", + "mdast-util-mdx-expression": "^1.0.0", + "mdast-util-mdx-jsx": "^2.0.0", + "mdast-util-mdxjs-esm": "^1.0.0", + "mdast-util-to-markdown": "^1.0.0" }, - "engines": { - "node": ">=10" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/resolve": { - "version": "1.22.2", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", - "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", - "dependencies": { - "is-core-module": "^2.11.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" + "node_modules/next-mdx-remote/node_modules/mdast-util-mdx-expression": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-1.3.2.tgz", + "integrity": "sha512-xIPmR5ReJDu/DHH1OoIT1HkuybIfRGYRywC+gJtI7qHjCJp/M9jrmBEJW22O8lskDWm562BX2W8TiAwRTb0rKA==", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^2.0.0", + "@types/mdast": "^3.0.0", + "mdast-util-from-markdown": "^1.0.0", + "mdast-util-to-markdown": "^1.0.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "peer": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/resolve-pkg-maps": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", - "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", - "funding": { - "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" - } - }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "peer": true, + "node_modules/next-mdx-remote/node_modules/mdast-util-mdx-jsx": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-2.1.4.tgz", + "integrity": "sha512-DtMn9CmVhVzZx3f+optVDF8yFgQVt7FghCRNdlIaS3X5Bnym3hZwPbg/XW86vdpKjlc1PVj26SpnLGeJBXD3JA==", "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^2.0.0", + "@types/mdast": "^3.0.0", + "@types/unist": "^2.0.0", + "ccount": "^2.0.0", + "mdast-util-from-markdown": "^1.1.0", + "mdast-util-to-markdown": "^1.3.0", + "parse-entities": "^4.0.0", + "stringify-entities": "^4.0.0", + "unist-util-remove-position": "^4.0.0", + "unist-util-stringify-position": "^3.0.0", + "vfile-message": "^3.0.0" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/run-applescript": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-5.0.0.tgz", - "integrity": "sha512-XcT5rBksx1QdIhlFOCtgZkB99ZEouFZ1E2Kc2LHqNW13U3/74YGdkQRmThTwxy4QIyookibDKYZOPqX//6BlAg==", + "node_modules/next-mdx-remote/node_modules/mdast-util-mdxjs-esm": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-1.3.1.tgz", + "integrity": "sha512-SXqglS0HrEvSdUEfoXFtcg7DRl7S2cwOXc7jkuusG472Mmjag34DUDeOJUZtl+BVnyeO1frIgVpHlNRWc2gk/w==", "dependencies": { - "execa": "^5.0.0" - }, - "engines": { - "node": ">=12" + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^2.0.0", + "@types/mdast": "^3.0.0", + "mdast-util-from-markdown": "^1.0.0", + "mdast-util-to-markdown": "^1.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/run-applescript/node_modules/execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "node_modules/next-mdx-remote/node_modules/mdast-util-to-hast": { + "version": "12.3.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-12.3.0.tgz", + "integrity": "sha512-pits93r8PhnIoU4Vy9bjW39M2jJ6/tdHyja9rrot9uujkN7UTU9SDnE6WNJz/IGyQk3XHX6yNNtrBH6cQzm8Hw==", "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": ">=10" + "@types/hast": "^2.0.0", + "@types/mdast": "^3.0.0", + "mdast-util-definitions": "^5.0.0", + "micromark-util-sanitize-uri": "^1.1.0", + "trim-lines": "^3.0.0", + "unist-util-generated": "^2.0.0", + "unist-util-position": "^4.0.0", + "unist-util-visit": "^4.0.0" }, "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/run-applescript/node_modules/human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "engines": { - "node": ">=10.17.0" + "node_modules/next-mdx-remote/node_modules/micromark-extension-mdx-expression": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-1.0.8.tgz", + "integrity": "sha512-zZpeQtc5wfWKdzDsHRBY003H2Smg+PUi2REhqgIhdzAa5xonhP03FcXxqFSerFiNUr5AWmHpaNPQTBVOS4lrXw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "@types/estree": "^1.0.0", + "micromark-factory-mdx-expression": "^1.0.0", + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-events-to-acorn": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" } }, - "node_modules/run-applescript/node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "engines": { - "node": ">=8" + "node_modules/next-mdx-remote/node_modules/micromark-extension-mdx-jsx": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-1.0.5.tgz", + "integrity": "sha512-gPH+9ZdmDflbu19Xkb8+gheqEDqkSpdCEubQyxuz/Hn8DOXiXvrXeikOoBA71+e8Pfi0/UYmU3wW3H58kr7akA==", + "dependencies": { + "@types/acorn": "^4.0.0", + "@types/estree": "^1.0.0", + "estree-util-is-identifier-name": "^2.0.0", + "micromark-factory-mdx-expression": "^1.0.0", + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0", + "vfile-message": "^3.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/run-applescript/node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "engines": { - "node": ">=6" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/run-applescript/node_modules/npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "node_modules/next-mdx-remote/node_modules/micromark-extension-mdx-md": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-md/-/micromark-extension-mdx-md-1.0.1.tgz", + "integrity": "sha512-7MSuj2S7xjOQXAjjkbjBsHkMtb+mDGVW6uI2dBL9snOBCbZmoNgDAeZ0nSn9j3T42UE/g2xVNMn18PJxZvkBEA==", "dependencies": { - "path-key": "^3.0.0" + "micromark-util-types": "^1.0.0" }, - "engines": { - "node": ">=8" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/run-applescript/node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "node_modules/next-mdx-remote/node_modules/micromark-extension-mdxjs": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs/-/micromark-extension-mdxjs-1.0.1.tgz", + "integrity": "sha512-7YA7hF6i5eKOfFUzZ+0z6avRG52GpWR8DL+kN47y3f2KhxbBZMhmxe7auOeaTBrW2DenbbZTf1ea9tA2hDpC2Q==", "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" + "acorn": "^8.0.0", + "acorn-jsx": "^5.0.0", + "micromark-extension-mdx-expression": "^1.0.0", + "micromark-extension-mdx-jsx": "^1.0.0", + "micromark-extension-mdx-md": "^1.0.0", + "micromark-extension-mdxjs-esm": "^1.0.0", + "micromark-util-combine-extensions": "^1.0.0", + "micromark-util-types": "^1.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/run-applescript/node_modules/strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "engines": { - "node": ">=6" + "node_modules/next-mdx-remote/node_modules/micromark-extension-mdxjs-esm": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-1.0.5.tgz", + "integrity": "sha512-xNRBw4aoURcyz/S69B19WnZAkWJMxHMT5hE36GtDAyhoyn/8TuAeqjFJQlwk+MKQsUD7b3l7kFX+vlfVWgcX1w==", + "dependencies": { + "@types/estree": "^1.0.0", + "micromark-core-commonmark": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-events-to-acorn": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "unist-util-position-from-estree": "^1.1.0", + "uvu": "^0.5.0", + "vfile-message": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "node_modules/next-mdx-remote/node_modules/micromark-factory-mdx-expression": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-1.0.9.tgz", + "integrity": "sha512-jGIWzSmNfdnkJq05c7b0+Wv0Kfz3NJ3N4cBjnbO4zjXIlxJr+f8lk+5ZmwFvqdAbUy2q6B5rCY//g0QAAaXDWA==", "funding": [ { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" }, { - "type": "consulting", - "url": "https://feross.org/support" - } + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } ], "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/sade": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz", - "integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==", - "dependencies": { - "mri": "^1.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/safe-array-concat": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.0.tgz", - "integrity": "sha512-9dVEFruWIsnie89yym+xWTAYASdpw3CJV7Li/6zBewGf9z2i1j31rP6jnY0pHEO4QZh6N0K11bFjWmdR8UGdPQ==", - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", - "has-symbols": "^1.0.3", - "isarray": "^2.0.5" - }, - "engines": { - "node": ">=0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "@types/estree": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-events-to-acorn": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "unist-util-position-from-estree": "^1.0.0", + "uvu": "^0.5.0", + "vfile-message": "^3.0.0" } }, - "node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "node_modules/next-mdx-remote/node_modules/micromark-util-events-to-acorn": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-1.2.3.tgz", + "integrity": "sha512-ij4X7Wuc4fED6UoLWkmo0xJQhsktfNh1J0m8g4PbIMPlx+ek/4YdW5mvbye8z/aZvAPUoxgXHrwVlXAPKMRp1w==", "funding": [ { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" }, { - "type": "consulting", - "url": "https://feross.org/support" + "type": "OpenCollective", + "url": "https://opencollective.com/unified" } - ] + ], + "dependencies": { + "@types/acorn": "^4.0.0", + "@types/estree": "^1.0.0", + "@types/unist": "^2.0.0", + "estree-util-visit": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0", + "vfile-message": "^3.0.0" + } }, - "node_modules/safe-regex-test": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", - "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", + "node_modules/next-mdx-remote/node_modules/remark-mdx": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/remark-mdx/-/remark-mdx-2.3.0.tgz", + "integrity": "sha512-g53hMkpM0I98MU266IzDFMrTD980gNF3BJnkyFcmN+dD873mQeD5rdMO3Y2X+x8umQfbSE0PcoEDl7ledSA+2g==", "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", - "is-regex": "^1.1.4" + "mdast-util-mdx": "^2.0.0", + "micromark-extension-mdxjs": "^1.0.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "node_modules/scheduler": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", - "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", + "node_modules/next-mdx-remote/node_modules/remark-rehype": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-10.1.0.tgz", + "integrity": "sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw==", "dependencies": { - "loose-envify": "^1.1.0" + "@types/hast": "^2.0.0", + "@types/mdast": "^3.0.0", + "mdast-util-to-hast": "^12.1.0", + "unified": "^10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/schema-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", - "peer": true, + "node_modules/next-mdx-remote/node_modules/unified": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", + "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==", "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" + "@types/unist": "^2.0.0", + "bail": "^2.0.0", + "extend": "^3.0.0", + "is-buffer": "^2.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^5.0.0" }, "funding": { "type": "opencollective", - "url": "https://opencollective.com/webpack" + "url": "https://opencollective.com/unified" } }, - "node_modules/section-matter": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz", - "integrity": "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==", + "node_modules/next-mdx-remote/node_modules/unist-util-position": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-4.0.4.tgz", + "integrity": "sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg==", "dependencies": { - "extend-shallow": "^2.0.1", - "kind-of": "^6.0.0" + "@types/unist": "^2.0.0" }, - "engines": { - "node": ">=4" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "node_modules/next-mdx-remote/node_modules/unist-util-position-from-estree": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/unist-util-position-from-estree/-/unist-util-position-from-estree-1.1.2.tgz", + "integrity": "sha512-poZa0eXpS+/XpoQwGwl79UUdea4ol2ZuCYguVaJS4qzIOMDzbqz8a3erUCOmubSZkaOuGamb3tX790iwOIROww==", "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" + "@types/unist": "^2.0.0" }, - "engines": { - "node": ">=10" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/send": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", - "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "node_modules/next-mdx-remote/node_modules/unist-util-remove-position": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-4.0.2.tgz", + "integrity": "sha512-TkBb0HABNmxzAcfLf4qsIbFbaPDvMO6wa3b3j4VcEzFVaw1LBKwnW4/sRJ/atSLSzoIg41JWEdnE7N6DIhGDGQ==", "dependencies": { - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "2.4.1", - "range-parser": "~1.2.1", - "statuses": "2.0.1" + "@types/unist": "^2.0.0", + "unist-util-visit": "^4.0.0" }, - "engines": { - "node": ">= 0.8.0" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/send/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "node_modules/next/node_modules/postcss": { + "version": "8.4.14", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz", + "integrity": "sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + } + ], "dependencies": { - "ms": "2.0.0" + "nanoid": "^3.3.4", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" } }, - "node_modules/send/node_modules/debug/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "node_modules/node-releases": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", + "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==" }, - "node_modules/serialize-javascript": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", - "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", - "peer": true, - "dependencies": { - "randombytes": "^2.1.0" + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", - "dependencies": { - "accepts": "~1.3.4", - "batch": "0.6.1", - "debug": "2.6.9", - "escape-html": "~1.0.3", - "http-errors": "~1.6.2", - "mime-types": "~2.1.17", - "parseurl": "~1.3.2" - }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "dev": true, "engines": { - "node": ">= 0.8.0" + "node": ">=0.10.0" } }, - "node_modules/serve-index/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "node_modules/npm-run-path": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz", + "integrity": "sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==", "dependencies": { - "ms": "2.0.0" + "path-key": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/serve-index/node_modules/depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "node_modules/npm-run-path/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", "engines": { - "node": ">= 0.6" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/serve-index/node_modules/http-errors": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dev": true, "dependencies": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" + "boolbase": "^1.0.0" }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", "engines": { - "node": ">= 0.6" + "node": "*" } }, - "node_modules/serve-index/node_modules/inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/serve-index/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "node_modules/object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "dev": true, + "engines": { + "node": ">= 6" + } }, - "node_modules/serve-index/node_modules/setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" + "node_modules/object-inspect": { + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "node_modules/serve-index/node_modules/statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", "engines": { - "node": ">= 0.6" + "node": ">= 0.4" } }, - "node_modules/serve-static": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", - "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "node_modules/object.assign": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", "dependencies": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.18.0" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" }, "engines": { - "node": ">= 0.8.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "node_modules/object.entries": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.6.tgz", + "integrity": "sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==", "dependencies": { - "shebang-regex": "^3.0.0" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" }, "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "engines": { - "node": ">=8" + "node": ">= 0.4" } }, - "node_modules/side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "node_modules/object.fromentries": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.6.tgz", + "integrity": "sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==", "dependencies": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" - }, - "node_modules/simple-functional-loader": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/simple-functional-loader/-/simple-functional-loader-1.2.1.tgz", - "integrity": "sha512-GPDrxrQkE7ijm35QlfPFVp5hBHR6ZcaUq42TEDgf1U5iTL3IDLFvKAbHE/ODqpdfJJ7Xn4cr/slBn12jjNPkaQ==", - "dev": true, + "node_modules/object.groupby": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.0.tgz", + "integrity": "sha512-70MWG6NfRH9GnbZOikuhPPYzpUpof9iW2J9E4dW7FXTqPNb6rllE6u39SKwwiNh8lCwX3DDb5OgcKGiEBrTTyw==", "dependencies": { - "loader-utils": "^2.0.0" + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.21.2", + "get-intrinsic": "^1.2.1" } }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "engines": { - "node": ">=8" + "node_modules/object.hasown": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.2.tgz", + "integrity": "sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==", + "dependencies": { + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/source-list-map": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", - "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", - "dev": true - }, - "node_modules/source-map": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "node_modules/object.values": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz", + "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, "engines": { - "node": ">= 8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dependencies": { + "ee-first": "1.1.1" + }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.8" } }, - "node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "peer": true, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/source-map-support/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "peer": true, - "engines": { - "node": ">=0.10.0" + "wrappy": "1" } }, - "node_modules/space-separated-tokens": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", - "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" - }, - "node_modules/sshpk": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", - "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", + "node_modules/onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", "dependencies": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - }, - "bin": { - "sshpk-conv": "bin/sshpk-conv", - "sshpk-sign": "bin/sshpk-sign", - "sshpk-verify": "bin/sshpk-verify" + "mimic-fn": "^4.0.0" }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/state-toggle": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/state-toggle/-/state-toggle-1.0.3.tgz", - "integrity": "sha512-d/5Z4/2iiCnHw6Xzghyhb+GcmF89bxwgXG60wjIiZaxnymbyOmI8Hk4VqHXiVVp6u2ysaskFfXg3ekCj4WNftQ==", + "node": ">=12" + }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/streamsearch": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", - "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", - "engines": { - "node": ">=10.0.0" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, + "node_modules/open": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/open/-/open-9.1.0.tgz", + "integrity": "sha512-OS+QTnw1/4vrf+9hh1jc1jnYjzSG4ttTBB8UxOwAnInG3Uo4ssetzC1ihqaIHjLJnA5GGlRl6QlZXOTQhRBUvg==", "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "default-browser": "^4.0.0", + "define-lazy-prop": "^3.0.0", + "is-inside-container": "^1.0.0", + "is-wsl": "^2.2.0" }, "engines": { - "node": ">=8" + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/string-width/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "node_modules/string.prototype.matchall": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz", - "integrity": "sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==", + "node_modules/optionator": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "peer": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.3", - "regexp.prototype.flags": "^1.4.3", - "side-channel": "^1.0.4" + "@aashutoshrathi/word-wrap": "^1.2.3", + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">= 0.8.0" } }, - "node_modules/string.prototype.trim": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz", - "integrity": "sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==", + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "peer": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "yocto-queue": "^0.1.0" }, "engines": { - "node": ">= 0.4" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/string.prototype.trimend": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", - "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "peer": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", - "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "peer": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "callsites": "^3.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=6" } }, - "node_modules/stringify-entities": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.3.tgz", - "integrity": "sha512-BP9nNHMhhfcMbiuQKCqMjhDP5yBCAxsPu4pHFFzJ6Alo9dZgY4VLDPutXqIjpRiMoKdp7Av85Gr73Q5uH9k7+g==", + "node_modules/parse-entities": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.1.tgz", + "integrity": "sha512-SWzvYcSJh4d/SGLIOQfZ/CoNv6BTlI6YEQ7Nj82oDVnRpwe/Z/F1EMx42x3JAOwGBlCjeCH0BRJQbQ/opHL17w==", "dependencies": { - "character-entities-html4": "^2.0.0", - "character-entities-legacy": "^3.0.0" + "@types/unist": "^2.0.0", + "character-entities": "^2.0.0", + "character-entities-legacy": "^3.0.0", + "character-reference-invalid": "^2.0.0", + "decode-named-character-reference": "^1.0.0", + "is-alphanumerical": "^2.0.0", + "is-decimal": "^2.0.0", + "is-hexadecimal": "^2.0.0" }, "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/stringify-object": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", - "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", - "dependencies": { - "get-own-enumerable-property-symbols": "^3.0.0", - "is-obj": "^1.0.1", - "is-regexp": "^1.0.0" - }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", "engines": { - "node": ">=4" + "node": ">= 0.8" } }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "peer": true, "engines": { "node": ">=8" } }, - "node_modules/strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", - "engines": { - "node": ">=4" - } - }, - "node_modules/strip-bom-string": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz", - "integrity": "sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==", + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", "engines": { "node": ">=0.10.0" } }, - "node_modules/strip-final-newline": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", - "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/strip-json-comments": { + "node_modules/path-key": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "peer": true, + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "engines": { "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/style-to-object": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.4.2.tgz", - "integrity": "sha512-1JGpfPB3lo42ZX8cuPrheZbfQ6kqPPnPHlKMyeRYtfKD+0jG+QsXgXN57O/dvJlzlB2elI6dGmrPnl5VPQFPaA==", - "dependencies": { - "inline-style-parser": "0.1.1" - } + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" }, - "node_modules/styled-jsx": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.1.tgz", - "integrity": "sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==", - "dependencies": { - "client-only": "0.0.1" - }, + "node_modules/path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", "engines": { - "node": ">= 12.0.0" - }, - "peerDependencies": { - "react": ">= 16.8.0 || 17.x.x || ^18.0.0-0" - }, - "peerDependenciesMeta": { - "@babel/core": { - "optional": true - }, - "babel-plugin-macros": { - "optional": true - } + "node": ">=8" } }, - "node_modules/stylehacks": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-6.0.0.tgz", - "integrity": "sha512-+UT589qhHPwz6mTlCLSt/vMNTJx8dopeJlZAlBMJPWA3ORqu6wmQY7FBXf+qD+FsqoBJODyqNxOUP3jdntFRdw==", - "dev": true, + "node_modules/performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==" + }, + "node_modules/periscopic": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/periscopic/-/periscopic-3.1.0.tgz", + "integrity": "sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==", "dependencies": { - "browserslist": "^4.21.4", - "postcss-selector-parser": "^6.0.4" - }, + "@types/estree": "^1.0.0", + "estree-walker": "^3.0.0", + "is-reference": "^3.0.0" + } + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "engines": { - "node": "^14 || ^16 || >=18.0" + "node": ">=8.6" }, - "peerDependencies": { - "postcss": "^8.2.15" + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/sucrase": { - "version": "3.34.0", - "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.34.0.tgz", - "integrity": "sha512-70/LQEZ07TEcxiU2dz51FKaE6hCTWC6vr7FOk3Gr0U60C3shtAN+H+BFr9XlYe5xqf3RA8nrc+VIwzCfnxuXJw==", + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", "dev": true, - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.2", - "commander": "^4.0.0", - "glob": "7.1.6", - "lines-and-columns": "^1.1.6", - "mz": "^2.7.0", - "pirates": "^4.0.1", - "ts-interface-checker": "^0.1.9" - }, - "bin": { - "sucrase": "bin/sucrase", - "sucrase-node": "bin/sucrase-node" - }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/sucrase/node_modules/commander": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", - "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "node_modules/pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", "dev": true, "engines": { "node": ">= 6" } }, - "node_modules/sucrase/node_modules/glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "node_modules/postcss": { + "version": "8.4.27", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.27.tgz", + "integrity": "sha512-gY/ACJtJPSmUFPDCHtX78+01fHa64FaU4zaaWfuh1MhGJISufJAH4cun6k/8fwsHYeK4UQmENQK+tRLCFJE8JQ==", "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" }, "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": "^10 || ^12 || >=14" } }, - "node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/postcss-calc": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-9.0.1.tgz", + "integrity": "sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ==", + "dev": true, "dependencies": { - "has-flag": "^4.0.0" + "postcss-selector-parser": "^6.0.11", + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": ">=8" - } - }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "engines": { - "node": ">= 0.4" + "node": "^14 || ^16 || >=18.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependencies": { + "postcss": "^8.2.2" } }, - "node_modules/svgo": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.0.2.tgz", - "integrity": "sha512-Z706C1U2pb1+JGP48fbazf3KxHrWOsLme6Rv7imFBn5EnuanDW1GPaA/P1/dvObE670JDePC3mnj0k0B7P0jjQ==", + "node_modules/postcss-cli": { + "version": "8.3.1", + "resolved": "https://registry.npmjs.org/postcss-cli/-/postcss-cli-8.3.1.tgz", + "integrity": "sha512-leHXsQRq89S3JC9zw/tKyiVV2jAhnfQe0J8VI4eQQbUjwIe0XxVqLrR+7UsahF1s9wi4GlqP6SJ8ydf44cgF2Q==", "dev": true, "dependencies": { - "@trysound/sax": "0.2.0", - "commander": "^7.2.0", - "css-select": "^5.1.0", - "css-tree": "^2.2.1", - "csso": "^5.0.5", - "picocolors": "^1.0.0" + "chalk": "^4.0.0", + "chokidar": "^3.3.0", + "dependency-graph": "^0.9.0", + "fs-extra": "^9.0.0", + "get-stdin": "^8.0.0", + "globby": "^11.0.0", + "postcss-load-config": "^3.0.0", + "postcss-reporter": "^7.0.0", + "pretty-hrtime": "^1.0.3", + "read-cache": "^1.0.0", + "slash": "^3.0.0", + "yargs": "^16.0.0" }, "bin": { - "svgo": "bin/svgo" + "postcss": "bin/postcss" }, "engines": { - "node": ">=14.0.0" + "node": ">=10" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/svgo" + "peerDependencies": { + "postcss": "^8.0.0" } }, - "node_modules/svgo/node_modules/commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "node_modules/postcss-colormin": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-6.0.0.tgz", + "integrity": "sha512-EuO+bAUmutWoZYgHn2T1dG1pPqHU6L4TjzPlu4t1wZGXQ/fxV16xg2EJmYi0z+6r+MGV1yvpx1BHkUaRrPa2bw==", "dev": true, + "dependencies": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0", + "colord": "^2.9.1", + "postcss-value-parser": "^4.2.0" + }, "engines": { - "node": ">= 10" + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/synckit": { - "version": "0.8.5", - "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.8.5.tgz", - "integrity": "sha512-L1dapNV6vu2s/4Sputv8xGsCdAVlb5nRDMFU/E27D44l5U6cw1g0dGd45uLc+OXjNMmF4ntiMdCimzcjFKQI8Q==", + "node_modules/postcss-convert-values": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-6.0.0.tgz", + "integrity": "sha512-U5D8QhVwqT++ecmy8rnTb+RL9n/B806UVaS3m60lqle4YDFcpbS3ae5bTQIh3wOGUSDHSEtMYLs/38dNG7EYFw==", + "dev": true, "dependencies": { - "@pkgr/utils": "^2.3.1", - "tslib": "^2.5.0" + "browserslist": "^4.21.4", + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": "^14.18.0 || >=16.0.0" + "node": "^14 || ^16 || >=18.0" }, - "funding": { - "url": "https://opencollective.com/unts" + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/tailwindcss": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.3.3.tgz", - "integrity": "sha512-A0KgSkef7eE4Mf+nKJ83i75TMyq8HqY3qmFIJSWy8bNt0v1lG7jUcpGpoTFxAwYcWOphcTBLPPJg+bDfhDf52w==", + "node_modules/postcss-discard-comments": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-6.0.0.tgz", + "integrity": "sha512-p2skSGqzPMZkEQvJsgnkBhCn8gI7NzRH2683EEjrIkoMiwRELx68yoUJ3q3DGSGuQ8Ug9Gsn+OuDr46yfO+eFw==", "dev": true, - "dependencies": { - "@alloc/quick-lru": "^5.2.0", - "arg": "^5.0.2", - "chokidar": "^3.5.3", - "didyoumean": "^1.2.2", - "dlv": "^1.1.3", - "fast-glob": "^3.2.12", - "glob-parent": "^6.0.2", - "is-glob": "^4.0.3", - "jiti": "^1.18.2", - "lilconfig": "^2.1.0", - "micromatch": "^4.0.5", - "normalize-path": "^3.0.0", - "object-hash": "^3.0.0", - "picocolors": "^1.0.0", - "postcss": "^8.4.23", - "postcss-import": "^15.1.0", - "postcss-js": "^4.0.1", - "postcss-load-config": "^4.0.1", - "postcss-nested": "^6.0.1", - "postcss-selector-parser": "^6.0.11", - "resolve": "^1.22.2", - "sucrase": "^3.32.0" + "engines": { + "node": "^14 || ^16 || >=18.0" }, - "bin": { - "tailwind": "lib/cli.js", - "tailwindcss": "lib/cli.js" + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-duplicates": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-6.0.0.tgz", + "integrity": "sha512-bU1SXIizMLtDW4oSsi5C/xHKbhLlhek/0/yCnoMQany9k3nPBq+Ctsv/9oMmyqbR96HYHxZcHyK2HR5P/mqoGA==", + "dev": true, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-empty": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-6.0.0.tgz", + "integrity": "sha512-b+h1S1VT6dNhpcg+LpyiUrdnEZfICF0my7HAKgJixJLW7BnNmpRH34+uw/etf5AhOlIhIAuXApSzzDzMI9K/gQ==", + "dev": true, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-overridden": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-6.0.0.tgz", + "integrity": "sha512-4VELwssYXDFigPYAZ8vL4yX4mUepF/oCBeeIT4OXsJPYOtvJumyz9WflmJWTfDwCUcpDR+z0zvCWBXgTx35SVw==", + "dev": true, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-import": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", + "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" }, "engines": { "node": ">=14.0.0" + }, + "peerDependencies": { + "postcss": "^8.0.0" } }, - "node_modules/tailwindcss/node_modules/postcss-load-config": { + "node_modules/postcss-js": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.1.tgz", - "integrity": "sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", + "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", + "dev": true, + "dependencies": { + "camelcase-css": "^2.0.1" + }, + "engines": { + "node": "^12 || ^14 || >= 16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.4.21" + } + }, + "node_modules/postcss-load-config": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz", + "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==", "dev": true, "dependencies": { "lilconfig": "^2.0.5", - "yaml": "^2.1.1" + "yaml": "^1.10.2" }, "engines": { - "node": ">= 14" + "node": ">= 10" }, "funding": { "type": "opencollective", @@ -9476,4871 +9842,8981 @@ } } }, - "node_modules/tailwindcss/node_modules/yaml": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.1.tgz", - "integrity": "sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ==", + "node_modules/postcss-merge-longhand": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-6.0.0.tgz", + "integrity": "sha512-4VSfd1lvGkLTLYcxFuISDtWUfFS4zXe0FpF149AyziftPFQIWxjvFSKhA4MIxMe4XM3yTDgQMbSNgzIVxChbIg==", "dev": true, - "engines": { - "node": ">= 14" - } - }, - "node_modules/tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", - "engines": { - "node": ">=6" - } - }, - "node_modules/terser": { - "version": "5.19.2", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.19.2.tgz", - "integrity": "sha512-qC5+dmecKJA4cpYxRa5aVkKehYsQKc+AHeKl0Oe62aYjBL8ZA33tTljktDHJSaxxMnbI5ZYw+o/S2DxxLu8OfA==", - "peer": true, "dependencies": { - "@jridgewell/source-map": "^0.3.3", - "acorn": "^8.8.2", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" - }, - "bin": { - "terser": "bin/terser" + "postcss-value-parser": "^4.2.0", + "stylehacks": "^6.0.0" }, "engines": { - "node": ">=10" + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/terser-webpack-plugin": { - "version": "5.3.9", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz", - "integrity": "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==", - "peer": true, + "node_modules/postcss-merge-rules": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-6.0.1.tgz", + "integrity": "sha512-a4tlmJIQo9SCjcfiCcCMg/ZCEe0XTkl/xK0XHBs955GWg9xDX3NwP9pwZ78QUOWB8/0XCjZeJn98Dae0zg6AAw==", + "dev": true, "dependencies": { - "@jridgewell/trace-mapping": "^0.3.17", - "jest-worker": "^27.4.5", - "schema-utils": "^3.1.1", - "serialize-javascript": "^6.0.1", - "terser": "^5.16.8" + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0", + "cssnano-utils": "^4.0.0", + "postcss-selector-parser": "^6.0.5" }, "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "node": "^14 || ^16 || >=18.0" }, "peerDependencies": { - "webpack": "^5.1.0" - }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "esbuild": { - "optional": true - }, - "uglify-js": { - "optional": true - } + "postcss": "^8.2.15" } }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "peer": true - }, - "node_modules/thenby": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/thenby/-/thenby-1.3.4.tgz", - "integrity": "sha512-89Gi5raiWA3QZ4b2ePcEwswC3me9JIg+ToSgtE0JWeCynLnLxNr/f9G+xfo9K+Oj4AFdom8YNJjibIARTJmapQ==", - "dev": true - }, - "node_modules/thenify": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", - "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "node_modules/postcss-minify-font-values": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-6.0.0.tgz", + "integrity": "sha512-zNRAVtyh5E8ndZEYXA4WS8ZYsAp798HiIQ1V2UF/C/munLp2r1UGHwf1+6JFu7hdEhJFN+W1WJQKBrtjhFgEnA==", "dev": true, "dependencies": { - "any-promise": "^1.0.0" + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/thenify-all": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", - "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "node_modules/postcss-minify-gradients": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-6.0.0.tgz", + "integrity": "sha512-wO0F6YfVAR+K1xVxF53ueZJza3L+R3E6cp0VwuXJQejnNUH0DjcAFe3JEBeTY1dLwGa0NlDWueCA1VlEfiKgAA==", "dev": true, "dependencies": { - "thenify": ">= 3.1.0 < 4" + "colord": "^2.9.1", + "cssnano-utils": "^4.0.0", + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": ">=0.8" + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/titleize": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/titleize/-/titleize-3.0.0.tgz", - "integrity": "sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ==", + "node_modules/postcss-minify-params": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-6.0.0.tgz", + "integrity": "sha512-Fz/wMQDveiS0n5JPcvsMeyNXOIMrwF88n7196puSuQSWSa+/Ofc1gDOSY2xi8+A4PqB5dlYCKk/WfqKqsI+ReQ==", + "dev": true, + "dependencies": { + "browserslist": "^4.21.4", + "cssnano-utils": "^4.0.0", + "postcss-value-parser": "^4.2.0" + }, "engines": { - "node": ">=12" + "node": "^14 || ^16 || >=18.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "node_modules/postcss-minify-selectors": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-6.0.0.tgz", + "integrity": "sha512-ec/q9JNCOC2CRDNnypipGfOhbYPuUkewGwLnbv6omue/PSASbHSU7s6uSQ0tcFRVv731oMIx8k0SP4ZX6be/0g==", + "dev": true, "dependencies": { - "is-number": "^7.0.0" + "postcss-selector-parser": "^6.0.5" }, "engines": { - "node": ">=8.0" + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", - "engines": { - "node": ">=0.6" - } - }, - "node_modules/toml": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/toml/-/toml-3.0.0.tgz", - "integrity": "sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w==" - }, - "node_modules/tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "node_modules/postcss-nested": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz", + "integrity": "sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==", + "dev": true, "dependencies": { - "psl": "^1.1.28", - "punycode": "^2.1.1" + "postcss-selector-parser": "^6.0.11" }, "engines": { - "node": ">=0.8" - } - }, - "node_modules/traverse": { - "version": "0.6.7", - "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.7.tgz", - "integrity": "sha512-/y956gpUo9ZNCb99YjxG7OaslxZWHfCHAUUfshwqOXmxUIvqLjVO581BT+gM59+QV9tFe6/CGG53tsA1Y7RSdg==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/trim-lines": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", - "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/trough": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/trough/-/trough-1.0.5.tgz", - "integrity": "sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==", + "node": ">=12.0" + }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.2.14" } }, - "node_modules/ts-interface-checker": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", - "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", - "dev": true - }, - "node_modules/tsconfig-paths": { - "version": "3.14.2", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz", - "integrity": "sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==", - "dependencies": { - "@types/json5": "^0.0.29", - "json5": "^1.0.2", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" + "node_modules/postcss-normalize-charset": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-6.0.0.tgz", + "integrity": "sha512-cqundwChbu8yO/gSWkuFDmKrCZ2vJzDAocheT2JTd0sFNA4HMGoKMfbk2B+J0OmO0t5GUkiAkSM5yF2rSLUjgQ==", + "dev": true, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/tsconfig-paths/node_modules/json5": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", - "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "node_modules/postcss-normalize-display-values": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-6.0.0.tgz", + "integrity": "sha512-Qyt5kMrvy7dJRO3OjF7zkotGfuYALETZE+4lk66sziWSPzlBEt7FrUshV6VLECkI4EN8Z863O6Nci4NXQGNzYw==", + "dev": true, "dependencies": { - "minimist": "^1.2.0" + "postcss-value-parser": "^4.2.0" }, - "bin": { - "json5": "lib/cli.js" + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/tslib": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", - "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==" - }, - "node_modules/tsutils": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "node_modules/postcss-normalize-positions": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-6.0.0.tgz", + "integrity": "sha512-mPCzhSV8+30FZyWhxi6UoVRYd3ZBJgTRly4hOkaSifo0H+pjDYcii/aVT4YE6QpOil15a5uiv6ftnY3rm0igPg==", + "dev": true, "dependencies": { - "tslib": "^1.8.1" + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": ">= 6" + "node": "^14 || ^16 || >=18.0" }, "peerDependencies": { - "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + "postcss": "^8.2.15" } }, - "node_modules/tsutils/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - }, - "node_modules/tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "node_modules/postcss-normalize-repeat-style": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-6.0.0.tgz", + "integrity": "sha512-50W5JWEBiOOAez2AKBh4kRFm2uhrT3O1Uwdxz7k24aKtbD83vqmcVG7zoIwo6xI2FZ/HDlbrCopXhLeTpQib1A==", + "dev": true, "dependencies": { - "safe-buffer": "^5.0.1" + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": "*" + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "peer": true, + "node_modules/postcss-normalize-string": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-6.0.0.tgz", + "integrity": "sha512-KWkIB7TrPOiqb8ZZz6homet2KWKJwIlysF5ICPZrXAylGe2hzX/HSf4NTX2rRPJMAtlRsj/yfkrWGavFuB+c0w==", + "dev": true, "dependencies": { - "prelude-ls": "^1.2.1" + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": ">= 0.8.0" + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "peer": true, + "node_modules/postcss-normalize-timing-functions": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-6.0.0.tgz", + "integrity": "sha512-tpIXWciXBp5CiFs8sem90IWlw76FV4oi6QEWfQwyeREVwUy39VSeSqjAT7X0Qw650yAimYW5gkl2Gd871N5SQg==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, "engines": { - "node": ">=10" + "node": "^14 || ^16 || >=18.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "node_modules/postcss-normalize-unicode": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-6.0.0.tgz", + "integrity": "sha512-ui5crYkb5ubEUDugDc786L/Me+DXp2dLg3fVJbqyAl0VPkAeALyAijF2zOsnZyaS1HyfPuMH0DwyY18VMFVNkg==", + "dev": true, "dependencies": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" + "browserslist": "^4.21.4", + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": ">= 0.6" + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/typed-array-buffer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz", - "integrity": "sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==", + "node_modules/postcss-normalize-url": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-6.0.0.tgz", + "integrity": "sha512-98mvh2QzIPbb02YDIrYvAg4OUzGH7s1ZgHlD3fIdTHLgPLRpv1ZTKJDnSAKr4Rt21ZQFzwhGMXxpXlfrUBKFHw==", + "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.1", - "is-typed-array": "^1.1.10" + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": ">= 0.4" + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/typed-array-byte-length": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz", - "integrity": "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==", + "node_modules/postcss-normalize-whitespace": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-6.0.0.tgz", + "integrity": "sha512-7cfE1AyLiK0+ZBG6FmLziJzqQCpTQY+8XjMhMAz8WSBSCsCNNUKujgIgjCAmDT3cJ+3zjTXFkoD15ZPsckArVw==", + "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "has-proto": "^1.0.1", - "is-typed-array": "^1.1.10" + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": ">= 0.4" + "node": "^14 || ^16 || >=18.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/typed-array-byte-offset": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz", - "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==", + "node_modules/postcss-ordered-values": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-6.0.0.tgz", + "integrity": "sha512-K36XzUDpvfG/nWkjs6d1hRBydeIxGpKS2+n+ywlKPzx1nMYDYpoGbcjhj5AwVYJK1qV2/SDoDEnHzlPD6s3nMg==", + "dev": true, "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "has-proto": "^1.0.1", - "is-typed-array": "^1.1.10" + "cssnano-utils": "^4.0.0", + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": ">= 0.4" + "node": "^14 || ^16 || >=18.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/typed-array-length": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", - "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", + "node_modules/postcss-reduce-initial": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-6.0.0.tgz", + "integrity": "sha512-s2UOnidpVuXu6JiiI5U+fV2jamAw5YNA9Fdi/GRK0zLDLCfXmSGqQtzpUPtfN66RtCbb9fFHoyZdQaxOB3WxVA==", + "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "is-typed-array": "^1.1.9" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typescript": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.6.tgz", - "integrity": "sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==", - "peer": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0" }, "engines": { - "node": ">=14.17" - } - }, - "node_modules/uglify-js": { - "version": "3.17.4", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.4.tgz", - "integrity": "sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==", - "optional": true, - "bin": { - "uglifyjs": "bin/uglifyjs" + "node": "^14 || ^16 || >=18.0" }, - "engines": { - "node": ">=0.8.0" + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/unbox-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", - "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "node_modules/postcss-reduce-transforms": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-6.0.0.tgz", + "integrity": "sha512-FQ9f6xM1homnuy1wLe9lP1wujzxnwt1EwiigtWwuyf8FsqqXUDUp2Ulxf9A5yjlUOTdCJO6lonYjg1mgqIIi2w==", + "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "has-bigints": "^1.0.2", - "has-symbols": "^1.0.3", - "which-boxed-primitive": "^1.0.2" + "postcss-value-parser": "^4.2.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/unherit": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/unherit/-/unherit-1.1.3.tgz", - "integrity": "sha512-Ft16BJcnapDKp0+J/rqFC3Rrk6Y/Ng4nzsC028k2jdDII/rdZ7Wd3pPT/6+vIIxRagwRc9K0IUX0Ra4fKvw+WQ==", - "dependencies": { - "inherits": "^2.0.0", - "xtend": "^4.0.0" + "engines": { + "node": "^14 || ^16 || >=18.0" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/unified": { - "version": "8.4.2", - "resolved": "https://registry.npmjs.org/unified/-/unified-8.4.2.tgz", - "integrity": "sha512-JCrmN13jI4+h9UAyKEoGcDZV+i1E7BLFuG7OsaDvTXI5P0qhHX+vZO/kOhz9jn8HGENDKbwSeB0nVOg4gVStGA==", + "node_modules/postcss-reporter": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/postcss-reporter/-/postcss-reporter-7.0.5.tgz", + "integrity": "sha512-glWg7VZBilooZGOFPhN9msJ3FQs19Hie7l5a/eE6WglzYqVeH3ong3ShFcp9kDWJT1g2Y/wd59cocf9XxBtkWA==", + "dev": true, "dependencies": { - "bail": "^1.0.0", - "extend": "^3.0.0", - "is-plain-obj": "^2.0.0", - "trough": "^1.0.0", - "vfile": "^4.0.0" + "picocolors": "^1.0.0", + "thenby": "^1.3.4" + }, + "engines": { + "node": ">=10" }, "funding": { "type": "opencollective", - "url": "https://opencollective.com/unified" + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.1.0" } }, - "node_modules/unified/node_modules/unist-util-stringify-position": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz", - "integrity": "sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==", + "node_modules/postcss-selector-parser": { + "version": "6.0.13", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", + "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", + "dev": true, "dependencies": { - "@types/unist": "^2.0.2" + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": ">=4" } }, - "node_modules/unified/node_modules/vfile": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/vfile/-/vfile-4.2.1.tgz", - "integrity": "sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==", + "node_modules/postcss-svgo": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-6.0.0.tgz", + "integrity": "sha512-r9zvj/wGAoAIodn84dR/kFqwhINp5YsJkLoujybWG59grR/IHx+uQ2Zo+IcOwM0jskfYX3R0mo+1Kip1VSNcvw==", + "dev": true, "dependencies": { - "@types/unist": "^2.0.0", - "is-buffer": "^2.0.0", - "unist-util-stringify-position": "^2.0.0", - "vfile-message": "^2.0.0" + "postcss-value-parser": "^4.2.0", + "svgo": "^3.0.2" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": "^14 || ^16 || >= 18" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/unified/node_modules/vfile-message": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-2.0.4.tgz", - "integrity": "sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==", + "node_modules/postcss-unique-selectors": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-6.0.0.tgz", + "integrity": "sha512-EPQzpZNxOxP7777t73RQpZE5e9TrnCrkvp7AH7a0l89JmZiPnS82y216JowHXwpBCQitfyxrof9TK3rYbi7/Yw==", + "dev": true, "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-stringify-position": "^2.0.0" + "postcss-selector-parser": "^6.0.5" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/unist-util-generated": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-2.0.1.tgz", - "integrity": "sha512-qF72kLmPxAw0oN2fwpWIqbXAVyEqUzDHMsbtPvOudIlUzXYFIeQIuxXQCRCFh22B7cixvU0MG7m3MW8FTq/S+A==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "peer": true, + "engines": { + "node": ">= 0.8.0" } }, - "node_modules/unist-util-is": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.2.1.tgz", - "integrity": "sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==", - "dependencies": { - "@types/unist": "^2.0.0" + "node_modules/prettier": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz", + "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==", + "bin": { + "prettier": "bin-prettier.js" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": ">=4" } }, - "node_modules/unist-util-position": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-4.0.4.tgz", - "integrity": "sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg==", - "dependencies": { - "@types/unist": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "node_modules/pretty-hrtime": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", + "integrity": "sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A==", + "dev": true, + "engines": { + "node": ">= 0.8" } }, - "node_modules/unist-util-position-from-estree": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/unist-util-position-from-estree/-/unist-util-position-from-estree-1.1.2.tgz", - "integrity": "sha512-poZa0eXpS+/XpoQwGwl79UUdea4ol2ZuCYguVaJS4qzIOMDzbqz8a3erUCOmubSZkaOuGamb3tX790iwOIROww==", + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", "dependencies": { - "@types/unist": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" } }, - "node_modules/unist-util-remove-position": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-4.0.2.tgz", - "integrity": "sha512-TkBb0HABNmxzAcfLf4qsIbFbaPDvMO6wa3b3j4VcEzFVaw1LBKwnW4/sRJ/atSLSzoIg41JWEdnE7N6DIhGDGQ==", - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-visit": "^4.0.0" - }, + "node_modules/property-information": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-6.4.0.tgz", + "integrity": "sha512-9t5qARVofg2xQqKtytzt+lZ4d1Qvj8t5B8fEwXK6qOfgRLgH/b13QlgEyDh033NOS31nXeFbYv7CLUDG1CeifQ==", "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/unist-util-stringify-position": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz", - "integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==", + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", "dependencies": { - "@types/unist": "^2.0.0" + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-visit": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.2.tgz", - "integrity": "sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==", - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-is": "^5.0.0", - "unist-util-visit-parents": "^5.1.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-visit-parents": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.3.tgz", - "integrity": "sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==", - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-is": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "dev": true, "engines": { - "node": ">= 10.0.0" + "node": ">= 0.10" } }, - "node_modules/unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "node_modules/psl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" + }, + "node_modules/punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", "engines": { - "node": ">= 0.8" + "node": ">=6" } }, - "node_modules/untildify": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", - "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==", + "node_modules/qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dependencies": { + "side-channel": "^1.0.4" + }, "engines": { - "node": ">=8" + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/update-browserslist-db": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", - "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", "funding": [ { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" + "type": "github", + "url": "https://github.com/sponsors/feross" }, { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" + "type": "patreon", + "url": "https://www.patreon.com/feross" }, { - "type": "github", - "url": "https://github.com/sponsors/ai" + "type": "consulting", + "url": "https://feross.org/support" } - ], - "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - }, - "bin": { - "update-browserslist-db": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } + ] }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "peer": true, "dependencies": { - "punycode": "^2.1.0" + "safe-buffer": "^5.1.0" } }, - "node_modules/urijs": { - "version": "1.19.11", - "resolved": "https://registry.npmjs.org/urijs/-/urijs-1.19.11.tgz", - "integrity": "sha512-HXgFDgDommxn5/bIv0cnQZsPhHDA90NPHD6+c/v21U5+Sx5hoP8+dP9IZXBU1gIfvdRfhG8cel9QNPeionfcCQ==" - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "dev": true - }, - "node_modules/utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", - "bin": { - "uuid": "bin/uuid" + "node": ">= 0.6" } }, - "node_modules/uvu": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/uvu/-/uvu-0.5.6.tgz", - "integrity": "sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==", + "node_modules/raw-body": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", "dependencies": { - "dequal": "^2.0.0", - "diff": "^5.0.0", - "kleur": "^4.0.3", - "sade": "^1.7.3" - }, - "bin": { - "uvu": "bin.js" + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" }, "engines": { - "node": ">=8" + "node": ">= 0.8" } }, - "node_modules/vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "node_modules/react": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", + "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "dependencies": { + "loose-envify": "^1.1.0" + }, "engines": { - "node": ">= 0.8" + "node": ">=0.10.0" } }, - "node_modules/verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", - "engines": [ - "node >=0.6.0" - ], + "node_modules/react-dom": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", + "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", "dependencies": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" + "loose-envify": "^1.1.0", + "scheduler": "^0.23.0" + }, + "peerDependencies": { + "react": "^18.2.0" } }, - "node_modules/vfile": { - "version": "5.3.7", - "resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.7.tgz", - "integrity": "sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==", + "node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + }, + "node_modules/react-markdown": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/react-markdown/-/react-markdown-9.0.1.tgz", + "integrity": "sha512-186Gw/vF1uRkydbsOIkcGXw7aHq0sZOCRFFjGrr7b9+nVZg4UfA4enXCaxm4fUzecU38sWfrNDitGhshuU7rdg==", "dependencies": { - "@types/unist": "^2.0.0", - "is-buffer": "^2.0.0", - "unist-util-stringify-position": "^3.0.0", - "vfile-message": "^3.0.0" + "@types/hast": "^3.0.0", + "devlop": "^1.0.0", + "hast-util-to-jsx-runtime": "^2.0.0", + "html-url-attributes": "^3.0.0", + "mdast-util-to-hast": "^13.0.0", + "remark-parse": "^11.0.0", + "remark-rehype": "^11.0.0", + "unified": "^11.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" + }, + "peerDependencies": { + "@types/react": ">=18", + "react": ">=18" } }, - "node_modules/vfile-matter": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/vfile-matter/-/vfile-matter-3.0.1.tgz", - "integrity": "sha512-CAAIDwnh6ZdtrqAuxdElUqQRQDQgbbIrYtDYI8gCjXS1qQ+1XdLoK8FIZWxJwn0/I+BkSSZpar3SOgjemQz4fg==", + "node_modules/react-markdown/node_modules/@types/hast": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.3.tgz", + "integrity": "sha512-2fYGlaDy/qyLlhidX42wAH0KBi2TCjKMH8CHmBXgRlJ3Y+OXTiqsPQ6IWarZKwF1JoUcAJdPogv1d4b0COTpmQ==", "dependencies": { - "@types/js-yaml": "^4.0.0", - "is-buffer": "^2.0.0", - "js-yaml": "^4.0.0" + "@types/unist": "*" + } + }, + "node_modules/react-markdown/node_modules/@types/mdast": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.3.tgz", + "integrity": "sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg==", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/react-markdown/node_modules/@types/unist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", + "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==" + }, + "node_modules/react-markdown/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/react-markdown/node_modules/mdast-util-from-markdown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.0.tgz", + "integrity": "sha512-n7MTOr/z+8NAX/wmhhDji8O3bRvPTV/U0oTCaZJkjhPSKTPhS3xufVhKGF8s1pJ7Ox4QgoIU7KHseh09S+9rTA==", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark": "^4.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-stringify-position": "^4.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, - "node_modules/vfile-message": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.4.tgz", - "integrity": "sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==", + "node_modules/react-markdown/node_modules/mdast-util-to-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", + "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-stringify-position": "^3.0.0" + "@types/mdast": "^4.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, - "node_modules/watchpack": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", - "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "node_modules/react-markdown/node_modules/micromark": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.0.tgz", + "integrity": "sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], "dependencies": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/webpack": { - "version": "5.88.2", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.88.2.tgz", - "integrity": "sha512-JmcgNZ1iKj+aiR0OvTYtWQqJwq37Pf683dY9bVORwVbUrDhLhdn/PlO2sHsFHPkj7sHNQF3JwaAkp49V+Sq1tQ==", - "peer": true, + "@types/debug": "^4.0.0", + "debug": "^4.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/react-markdown/node_modules/micromark-core-commonmark": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.0.tgz", + "integrity": "sha512-jThOz/pVmAYUtkroV3D5c1osFXAMv9e0ypGDOIZuCeAe91/sD6BoE2Sjzt30yuXtwOYUmySOhMas/PVyh02itA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], "dependencies": { - "@types/eslint-scope": "^3.7.3", - "@types/estree": "^1.0.0", - "@webassemblyjs/ast": "^1.11.5", - "@webassemblyjs/wasm-edit": "^1.11.5", - "@webassemblyjs/wasm-parser": "^1.11.5", - "acorn": "^8.7.1", - "acorn-import-assertions": "^1.9.0", - "browserslist": "^4.14.5", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.15.0", - "es-module-lexer": "^1.2.1", - "eslint-scope": "5.1.1", - "events": "^3.2.0", - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.9", - "json-parse-even-better-errors": "^2.3.1", - "loader-runner": "^4.2.0", - "mime-types": "^2.1.27", - "neo-async": "^2.6.2", - "schema-utils": "^3.2.0", - "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.3.7", - "watchpack": "^2.4.0", - "webpack-sources": "^3.2.3" - }, - "bin": { - "webpack": "bin/webpack.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-destination": "^2.0.0", + "micromark-factory-label": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-factory-title": "^2.0.0", + "micromark-factory-whitespace": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-html-tag-name": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/react-markdown/node_modules/micromark-factory-destination": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.0.tgz", + "integrity": "sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" } + ], + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, - "node_modules/webpack-sources": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", - "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", - "dev": true, + "node_modules/react-markdown/node_modules/micromark-factory-label": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.0.tgz", + "integrity": "sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], "dependencies": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" + "devlop": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, - "node_modules/webpack-sources/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" + "node_modules/react-markdown/node_modules/micromark-factory-space": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz", + "integrity": "sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, - "node_modules/webpack/node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "peer": true, + "node_modules/react-markdown/node_modules/micromark-factory-title": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.0.tgz", + "integrity": "sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, - "node_modules/webpack/node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "peer": true, - "engines": { - "node": ">=4.0" + "node_modules/react-markdown/node_modules/micromark-factory-whitespace": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.0.tgz", + "integrity": "sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, - "node_modules/webpack/node_modules/webpack-sources": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", - "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", - "peer": true, - "engines": { - "node": ">=10.13.0" + "node_modules/react-markdown/node_modules/micromark-util-character": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.0.1.tgz", + "integrity": "sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "node_modules/react-markdown/node_modules/micromark-util-chunked": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.0.tgz", + "integrity": "sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" + "micromark-util-symbol": "^2.0.0" } }, - "node_modules/which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "node_modules/react-markdown/node_modules/micromark-util-classify-character": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.0.tgz", + "integrity": "sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], "dependencies": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, - "node_modules/which-typed-array": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.11.tgz", - "integrity": "sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==", + "node_modules/react-markdown/node_modules/micromark-util-combine-extensions": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.0.tgz", + "integrity": "sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "micromark-util-chunked": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, - "node_modules/wordwrap": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", - "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==" + "node_modules/react-markdown/node_modules/micromark-util-decode-numeric-character-reference": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.1.tgz", + "integrity": "sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } }, - "node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, + "node_modules/react-markdown/node_modules/micromark-util-decode-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.0.tgz", + "integrity": "sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "decode-named-character-reference": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-symbol": "^2.0.0" } }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + "node_modules/react-markdown/node_modules/micromark-util-encode": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.0.tgz", + "integrity": "sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] }, - "node_modules/xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "engines": { - "node": ">=0.4" + "node_modules/react-markdown/node_modules/micromark-util-html-tag-name": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.0.tgz", + "integrity": "sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/react-markdown/node_modules/micromark-util-normalize-identifier": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.0.tgz", + "integrity": "sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0" } }, - "node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true, - "engines": { - "node": ">=10" + "node_modules/react-markdown/node_modules/micromark-util-resolve-all": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.0.tgz", + "integrity": "sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-types": "^2.0.0" } }, - "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + "node_modules/react-markdown/node_modules/micromark-util-sanitize-uri": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.0.tgz", + "integrity": "sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } }, - "node_modules/yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", - "dev": true, - "engines": { - "node": ">= 6" + "node_modules/react-markdown/node_modules/micromark-util-subtokenize": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.0.0.tgz", + "integrity": "sha512-vc93L1t+gpR3p8jxeVdaYlbV2jTYteDje19rNSS/H5dlhxUYll5Fy6vJ2cDwP8RnsXi818yGty1ayP55y3W6fg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, - "node_modules/yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dev": true, + "node_modules/react-markdown/node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/react-markdown/node_modules/micromark-util-types": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.0.tgz", + "integrity": "sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/react-markdown/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/react-markdown/node_modules/remark-parse": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz", + "integrity": "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==", "dependencies": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unified": "^11.0.0" }, - "engines": { - "node": ">=10" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", - "dev": true, - "engines": { - "node": ">=10" + "node_modules/react-markdown/node_modules/unified": { + "version": "11.0.4", + "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.4.tgz", + "integrity": "sha512-apMPnyLjAX+ty4OrNap7yumyVAMlKx5IWU2wlzzUdYJO9A8f1p9m/gywF/GM2ZDFcjQPrx59Mc90KwmxsoklxQ==", + "dependencies": { + "@types/unist": "^3.0.0", + "bail": "^2.0.0", + "devlop": "^1.0.0", + "extend": "^3.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "peer": true, - "engines": { - "node": ">=10" + "node_modules/react-markdown/node_modules/unist-util-is": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", + "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", + "dependencies": { + "@types/unist": "^3.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/zod": { - "version": "3.21.4", - "resolved": "https://registry.npmjs.org/zod/-/zod-3.21.4.tgz", - "integrity": "sha512-m46AKbrzKVzOzs/DZgVnG5H55N1sv1M8qZU3A8RIKbs3mrACDNeIOeilDymVb2HdmP8uwshOCF4uJ8uM9rCqJw==", + "node_modules/react-markdown/node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "dependencies": { + "@types/unist": "^3.0.0" + }, "funding": { - "url": "https://github.com/sponsors/colinhacks" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/zwitch": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", - "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==", + "node_modules/react-markdown/node_modules/unist-util-visit": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz", + "integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "type": "opencollective", + "url": "https://opencollective.com/unified" } - } - }, - "dependencies": { - "@aashutoshrathi/word-wrap": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", - "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", - "peer": true }, - "@alloc/quick-lru": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", - "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", - "dev": true + "node_modules/react-markdown/node_modules/unist-util-visit-parents": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz", + "integrity": "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } }, - "@babel/runtime": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.6.tgz", - "integrity": "sha512-wDb5pWm4WDdF6LFUde3Jl8WzPA+3ZbxYqkC6xAXuD3irdEHN1k0NfTRrJD8ZD378SJ61miMLCqIOXYhd8x+AJQ==", - "requires": { - "regenerator-runtime": "^0.13.11" + "node_modules/react-markdown/node_modules/vfile": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.1.tgz", + "integrity": "sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "@esbuild/android-arm": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.16.17.tgz", - "integrity": "sha512-N9x1CMXVhtWEAMS7pNNONyA14f71VPQN9Cnavj1XQh6T7bskqiLLrSca4O0Vr8Wdcga943eThxnVp3JLnBMYtw==", - "dev": true, - "optional": true - }, - "@esbuild/android-arm64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.16.17.tgz", - "integrity": "sha512-MIGl6p5sc3RDTLLkYL1MyL8BMRN4tLMRCn+yRJJmEDvYZ2M7tmAf80hx1kbNEUX2KJ50RRtxZ4JHLvCfuB6kBg==", - "dev": true, - "optional": true - }, - "@esbuild/android-x64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.16.17.tgz", - "integrity": "sha512-a3kTv3m0Ghh4z1DaFEuEDfz3OLONKuFvI4Xqczqx4BqLyuFaFkuaG4j2MtA6fuWEFeC5x9IvqnX7drmRq/fyAQ==", - "dev": true, - "optional": true + "node_modules/react-markdown/node_modules/vfile-message": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.2.tgz", + "integrity": "sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } }, - "@esbuild/darwin-arm64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.16.17.tgz", - "integrity": "sha512-/2agbUEfmxWHi9ARTX6OQ/KgXnOWfsNlTeLcoV7HSuSTv63E4DqtAc+2XqGw1KHxKMHGZgbVCZge7HXWX9Vn+w==", + "node_modules/read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", "dev": true, - "optional": true + "dependencies": { + "pify": "^2.3.0" + } }, - "@esbuild/darwin-x64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.16.17.tgz", - "integrity": "sha512-2By45OBHulkd9Svy5IOCZt376Aa2oOkiE9QWUK9fe6Tb+WDr8hXL3dpqi+DeLiMed8tVXspzsTAvd0jUl96wmg==", + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", "dev": true, - "optional": true + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } }, - "@esbuild/freebsd-arm64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.17.tgz", - "integrity": "sha512-mt+cxZe1tVx489VTb4mBAOo2aKSnJ33L9fr25JXpqQqzbUIw/yzIzi+NHwAXK2qYV1lEFp4OoVeThGjUbmWmdw==", + "node_modules/reanalyze": { + "version": "2.23.0", + "resolved": "https://registry.npmjs.org/reanalyze/-/reanalyze-2.23.0.tgz", + "integrity": "sha512-5pkH13pX1PrZFkIfmZUjKtYCqzFY2jTaEjBsqyR9SM3HLexAtkHTa4vLHTwuYk167KuO1uwWyEppo8NJIjfkOw==", "dev": true, - "optional": true + "hasInstallScript": true, + "bin": { + "reanalyze": "reanalyze.exe" + } }, - "@esbuild/freebsd-x64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.16.17.tgz", - "integrity": "sha512-8ScTdNJl5idAKjH8zGAsN7RuWcyHG3BAvMNpKOBaqqR7EbUhhVHOqXRdL7oZvz8WNHL2pr5+eIT5c65kA6NHug==", - "dev": true, - "optional": true + "node_modules/regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" }, - "@esbuild/linux-arm": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.16.17.tgz", - "integrity": "sha512-iihzrWbD4gIT7j3caMzKb/RsFFHCwqqbrbH9SqUSRrdXkXaygSZCZg1FybsZz57Ju7N/SHEgPyaR0LZ8Zbe9gQ==", - "dev": true, - "optional": true + "node_modules/regexp.prototype.flags": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz", + "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "functions-have-names": "^1.2.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "@esbuild/linux-arm64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.16.17.tgz", - "integrity": "sha512-7S8gJnSlqKGVJunnMCrXHU9Q8Q/tQIxk/xL8BqAP64wchPCTzuM6W3Ra8cIa1HIflAvDnNOt2jaL17vaW+1V0g==", - "dev": true, - "optional": true + "node_modules/rehype-slug": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/rehype-slug/-/rehype-slug-5.1.0.tgz", + "integrity": "sha512-Gf91dJoXneiorNEnn+Phx97CO7oRMrpi+6r155tTxzGuLtm+QrI4cTwCa9e1rtePdL4i9tSO58PeSS6HWfgsiw==", + "dependencies": { + "@types/hast": "^2.0.0", + "github-slugger": "^2.0.0", + "hast-util-has-property": "^2.0.0", + "hast-util-heading-rank": "^2.0.0", + "hast-util-to-string": "^2.0.0", + "unified": "^10.0.0", + "unist-util-visit": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } }, - "@esbuild/linux-ia32": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.16.17.tgz", - "integrity": "sha512-kiX69+wcPAdgl3Lonh1VI7MBr16nktEvOfViszBSxygRQqSpzv7BffMKRPMFwzeJGPxcio0pdD3kYQGpqQ2SSg==", - "dev": true, - "optional": true + "node_modules/rehype-slug/node_modules/unified": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", + "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==", + "dependencies": { + "@types/unist": "^2.0.0", + "bail": "^2.0.0", + "extend": "^3.0.0", + "is-buffer": "^2.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } }, - "@esbuild/linux-loong64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.16.17.tgz", - "integrity": "sha512-dTzNnQwembNDhd654cA4QhbS9uDdXC3TKqMJjgOWsC0yNCbpzfWoXdZvp0mY7HU6nzk5E0zpRGGx3qoQg8T2DQ==", - "dev": true, - "optional": true + "node_modules/remark-comment": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/remark-comment/-/remark-comment-1.0.0.tgz", + "integrity": "sha512-k8YPo5MGvl8l4gGxOH6Zk4Fa2AhDACN5eqKnKZcHDORZQS15hlnezlBHj2lqyDiqzApNmYOMTibkEJbMSKU25w==", + "dependencies": { + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.1.0", + "micromark-util-symbol": "^1.0.1" + } }, - "@esbuild/linux-mips64el": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.16.17.tgz", - "integrity": "sha512-ezbDkp2nDl0PfIUn0CsQ30kxfcLTlcx4Foz2kYv8qdC6ia2oX5Q3E/8m6lq84Dj/6b0FrkgD582fJMIfHhJfSw==", - "dev": true, - "optional": true + "node_modules/remark-frontmatter": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/remark-frontmatter/-/remark-frontmatter-4.0.1.tgz", + "integrity": "sha512-38fJrB0KnmD3E33a5jZC/5+gGAC2WKNiPw1/fdXJvijBlhA7RCsvJklrYJakS0HedninvaCYW8lQGf9C918GfA==", + "dependencies": { + "@types/mdast": "^3.0.0", + "mdast-util-frontmatter": "^1.0.0", + "micromark-extension-frontmatter": "^1.0.0", + "unified": "^10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } }, - "@esbuild/linux-ppc64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.16.17.tgz", - "integrity": "sha512-dzS678gYD1lJsW73zrFhDApLVdM3cUF2MvAa1D8K8KtcSKdLBPP4zZSLy6LFZ0jYqQdQ29bjAHJDgz0rVbLB3g==", - "dev": true, - "optional": true + "node_modules/remark-frontmatter/node_modules/unified": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", + "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==", + "dependencies": { + "@types/unist": "^2.0.0", + "bail": "^2.0.0", + "extend": "^3.0.0", + "is-buffer": "^2.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } }, - "@esbuild/linux-riscv64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.16.17.tgz", - "integrity": "sha512-ylNlVsxuFjZK8DQtNUwiMskh6nT0vI7kYl/4fZgV1llP5d6+HIeL/vmmm3jpuoo8+NuXjQVZxmKuhDApK0/cKw==", - "dev": true, - "optional": true + "node_modules/remark-gfm": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-3.0.1.tgz", + "integrity": "sha512-lEFDoi2PICJyNrACFOfDD3JlLkuSbOa5Wd8EPt06HUdptv8Gn0bxYTdbU/XXQ3swAPkEaGxxPN9cbnMHvVu1Ig==", + "dependencies": { + "@types/mdast": "^3.0.0", + "mdast-util-gfm": "^2.0.0", + "micromark-extension-gfm": "^2.0.0", + "unified": "^10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } }, - "@esbuild/linux-s390x": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.16.17.tgz", - "integrity": "sha512-gzy7nUTO4UA4oZ2wAMXPNBGTzZFP7mss3aKR2hH+/4UUkCOyqmjXiKpzGrY2TlEUhbbejzXVKKGazYcQTZWA/w==", - "dev": true, - "optional": true + "node_modules/remark-gfm/node_modules/unified": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", + "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==", + "dependencies": { + "@types/unist": "^2.0.0", + "bail": "^2.0.0", + "extend": "^3.0.0", + "is-buffer": "^2.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } }, - "@esbuild/linux-x64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.16.17.tgz", - "integrity": "sha512-mdPjPxfnmoqhgpiEArqi4egmBAMYvaObgn4poorpUaqmvzzbvqbowRllQ+ZgzGVMGKaPkqUmPDOOFQRUFDmeUw==", - "dev": true, - "optional": true + "node_modules/remark-mdx-frontmatter": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/remark-mdx-frontmatter/-/remark-mdx-frontmatter-3.0.0.tgz", + "integrity": "sha512-Tnkz8n/fxZGKMBaFJa5jKumJPpuTr9eZF+u+4UcnlUNmUQP3h8ZwgaTzIvkVb6QjG6QE0itsP5JjWnkEBz8IJw==", + "dependencies": { + "@types/mdast": "^3.0.0", + "estree-util-is-identifier-name": "^2.0.0", + "estree-util-value-to-estree": "^3.0.0", + "toml": "^3.0.0", + "unified": "^10.0.0", + "yaml": "^2.0.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/remcohaszing" + } }, - "@esbuild/netbsd-x64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.16.17.tgz", - "integrity": "sha512-/PzmzD/zyAeTUsduZa32bn0ORug+Jd1EGGAUJvqfeixoEISYpGnAezN6lnJoskauoai0Jrs+XSyvDhppCPoKOA==", - "dev": true, - "optional": true + "node_modules/remark-mdx-frontmatter/node_modules/unified": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", + "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==", + "dependencies": { + "@types/unist": "^2.0.0", + "bail": "^2.0.0", + "extend": "^3.0.0", + "is-buffer": "^2.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } }, - "@esbuild/openbsd-x64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.16.17.tgz", - "integrity": "sha512-2yaWJhvxGEz2RiftSk0UObqJa/b+rIAjnODJgv2GbGGpRwAfpgzyrg1WLK8rqA24mfZa9GvpjLcBBg8JHkoodg==", - "dev": true, - "optional": true + "node_modules/remark-mdx-frontmatter/node_modules/yaml": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.2.tgz", + "integrity": "sha512-N/lyzTPaJasoDmfV7YTrYCI0G/3ivm/9wdG0aHuheKowWQwGTsK0Eoiw6utmzAnI6pkJa0DUVygvp3spqqEKXg==", + "engines": { + "node": ">= 14" + } }, - "@esbuild/sunos-x64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.16.17.tgz", - "integrity": "sha512-xtVUiev38tN0R3g8VhRfN7Zl42YCJvyBhRKw1RJjwE1d2emWTVToPLNEQj/5Qxc6lVFATDiy6LjVHYhIPrLxzw==", - "dev": true, - "optional": true + "node_modules/remark-parse": { + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-10.0.2.tgz", + "integrity": "sha512-3ydxgHa/ZQzG8LvC7jTXccARYDcRld3VfcgIIFs7bI6vbRSxJJmzgLEIIoYKyrfhaY+ujuWaf/PJiMZXoiCXgw==", + "dependencies": { + "@types/mdast": "^3.0.0", + "mdast-util-from-markdown": "^1.0.0", + "unified": "^10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } }, - "@esbuild/win32-arm64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.16.17.tgz", - "integrity": "sha512-ga8+JqBDHY4b6fQAmOgtJJue36scANy4l/rL97W+0wYmijhxKetzZdKOJI7olaBaMhWt8Pac2McJdZLxXWUEQw==", - "dev": true, - "optional": true + "node_modules/remark-parse/node_modules/unified": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", + "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==", + "dependencies": { + "@types/unist": "^2.0.0", + "bail": "^2.0.0", + "extend": "^3.0.0", + "is-buffer": "^2.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } }, - "@esbuild/win32-ia32": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.16.17.tgz", - "integrity": "sha512-WnsKaf46uSSF/sZhwnqE4L/F89AYNMiD4YtEcYekBt9Q7nj0DiId2XH2Ng2PHM54qi5oPrQ8luuzGszqi/veig==", - "dev": true, - "optional": true + "node_modules/remark-rehype": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.0.0.tgz", + "integrity": "sha512-vx8x2MDMcxuE4lBmQ46zYUDfcFMmvg80WYX+UNLeG6ixjdCCLcw1lrgAukwBTuOFsS78eoAedHGn9sNM0w7TPw==", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "mdast-util-to-hast": "^13.0.0", + "unified": "^11.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } }, - "@esbuild/win32-x64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.16.17.tgz", - "integrity": "sha512-y+EHuSchhL7FjHgvQL/0fnnFmO4T1bhvWANX6gcnqTjtnKWbTvUMCpGnv2+t+31d7RzyEAYAd4u2fnIhHL6N/Q==", - "dev": true, - "optional": true + "node_modules/remark-rehype/node_modules/@types/hast": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.3.tgz", + "integrity": "sha512-2fYGlaDy/qyLlhidX42wAH0KBi2TCjKMH8CHmBXgRlJ3Y+OXTiqsPQ6IWarZKwF1JoUcAJdPogv1d4b0COTpmQ==", + "dependencies": { + "@types/unist": "*" + } }, - "@eslint-community/eslint-utils": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", - "peer": true, - "requires": { - "eslint-visitor-keys": "^3.3.0" + "node_modules/remark-rehype/node_modules/@types/mdast": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.3.tgz", + "integrity": "sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg==", + "dependencies": { + "@types/unist": "*" } }, - "@eslint-community/regexpp": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.6.2.tgz", - "integrity": "sha512-pPTNuaAG3QMH+buKyBIGJs3g/S5y0caxw0ygM3YyE6yJFySwiGGSzA+mM3KJ8QQvzeLh3blwgSonkFjgQdxzMw==", - "peer": true + "node_modules/remark-rehype/node_modules/@types/unist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", + "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==" }, - "@eslint/eslintrc": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.1.tgz", - "integrity": "sha512-9t7ZA7NGGK8ckelF0PQCfcxIUzs1Md5rrO6U/c+FIQNanea5UZC0wqKXH4vHBccmu4ZJgZ2idtPeW7+Q2npOEA==", - "peer": true, - "requires": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.6.0", - "globals": "^13.19.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, + "node_modules/remark-rehype/node_modules/unified": { + "version": "11.0.4", + "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.4.tgz", + "integrity": "sha512-apMPnyLjAX+ty4OrNap7yumyVAMlKx5IWU2wlzzUdYJO9A8f1p9m/gywF/GM2ZDFcjQPrx59Mc90KwmxsoklxQ==", "dependencies": { - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "peer": true, - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "peer": true - } + "@types/unist": "^3.0.0", + "bail": "^2.0.0", + "devlop": "^1.0.0", + "extend": "^3.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "@eslint/js": { - "version": "8.46.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.46.0.tgz", - "integrity": "sha512-a8TLtmPi8xzPkCbp/OGFUo5yhRkHM2Ko9kOWP4znJr0WAhWyThaw3PnwX4vOTWOAMsV2uRt32PPDcEz63esSaA==", - "peer": true - }, - "@headlessui/react": { - "version": "1.7.16", - "resolved": "https://registry.npmjs.org/@headlessui/react/-/react-1.7.16.tgz", - "integrity": "sha512-2MphIAZdSUacZBT6EXk8AJkj+EuvaaJbtCyHTJrPsz8inhzCl7qeNPI1uk1AUvCgWylVtdN8cVVmnhUDPxPy3g==", - "requires": { - "client-only": "^0.0.1" + "node_modules/remark-rehype/node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "@humanwhocodes/config-array": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz", - "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==", - "peer": true, - "requires": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", - "minimatch": "^3.0.5" + "node_modules/remark-rehype/node_modules/vfile": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.1.tgz", + "integrity": "sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0", + "vfile-message": "^4.0.0" }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-rehype/node_modules/vfile-message": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.2.tgz", + "integrity": "sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==", "dependencies": { - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "peer": true, - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "peer": true - } + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "peer": true + "node_modules/remark-slug": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/remark-slug/-/remark-slug-5.1.2.tgz", + "integrity": "sha512-DWX+Kd9iKycqyD+/B+gEFO3jjnt7Yg1O05lygYSNTe5i5PIxxxPjp5qPBDxPIzp5wreF7+1ROCwRgjEcqmzr3A==", + "dependencies": { + "github-slugger": "^1.0.0", + "mdast-util-to-string": "^1.0.0", + "unist-util-visit": "^1.0.0" + } }, - "@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", - "peer": true + "node_modules/remark-slug/node_modules/github-slugger": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-1.5.0.tgz", + "integrity": "sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw==" }, - "@jridgewell/gen-mapping": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", - "requires": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" + "node_modules/remark-slug/node_modules/mdast-util-to-string": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-1.1.0.tgz", + "integrity": "sha512-jVU0Nr2B9X3MU4tSK7JP1CMkSvOj7X5l/GboG1tKRw52lLF1x2Ju92Ms9tNetCcbfX3hzlM73zYo2NKkWSfF/A==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==" - }, - "@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==" + "node_modules/remark-slug/node_modules/unist-util-is": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-3.0.0.tgz", + "integrity": "sha512-sVZZX3+kspVNmLWBPAB6r+7D9ZgAFPNWm66f7YNb420RlQSbn+n8rG8dGZSkrER7ZIXGQYNm5pqC3v3HopH24A==" }, - "@jridgewell/source-map": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", - "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", - "peer": true, - "requires": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" + "node_modules/remark-slug/node_modules/unist-util-visit": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-1.4.1.tgz", + "integrity": "sha512-AvGNk7Bb//EmJZyhtRUnNMEpId/AZ5Ph/KUpTI09WHQuDZHKovQ1oEv3mfmKpWKtoMzyMC4GLBm1Zy5k12fjIw==", + "dependencies": { + "unist-util-visit-parents": "^2.0.0" } }, - "@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" - }, - "@jridgewell/trace-mapping": { - "version": "0.3.18", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", - "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", - "requires": { - "@jridgewell/resolve-uri": "3.1.0", - "@jridgewell/sourcemap-codec": "1.4.14" - }, + "node_modules/remark-slug/node_modules/unist-util-visit-parents": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-2.1.2.tgz", + "integrity": "sha512-DyN5vD4NE3aSeB+PXYNKxzGsfocxp6asDc2XXE3b0ekO2BaRUpBicbbUygfSvYfUz1IkmjFR1YF7dPklraMZ2g==", "dependencies": { - "@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" - } + "unist-util-is": "^3.0.0" } }, - "@mdx-js/loader": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@mdx-js/loader/-/loader-2.3.0.tgz", - "integrity": "sha512-IqsscXh7Q3Rzb+f5DXYk0HU71PK+WuFsEhf+mSV3fOhpLcEpgsHvTQ2h0T6TlZ5gHOaBeFjkXwB52by7ypMyNg==", - "requires": { - "@mdx-js/mdx": "^2.0.0", - "source-map": "^0.7.0" + "node_modules/remark-stringify": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-7.0.4.tgz", + "integrity": "sha512-qck+8NeA1D0utk1ttKcWAoHRrJxERYQzkHDyn+pF5Z4whX1ug98uCNPPSeFgLSaNERRxnD6oxIug6DzZQth6Pg==", + "dependencies": { + "ccount": "^1.0.0", + "is-alphanumeric": "^1.0.0", + "is-decimal": "^1.0.0", + "is-whitespace-character": "^1.0.0", + "longest-streak": "^2.0.1", + "markdown-escapes": "^1.0.0", + "markdown-table": "^1.1.0", + "mdast-util-compact": "^1.0.0", + "parse-entities": "^1.0.2", + "repeat-string": "^1.5.4", + "state-toggle": "^1.0.0", + "stringify-entities": "^2.0.0", + "unherit": "^1.0.4", + "xtend": "^4.0.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "@mdx-js/mdx": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-2.3.0.tgz", - "integrity": "sha512-jLuwRlz8DQfQNiUCJR50Y09CGPq3fLtmtUQfVrj79E0JWu3dvsVcxVIcfhR5h0iXu+/z++zDrYeiJqifRynJkA==", - "requires": { - "@types/estree-jsx": "^1.0.0", - "@types/mdx": "^2.0.0", - "estree-util-build-jsx": "^2.0.0", - "estree-util-is-identifier-name": "^2.0.0", - "estree-util-to-js": "^1.1.0", - "estree-walker": "^3.0.0", - "hast-util-to-estree": "^2.0.0", - "markdown-extensions": "^1.0.0", - "periscopic": "^3.0.0", - "remark-mdx": "^2.0.0", - "remark-parse": "^10.0.0", - "remark-rehype": "^10.0.0", - "unified": "^10.0.0", - "unist-util-position-from-estree": "^1.0.0", - "unist-util-stringify-position": "^3.0.0", - "unist-util-visit": "^4.0.0", - "vfile": "^5.0.0" - }, - "dependencies": { - "bail": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", - "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==" - }, - "is-plain-obj": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", - "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==" - }, - "trough": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/trough/-/trough-2.1.0.tgz", - "integrity": "sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==" - }, - "unified": { - "version": "10.1.2", - "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", - "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==", - "requires": { - "@types/unist": "^2.0.0", - "bail": "^2.0.0", - "extend": "^3.0.0", - "is-buffer": "^2.0.0", - "is-plain-obj": "^4.0.0", - "trough": "^2.0.0", - "vfile": "^5.0.0" - } - } + "node_modules/remark-stringify/node_modules/ccount": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ccount/-/ccount-1.1.0.tgz", + "integrity": "sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, - "@mdx-js/react": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@mdx-js/react/-/react-2.3.0.tgz", - "integrity": "sha512-zQH//gdOmuu7nt2oJR29vFhDv88oGPmVw6BggmrHeMI+xgEkp1B2dX9/bMBSYtK0dyLX/aOmesKS09g222K1/g==", - "requires": { - "@types/mdx": "^2.0.0", - "@types/react": ">=16" + "node_modules/remark-stringify/node_modules/character-entities": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.4.tgz", + "integrity": "sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, - "@next/env": { - "version": "13.4.12", - "resolved": "https://registry.npmjs.org/@next/env/-/env-13.4.12.tgz", - "integrity": "sha512-RmHanbV21saP/6OEPBJ7yJMuys68cIf8OBBWd7+uj40LdpmswVAwe1uzeuFyUsd6SfeITWT3XnQfn6wULeKwDQ==" + "node_modules/remark-stringify/node_modules/character-entities-html4": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-1.1.4.tgz", + "integrity": "sha512-HRcDxZuZqMx3/a+qrzxdBKBPUpxWEq9xw2OPZ3a/174ihfrQKVsFhqtthBInFy1zZ9GgZyFXOatNujm8M+El3g==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } }, - "@next/eslint-plugin-next": { - "version": "13.4.12", - "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-13.4.12.tgz", - "integrity": "sha512-6rhK9CdxEgj/j1qvXIyLTWEaeFv7zOK8yJMulz3Owel0uek0U9MJCGzmKgYxM3aAUBo3gKeywCZKyQnJKto60A==", - "requires": { - "glob": "7.1.7" - }, - "dependencies": { - "glob": { - "version": "7.1.7", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", - "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - } + "node_modules/remark-stringify/node_modules/character-entities-legacy": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz", + "integrity": "sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, - "@next/swc-darwin-arm64": { - "version": "13.4.12", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-13.4.12.tgz", - "integrity": "sha512-deUrbCXTMZ6ZhbOoloqecnUeNpUOupi8SE2tx4jPfNS9uyUR9zK4iXBvH65opVcA/9F5I/p8vDXSYbUlbmBjZg==", - "optional": true + "node_modules/remark-stringify/node_modules/character-reference-invalid": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz", + "integrity": "sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } }, - "@next/swc-darwin-x64": { - "version": "13.4.12", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-13.4.12.tgz", - "integrity": "sha512-WRvH7RxgRHlC1yb5oG0ZLx8F7uci9AivM5/HGGv9ZyG2Als8Ij64GC3d+mQ5sJhWjusyU6T6V1WKTUoTmOB0zQ==", - "optional": true + "node_modules/remark-stringify/node_modules/is-alphabetical": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz", + "integrity": "sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } }, - "@next/swc-linux-arm64-gnu": { - "version": "13.4.12", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-13.4.12.tgz", - "integrity": "sha512-YEKracAWuxp54tKiAvvq73PUs9lok57cc8meYRibTWe/VdPB2vLgkTVWFcw31YDuRXdEhdX0fWS6Q+ESBhnEig==", - "optional": true + "node_modules/remark-stringify/node_modules/is-alphanumerical": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz", + "integrity": "sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==", + "dependencies": { + "is-alphabetical": "^1.0.0", + "is-decimal": "^1.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } }, - "@next/swc-linux-arm64-musl": { - "version": "13.4.12", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-13.4.12.tgz", - "integrity": "sha512-LhJR7/RAjdHJ2Isl2pgc/JaoxNk0KtBgkVpiDJPVExVWA1c6gzY57+3zWuxuyWzTG+fhLZo2Y80pLXgIJv7g3g==", - "optional": true + "node_modules/remark-stringify/node_modules/is-decimal": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.4.tgz", + "integrity": "sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } }, - "@next/swc-linux-x64-gnu": { - "version": "13.4.12", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-13.4.12.tgz", - "integrity": "sha512-1DWLL/B9nBNiQRng+1aqs3OaZcxC16Nf+mOnpcrZZSdyKHek3WQh6j/fkbukObgNGwmCoVevLUa/p3UFTTqgqg==", - "optional": true - }, - "@next/swc-linux-x64-musl": { - "version": "13.4.12", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-13.4.12.tgz", - "integrity": "sha512-kEAJmgYFhp0VL+eRWmUkVxLVunn7oL9Mdue/FS8yzRBVj7Z0AnIrHpTIeIUl1bbdQq1VaoOztnKicAjfkLTRCQ==", - "optional": true - }, - "@next/swc-win32-arm64-msvc": { - "version": "13.4.12", - "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-13.4.12.tgz", - "integrity": "sha512-GMLuL/loR6yIIRTnPRY6UGbLL9MBdw2anxkOnANxvLvsml4F0HNIgvnU3Ej4BjbqMTNjD4hcPFdlEow4XHPdZA==", - "optional": true - }, - "@next/swc-win32-ia32-msvc": { - "version": "13.4.12", - "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-13.4.12.tgz", - "integrity": "sha512-PhgNqN2Vnkm7XaMdRmmX0ZSwZXQAtamBVSa9A/V1dfKQCV1rjIZeiy/dbBnVYGdj63ANfsOR/30XpxP71W0eww==", - "optional": true - }, - "@next/swc-win32-x64-msvc": { - "version": "13.4.12", - "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-13.4.12.tgz", - "integrity": "sha512-Z+56e/Ljt0bUs+T+jPjhFyxYBcdY2RIq9ELFU+qAMQMteHo7ymbV7CKmlcX59RI9C4YzN8PgMgLyAoi916b5HA==", - "optional": true + "node_modules/remark-stringify/node_modules/is-hexadecimal": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz", + "integrity": "sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } }, - "@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "requires": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" + "node_modules/remark-stringify/node_modules/longest-streak": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-2.0.4.tgz", + "integrity": "sha512-vM6rUVCVUJJt33bnmHiZEvr7wPT78ztX7rojL+LW51bHtLh6HTjx84LA5W4+oa6aKEJA7jJu5LR6vQRBpA5DVg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, - "@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==" + "node_modules/remark-stringify/node_modules/markdown-table": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-1.1.3.tgz", + "integrity": "sha512-1RUZVgQlpJSPWYbFSpmudq5nHY1doEIv89gBtF0s4gW1GF2XorxcA/70M5vq7rLv0a6mhOUccRsqkwhwLCIQ2Q==" }, - "@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "requires": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" + "node_modules/remark-stringify/node_modules/parse-entities": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-1.2.2.tgz", + "integrity": "sha512-NzfpbxW/NPrzZ/yYSoQxyqUZMZXIdCfE0OIN4ESsnptHJECoUk3FZktxNuzQf4tjt5UEopnxpYJbvYuxIFDdsg==", + "dependencies": { + "character-entities": "^1.0.0", + "character-entities-legacy": "^1.0.0", + "character-reference-invalid": "^1.0.0", + "is-alphanumerical": "^1.0.0", + "is-decimal": "^1.0.0", + "is-hexadecimal": "^1.0.0" } }, - "@pkgr/utils": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/@pkgr/utils/-/utils-2.4.2.tgz", - "integrity": "sha512-POgTXhjrTfbTV63DiFXav4lBHiICLKKwDeaKn9Nphwj7WH6m0hMMCaJkMyRWjgtPFyRKRVoMXXjczsTQRDEhYw==", - "requires": { - "cross-spawn": "^7.0.3", - "fast-glob": "^3.3.0", - "is-glob": "^4.0.3", - "open": "^9.1.0", - "picocolors": "^1.0.0", - "tslib": "^2.6.0" + "node_modules/remark-stringify/node_modules/stringify-entities": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-2.0.0.tgz", + "integrity": "sha512-fqqhZzXyAM6pGD9lky/GOPq6V4X0SeTAFBl0iXb/BzOegl40gpf/bV3QQP7zULNYvjr6+Dx8SCaDULjVoOru0A==", + "dependencies": { + "character-entities-html4": "^1.0.0", + "character-entities-legacy": "^1.0.0", + "is-alphanumerical": "^1.0.0", + "is-decimal": "^1.0.2", + "is-hexadecimal": "^1.0.0" } }, - "@rescript/react": { - "version": "0.12.0-alpha.3", - "resolved": "https://registry.npmjs.org/@rescript/react/-/react-0.12.0-alpha.3.tgz", - "integrity": "sha512-/S1uj77RPDzuLg3Ofb8KKU3Vppqy97/vF6bBdBZ+saIO9bpHVlsmmJyJG8QXjGZKE+aMynrrR3Tj4+9+5OzLdw==", - "requires": {} - }, - "@rushstack/eslint-patch": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.3.2.tgz", - "integrity": "sha512-V+MvGwaHH03hYhY+k6Ef/xKd6RYlc4q8WBx+2ANmipHJcKuktNcI/NgEsJgdSUF6Lw32njT6OnrRsKYCdgHjYw==" + "node_modules/repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", + "engines": { + "node": ">=0.10" + } }, - "@swc/helpers": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.1.tgz", - "integrity": "sha512-sJ902EfIzn1Fa+qYmjdQqh8tPsoxyBz+8yBKC2HKUxyezKJFwPGOn7pv4WY6QuQW//ySQi5lJjA/ZT9sNWWNTg==", - "requires": { - "tslib": "^2.4.0" + "node_modules/request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", + "dependencies": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "engines": { + "node": ">= 6" } }, - "@trysound/sax": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", - "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", - "dev": true + "node_modules/request/node_modules/qs": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", + "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", + "engines": { + "node": ">=0.6" + } }, - "@types/acorn": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/@types/acorn/-/acorn-4.0.6.tgz", - "integrity": "sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==", - "requires": { - "@types/estree": "*" + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" } }, - "@types/debug": { - "version": "4.1.8", - "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.8.tgz", - "integrity": "sha512-/vPO1EPOs306Cvhwv7KfVfYvOJqA/S/AXjaHQiJboCZzcNDb+TIJFN9/2C9DZ//ijSKWioNyUxD792QmDJ+HKQ==", - "requires": { - "@types/ms": "*" + "node_modules/rescript": { + "version": "11.0.0-rc.7", + "resolved": "https://registry.npmjs.org/rescript/-/rescript-11.0.0-rc.7.tgz", + "integrity": "sha512-N2ImQVkzF4rzV5PBcQ8htKe4NPnqsS2DhtG9A4iic4eYsNim1Ixt8qyuD40WEYl4AZOuYUaEfJlvLTOV9wHogA==", + "hasInstallScript": true, + "bin": { + "bsc": "bsc", + "bstracing": "lib/bstracing", + "rescript": "rescript" + }, + "engines": { + "node": ">=10" } }, - "@types/eslint": { - "version": "8.44.1", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.1.tgz", - "integrity": "sha512-XpNDc4Z5Tb4x+SW1MriMVeIsMoONHCkWFMkR/aPJbzEsxqHy+4Glu/BqTdPrApfDeMaXbtNh6bseNgl5KaWrSg==", - "peer": true, - "requires": { - "@types/estree": "*", - "@types/json-schema": "*" + "node_modules/resolve": { + "version": "1.22.2", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", + "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", + "dependencies": { + "is-core-module": "^2.11.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "@types/eslint-scope": { - "version": "3.7.4", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", - "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "peer": true, - "requires": { - "@types/eslint": "*", - "@types/estree": "*" + "engines": { + "node": ">=4" } }, - "@types/estree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz", - "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==" - }, - "@types/estree-jsx": { + "node_modules/resolve-pkg-maps": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.0.tgz", - "integrity": "sha512-3qvGd0z8F2ENTGr/GG1yViqfiKmRfrXVx5sJyHGFu3z7m5g5utCQtGp/g29JnjflhtQJBv1WDQukHiT58xPcYQ==", - "requires": { - "@types/estree": "*" + "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", + "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", + "funding": { + "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" } }, - "@types/hast": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.5.tgz", - "integrity": "sha512-SvQi0L/lNpThgPoleH53cdjB3y9zpLlVjRbqB3rH8hx1jiRSBGAhyjV3H+URFjNVRqt2EdYNrbZE5IsGlNfpRg==", - "requires": { - "@types/unist": "^2" + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" } }, - "@types/js-yaml": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-4.0.5.tgz", - "integrity": "sha512-FhpRzf927MNQdRZP0J5DLIdTXhjLYzeUTmLAu69mnVksLH9CJY3IuSeEgbKUki7GQZm0WqDkGzyxju2EZGD2wA==" - }, - "@types/json-schema": { - "version": "7.0.12", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", - "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==", - "peer": true - }, - "@types/json5": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==" - }, - "@types/mdast": { - "version": "3.0.12", - "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.12.tgz", - "integrity": "sha512-DT+iNIRNX884cx0/Q1ja7NyUPpZuv0KPyL5rGNxm1WC1OtHstl7n4Jb7nk+xacNShQMbczJjt8uFzznpp6kYBg==", - "requires": { - "@types/unist": "^2" + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "peer": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "@types/mdx": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.5.tgz", - "integrity": "sha512-76CqzuD6Q7LC+AtbPqrvD9AqsN0k8bsYo2bM2J8pmNldP1aIPAbzUQ7QbobyXL4eLr1wK5x8FZFe8eF/ubRuBg==" - }, - "@types/ms": { - "version": "0.7.31", - "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.31.tgz", - "integrity": "sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==" - }, - "@types/node": { - "version": "20.4.6", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.4.6.tgz", - "integrity": "sha512-q0RkvNgMweWWIvSMDiXhflGUKMdIxBo2M2tYM/0kEGDueQByFzK4KZAgu5YHGFNxziTlppNpTIBcqHQAxlfHdA==", - "peer": true + "node_modules/run-applescript": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-5.0.0.tgz", + "integrity": "sha512-XcT5rBksx1QdIhlFOCtgZkB99ZEouFZ1E2Kc2LHqNW13U3/74YGdkQRmThTwxy4QIyookibDKYZOPqX//6BlAg==", + "dependencies": { + "execa": "^5.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "@types/prop-types": { - "version": "15.7.5", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", - "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==" + "node_modules/run-applescript/node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } }, - "@types/react": { - "version": "18.2.18", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.18.tgz", - "integrity": "sha512-da4NTSeBv/P34xoZPhtcLkmZuJ+oYaCxHmyHzwaDQo9RQPBeXV+06gEk2FpqEcsX9XrnNLvRpVh6bdavDSjtiQ==", - "requires": { - "@types/prop-types": "*", - "@types/scheduler": "*", - "csstype": "^3.0.2" + "node_modules/run-applescript/node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "engines": { + "node": ">=10.17.0" } }, - "@types/scheduler": { - "version": "0.16.3", - "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.3.tgz", - "integrity": "sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==" + "node_modules/run-applescript/node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "@types/unist": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.7.tgz", - "integrity": "sha512-cputDpIbFgLUaGQn6Vqg3/YsJwxUwHLO13v3i5ouxT4lat0khip9AEWxtERujXV9wxIB1EyF97BSJFt6vpdI8g==" + "node_modules/run-applescript/node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "engines": { + "node": ">=6" + } }, - "@typescript-eslint/parser": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", - "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", - "requires": { - "@typescript-eslint/scope-manager": "5.62.0", - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/typescript-estree": "5.62.0", - "debug": "^4.3.4" - }, + "node_modules/run-applescript/node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", "dependencies": { - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" } }, - "@typescript-eslint/scope-manager": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", - "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", - "requires": { - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/visitor-keys": "5.62.0" + "node_modules/run-applescript/node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "@typescript-eslint/types": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", - "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==" + "node_modules/run-applescript/node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "engines": { + "node": ">=6" + } }, - "@typescript-eslint/typescript-estree": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", - "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", - "requires": { - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/visitor-keys": "5.62.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - }, - "dependencies": { - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "requires": { - "ms": "2.1.2" - } + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" } + ], + "dependencies": { + "queue-microtask": "^1.2.2" } }, - "@typescript-eslint/visitor-keys": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", - "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", - "requires": { - "@typescript-eslint/types": "5.62.0", - "eslint-visitor-keys": "^3.3.0" - } - }, - "@webassemblyjs/ast": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", - "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", - "peer": true, - "requires": { - "@webassemblyjs/helper-numbers": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + "node_modules/sade": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz", + "integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==", + "dependencies": { + "mri": "^1.1.0" + }, + "engines": { + "node": ">=6" } }, - "@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", - "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", - "peer": true - }, - "@webassemblyjs/helper-api-error": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", - "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", - "peer": true + "node_modules/safe-array-concat": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.0.tgz", + "integrity": "sha512-9dVEFruWIsnie89yym+xWTAYASdpw3CJV7Li/6zBewGf9z2i1j31rP6jnY0pHEO4QZh6N0K11bFjWmdR8UGdPQ==", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "@webassemblyjs/helper-buffer": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", - "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==", - "peer": true + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] }, - "@webassemblyjs/helper-numbers": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", - "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", - "peer": true, - "requires": { - "@webassemblyjs/floating-point-hex-parser": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", - "@xtuc/long": "4.2.2" + "node_modules/safe-regex-test": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", + "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-regex": "^1.1.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", - "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", - "peer": true + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, - "@webassemblyjs/helper-wasm-section": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", - "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", - "peer": true, - "requires": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6" + "node_modules/scheduler": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", + "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", + "dependencies": { + "loose-envify": "^1.1.0" } }, - "@webassemblyjs/ieee754": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", - "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", "peer": true, - "requires": { - "@xtuc/ieee754": "^1.2.0" + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" } }, - "@webassemblyjs/leb128": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", - "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", - "peer": true, - "requires": { - "@xtuc/long": "4.2.2" + "node_modules/section-matter": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz", + "integrity": "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==", + "dependencies": { + "extend-shallow": "^2.0.1", + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=4" } }, - "@webassemblyjs/utf8": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", - "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", - "peer": true - }, - "@webassemblyjs/wasm-edit": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", - "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", - "peer": true, - "requires": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/helper-wasm-section": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-opt": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6", - "@webassemblyjs/wast-printer": "1.11.6" + "node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, - "@webassemblyjs/wasm-gen": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", - "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", - "peer": true, - "requires": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" + "node_modules/send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "engines": { + "node": ">= 0.8.0" } }, - "@webassemblyjs/wasm-opt": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", - "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", - "peer": true, - "requires": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6" + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" } }, - "@webassemblyjs/wasm-parser": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", - "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/serialize-javascript": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", + "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", "peer": true, - "requires": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" + "dependencies": { + "randombytes": "^2.1.0" } }, - "@webassemblyjs/wast-printer": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", - "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", - "peer": true, - "requires": { - "@webassemblyjs/ast": "1.11.6", - "@xtuc/long": "4.2.2" + "node_modules/serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", + "dependencies": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, + "engines": { + "node": ">= 0.8.0" } }, - "@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "peer": true + "node_modules/serve-index/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } }, - "@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", - "peer": true + "node_modules/serve-index/node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "engines": { + "node": ">= 0.6" + } }, - "accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", - "requires": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" + "node_modules/serve-index/node_modules/http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + }, + "engines": { + "node": ">= 0.6" } }, - "acorn": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", - "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==" + "node_modules/serve-index/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" }, - "acorn-import-assertions": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", - "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", - "peer": true, - "requires": {} + "node_modules/serve-index/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" }, - "acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "requires": {} + "node_modules/serve-index/node_modules/setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" + "node_modules/serve-index/node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "engines": { + "node": ">= 0.6" } }, - "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "peer": true, - "requires": {} + "node_modules/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + }, + "engines": { + "node": ">= 0.8.0" + } }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" } }, - "any-promise": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", - "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", - "dev": true + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "engines": { + "node": ">=8" + } }, - "anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + }, + "node_modules/simple-functional-loader": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/simple-functional-loader/-/simple-functional-loader-1.2.1.tgz", + "integrity": "sha512-GPDrxrQkE7ijm35QlfPFVp5hBHR6ZcaUq42TEDgf1U5iTL3IDLFvKAbHE/ODqpdfJJ7Xn4cr/slBn12jjNPkaQ==", "dev": true, - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" + "dependencies": { + "loader-utils": "^2.0.0" } }, - "arg": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", - "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", - "dev": true + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "engines": { + "node": ">=8" + } }, - "argparse": { + "node_modules/source-list-map": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", + "dev": true }, - "aria-query": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", - "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", - "requires": { - "dequal": "^2.0.3" + "node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "engines": { + "node": ">= 8" } }, - "array-buffer-byte-length": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", - "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", - "requires": { - "call-bind": "^1.0.2", - "is-array-buffer": "^3.0.1" + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "engines": { + "node": ">=0.10.0" } }, - "array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "peer": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } }, - "array-includes": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz", - "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", - "is-string": "^1.0.7" + "node_modules/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "peer": true, + "engines": { + "node": ">=0.10.0" } }, - "array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==" + "node_modules/space-separated-tokens": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", + "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } }, - "array.prototype.findlastindex": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.2.tgz", - "integrity": "sha512-tb5thFFlUcp7NdNF6/MpDk/1r/4awWG1FIz3YqDf+/zJSTezBb+/5WViH41obXULHVpDzoiCLpJ/ZO9YbJMsdw==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0", - "get-intrinsic": "^1.1.3" + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" + }, + "node_modules/sshpk": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", + "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", + "dependencies": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + }, + "bin": { + "sshpk-conv": "bin/sshpk-conv", + "sshpk-sign": "bin/sshpk-sign", + "sshpk-verify": "bin/sshpk-verify" + }, + "engines": { + "node": ">=0.10.0" } }, - "array.prototype.flat": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz", - "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==", - "requires": { + "node_modules/state-toggle": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/state-toggle/-/state-toggle-1.0.3.tgz", + "integrity": "sha512-d/5Z4/2iiCnHw6Xzghyhb+GcmF89bxwgXG60wjIiZaxnymbyOmI8Hk4VqHXiVVp6u2ysaskFfXg3ekCj4WNftQ==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/streamsearch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", + "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/string.prototype.matchall": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz", + "integrity": "sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==", + "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.4", "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0" + "get-intrinsic": "^1.1.3", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.3", + "regexp.prototype.flags": "^1.4.3", + "side-channel": "^1.0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "array.prototype.flatmap": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz", - "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==", - "requires": { + "node_modules/string.prototype.trim": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz", + "integrity": "sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==", + "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0" + "es-abstract": "^1.20.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "array.prototype.tosorted": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz", - "integrity": "sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==", - "requires": { + "node_modules/string.prototype.trimend": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", + "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", + "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0", - "get-intrinsic": "^1.1.3" + "es-abstract": "^1.20.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "arraybuffer.prototype.slice": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.1.tgz", - "integrity": "sha512-09x0ZWFEjj4WD8PDbykUwo3t9arLn8NIzmmYEJFpYekOAQjpkGSyrQhNoRTcwwcFRu+ycWF78QZ63oWTqSjBcw==", - "requires": { - "array-buffer-byte-length": "^1.0.0", + "node_modules/string.prototype.trimstart": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", + "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", + "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "get-intrinsic": "^1.2.1", - "is-array-buffer": "^3.0.2", - "is-shared-array-buffer": "^1.0.2" + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "asn1": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", - "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", - "requires": { - "safer-buffer": "~2.1.0" + "node_modules/stringify-entities": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.3.tgz", + "integrity": "sha512-BP9nNHMhhfcMbiuQKCqMjhDP5yBCAxsPu4pHFFzJ6Alo9dZgY4VLDPutXqIjpRiMoKdp7Av85Gr73Q5uH9k7+g==", + "dependencies": { + "character-entities-html4": "^2.0.0", + "character-entities-legacy": "^3.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==" - }, - "ast-types-flow": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", - "integrity": "sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==" + "node_modules/stringify-object": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", + "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", + "dependencies": { + "get-own-enumerable-property-symbols": "^3.0.0", + "is-obj": "^1.0.1", + "is-regexp": "^1.0.0" + }, + "engines": { + "node": ">=4" + } }, - "astring": { - "version": "1.8.6", - "resolved": "https://registry.npmjs.org/astring/-/astring-1.8.6.tgz", - "integrity": "sha512-ISvCdHdlTDlH5IpxQJIex7BWBywFWgjJSVdwst+/iQCoEYnyOaQ95+X1JGshuBjGp6nxKUy1jMgE3zPqN7fQdg==" + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + "node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "engines": { + "node": ">=4" + } }, - "at-least-node": { + "node_modules/strip-bom-string": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", - "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", - "dev": true - }, - "autoprefixer": { - "version": "10.4.14", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.14.tgz", - "integrity": "sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==", - "dev": true, - "requires": { - "browserslist": "^4.21.5", - "caniuse-lite": "^1.0.30001464", - "fraction.js": "^4.2.0", - "normalize-range": "^0.1.2", - "picocolors": "^1.0.0", - "postcss-value-parser": "^4.2.0" + "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz", + "integrity": "sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==", + "engines": { + "node": ">=0.10.0" } }, - "available-typed-arrays": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==" + "node_modules/strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==" - }, - "aws4": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz", - "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==" - }, - "axe-core": { - "version": "4.7.2", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.7.2.tgz", - "integrity": "sha512-zIURGIS1E1Q4pcrMjp+nnEh+16G56eG/MUllJH8yEvw7asDo7Ac9uhC9KIH5jzpITueEZolfYglnCGIuSBz39g==" - }, - "axobject-query": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.2.1.tgz", - "integrity": "sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==", - "requires": { - "dequal": "^2.0.3" + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "peer": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "bail": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/bail/-/bail-1.0.5.tgz", - "integrity": "sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==" - }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - }, - "batch": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==" - }, - "bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", - "requires": { - "tweetnacl": "^0.14.3" + "node_modules/style-to-object": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.4.4.tgz", + "integrity": "sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg==", + "dependencies": { + "inline-style-parser": "0.1.1" } }, - "big-integer": { - "version": "1.6.51", - "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.51.tgz", - "integrity": "sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==" - }, - "big.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", - "dev": true - }, - "binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "dev": true - }, - "body-parser": { - "version": "1.20.1", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", - "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", - "requires": { - "bytes": "3.1.2", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.11.0", - "raw-body": "2.5.1", - "type-is": "~1.6.18", - "unpipe": "1.0.0" - }, + "node_modules/styled-jsx": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.1.tgz", + "integrity": "sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==", "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } + "client-only": "0.0.1" + }, + "engines": { + "node": ">= 12.0.0" + }, + "peerDependencies": { + "react": ">= 16.8.0 || 17.x.x || ^18.0.0-0" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "babel-plugin-macros": { + "optional": true } } }, - "boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", - "dev": true - }, - "bplist-parser": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.2.0.tgz", - "integrity": "sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==", - "requires": { - "big-integer": "^1.6.44" + "node_modules/stylehacks": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-6.0.0.tgz", + "integrity": "sha512-+UT589qhHPwz6mTlCLSt/vMNTJx8dopeJlZAlBMJPWA3ORqu6wmQY7FBXf+qD+FsqoBJODyqNxOUP3jdntFRdw==", + "dev": true, + "dependencies": { + "browserslist": "^4.21.4", + "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "node_modules/sucrase": { + "version": "3.34.0", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.34.0.tgz", + "integrity": "sha512-70/LQEZ07TEcxiU2dz51FKaE6hCTWC6vr7FOk3Gr0U60C3shtAN+H+BFr9XlYe5xqf3RA8nrc+VIwzCfnxuXJw==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.2", + "commander": "^4.0.0", + "glob": "7.1.6", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "ts-interface-checker": "^0.1.9" + }, + "bin": { + "sucrase": "bin/sucrase", + "sucrase-node": "bin/sucrase-node" + }, + "engines": { + "node": ">=8" } }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "requires": { - "fill-range": "^7.0.1" + "node_modules/sucrase/node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true, + "engines": { + "node": ">= 6" } }, - "browserslist": { - "version": "4.21.10", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.10.tgz", - "integrity": "sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ==", - "requires": { - "caniuse-lite": "^1.0.30001517", - "electron-to-chromium": "^1.4.477", - "node-releases": "^2.0.13", - "update-browserslist-db": "^1.0.11" + "node_modules/sucrase/node_modules/glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "peer": true - }, - "bundle-name": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-3.0.0.tgz", - "integrity": "sha512-PKA4BeSvBpQKQ8iPOGCSiell+N8P+Tf1DlwqmYhpe2gAhKPHn8EYOxVT+ShuGmhg8lN8XiSlS80yiExKXrURlw==", - "requires": { - "run-applescript": "^5.0.0" + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "busboy": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", - "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", - "requires": { - "streamsearch": "^1.1.0" + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" - }, - "call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" + "node_modules/svgo": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.0.2.tgz", + "integrity": "sha512-Z706C1U2pb1+JGP48fbazf3KxHrWOsLme6Rv7imFBn5EnuanDW1GPaA/P1/dvObE670JDePC3mnj0k0B7P0jjQ==", + "dev": true, + "dependencies": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^5.1.0", + "css-tree": "^2.2.1", + "csso": "^5.0.5", + "picocolors": "^1.0.0" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/svgo" } }, - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "peer": true - }, - "camelcase-css": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", - "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", - "dev": true - }, - "caniuse-api": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", - "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "node_modules/svgo/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", "dev": true, - "requires": { - "browserslist": "^4.0.0", - "caniuse-lite": "^1.0.0", - "lodash.memoize": "^4.1.2", - "lodash.uniq": "^4.5.0" + "engines": { + "node": ">= 10" } }, - "caniuse-lite": { - "version": "1.0.30001518", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001518.tgz", - "integrity": "sha512-rup09/e3I0BKjncL+FesTayKtPrdwKhUufQFd3riFw1hHg8JmIFoInYfB102cFcY/pPgGmdyl/iy+jgiDi2vdA==" - }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" - }, - "ccount": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", - "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==" - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "node_modules/synckit": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.8.5.tgz", + "integrity": "sha512-L1dapNV6vu2s/4Sputv8xGsCdAVlb5nRDMFU/E27D44l5U6cw1g0dGd45uLc+OXjNMmF4ntiMdCimzcjFKQI8Q==", + "dependencies": { + "@pkgr/utils": "^2.3.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts" } }, - "character-entities": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", - "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==" - }, - "character-entities-html4": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", - "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==" - }, - "character-entities-legacy": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", - "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==" - }, - "character-reference-invalid": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz", - "integrity": "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==" - }, - "chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "node_modules/tailwindcss": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.3.3.tgz", + "integrity": "sha512-A0KgSkef7eE4Mf+nKJ83i75TMyq8HqY3qmFIJSWy8bNt0v1lG7jUcpGpoTFxAwYcWOphcTBLPPJg+bDfhDf52w==", "dev": true, - "requires": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "fsevents": "~2.3.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" + "dependencies": { + "@alloc/quick-lru": "^5.2.0", + "arg": "^5.0.2", + "chokidar": "^3.5.3", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.2.12", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "jiti": "^1.18.2", + "lilconfig": "^2.1.0", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.4.23", + "postcss-import": "^15.1.0", + "postcss-js": "^4.0.1", + "postcss-load-config": "^4.0.1", + "postcss-nested": "^6.0.1", + "postcss-selector-parser": "^6.0.11", + "resolve": "^1.22.2", + "sucrase": "^3.32.0" }, + "bin": { + "tailwind": "lib/cli.js", + "tailwindcss": "lib/cli.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tailwindcss/node_modules/postcss-load-config": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.1.tgz", + "integrity": "sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==", + "dev": true, "dependencies": { - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "requires": { - "is-glob": "^4.0.1" - } + "lilconfig": "^2.0.5", + "yaml": "^2.1.1" + }, + "engines": { + "node": ">= 14" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true } } }, - "chrome-trace-event": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", - "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", - "peer": true - }, - "client-only": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", - "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==" - }, - "cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "node_modules/tailwindcss/node_modules/yaml": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.1.tgz", + "integrity": "sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ==", "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" + "engines": { + "node": ">= 14" } }, - "codemirror": { - "version": "5.65.14", - "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.65.14.tgz", - "integrity": "sha512-VSNugIBDGt0OU9gDjeVr6fNkoFQznrWEUdAApMlXQNbfE8gGO19776D6MwSqF/V/w/sDwonsQ0z7KmmI9guScg==" - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" + "node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "engines": { + "node": ">=6" } }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "colord": { - "version": "2.9.3", - "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", - "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==", - "dev": true + "node_modules/terser": { + "version": "5.19.2", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.19.2.tgz", + "integrity": "sha512-qC5+dmecKJA4cpYxRa5aVkKehYsQKc+AHeKl0Oe62aYjBL8ZA33tTljktDHJSaxxMnbI5ZYw+o/S2DxxLu8OfA==", + "peer": true, + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "requires": { - "delayed-stream": "~1.0.0" + "node_modules/terser-webpack-plugin": { + "version": "5.3.9", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz", + "integrity": "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==", + "peer": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.17", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.1", + "terser": "^5.16.8" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "uglify-js": { + "optional": true + } } }, - "comma-separated-tokens": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", - "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==" + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "peer": true }, - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + "node_modules/thenby": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/thenby/-/thenby-1.3.4.tgz", + "integrity": "sha512-89Gi5raiWA3QZ4b2ePcEwswC3me9JIg+ToSgtE0JWeCynLnLxNr/f9G+xfo9K+Oj4AFdom8YNJjibIARTJmapQ==", + "dev": true }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + "node_modules/thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "dev": true, + "dependencies": { + "any-promise": "^1.0.0" + } }, - "content-disposition": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", - "requires": { - "safe-buffer": "5.2.1" + "node_modules/thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "dev": true, + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, + "engines": { + "node": ">=0.8" } }, - "content-type": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", - "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==" + "node_modules/titleize": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/titleize/-/titleize-3.0.0.tgz", + "integrity": "sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "cookie": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", - "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==" + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } }, - "cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "engines": { + "node": ">=0.6" + } }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==" + "node_modules/toml": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/toml/-/toml-3.0.0.tgz", + "integrity": "sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w==" }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" + "node_modules/tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dependencies": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=0.8" } }, - "css-declaration-sorter": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.4.1.tgz", - "integrity": "sha512-rtdthzxKuyq6IzqX6jEcIzQF/YqccluefyCYheovBOLhFT/drQA9zj/UbRAa9J7C0o6EG6u3E6g+vKkay7/k3g==", - "dev": true, - "requires": {} + "node_modules/traverse": { + "version": "0.6.7", + "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.7.tgz", + "integrity": "sha512-/y956gpUo9ZNCb99YjxG7OaslxZWHfCHAUUfshwqOXmxUIvqLjVO581BT+gM59+QV9tFe6/CGG53tsA1Y7RSdg==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "css-select": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", - "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", - "dev": true, - "requires": { - "boolbase": "^1.0.0", - "css-what": "^6.1.0", - "domhandler": "^5.0.2", - "domutils": "^3.0.1", - "nth-check": "^2.0.1" + "node_modules/trim-lines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", + "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, - "css-tree": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", - "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", - "dev": true, - "requires": { - "mdn-data": "2.0.30", - "source-map-js": "^1.0.1" + "node_modules/trough": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/trough/-/trough-2.1.0.tgz", + "integrity": "sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, - "css-what": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", - "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "node_modules/ts-interface-checker": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", "dev": true }, - "cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "dev": true + "node_modules/tsconfig-paths": { + "version": "3.14.2", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz", + "integrity": "sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==", + "dependencies": { + "@types/json5": "^0.0.29", + "json5": "^1.0.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + } }, - "cssnano": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-6.0.1.tgz", - "integrity": "sha512-fVO1JdJ0LSdIGJq68eIxOqFpIJrZqXUsBt8fkrBcztCQqAjQD51OhZp7tc0ImcbwXD4k7ny84QTV90nZhmqbkg==", - "dev": true, - "requires": { - "cssnano-preset-default": "^6.0.1", - "lilconfig": "^2.1.0" + "node_modules/tsconfig-paths/node_modules/json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" } }, - "cssnano-preset-default": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-6.0.1.tgz", - "integrity": "sha512-7VzyFZ5zEB1+l1nToKyrRkuaJIx0zi/1npjvZfbBwbtNTzhLtlvYraK/7/uqmX2Wb2aQtd983uuGw79jAjLSuQ==", - "dev": true, - "requires": { - "css-declaration-sorter": "^6.3.1", - "cssnano-utils": "^4.0.0", - "postcss-calc": "^9.0.0", - "postcss-colormin": "^6.0.0", - "postcss-convert-values": "^6.0.0", - "postcss-discard-comments": "^6.0.0", - "postcss-discard-duplicates": "^6.0.0", - "postcss-discard-empty": "^6.0.0", - "postcss-discard-overridden": "^6.0.0", - "postcss-merge-longhand": "^6.0.0", - "postcss-merge-rules": "^6.0.1", - "postcss-minify-font-values": "^6.0.0", - "postcss-minify-gradients": "^6.0.0", - "postcss-minify-params": "^6.0.0", - "postcss-minify-selectors": "^6.0.0", - "postcss-normalize-charset": "^6.0.0", - "postcss-normalize-display-values": "^6.0.0", - "postcss-normalize-positions": "^6.0.0", - "postcss-normalize-repeat-style": "^6.0.0", - "postcss-normalize-string": "^6.0.0", - "postcss-normalize-timing-functions": "^6.0.0", - "postcss-normalize-unicode": "^6.0.0", - "postcss-normalize-url": "^6.0.0", - "postcss-normalize-whitespace": "^6.0.0", - "postcss-ordered-values": "^6.0.0", - "postcss-reduce-initial": "^6.0.0", - "postcss-reduce-transforms": "^6.0.0", - "postcss-svgo": "^6.0.0", - "postcss-unique-selectors": "^6.0.0" + "node_modules/tslib": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", + "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==" + }, + "node_modules/tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dependencies": { + "tslib": "^1.8.1" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" } }, - "cssnano-utils": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-4.0.0.tgz", - "integrity": "sha512-Z39TLP+1E0KUcd7LGyF4qMfu8ZufI0rDzhdyAMsa/8UyNUU8wpS0fhdBxbQbv32r64ea00h4878gommRVg2BHw==", - "dev": true, - "requires": {} + "node_modules/tsutils/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" }, - "csso": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz", - "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==", - "dev": true, - "requires": { - "css-tree": "~2.2.0" - }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", "dependencies": { - "css-tree": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz", - "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==", - "dev": true, - "requires": { - "mdn-data": "2.0.28", - "source-map-js": "^1.0.1" - } - }, - "mdn-data": { - "version": "2.0.28", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz", - "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==", - "dev": true - } + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" } }, - "csstype": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", - "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" - }, - "damerau-levenshtein": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", - "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==" + "node_modules/tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", - "requires": { - "assert-plus": "^1.0.0" + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "peer": true, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" } }, - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "requires": { - "ms": "^2.1.1" + "node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "peer": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "decode-named-character-reference": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz", - "integrity": "sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==", - "requires": { - "character-entities": "^2.0.0" + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" } }, - "deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "peer": true - }, - "default-browser": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-4.0.0.tgz", - "integrity": "sha512-wX5pXO1+BrhMkSbROFsyxUm0i/cJEScyNhA4PPxc41ICuv05ZZB/MX28s8aZx6xjmatvebIapF6hLEKEcpneUA==", - "requires": { - "bundle-name": "^3.0.0", - "default-browser-id": "^3.0.0", - "execa": "^7.1.1", - "titleize": "^3.0.0" + "node_modules/typed-array-buffer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz", + "integrity": "sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" } }, - "default-browser-id": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-3.0.0.tgz", - "integrity": "sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA==", - "requires": { - "bplist-parser": "^0.2.0", - "untildify": "^4.0.0" + "node_modules/typed-array-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz", + "integrity": "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==", + "dependencies": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "has-proto": "^1.0.1", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "define-lazy-prop": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", - "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==" - }, - "define-properties": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", - "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", - "requires": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" + "node_modules/typed-array-byte-offset": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz", + "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==", + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "has-proto": "^1.0.1", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" + "node_modules/typed-array-length": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", + "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", + "dependencies": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "is-typed-array": "^1.1.9" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" + "node_modules/typescript": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.6.tgz", + "integrity": "sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==", + "peer": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } }, - "dependency-graph": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.9.0.tgz", - "integrity": "sha512-9YLIBURXj4DJMFALxXw9K3Y3rwb5Fk0X5/8ipCzaN84+gKxoHK43tVKRNakCQbiEx07E8Uwhuq21BpUagFhZ8w==", - "dev": true + "node_modules/uglify-js": { + "version": "3.17.4", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.4.tgz", + "integrity": "sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==", + "optional": true, + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" + } }, - "dequal": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", - "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==" - }, - "destroy": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==" - }, - "didyoumean": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", - "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", - "dev": true + "node_modules/unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "dependencies": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "diff": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz", - "integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==" + "node_modules/unherit": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/unherit/-/unherit-1.1.3.tgz", + "integrity": "sha512-Ft16BJcnapDKp0+J/rqFC3Rrk6Y/Ng4nzsC028k2jdDII/rdZ7Wd3pPT/6+vIIxRagwRc9K0IUX0Ra4fKvw+WQ==", + "dependencies": { + "inherits": "^2.0.0", + "xtend": "^4.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } }, - "dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "requires": { - "path-type": "^4.0.0" + "node_modules/unified": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-8.4.2.tgz", + "integrity": "sha512-JCrmN13jI4+h9UAyKEoGcDZV+i1E7BLFuG7OsaDvTXI5P0qhHX+vZO/kOhz9jn8HGENDKbwSeB0nVOg4gVStGA==", + "dependencies": { + "bail": "^1.0.0", + "extend": "^3.0.0", + "is-plain-obj": "^2.0.0", + "trough": "^1.0.0", + "vfile": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "dlv": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", - "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", - "dev": true + "node_modules/unified/node_modules/bail": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/bail/-/bail-1.0.5.tgz", + "integrity": "sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } }, - "docson": { + "node_modules/unified/node_modules/is-plain-obj": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/docson/-/docson-2.1.0.tgz", - "integrity": "sha512-0NbHZPfyMaEIIDQzhhRN9EmAK9sBLOqLt7B8dCjGyl2ytUpbAgmixpVMgpg1rQK04Or5fuEkQsHQRehdEF2BTA==", - "requires": { - "commander": "^2.15.1", - "debug": "^3.1.0", - "express": "^4.16.3", - "handlebars": "^4.0.11", - "jquery": "^2.2.4", - "jsonpointer": "^4.0.1", - "jsonpointer.js": "^0.4.0", - "lodash": "^4.17.10", - "marked": "^0.3.14", - "serve-index": "^1.9.1", - "traverse": "^0.6.6", - "urijs": "^1.19.1" + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "engines": { + "node": ">=8" } }, - "doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "peer": true, - "requires": { - "esutils": "^2.0.2" + "node_modules/unified/node_modules/trough": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/trough/-/trough-1.0.5.tgz", + "integrity": "sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, - "dom-serializer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", - "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", - "dev": true, - "requires": { - "domelementtype": "^2.3.0", - "domhandler": "^5.0.2", - "entities": "^4.2.0" + "node_modules/unified/node_modules/unist-util-stringify-position": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz", + "integrity": "sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==", + "dependencies": { + "@types/unist": "^2.0.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "domelementtype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", - "dev": true - }, - "domhandler": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", - "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", - "dev": true, - "requires": { - "domelementtype": "^2.3.0" + "node_modules/unified/node_modules/vfile": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-4.2.1.tgz", + "integrity": "sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==", + "dependencies": { + "@types/unist": "^2.0.0", + "is-buffer": "^2.0.0", + "unist-util-stringify-position": "^2.0.0", + "vfile-message": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "domutils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", - "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", - "dev": true, - "requires": { - "dom-serializer": "^2.0.0", - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3" + "node_modules/unified/node_modules/vfile-message": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-2.0.4.tgz", + "integrity": "sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-stringify-position": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", - "requires": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" + "node_modules/unist-util-generated": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-2.0.1.tgz", + "integrity": "sha512-qF72kLmPxAw0oN2fwpWIqbXAVyEqUzDHMsbtPvOudIlUzXYFIeQIuxXQCRCFh22B7cixvU0MG7m3MW8FTq/S+A==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" + "node_modules/unist-util-is": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.2.1.tgz", + "integrity": "sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==", + "dependencies": { + "@types/unist": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } }, - "electron-to-chromium": { - "version": "1.4.482", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.482.tgz", - "integrity": "sha512-h+UqpfmEr1Qkk0zp7ej/jid7CXoq4m4QzW6wNTb0ELJ/BZCpA4wgUylBIMGCe621tnr4l5VmoHjdoSx2lbnNJA==" + "node_modules/unist-util-position": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz", + "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } }, - "emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" + "node_modules/unist-util-position/node_modules/@types/unist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", + "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==" }, - "emojis-list": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", - "dev": true + "node_modules/unist-util-remove-position": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-5.0.0.tgz", + "integrity": "sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-visit": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } }, - "encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==" + "node_modules/unist-util-remove-position/node_modules/@types/unist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", + "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==" }, - "enhanced-resolve": { - "version": "5.15.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", - "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", - "requires": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" + "node_modules/unist-util-remove-position/node_modules/unist-util-is": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", + "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "entities": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", - "dev": true + "node_modules/unist-util-remove-position/node_modules/unist-util-visit": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz", + "integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } }, - "es-abstract": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.1.tgz", - "integrity": "sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw==", - "requires": { - "array-buffer-byte-length": "^1.0.0", - "arraybuffer.prototype.slice": "^1.0.1", - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "es-set-tostringtag": "^2.0.1", - "es-to-primitive": "^1.2.1", - "function.prototype.name": "^1.1.5", - "get-intrinsic": "^1.2.1", - "get-symbol-description": "^1.0.0", - "globalthis": "^1.0.3", - "gopd": "^1.0.1", - "has": "^1.0.3", - "has-property-descriptors": "^1.0.0", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.5", - "is-array-buffer": "^3.0.2", - "is-callable": "^1.2.7", - "is-negative-zero": "^2.0.2", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", - "is-string": "^1.0.7", - "is-typed-array": "^1.1.10", - "is-weakref": "^1.0.2", - "object-inspect": "^1.12.3", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.5.0", - "safe-array-concat": "^1.0.0", - "safe-regex-test": "^1.0.0", - "string.prototype.trim": "^1.2.7", - "string.prototype.trimend": "^1.0.6", - "string.prototype.trimstart": "^1.0.6", - "typed-array-buffer": "^1.0.0", - "typed-array-byte-length": "^1.0.0", - "typed-array-byte-offset": "^1.0.0", - "typed-array-length": "^1.0.4", - "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.10" + "node_modules/unist-util-remove-position/node_modules/unist-util-visit-parents": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz", + "integrity": "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "es-module-lexer": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.0.tgz", - "integrity": "sha512-vZK7T0N2CBmBOixhmjdqx2gWVbFZ4DXZ/NyRMZVlJXPa7CyFS+/a4QQsDGDQy9ZfEzxFuNEsMLeQJnKP2p5/JA==", - "peer": true + "node_modules/unist-util-stringify-position": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz", + "integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==", + "dependencies": { + "@types/unist": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } }, - "es-set-tostringtag": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", - "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", - "requires": { - "get-intrinsic": "^1.1.3", - "has": "^1.0.3", - "has-tostringtag": "^1.0.0" + "node_modules/unist-util-visit": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.2.tgz", + "integrity": "sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-is": "^5.0.0", + "unist-util-visit-parents": "^5.1.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "es-shim-unscopables": { + "node_modules/unist-util-visit-parents": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.3.tgz", + "integrity": "sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-is": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/unpipe": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", - "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", - "requires": { - "has": "^1.0.3" + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "engines": { + "node": ">= 0.8" } }, - "es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" + "node_modules/untildify": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", + "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==", + "engines": { + "node": ">=8" } }, - "esbuild": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.16.17.tgz", - "integrity": "sha512-G8LEkV0XzDMNwXKgM0Jwu3nY3lSTwSGY6XbxM9cr9+s0T/qSV1q1JVPBGzm3dcjhCic9+emZDmMffkwgPeOeLg==", - "dev": true, - "requires": { - "@esbuild/android-arm": "0.16.17", - "@esbuild/android-arm64": "0.16.17", - "@esbuild/android-x64": "0.16.17", - "@esbuild/darwin-arm64": "0.16.17", - "@esbuild/darwin-x64": "0.16.17", - "@esbuild/freebsd-arm64": "0.16.17", - "@esbuild/freebsd-x64": "0.16.17", - "@esbuild/linux-arm": "0.16.17", - "@esbuild/linux-arm64": "0.16.17", - "@esbuild/linux-ia32": "0.16.17", - "@esbuild/linux-loong64": "0.16.17", - "@esbuild/linux-mips64el": "0.16.17", - "@esbuild/linux-ppc64": "0.16.17", - "@esbuild/linux-riscv64": "0.16.17", - "@esbuild/linux-s390x": "0.16.17", - "@esbuild/linux-x64": "0.16.17", - "@esbuild/netbsd-x64": "0.16.17", - "@esbuild/openbsd-x64": "0.16.17", - "@esbuild/sunos-x64": "0.16.17", - "@esbuild/win32-arm64": "0.16.17", - "@esbuild/win32-ia32": "0.16.17", - "@esbuild/win32-x64": "0.16.17" + "node_modules/update-browserslist-db": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", + "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" } }, - "esbuild-loader": { - "version": "2.21.0", - "resolved": "https://registry.npmjs.org/esbuild-loader/-/esbuild-loader-2.21.0.tgz", - "integrity": "sha512-k7ijTkCT43YBSZ6+fBCW1Gin7s46RrJ0VQaM8qA7lq7W+OLsGgtLyFV8470FzYi/4TeDexniTBTPTwZUnXXR5g==", - "dev": true, - "requires": { - "esbuild": "^0.16.17", - "joycon": "^3.0.1", - "json5": "^2.2.0", - "loader-utils": "^2.0.0", - "tapable": "^2.2.0", - "webpack-sources": "^1.4.3" + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dependencies": { + "punycode": "^2.1.0" } }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" + "node_modules/urijs": { + "version": "1.19.11", + "resolved": "https://registry.npmjs.org/urijs/-/urijs-1.19.11.tgz", + "integrity": "sha512-HXgFDgDommxn5/bIv0cnQZsPhHDA90NPHD6+c/v21U5+Sx5hoP8+dP9IZXBU1gIfvdRfhG8cel9QNPeionfcCQ==" }, - "escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true }, - "escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "peer": true + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "engines": { + "node": ">= 0.4.0" + } }, - "eslint": { - "version": "8.46.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.46.0.tgz", - "integrity": "sha512-cIO74PvbW0qU8e0mIvk5IV3ToWdCq5FYG6gWPHHkx6gNdjlbAYvtfHmlCMXxjcoVaIdwy/IAt3+mDkZkfvb2Dg==", - "peer": true, - "requires": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.1", - "@eslint/js": "^8.46.0", - "@humanwhocodes/config-array": "^0.11.10", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "ajv": "^6.12.4", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.2", - "eslint-visitor-keys": "^3.4.2", - "espree": "^9.6.1", - "esquery": "^1.4.2", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" - }, + "node_modules/uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "bin": { + "uuid": "bin/uuid" + } + }, + "node_modules/uvu": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/uvu/-/uvu-0.5.6.tgz", + "integrity": "sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==", "dependencies": { - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "peer": true, - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "peer": true - } + "dequal": "^2.0.0", + "diff": "^5.0.0", + "kleur": "^4.0.3", + "sade": "^1.7.3" + }, + "bin": { + "uvu": "bin.js" + }, + "engines": { + "node": ">=8" } }, - "eslint-config-next": { - "version": "13.4.12", - "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-13.4.12.tgz", - "integrity": "sha512-ZF0r5vxKaVazyZH/37Au/XItiG7qUOBw+HaH3PeyXltIMwXorsn6bdrl0Nn9N5v5v9spc+6GM2ryjugbjF6X2g==", - "requires": { - "@next/eslint-plugin-next": "13.4.12", - "@rushstack/eslint-patch": "^1.1.3", - "@typescript-eslint/parser": "^5.42.0", - "eslint-import-resolver-node": "^0.3.6", - "eslint-import-resolver-typescript": "^3.5.2", - "eslint-plugin-import": "^2.26.0", - "eslint-plugin-jsx-a11y": "^6.5.1", - "eslint-plugin-react": "^7.31.7", - "eslint-plugin-react-hooks": "5.0.0-canary-7118f5dd7-20230705" + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "engines": { + "node": ">= 0.8" } }, - "eslint-import-resolver-node": { - "version": "0.3.7", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz", - "integrity": "sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==", - "requires": { - "debug": "^3.2.7", - "is-core-module": "^2.11.0", - "resolve": "^1.22.1" + "node_modules/verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" } }, - "eslint-import-resolver-typescript": { - "version": "3.5.5", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.5.5.tgz", - "integrity": "sha512-TdJqPHs2lW5J9Zpe17DZNQuDnox4xo2o+0tE7Pggain9Rbc19ik8kFtXdxZ250FVx2kF4vlt2RSf4qlUpG7bhw==", - "requires": { - "debug": "^4.3.4", - "enhanced-resolve": "^5.12.0", - "eslint-module-utils": "^2.7.4", - "get-tsconfig": "^4.5.0", - "globby": "^13.1.3", - "is-core-module": "^2.11.0", - "is-glob": "^4.0.3", - "synckit": "^0.8.5" - }, + "node_modules/vfile": { + "version": "5.3.7", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.7.tgz", + "integrity": "sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==", "dependencies": { - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "requires": { - "ms": "2.1.2" - } - }, - "globby": { - "version": "13.2.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz", - "integrity": "sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==", - "requires": { - "dir-glob": "^3.0.1", - "fast-glob": "^3.3.0", - "ignore": "^5.2.4", - "merge2": "^1.4.1", - "slash": "^4.0.0" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "slash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", - "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==" - } + "@types/unist": "^2.0.0", + "is-buffer": "^2.0.0", + "unist-util-stringify-position": "^3.0.0", + "vfile-message": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "eslint-module-utils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz", - "integrity": "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==", - "requires": { - "debug": "^3.2.7" + "node_modules/vfile-matter": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/vfile-matter/-/vfile-matter-3.0.1.tgz", + "integrity": "sha512-CAAIDwnh6ZdtrqAuxdElUqQRQDQgbbIrYtDYI8gCjXS1qQ+1XdLoK8FIZWxJwn0/I+BkSSZpar3SOgjemQz4fg==", + "dependencies": { + "@types/js-yaml": "^4.0.0", + "is-buffer": "^2.0.0", + "js-yaml": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "eslint-plugin-import": { - "version": "2.28.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.28.0.tgz", - "integrity": "sha512-B8s/n+ZluN7sxj9eUf7/pRFERX0r5bnFA2dCaLHy2ZeaQEAz0k+ZZkFWRFHJAqxfxQDx6KLv9LeIki7cFdwW+Q==", - "requires": { - "array-includes": "^3.1.6", - "array.prototype.findlastindex": "^1.2.2", - "array.prototype.flat": "^1.3.1", - "array.prototype.flatmap": "^1.3.1", - "debug": "^3.2.7", - "doctrine": "^2.1.0", - "eslint-import-resolver-node": "^0.3.7", - "eslint-module-utils": "^2.8.0", - "has": "^1.0.3", - "is-core-module": "^2.12.1", - "is-glob": "^4.0.3", - "minimatch": "^3.1.2", - "object.fromentries": "^2.0.6", - "object.groupby": "^1.0.0", - "object.values": "^1.1.6", - "resolve": "^1.22.3", - "semver": "^6.3.1", - "tsconfig-paths": "^3.14.2" + "node_modules/vfile-message": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.4.tgz", + "integrity": "sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-stringify-position": "^3.0.0" }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/watchpack": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", "dependencies": { - "doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "requires": { - "esutils": "^2.0.2" - } - }, - "resolve": { - "version": "1.22.3", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.3.tgz", - "integrity": "sha512-P8ur/gp/AmbEzjr729bZnLjXK5Z+4P0zhIJgBgzqRih7hL7BOukHGtSTA3ACMY467GRFz3duQsi0bDZdR7DKdw==", - "requires": { - "is-core-module": "^2.12.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - } - }, - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" - } + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" } }, - "eslint-plugin-jsx-a11y": { - "version": "6.7.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.7.1.tgz", - "integrity": "sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==", - "requires": { - "@babel/runtime": "^7.20.7", - "aria-query": "^5.1.3", - "array-includes": "^3.1.6", - "array.prototype.flatmap": "^1.3.1", - "ast-types-flow": "^0.0.7", - "axe-core": "^4.6.2", - "axobject-query": "^3.1.1", - "damerau-levenshtein": "^1.0.8", - "emoji-regex": "^9.2.2", - "has": "^1.0.3", - "jsx-ast-utils": "^3.3.3", - "language-tags": "=1.0.5", - "minimatch": "^3.1.2", - "object.entries": "^1.1.6", - "object.fromentries": "^2.0.6", - "semver": "^6.3.0" - }, + "node_modules/webpack": { + "version": "5.88.2", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.88.2.tgz", + "integrity": "sha512-JmcgNZ1iKj+aiR0OvTYtWQqJwq37Pf683dY9bVORwVbUrDhLhdn/PlO2sHsFHPkj7sHNQF3JwaAkp49V+Sq1tQ==", + "peer": true, "dependencies": { - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^1.0.0", + "@webassemblyjs/ast": "^1.11.5", + "@webassemblyjs/wasm-edit": "^1.11.5", + "@webassemblyjs/wasm-parser": "^1.11.5", + "acorn": "^8.7.1", + "acorn-import-assertions": "^1.9.0", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.15.0", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.2.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.7", + "watchpack": "^2.4.0", + "webpack-sources": "^3.2.3" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true } } }, - "eslint-plugin-react": { - "version": "7.33.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.33.1.tgz", - "integrity": "sha512-L093k0WAMvr6VhNwReB8VgOq5s2LesZmrpPdKz/kZElQDzqS7G7+DnKoqT+w4JwuiGeAhAvHO0fvy0Eyk4ejDA==", - "requires": { - "array-includes": "^3.1.6", - "array.prototype.flatmap": "^1.3.1", - "array.prototype.tosorted": "^1.1.1", - "doctrine": "^2.1.0", - "estraverse": "^5.3.0", - "jsx-ast-utils": "^2.4.1 || ^3.0.0", - "minimatch": "^3.1.2", - "object.entries": "^1.1.6", - "object.fromentries": "^2.0.6", - "object.hasown": "^1.1.2", - "object.values": "^1.1.6", - "prop-types": "^15.8.1", - "resolve": "^2.0.0-next.4", - "semver": "^6.3.1", - "string.prototype.matchall": "^4.0.8" - }, + "node_modules/webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "dev": true, "dependencies": { - "doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "requires": { - "esutils": "^2.0.2" - } - }, - "resolve": { - "version": "2.0.0-next.4", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz", - "integrity": "sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==", - "requires": { - "is-core-module": "^2.9.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - } - }, - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" - } + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" } }, - "eslint-plugin-react-hooks": { - "version": "5.0.0-canary-7118f5dd7-20230705", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.0.0-canary-7118f5dd7-20230705.tgz", - "integrity": "sha512-AZYbMo/NW9chdL7vk6HQzQhT+PvTAEVqWk9ziruUoW2kAOcN5qNyelv70e0F1VNQAbvutOC9oc+xfWycI9FxDw==", - "requires": {} + "node_modules/webpack-sources/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "node_modules/webpack/node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", "peer": true, - "requires": { + "dependencies": { "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" } }, - "eslint-visitor-keys": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.2.tgz", - "integrity": "sha512-8drBzUEyZ2llkpCA67iYrgEssKDUu68V8ChqqOfFupIaG/LCVPUT+CoGJpT77zJprs4T/W7p07LP7zAIMuweVw==" - }, - "espree": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "node_modules/webpack/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", "peer": true, - "requires": { - "acorn": "^8.9.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" + "engines": { + "node": ">=4.0" } }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" - }, - "esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "node_modules/webpack/node_modules/webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", "peer": true, - "requires": { - "estraverse": "^5.1.0" + "engines": { + "node": ">=10.13.0" } }, - "esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "peer": true, - "requires": { - "estraverse": "^5.2.0" + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" } }, - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" - }, - "estree-util-attach-comments": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/estree-util-attach-comments/-/estree-util-attach-comments-2.1.1.tgz", - "integrity": "sha512-+5Ba/xGGS6mnwFbXIuQiDPTbuTxuMCooq3arVv7gPZtYpjp+VXH/NkHAP35OOefPhNG/UGqU3vt/LTABwcHX0w==", - "requires": { - "@types/estree": "^1.0.0" + "node_modules/which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "estree-util-build-jsx": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/estree-util-build-jsx/-/estree-util-build-jsx-2.2.2.tgz", - "integrity": "sha512-m56vOXcOBuaF+Igpb9OPAy7f9w9OIkb5yhjsZuaPm7HoGi4oTOQi0h2+yZ+AtKklYFZ+rPC4n0wYCJCEU1ONqg==", - "requires": { - "@types/estree-jsx": "^1.0.0", - "estree-util-is-identifier-name": "^2.0.0", - "estree-walker": "^3.0.0" + "node_modules/which-typed-array": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.11.tgz", + "integrity": "sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==", + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "estree-util-is-identifier-name": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-2.1.0.tgz", - "integrity": "sha512-bEN9VHRyXAUOjkKVQVvArFym08BTWB0aJPppZZr0UNyAqWsLaVfAqP7hbaTJjzHifmB5ebnR8Wm7r7yGN/HonQ==" + "node_modules/wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==" }, - "estree-util-to-js": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/estree-util-to-js/-/estree-util-to-js-1.2.0.tgz", - "integrity": "sha512-IzU74r1PK5IMMGZXUVZbmiu4A1uhiPgW5hm1GjcOfr4ZzHaMPpLNJjR7HjXiIOzi25nZDrgFTobHTkV5Q6ITjA==", - "requires": { - "@types/estree-jsx": "^1.0.0", - "astring": "^1.8.0", - "source-map": "^0.7.0" - } - }, - "estree-util-value-to-estree": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/estree-util-value-to-estree/-/estree-util-value-to-estree-3.0.1.tgz", - "integrity": "sha512-b2tdzTurEIbwRh+mKrEcaWfu1wgb8J1hVsgREg7FFiecWwK/PhO8X0kyc+0bIcKNtD4sqxIdNoRy6/p/TvECEA==", - "requires": { - "@types/estree": "^1.0.0", - "is-plain-obj": "^4.0.0" - }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, "dependencies": { - "is-plain-obj": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", - "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==" - } + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "estree-util-visit": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/estree-util-visit/-/estree-util-visit-1.2.1.tgz", - "integrity": "sha512-xbgqcrkIVbIG+lI/gzbvd9SGTJL4zqJKBFttUl5pP27KhAjtMKbX/mQXJ7qgyXpMgVy/zvpm0xoQQaGL8OloOw==", - "requires": { - "@types/estree-jsx": "^1.0.0", - "@types/unist": "^2.0.0" + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "engines": { + "node": ">=0.4" } }, - "estree-walker": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", - "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", - "requires": { - "@types/estree": "^1.0.0" + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "engines": { + "node": ">=10" } }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, - "etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==" + "node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true, + "engines": { + "node": ">= 6" + } }, - "events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "peer": true + "node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } }, - "execa": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-7.2.0.tgz", - "integrity": "sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==", - "requires": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.1", - "human-signals": "^4.3.0", - "is-stream": "^3.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^5.1.0", - "onetime": "^6.0.0", - "signal-exit": "^3.0.7", - "strip-final-newline": "^3.0.0" + "node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true, + "engines": { + "node": ">=10" } }, - "express": { - "version": "4.18.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", - "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", - "requires": { - "accepts": "~1.3.8", - "array-flatten": "1.1.1", - "body-parser": "1.20.1", - "content-disposition": "0.5.4", - "content-type": "~1.0.4", - "cookie": "0.5.0", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "2.0.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "1.2.0", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.7", - "qs": "6.11.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.2.1", - "send": "0.18.0", - "serve-static": "1.15.0", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "peer": true, + "engines": { + "node": ">=10" }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - } + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "requires": { - "is-extendable": "^0.1.0" + "node_modules/zod": { + "version": "3.21.4", + "resolved": "https://registry.npmjs.org/zod/-/zod-3.21.4.tgz", + "integrity": "sha512-m46AKbrzKVzOzs/DZgVnG5H55N1sv1M8qZU3A8RIKbs3mrACDNeIOeilDymVb2HdmP8uwshOCF4uJ8uM9rCqJw==", + "funding": { + "url": "https://github.com/sponsors/colinhacks" } }, - "extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==" + "node_modules/zwitch": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", + "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + } + }, + "dependencies": { + "@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "peer": true }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + "@alloc/quick-lru": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", + "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", + "dev": true }, - "fast-glob": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", - "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", + "@babel/runtime": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.6.tgz", + "integrity": "sha512-wDb5pWm4WDdF6LFUde3Jl8WzPA+3ZbxYqkC6xAXuD3irdEHN1k0NfTRrJD8ZD378SJ61miMLCqIOXYhd8x+AJQ==", "requires": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "dependencies": { - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "requires": { - "is-glob": "^4.0.1" - } - } + "regenerator-runtime": "^0.13.11" } }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" - }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "peer": true + "@esbuild/android-arm": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.16.17.tgz", + "integrity": "sha512-N9x1CMXVhtWEAMS7pNNONyA14f71VPQN9Cnavj1XQh6T7bskqiLLrSca4O0Vr8Wdcga943eThxnVp3JLnBMYtw==", + "dev": true, + "optional": true }, - "fastq": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", - "requires": { - "reusify": "^1.0.4" - } + "@esbuild/android-arm64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.16.17.tgz", + "integrity": "sha512-MIGl6p5sc3RDTLLkYL1MyL8BMRN4tLMRCn+yRJJmEDvYZ2M7tmAf80hx1kbNEUX2KJ50RRtxZ4JHLvCfuB6kBg==", + "dev": true, + "optional": true }, - "fault": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fault/-/fault-2.0.1.tgz", - "integrity": "sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==", - "requires": { - "format": "^0.2.0" - } + "@esbuild/android-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.16.17.tgz", + "integrity": "sha512-a3kTv3m0Ghh4z1DaFEuEDfz3OLONKuFvI4Xqczqx4BqLyuFaFkuaG4j2MtA6fuWEFeC5x9IvqnX7drmRq/fyAQ==", + "dev": true, + "optional": true }, - "file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "@esbuild/darwin-arm64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.16.17.tgz", + "integrity": "sha512-/2agbUEfmxWHi9ARTX6OQ/KgXnOWfsNlTeLcoV7HSuSTv63E4DqtAc+2XqGw1KHxKMHGZgbVCZge7HXWX9Vn+w==", + "dev": true, + "optional": true + }, + "@esbuild/darwin-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.16.17.tgz", + "integrity": "sha512-2By45OBHulkd9Svy5IOCZt376Aa2oOkiE9QWUK9fe6Tb+WDr8hXL3dpqi+DeLiMed8tVXspzsTAvd0jUl96wmg==", + "dev": true, + "optional": true + }, + "@esbuild/freebsd-arm64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.17.tgz", + "integrity": "sha512-mt+cxZe1tVx489VTb4mBAOo2aKSnJ33L9fr25JXpqQqzbUIw/yzIzi+NHwAXK2qYV1lEFp4OoVeThGjUbmWmdw==", + "dev": true, + "optional": true + }, + "@esbuild/freebsd-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.16.17.tgz", + "integrity": "sha512-8ScTdNJl5idAKjH8zGAsN7RuWcyHG3BAvMNpKOBaqqR7EbUhhVHOqXRdL7oZvz8WNHL2pr5+eIT5c65kA6NHug==", + "dev": true, + "optional": true + }, + "@esbuild/linux-arm": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.16.17.tgz", + "integrity": "sha512-iihzrWbD4gIT7j3caMzKb/RsFFHCwqqbrbH9SqUSRrdXkXaygSZCZg1FybsZz57Ju7N/SHEgPyaR0LZ8Zbe9gQ==", + "dev": true, + "optional": true + }, + "@esbuild/linux-arm64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.16.17.tgz", + "integrity": "sha512-7S8gJnSlqKGVJunnMCrXHU9Q8Q/tQIxk/xL8BqAP64wchPCTzuM6W3Ra8cIa1HIflAvDnNOt2jaL17vaW+1V0g==", + "dev": true, + "optional": true + }, + "@esbuild/linux-ia32": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.16.17.tgz", + "integrity": "sha512-kiX69+wcPAdgl3Lonh1VI7MBr16nktEvOfViszBSxygRQqSpzv7BffMKRPMFwzeJGPxcio0pdD3kYQGpqQ2SSg==", + "dev": true, + "optional": true + }, + "@esbuild/linux-loong64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.16.17.tgz", + "integrity": "sha512-dTzNnQwembNDhd654cA4QhbS9uDdXC3TKqMJjgOWsC0yNCbpzfWoXdZvp0mY7HU6nzk5E0zpRGGx3qoQg8T2DQ==", + "dev": true, + "optional": true + }, + "@esbuild/linux-mips64el": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.16.17.tgz", + "integrity": "sha512-ezbDkp2nDl0PfIUn0CsQ30kxfcLTlcx4Foz2kYv8qdC6ia2oX5Q3E/8m6lq84Dj/6b0FrkgD582fJMIfHhJfSw==", + "dev": true, + "optional": true + }, + "@esbuild/linux-ppc64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.16.17.tgz", + "integrity": "sha512-dzS678gYD1lJsW73zrFhDApLVdM3cUF2MvAa1D8K8KtcSKdLBPP4zZSLy6LFZ0jYqQdQ29bjAHJDgz0rVbLB3g==", + "dev": true, + "optional": true + }, + "@esbuild/linux-riscv64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.16.17.tgz", + "integrity": "sha512-ylNlVsxuFjZK8DQtNUwiMskh6nT0vI7kYl/4fZgV1llP5d6+HIeL/vmmm3jpuoo8+NuXjQVZxmKuhDApK0/cKw==", + "dev": true, + "optional": true + }, + "@esbuild/linux-s390x": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.16.17.tgz", + "integrity": "sha512-gzy7nUTO4UA4oZ2wAMXPNBGTzZFP7mss3aKR2hH+/4UUkCOyqmjXiKpzGrY2TlEUhbbejzXVKKGazYcQTZWA/w==", + "dev": true, + "optional": true + }, + "@esbuild/linux-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.16.17.tgz", + "integrity": "sha512-mdPjPxfnmoqhgpiEArqi4egmBAMYvaObgn4poorpUaqmvzzbvqbowRllQ+ZgzGVMGKaPkqUmPDOOFQRUFDmeUw==", + "dev": true, + "optional": true + }, + "@esbuild/netbsd-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.16.17.tgz", + "integrity": "sha512-/PzmzD/zyAeTUsduZa32bn0ORug+Jd1EGGAUJvqfeixoEISYpGnAezN6lnJoskauoai0Jrs+XSyvDhppCPoKOA==", + "dev": true, + "optional": true + }, + "@esbuild/openbsd-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.16.17.tgz", + "integrity": "sha512-2yaWJhvxGEz2RiftSk0UObqJa/b+rIAjnODJgv2GbGGpRwAfpgzyrg1WLK8rqA24mfZa9GvpjLcBBg8JHkoodg==", + "dev": true, + "optional": true + }, + "@esbuild/sunos-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.16.17.tgz", + "integrity": "sha512-xtVUiev38tN0R3g8VhRfN7Zl42YCJvyBhRKw1RJjwE1d2emWTVToPLNEQj/5Qxc6lVFATDiy6LjVHYhIPrLxzw==", + "dev": true, + "optional": true + }, + "@esbuild/win32-arm64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.16.17.tgz", + "integrity": "sha512-ga8+JqBDHY4b6fQAmOgtJJue36scANy4l/rL97W+0wYmijhxKetzZdKOJI7olaBaMhWt8Pac2McJdZLxXWUEQw==", + "dev": true, + "optional": true + }, + "@esbuild/win32-ia32": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.16.17.tgz", + "integrity": "sha512-WnsKaf46uSSF/sZhwnqE4L/F89AYNMiD4YtEcYekBt9Q7nj0DiId2XH2Ng2PHM54qi5oPrQ8luuzGszqi/veig==", + "dev": true, + "optional": true + }, + "@esbuild/win32-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.16.17.tgz", + "integrity": "sha512-y+EHuSchhL7FjHgvQL/0fnnFmO4T1bhvWANX6gcnqTjtnKWbTvUMCpGnv2+t+31d7RzyEAYAd4u2fnIhHL6N/Q==", + "dev": true, + "optional": true + }, + "@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", "peer": true, "requires": { - "flat-cache": "^3.0.4" + "eslint-visitor-keys": "^3.3.0" } }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "requires": { - "to-regex-range": "^5.0.1" - } + "@eslint-community/regexpp": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.6.2.tgz", + "integrity": "sha512-pPTNuaAG3QMH+buKyBIGJs3g/S5y0caxw0ygM3YyE6yJFySwiGGSzA+mM3KJ8QQvzeLh3blwgSonkFjgQdxzMw==", + "peer": true }, - "finalhandler": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", - "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "@eslint/eslintrc": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.1.tgz", + "integrity": "sha512-9t7ZA7NGGK8ckelF0PQCfcxIUzs1Md5rrO6U/c+FIQNanea5UZC0wqKXH4vHBccmu4ZJgZ2idtPeW7+Q2npOEA==", + "peer": true, "requires": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "statuses": "2.0.1", - "unpipe": "~1.0.0" + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" }, "dependencies": { "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "peer": true, "requires": { - "ms": "2.0.0" + "ms": "2.1.2" } }, "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "peer": true } } }, - "find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "peer": true, + "@eslint/js": { + "version": "8.46.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.46.0.tgz", + "integrity": "sha512-a8TLtmPi8xzPkCbp/OGFUo5yhRkHM2Ko9kOWP4znJr0WAhWyThaw3PnwX4vOTWOAMsV2uRt32PPDcEz63esSaA==", + "peer": true + }, + "@headlessui/react": { + "version": "1.7.16", + "resolved": "https://registry.npmjs.org/@headlessui/react/-/react-1.7.16.tgz", + "integrity": "sha512-2MphIAZdSUacZBT6EXk8AJkj+EuvaaJbtCyHTJrPsz8inhzCl7qeNPI1uk1AUvCgWylVtdN8cVVmnhUDPxPy3g==", "requires": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" + "client-only": "^0.0.1" } }, - "flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "@humanwhocodes/config-array": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz", + "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==", "peer": true, "requires": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "peer": true, + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "peer": true + } } }, - "flatted": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", - "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", + "@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", "peer": true }, - "for-each": { + "@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "peer": true + }, + "@jridgewell/gen-mapping": { "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", "requires": { - "is-callable": "^1.1.3" + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" } }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==" + "@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==" }, - "form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==" + }, + "@jridgewell/source-map": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", + "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", + "peer": true, "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" } }, - "format": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/format/-/format-0.2.2.tgz", - "integrity": "sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==" - }, - "forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==" - }, - "fraction.js": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", - "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==", - "dev": true - }, - "fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==" + "@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" }, - "fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "dev": true, + "@jridgewell/trace-mapping": { + "version": "0.3.18", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", + "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", "requires": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" + }, + "dependencies": { + "@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" + } } }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" - }, - "fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "optional": true - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "function.prototype.name": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", - "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", + "@mdx-js/loader": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@mdx-js/loader/-/loader-2.3.0.tgz", + "integrity": "sha512-IqsscXh7Q3Rzb+f5DXYk0HU71PK+WuFsEhf+mSV3fOhpLcEpgsHvTQ2h0T6TlZ5gHOaBeFjkXwB52by7ypMyNg==", "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0", - "functions-have-names": "^1.2.2" + "@mdx-js/mdx": "^2.0.0", + "source-map": "^0.7.0" + }, + "dependencies": { + "@mdx-js/mdx": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-2.3.0.tgz", + "integrity": "sha512-jLuwRlz8DQfQNiUCJR50Y09CGPq3fLtmtUQfVrj79E0JWu3dvsVcxVIcfhR5h0iXu+/z++zDrYeiJqifRynJkA==", + "requires": { + "@types/estree-jsx": "^1.0.0", + "@types/mdx": "^2.0.0", + "estree-util-build-jsx": "^2.0.0", + "estree-util-is-identifier-name": "^2.0.0", + "estree-util-to-js": "^1.1.0", + "estree-walker": "^3.0.0", + "hast-util-to-estree": "^2.0.0", + "markdown-extensions": "^1.0.0", + "periscopic": "^3.0.0", + "remark-mdx": "^2.0.0", + "remark-parse": "^10.0.0", + "remark-rehype": "^10.0.0", + "unified": "^10.0.0", + "unist-util-position-from-estree": "^1.0.0", + "unist-util-stringify-position": "^3.0.0", + "unist-util-visit": "^4.0.0", + "vfile": "^5.0.0" + } + }, + "estree-util-attach-comments": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/estree-util-attach-comments/-/estree-util-attach-comments-2.1.1.tgz", + "integrity": "sha512-+5Ba/xGGS6mnwFbXIuQiDPTbuTxuMCooq3arVv7gPZtYpjp+VXH/NkHAP35OOefPhNG/UGqU3vt/LTABwcHX0w==", + "requires": { + "@types/estree": "^1.0.0" + } + }, + "estree-util-build-jsx": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/estree-util-build-jsx/-/estree-util-build-jsx-2.2.2.tgz", + "integrity": "sha512-m56vOXcOBuaF+Igpb9OPAy7f9w9OIkb5yhjsZuaPm7HoGi4oTOQi0h2+yZ+AtKklYFZ+rPC4n0wYCJCEU1ONqg==", + "requires": { + "@types/estree-jsx": "^1.0.0", + "estree-util-is-identifier-name": "^2.0.0", + "estree-walker": "^3.0.0" + } + }, + "estree-util-to-js": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/estree-util-to-js/-/estree-util-to-js-1.2.0.tgz", + "integrity": "sha512-IzU74r1PK5IMMGZXUVZbmiu4A1uhiPgW5hm1GjcOfr4ZzHaMPpLNJjR7HjXiIOzi25nZDrgFTobHTkV5Q6ITjA==", + "requires": { + "@types/estree-jsx": "^1.0.0", + "astring": "^1.8.0", + "source-map": "^0.7.0" + } + }, + "estree-util-visit": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/estree-util-visit/-/estree-util-visit-1.2.1.tgz", + "integrity": "sha512-xbgqcrkIVbIG+lI/gzbvd9SGTJL4zqJKBFttUl5pP27KhAjtMKbX/mQXJ7qgyXpMgVy/zvpm0xoQQaGL8OloOw==", + "requires": { + "@types/estree-jsx": "^1.0.0", + "@types/unist": "^2.0.0" + } + }, + "hast-util-to-estree": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/hast-util-to-estree/-/hast-util-to-estree-2.3.3.tgz", + "integrity": "sha512-ihhPIUPxN0v0w6M5+IiAZZrn0LH2uZomeWwhn7uP7avZC6TE7lIiEh2yBMPr5+zi1aUCXq6VoYRgs2Bw9xmycQ==", + "requires": { + "@types/estree": "^1.0.0", + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^2.0.0", + "@types/unist": "^2.0.0", + "comma-separated-tokens": "^2.0.0", + "estree-util-attach-comments": "^2.0.0", + "estree-util-is-identifier-name": "^2.0.0", + "hast-util-whitespace": "^2.0.0", + "mdast-util-mdx-expression": "^1.0.0", + "mdast-util-mdxjs-esm": "^1.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0", + "style-to-object": "^0.4.1", + "unist-util-position": "^4.0.0", + "zwitch": "^2.0.0" + } + }, + "hast-util-whitespace": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-2.0.1.tgz", + "integrity": "sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng==" + }, + "markdown-extensions": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/markdown-extensions/-/markdown-extensions-1.1.1.tgz", + "integrity": "sha512-WWC0ZuMzCyDHYCasEGs4IPvLyTGftYwh6wIEOULOF0HXcqZlhwRzrK0w2VUlxWA98xnvb/jszw4ZSkJ6ADpM6Q==" + }, + "mdast-util-mdx": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-mdx/-/mdast-util-mdx-2.0.1.tgz", + "integrity": "sha512-38w5y+r8nyKlGvNjSEqWrhG0w5PmnRA+wnBvm+ulYCct7nsGYhFVb0lljS9bQav4psDAS1eGkP2LMVcZBi/aqw==", + "requires": { + "mdast-util-from-markdown": "^1.0.0", + "mdast-util-mdx-expression": "^1.0.0", + "mdast-util-mdx-jsx": "^2.0.0", + "mdast-util-mdxjs-esm": "^1.0.0", + "mdast-util-to-markdown": "^1.0.0" + } + }, + "mdast-util-mdx-expression": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-1.3.2.tgz", + "integrity": "sha512-xIPmR5ReJDu/DHH1OoIT1HkuybIfRGYRywC+gJtI7qHjCJp/M9jrmBEJW22O8lskDWm562BX2W8TiAwRTb0rKA==", + "requires": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^2.0.0", + "@types/mdast": "^3.0.0", + "mdast-util-from-markdown": "^1.0.0", + "mdast-util-to-markdown": "^1.0.0" + } + }, + "mdast-util-mdx-jsx": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-2.1.4.tgz", + "integrity": "sha512-DtMn9CmVhVzZx3f+optVDF8yFgQVt7FghCRNdlIaS3X5Bnym3hZwPbg/XW86vdpKjlc1PVj26SpnLGeJBXD3JA==", + "requires": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^2.0.0", + "@types/mdast": "^3.0.0", + "@types/unist": "^2.0.0", + "ccount": "^2.0.0", + "mdast-util-from-markdown": "^1.1.0", + "mdast-util-to-markdown": "^1.3.0", + "parse-entities": "^4.0.0", + "stringify-entities": "^4.0.0", + "unist-util-remove-position": "^4.0.0", + "unist-util-stringify-position": "^3.0.0", + "vfile-message": "^3.0.0" + } + }, + "mdast-util-mdxjs-esm": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-1.3.1.tgz", + "integrity": "sha512-SXqglS0HrEvSdUEfoXFtcg7DRl7S2cwOXc7jkuusG472Mmjag34DUDeOJUZtl+BVnyeO1frIgVpHlNRWc2gk/w==", + "requires": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^2.0.0", + "@types/mdast": "^3.0.0", + "mdast-util-from-markdown": "^1.0.0", + "mdast-util-to-markdown": "^1.0.0" + } + }, + "mdast-util-to-hast": { + "version": "12.3.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-12.3.0.tgz", + "integrity": "sha512-pits93r8PhnIoU4Vy9bjW39M2jJ6/tdHyja9rrot9uujkN7UTU9SDnE6WNJz/IGyQk3XHX6yNNtrBH6cQzm8Hw==", + "requires": { + "@types/hast": "^2.0.0", + "@types/mdast": "^3.0.0", + "mdast-util-definitions": "^5.0.0", + "micromark-util-sanitize-uri": "^1.1.0", + "trim-lines": "^3.0.0", + "unist-util-generated": "^2.0.0", + "unist-util-position": "^4.0.0", + "unist-util-visit": "^4.0.0" + } + }, + "micromark-extension-mdx-expression": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-1.0.8.tgz", + "integrity": "sha512-zZpeQtc5wfWKdzDsHRBY003H2Smg+PUi2REhqgIhdzAa5xonhP03FcXxqFSerFiNUr5AWmHpaNPQTBVOS4lrXw==", + "requires": { + "@types/estree": "^1.0.0", + "micromark-factory-mdx-expression": "^1.0.0", + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-events-to-acorn": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" + } + }, + "micromark-extension-mdx-jsx": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-1.0.5.tgz", + "integrity": "sha512-gPH+9ZdmDflbu19Xkb8+gheqEDqkSpdCEubQyxuz/Hn8DOXiXvrXeikOoBA71+e8Pfi0/UYmU3wW3H58kr7akA==", + "requires": { + "@types/acorn": "^4.0.0", + "@types/estree": "^1.0.0", + "estree-util-is-identifier-name": "^2.0.0", + "micromark-factory-mdx-expression": "^1.0.0", + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0", + "vfile-message": "^3.0.0" + } + }, + "micromark-extension-mdx-md": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-md/-/micromark-extension-mdx-md-1.0.1.tgz", + "integrity": "sha512-7MSuj2S7xjOQXAjjkbjBsHkMtb+mDGVW6uI2dBL9snOBCbZmoNgDAeZ0nSn9j3T42UE/g2xVNMn18PJxZvkBEA==", + "requires": { + "micromark-util-types": "^1.0.0" + } + }, + "micromark-extension-mdxjs": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs/-/micromark-extension-mdxjs-1.0.1.tgz", + "integrity": "sha512-7YA7hF6i5eKOfFUzZ+0z6avRG52GpWR8DL+kN47y3f2KhxbBZMhmxe7auOeaTBrW2DenbbZTf1ea9tA2hDpC2Q==", + "requires": { + "acorn": "^8.0.0", + "acorn-jsx": "^5.0.0", + "micromark-extension-mdx-expression": "^1.0.0", + "micromark-extension-mdx-jsx": "^1.0.0", + "micromark-extension-mdx-md": "^1.0.0", + "micromark-extension-mdxjs-esm": "^1.0.0", + "micromark-util-combine-extensions": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "micromark-extension-mdxjs-esm": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-1.0.5.tgz", + "integrity": "sha512-xNRBw4aoURcyz/S69B19WnZAkWJMxHMT5hE36GtDAyhoyn/8TuAeqjFJQlwk+MKQsUD7b3l7kFX+vlfVWgcX1w==", + "requires": { + "@types/estree": "^1.0.0", + "micromark-core-commonmark": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-events-to-acorn": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "unist-util-position-from-estree": "^1.1.0", + "uvu": "^0.5.0", + "vfile-message": "^3.0.0" + } + }, + "micromark-factory-mdx-expression": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-1.0.9.tgz", + "integrity": "sha512-jGIWzSmNfdnkJq05c7b0+Wv0Kfz3NJ3N4cBjnbO4zjXIlxJr+f8lk+5ZmwFvqdAbUy2q6B5rCY//g0QAAaXDWA==", + "requires": { + "@types/estree": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-events-to-acorn": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "unist-util-position-from-estree": "^1.0.0", + "uvu": "^0.5.0", + "vfile-message": "^3.0.0" + } + }, + "micromark-util-events-to-acorn": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-1.2.3.tgz", + "integrity": "sha512-ij4X7Wuc4fED6UoLWkmo0xJQhsktfNh1J0m8g4PbIMPlx+ek/4YdW5mvbye8z/aZvAPUoxgXHrwVlXAPKMRp1w==", + "requires": { + "@types/acorn": "^4.0.0", + "@types/estree": "^1.0.0", + "@types/unist": "^2.0.0", + "estree-util-visit": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0", + "vfile-message": "^3.0.0" + } + }, + "remark-mdx": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/remark-mdx/-/remark-mdx-2.3.0.tgz", + "integrity": "sha512-g53hMkpM0I98MU266IzDFMrTD980gNF3BJnkyFcmN+dD873mQeD5rdMO3Y2X+x8umQfbSE0PcoEDl7ledSA+2g==", + "requires": { + "mdast-util-mdx": "^2.0.0", + "micromark-extension-mdxjs": "^1.0.0" + } + }, + "remark-rehype": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-10.1.0.tgz", + "integrity": "sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw==", + "requires": { + "@types/hast": "^2.0.0", + "@types/mdast": "^3.0.0", + "mdast-util-to-hast": "^12.1.0", + "unified": "^10.0.0" + } + }, + "unified": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", + "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==", + "requires": { + "@types/unist": "^2.0.0", + "bail": "^2.0.0", + "extend": "^3.0.0", + "is-buffer": "^2.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^5.0.0" + } + }, + "unist-util-position": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-4.0.4.tgz", + "integrity": "sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg==", + "requires": { + "@types/unist": "^2.0.0" + } + }, + "unist-util-position-from-estree": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/unist-util-position-from-estree/-/unist-util-position-from-estree-1.1.2.tgz", + "integrity": "sha512-poZa0eXpS+/XpoQwGwl79UUdea4ol2ZuCYguVaJS4qzIOMDzbqz8a3erUCOmubSZkaOuGamb3tX790iwOIROww==", + "requires": { + "@types/unist": "^2.0.0" + } + }, + "unist-util-remove-position": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-4.0.2.tgz", + "integrity": "sha512-TkBb0HABNmxzAcfLf4qsIbFbaPDvMO6wa3b3j4VcEzFVaw1LBKwnW4/sRJ/atSLSzoIg41JWEdnE7N6DIhGDGQ==", + "requires": { + "@types/unist": "^2.0.0", + "unist-util-visit": "^4.0.0" + } + } } }, - "functions-have-names": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==" + "@mdx-js/react": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@mdx-js/react/-/react-2.3.0.tgz", + "integrity": "sha512-zQH//gdOmuu7nt2oJR29vFhDv88oGPmVw6BggmrHeMI+xgEkp1B2dX9/bMBSYtK0dyLX/aOmesKS09g222K1/g==", + "requires": { + "@types/mdx": "^2.0.0", + "@types/react": ">=16" + } }, - "fuse.js": { - "version": "6.6.2", - "resolved": "https://registry.npmjs.org/fuse.js/-/fuse.js-6.6.2.tgz", - "integrity": "sha512-cJaJkxCCxC8qIIcPBF9yGxY0W/tVZS3uEISDxhYIdtk8OL93pe+6Zj7LjCqVV4dzbqcriOZ+kQ/NE4RXZHsIGA==" - }, - "gentype": { - "version": "3.50.0", - "resolved": "https://registry.npmjs.org/gentype/-/gentype-3.50.0.tgz", - "integrity": "sha512-EKZzbS4HBuw80zDm5ZJxDdfoGw4nYClTgkv4vp8/db1MXmvCdJSA2NuvxNBYF8i5VqYccdQWzNGClmhWpTFWFQ==" - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true + "@next/env": { + "version": "13.4.12", + "resolved": "https://registry.npmjs.org/@next/env/-/env-13.4.12.tgz", + "integrity": "sha512-RmHanbV21saP/6OEPBJ7yJMuys68cIf8OBBWd7+uj40LdpmswVAwe1uzeuFyUsd6SfeITWT3XnQfn6wULeKwDQ==" }, - "get-intrinsic": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", - "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", + "@next/eslint-plugin-next": { + "version": "13.4.12", + "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-13.4.12.tgz", + "integrity": "sha512-6rhK9CdxEgj/j1qvXIyLTWEaeFv7zOK8yJMulz3Owel0uek0U9MJCGzmKgYxM3aAUBo3gKeywCZKyQnJKto60A==", "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3" + "glob": "7.1.7" + }, + "dependencies": { + "glob": { + "version": "7.1.7", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", + "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + } } }, - "get-own-enumerable-property-symbols": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", - "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==" + "@next/swc-darwin-arm64": { + "version": "13.4.12", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-13.4.12.tgz", + "integrity": "sha512-deUrbCXTMZ6ZhbOoloqecnUeNpUOupi8SE2tx4jPfNS9uyUR9zK4iXBvH65opVcA/9F5I/p8vDXSYbUlbmBjZg==", + "optional": true }, - "get-stdin": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-8.0.0.tgz", - "integrity": "sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==", - "dev": true + "@next/swc-darwin-x64": { + "version": "13.4.12", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-13.4.12.tgz", + "integrity": "sha512-WRvH7RxgRHlC1yb5oG0ZLx8F7uci9AivM5/HGGv9ZyG2Als8Ij64GC3d+mQ5sJhWjusyU6T6V1WKTUoTmOB0zQ==", + "optional": true }, - "get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==" + "@next/swc-linux-arm64-gnu": { + "version": "13.4.12", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-13.4.12.tgz", + "integrity": "sha512-YEKracAWuxp54tKiAvvq73PUs9lok57cc8meYRibTWe/VdPB2vLgkTVWFcw31YDuRXdEhdX0fWS6Q+ESBhnEig==", + "optional": true }, - "get-symbol-description": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", - "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "@next/swc-linux-arm64-musl": { + "version": "13.4.12", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-13.4.12.tgz", + "integrity": "sha512-LhJR7/RAjdHJ2Isl2pgc/JaoxNk0KtBgkVpiDJPVExVWA1c6gzY57+3zWuxuyWzTG+fhLZo2Y80pLXgIJv7g3g==", + "optional": true + }, + "@next/swc-linux-x64-gnu": { + "version": "13.4.12", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-13.4.12.tgz", + "integrity": "sha512-1DWLL/B9nBNiQRng+1aqs3OaZcxC16Nf+mOnpcrZZSdyKHek3WQh6j/fkbukObgNGwmCoVevLUa/p3UFTTqgqg==", + "optional": true + }, + "@next/swc-linux-x64-musl": { + "version": "13.4.12", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-13.4.12.tgz", + "integrity": "sha512-kEAJmgYFhp0VL+eRWmUkVxLVunn7oL9Mdue/FS8yzRBVj7Z0AnIrHpTIeIUl1bbdQq1VaoOztnKicAjfkLTRCQ==", + "optional": true + }, + "@next/swc-win32-arm64-msvc": { + "version": "13.4.12", + "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-13.4.12.tgz", + "integrity": "sha512-GMLuL/loR6yIIRTnPRY6UGbLL9MBdw2anxkOnANxvLvsml4F0HNIgvnU3Ej4BjbqMTNjD4hcPFdlEow4XHPdZA==", + "optional": true + }, + "@next/swc-win32-ia32-msvc": { + "version": "13.4.12", + "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-13.4.12.tgz", + "integrity": "sha512-PhgNqN2Vnkm7XaMdRmmX0ZSwZXQAtamBVSa9A/V1dfKQCV1rjIZeiy/dbBnVYGdj63ANfsOR/30XpxP71W0eww==", + "optional": true + }, + "@next/swc-win32-x64-msvc": { + "version": "13.4.12", + "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-13.4.12.tgz", + "integrity": "sha512-Z+56e/Ljt0bUs+T+jPjhFyxYBcdY2RIq9ELFU+qAMQMteHo7ymbV7CKmlcX59RI9C4YzN8PgMgLyAoi916b5HA==", + "optional": true + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" } }, - "get-tsconfig": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.6.2.tgz", - "integrity": "sha512-E5XrT4CbbXcXWy+1jChlZmrmCwd5KGx502kDCXJJ7y898TtWW9FwoG5HfOLVRKmlmDGkWN2HM9Ho+/Y8F0sJDg==", + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==" + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", "requires": { - "resolve-pkg-maps": "^1.0.0" + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" } }, - "getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", + "@pkgr/utils": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@pkgr/utils/-/utils-2.4.2.tgz", + "integrity": "sha512-POgTXhjrTfbTV63DiFXav4lBHiICLKKwDeaKn9Nphwj7WH6m0hMMCaJkMyRWjgtPFyRKRVoMXXjczsTQRDEhYw==", "requires": { - "assert-plus": "^1.0.0" + "cross-spawn": "^7.0.3", + "fast-glob": "^3.3.0", + "is-glob": "^4.0.3", + "open": "^9.1.0", + "picocolors": "^1.0.0", + "tslib": "^2.6.0" } }, - "github-slugger": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-2.0.0.tgz", - "integrity": "sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==" + "@rescript/react": { + "version": "0.12.0-alpha.3", + "resolved": "https://registry.npmjs.org/@rescript/react/-/react-0.12.0-alpha.3.tgz", + "integrity": "sha512-/S1uj77RPDzuLg3Ofb8KKU3Vppqy97/vF6bBdBZ+saIO9bpHVlsmmJyJG8QXjGZKE+aMynrrR3Tj4+9+5OzLdw==", + "requires": {} }, - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "@rescript/tools": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@rescript/tools/-/tools-0.3.0.tgz", + "integrity": "sha512-h4m2lnmkz7CqkJxNQ+/hnGDnq28CmF+EdWQ/FnbLzY0TABDLYYoRUZ4UfyvqzX7OJbK0QRPSz2HKF0DyEWOczw==", "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "rescript": "^11.0.0-rc.7" } }, - "glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "@rushstack/eslint-patch": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.3.2.tgz", + "integrity": "sha512-V+MvGwaHH03hYhY+k6Ef/xKd6RYlc4q8WBx+2ANmipHJcKuktNcI/NgEsJgdSUF6Lw32njT6OnrRsKYCdgHjYw==" + }, + "@swc/helpers": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.1.tgz", + "integrity": "sha512-sJ902EfIzn1Fa+qYmjdQqh8tPsoxyBz+8yBKC2HKUxyezKJFwPGOn7pv4WY6QuQW//ySQi5lJjA/ZT9sNWWNTg==", "requires": { - "is-glob": "^4.0.3" + "tslib": "^2.4.0" } }, - "glob-to-regexp": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" + "@trysound/sax": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", + "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", + "dev": true }, - "globals": { - "version": "13.20.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", - "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", - "peer": true, + "@types/acorn": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@types/acorn/-/acorn-4.0.6.tgz", + "integrity": "sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==", "requires": { - "type-fest": "^0.20.2" + "@types/estree": "*" } }, - "globalthis": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", - "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "@types/debug": { + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.8.tgz", + "integrity": "sha512-/vPO1EPOs306Cvhwv7KfVfYvOJqA/S/AXjaHQiJboCZzcNDb+TIJFN9/2C9DZ//ijSKWioNyUxD792QmDJ+HKQ==", "requires": { - "define-properties": "^1.1.3" + "@types/ms": "*" } }, - "globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "@types/eslint": { + "version": "8.44.1", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.1.tgz", + "integrity": "sha512-XpNDc4Z5Tb4x+SW1MriMVeIsMoONHCkWFMkR/aPJbzEsxqHy+4Glu/BqTdPrApfDeMaXbtNh6bseNgl5KaWrSg==", + "peer": true, "requires": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" + "@types/estree": "*", + "@types/json-schema": "*" } }, - "gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "@types/eslint-scope": { + "version": "3.7.4", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", + "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", + "peer": true, "requires": { - "get-intrinsic": "^1.1.3" + "@types/eslint": "*", + "@types/estree": "*" } }, - "graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + "@types/estree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz", + "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==" }, - "graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "peer": true - }, - "gray-matter": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz", - "integrity": "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==", + "@types/estree-jsx": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.3.tgz", + "integrity": "sha512-pvQ+TKeRHeiUGRhvYwRrQ/ISnohKkSJR14fT2yqyZ4e9K5vqc7hrtY2Y1Dw0ZwAzQ6DQsxsaCUuSIIi8v0Cq6w==", "requires": { - "js-yaml": "^3.13.1", - "kind-of": "^6.0.2", - "section-matter": "^1.0.0", - "strip-bom-string": "^1.0.0" - }, - "dependencies": { - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - } + "@types/estree": "*" } }, - "handlebars": { - "version": "4.7.8", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz", - "integrity": "sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==", + "@types/hast": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.5.tgz", + "integrity": "sha512-SvQi0L/lNpThgPoleH53cdjB3y9zpLlVjRbqB3rH8hx1jiRSBGAhyjV3H+URFjNVRqt2EdYNrbZE5IsGlNfpRg==", "requires": { - "minimist": "^1.2.5", - "neo-async": "^2.6.2", - "source-map": "^0.6.1", - "uglify-js": "^3.1.4", - "wordwrap": "^1.0.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } + "@types/unist": "^2" } }, - "har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==" + "@types/js-yaml": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-4.0.5.tgz", + "integrity": "sha512-FhpRzf927MNQdRZP0J5DLIdTXhjLYzeUTmLAu69mnVksLH9CJY3IuSeEgbKUki7GQZm0WqDkGzyxju2EZGD2wA==" }, - "har-validator": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", - "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", - "requires": { - "ajv": "^6.12.3", - "har-schema": "^2.0.0" - } + "@types/json-schema": { + "version": "7.0.12", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", + "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==", + "peer": true }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==" + }, + "@types/mdast": { + "version": "3.0.12", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.12.tgz", + "integrity": "sha512-DT+iNIRNX884cx0/Q1ja7NyUPpZuv0KPyL5rGNxm1WC1OtHstl7n4Jb7nk+xacNShQMbczJjt8uFzznpp6kYBg==", "requires": { - "function-bind": "^1.1.1" + "@types/unist": "^2" } }, - "has-bigints": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", - "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==" + "@types/mdx": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.5.tgz", + "integrity": "sha512-76CqzuD6Q7LC+AtbPqrvD9AqsN0k8bsYo2bM2J8pmNldP1aIPAbzUQ7QbobyXL4eLr1wK5x8FZFe8eF/ubRuBg==" }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + "@types/ms": { + "version": "0.7.31", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.31.tgz", + "integrity": "sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==" }, - "has-property-descriptors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "@types/node": { + "version": "20.4.6", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.4.6.tgz", + "integrity": "sha512-q0RkvNgMweWWIvSMDiXhflGUKMdIxBo2M2tYM/0kEGDueQByFzK4KZAgu5YHGFNxziTlppNpTIBcqHQAxlfHdA==", + "peer": true + }, + "@types/prop-types": { + "version": "15.7.5", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", + "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==" + }, + "@types/react": { + "version": "18.2.18", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.18.tgz", + "integrity": "sha512-da4NTSeBv/P34xoZPhtcLkmZuJ+oYaCxHmyHzwaDQo9RQPBeXV+06gEk2FpqEcsX9XrnNLvRpVh6bdavDSjtiQ==", "requires": { - "get-intrinsic": "^1.1.1" + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" } }, - "has-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==" + "@types/scheduler": { + "version": "0.16.3", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.3.tgz", + "integrity": "sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==" }, - "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" + "@types/unist": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.7.tgz", + "integrity": "sha512-cputDpIbFgLUaGQn6Vqg3/YsJwxUwHLO13v3i5ouxT4lat0khip9AEWxtERujXV9wxIB1EyF97BSJFt6vpdI8g==" }, - "has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "@typescript-eslint/parser": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", + "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", "requires": { - "has-symbols": "^1.0.2" + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "debug": "^4.3.4" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + } } }, - "hast-util-has-property": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/hast-util-has-property/-/hast-util-has-property-2.0.1.tgz", - "integrity": "sha512-X2+RwZIMTMKpXUzlotatPzWj8bspCymtXH3cfG3iQKV+wPF53Vgaqxi/eLqGck0wKq1kS9nvoB1wchbCPEL8sg==" - }, - "hast-util-heading-rank": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/hast-util-heading-rank/-/hast-util-heading-rank-2.1.1.tgz", - "integrity": "sha512-iAuRp+ESgJoRFJbSyaqsfvJDY6zzmFoEnL1gtz1+U8gKtGGj1p0CVlysuUAUjq95qlZESHINLThwJzNGmgGZxA==", + "@typescript-eslint/scope-manager": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", + "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", "requires": { - "@types/hast": "^2.0.0" + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" } }, - "hast-util-to-estree": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/hast-util-to-estree/-/hast-util-to-estree-2.3.3.tgz", - "integrity": "sha512-ihhPIUPxN0v0w6M5+IiAZZrn0LH2uZomeWwhn7uP7avZC6TE7lIiEh2yBMPr5+zi1aUCXq6VoYRgs2Bw9xmycQ==", + "@typescript-eslint/types": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", + "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==" + }, + "@typescript-eslint/typescript-estree": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", + "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", "requires": { - "@types/estree": "^1.0.0", - "@types/estree-jsx": "^1.0.0", - "@types/hast": "^2.0.0", - "@types/unist": "^2.0.0", - "comma-separated-tokens": "^2.0.0", - "estree-util-attach-comments": "^2.0.0", - "estree-util-is-identifier-name": "^2.0.0", - "hast-util-whitespace": "^2.0.0", - "mdast-util-mdx-expression": "^1.0.0", - "mdast-util-mdxjs-esm": "^1.0.0", - "property-information": "^6.0.0", - "space-separated-tokens": "^2.0.0", - "style-to-object": "^0.4.1", - "unist-util-position": "^4.0.0", - "zwitch": "^2.0.0" + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + } } }, - "hast-util-to-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/hast-util-to-string/-/hast-util-to-string-2.0.0.tgz", - "integrity": "sha512-02AQ3vLhuH3FisaMM+i/9sm4OXGSq1UhOOCpTLLQtHdL3tZt7qil69r8M8iDkZYyC0HCFylcYoP+8IO7ddta1A==", + "@typescript-eslint/visitor-keys": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", + "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", "requires": { - "@types/hast": "^2.0.0" + "@typescript-eslint/types": "5.62.0", + "eslint-visitor-keys": "^3.3.0" } }, - "hast-util-whitespace": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-2.0.1.tgz", - "integrity": "sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng==" + "@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==" }, - "highlight.js": { - "version": "10.7.3", - "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz", - "integrity": "sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==" - }, - "http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", - "requires": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" - } - }, - "http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==", + "@webassemblyjs/ast": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", + "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", + "peer": true, "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" } }, - "human-signals": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-4.3.1.tgz", - "integrity": "sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==" + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", + "peer": true }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } + "@webassemblyjs/helper-api-error": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", + "peer": true }, - "ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==" + "@webassemblyjs/helper-buffer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", + "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==", + "peer": true }, - "import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "@webassemblyjs/helper-numbers": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", + "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", "peer": true, "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@xtuc/long": "4.2.2" } }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", "peer": true }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "@webassemblyjs/helper-wasm-section": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", + "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", + "peer": true, "requires": { - "once": "^1.3.0", - "wrappy": "1" + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6" } }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "inline-style-parser": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz", - "integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==" - }, - "internal-slot": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", - "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", + "@webassemblyjs/ieee754": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", + "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "peer": true, "requires": { - "get-intrinsic": "^1.2.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" + "@xtuc/ieee754": "^1.2.0" } }, - "ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" - }, - "is-alphabetical": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz", - "integrity": "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==" + "@webassemblyjs/leb128": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", + "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "peer": true, + "requires": { + "@xtuc/long": "4.2.2" + } }, - "is-alphanumeric": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-alphanumeric/-/is-alphanumeric-1.0.0.tgz", - "integrity": "sha512-ZmRL7++ZkcMOfDuWZuMJyIVLr2keE1o/DeNWh1EmgqGhUcV+9BIVsx0BcSBOHTZqzjs4+dISzr2KAeBEWGgXeA==" + "@webassemblyjs/utf8": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", + "peer": true }, - "is-alphanumerical": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz", - "integrity": "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==", + "@webassemblyjs/wasm-edit": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", + "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", + "peer": true, "requires": { - "is-alphabetical": "^2.0.0", - "is-decimal": "^2.0.0" + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/helper-wasm-section": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-opt": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6", + "@webassemblyjs/wast-printer": "1.11.6" } }, - "is-array-buffer": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", - "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", + "@webassemblyjs/wasm-gen": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", + "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", + "peer": true, "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", - "is-typed-array": "^1.1.10" + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" } }, - "is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "@webassemblyjs/wasm-opt": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", + "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", + "peer": true, "requires": { - "has-bigints": "^1.0.1" + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6" } }, - "is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, + "@webassemblyjs/wasm-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", + "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", + "peer": true, "requires": { - "binary-extensions": "^2.0.0" + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" } }, - "is-boolean-object": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "@webassemblyjs/wast-printer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", + "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", + "peer": true, "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "@webassemblyjs/ast": "1.11.6", + "@xtuc/long": "4.2.2" } }, - "is-buffer": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", - "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==" + "@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "peer": true }, - "is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==" + "@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "peer": true }, - "is-core-module": { - "version": "2.12.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.1.tgz", - "integrity": "sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==", + "accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", "requires": { - "has": "^1.0.3" + "mime-types": "~2.1.34", + "negotiator": "0.6.3" } }, - "is-date-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "acorn": { + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", + "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==" + }, + "acorn-import-assertions": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", + "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", + "peer": true, + "requires": {} + }, + "acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "requires": {} + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "requires": { - "has-tostringtag": "^1.0.0" + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" } }, - "is-decimal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz", - "integrity": "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==" - }, - "is-docker": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", - "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==" + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "peer": true, + "requires": {} }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==" + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", "dev": true }, - "is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, "requires": { - "is-extglob": "^2.1.1" + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" } }, - "is-hexadecimal": { + "arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "dev": true + }, + "argparse": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz", - "integrity": "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==" + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" }, - "is-inside-container": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", - "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", + "aria-query": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", + "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", "requires": { - "is-docker": "^3.0.0" + "dequal": "^2.0.3" } }, - "is-negative-zero": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", - "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==" - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" - }, - "is-number-object": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", - "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "array-buffer-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", + "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", "requires": { - "has-tostringtag": "^1.0.0" + "call-bind": "^1.0.2", + "is-array-buffer": "^3.0.1" } }, - "is-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", - "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==" + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" }, - "is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "peer": true + "array-includes": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz", + "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.3", + "is-string": "^1.0.7" + } }, - "is-plain-obj": { + "array-union": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==" + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==" }, - "is-reference": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-3.0.1.tgz", - "integrity": "sha512-baJJdQLiYaJdvFbJqXrcGv3WU3QCzBlUcI5QhbesIm6/xPsvmO+2CDoi/GMOFBQEQm+PXkwOPrp9KK5ozZsp2w==", + "array.prototype.findlastindex": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.2.tgz", + "integrity": "sha512-tb5thFFlUcp7NdNF6/MpDk/1r/4awWG1FIz3YqDf+/zJSTezBb+/5WViH41obXULHVpDzoiCLpJ/ZO9YbJMsdw==", "requires": { - "@types/estree": "*" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0", + "get-intrinsic": "^1.1.3" } }, - "is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "array.prototype.flat": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz", + "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==", "requires": { "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" } }, - "is-regexp": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", - "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==" - }, - "is-shared-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", - "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "array.prototype.flatmap": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz", + "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==", "requires": { - "call-bind": "^1.0.2" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" } }, - "is-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", - "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==" - }, - "is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "array.prototype.tosorted": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz", + "integrity": "sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==", "requires": { - "has-tostringtag": "^1.0.0" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0", + "get-intrinsic": "^1.1.3" } }, - "is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "arraybuffer.prototype.slice": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.1.tgz", + "integrity": "sha512-09x0ZWFEjj4WD8PDbykUwo3t9arLn8NIzmmYEJFpYekOAQjpkGSyrQhNoRTcwwcFRu+ycWF78QZ63oWTqSjBcw==", "requires": { - "has-symbols": "^1.0.2" + "array-buffer-byte-length": "^1.0.0", + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "get-intrinsic": "^1.2.1", + "is-array-buffer": "^3.0.2", + "is-shared-array-buffer": "^1.0.2" } }, - "is-typed-array": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", - "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", + "asn1": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", "requires": { - "which-typed-array": "^1.1.11" + "safer-buffer": "~2.1.0" } }, - "is-typedarray": { + "assert-plus": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==" }, - "is-weakref": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", - "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", - "requires": { - "call-bind": "^1.0.2" - } - }, - "is-whitespace-character": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.4.tgz", - "integrity": "sha512-SDweEzfIZM0SJV0EUga669UTKlmL0Pq8Lno0QDQsPnvECB3IM2aP0gdx5TrU0A01MAPfViaZiI2V1QMZLaKK5w==" - }, - "is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "requires": { - "is-docker": "^2.0.0" - }, - "dependencies": { - "is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==" - } - } + "ast-types-flow": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", + "integrity": "sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==" }, - "isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" + "astring": { + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/astring/-/astring-1.8.6.tgz", + "integrity": "sha512-ISvCdHdlTDlH5IpxQJIex7BWBywFWgjJSVdwst+/iQCoEYnyOaQ95+X1JGshuBjGp6nxKUy1jMgE3zPqN7fQdg==" }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==" + "at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true }, - "jest-worker": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", - "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", - "peer": true, + "autoprefixer": { + "version": "10.4.14", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.14.tgz", + "integrity": "sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==", + "dev": true, "requires": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "dependencies": { - "supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "peer": true, - "requires": { - "has-flag": "^4.0.0" - } - } + "browserslist": "^4.21.5", + "caniuse-lite": "^1.0.30001464", + "fraction.js": "^4.2.0", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" } }, - "jiti": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.19.1.tgz", - "integrity": "sha512-oVhqoRDaBXf7sjkll95LHVS6Myyyb1zaunVwk4Z0+WPSW4gjS0pl01zYKHScTuyEhQsFxV5L4DR5r+YqSyqyyg==", - "dev": true + "available-typed-arrays": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==" }, - "joycon": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/joycon/-/joycon-3.1.1.tgz", - "integrity": "sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==", - "dev": true + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==" }, - "jquery": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/jquery/-/jquery-2.2.4.tgz", - "integrity": "sha512-lBHj60ezci2u1v2FqnZIraShGgEXq35qCzMv4lITyHGppTnA13rwR0MgwyNJh9TnDs3aXUvd1xjAotfraMHX/Q==" + "aws4": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz", + "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==" }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + "axe-core": { + "version": "4.7.2", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.7.2.tgz", + "integrity": "sha512-zIURGIS1E1Q4pcrMjp+nnEh+16G56eG/MUllJH8yEvw7asDo7Ac9uhC9KIH5jzpITueEZolfYglnCGIuSBz39g==" }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "axobject-query": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.2.1.tgz", + "integrity": "sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==", "requires": { - "argparse": "^2.0.1" + "dequal": "^2.0.3" } }, - "jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==" + "bail": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", + "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==" }, - "json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "peer": true + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, - "json-schema": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", - "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" + "batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==" }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", + "requires": { + "tweetnacl": "^0.14.3" + } }, - "json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "peer": true + "big-integer": { + "version": "1.6.51", + "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.51.tgz", + "integrity": "sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==" }, - "json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==" + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true }, - "json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", "dev": true }, - "jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, + "body-parser": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", + "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^2.0.0" + "bytes": "3.1.2", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + } } }, - "jsonpointer": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.1.0.tgz", - "integrity": "sha512-CXcRvMyTlnR53xMcKnuMzfCA5i/nfblTnnr74CZb6C4vG39eu6w51t7nKmU5MfLfbTgGItliNyjO/ciNPDqClg==" - }, - "jsonpointer.js": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/jsonpointer.js/-/jsonpointer.js-0.4.0.tgz", - "integrity": "sha512-2bf/1crAmPpsmj1I6rDT6W0SOErkrNBpb555xNWcMVWYrX6VnXpG0GRMQ2shvOHwafpfse8q0gnzPFYVH6Tqdg==" + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "dev": true }, - "jsprim": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", - "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", + "bplist-parser": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.2.0.tgz", + "integrity": "sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==", "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.4.0", - "verror": "1.10.0" + "big-integer": "^1.6.44" } }, - "jsx-ast-utils": { - "version": "3.3.5", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", - "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", - "requires": { - "array-includes": "^3.1.6", - "array.prototype.flat": "^1.3.1", - "object.assign": "^4.1.4", - "object.values": "^1.1.6" + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" - }, - "kleur": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", - "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==" - }, - "language-subtag-registry": { - "version": "0.3.22", - "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz", - "integrity": "sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==" - }, - "language-tags": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz", - "integrity": "sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==", + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "requires": { - "language-subtag-registry": "~0.3.2" + "fill-range": "^7.0.1" } }, - "levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "peer": true, + "browserslist": { + "version": "4.21.10", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.10.tgz", + "integrity": "sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ==", "requires": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" + "caniuse-lite": "^1.0.30001517", + "electron-to-chromium": "^1.4.477", + "node-releases": "^2.0.13", + "update-browserslist-db": "^1.0.11" } }, - "lilconfig": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", - "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", - "dev": true - }, - "lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "dev": true - }, - "loader-runner": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", - "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", "peer": true }, - "loader-utils": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", - "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", - "dev": true, + "bundle-name": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-3.0.0.tgz", + "integrity": "sha512-PKA4BeSvBpQKQ8iPOGCSiell+N8P+Tf1DlwqmYhpe2gAhKPHn8EYOxVT+ShuGmhg8lN8XiSlS80yiExKXrURlw==", "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" + "run-applescript": "^5.0.0" } }, - "locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "peer": true, + "busboy": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", + "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", "requires": { - "p-locate": "^5.0.0" + "streamsearch": "^1.1.0" } }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + "bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" }, - "lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", - "dev": true + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } }, - "lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "peer": true }, - "lodash.uniq": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==", + "camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", "dev": true }, - "longest-streak": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz", - "integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==" - }, - "loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", + "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "dev": true, "requires": { - "js-tokens": "^3.0.0 || ^4.0.0" + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" } }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "caniuse-lite": { + "version": "1.0.30001518", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001518.tgz", + "integrity": "sha512-rup09/e3I0BKjncL+FesTayKtPrdwKhUufQFd3riFw1hHg8JmIFoInYfB102cFcY/pPgGmdyl/iy+jgiDi2vdA==" + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" + }, + "ccount": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", + "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==" + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "requires": { - "yallist": "^4.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" } }, - "lz-string": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", - "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==" - }, - "markdown-escapes": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.4.tgz", - "integrity": "sha512-8z4efJYk43E0upd0NbVXwgSTQs6cT3T06etieCMEg7dRbzCbxUCK/GHlX8mhHRDcp+OLlHkPKsvqQTCvsRl2cg==" + "character-entities": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", + "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==" }, - "markdown-extensions": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/markdown-extensions/-/markdown-extensions-1.1.1.tgz", - "integrity": "sha512-WWC0ZuMzCyDHYCasEGs4IPvLyTGftYwh6wIEOULOF0HXcqZlhwRzrK0w2VUlxWA98xnvb/jszw4ZSkJ6ADpM6Q==" + "character-entities-html4": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", + "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==" }, - "markdown-table": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.3.tgz", - "integrity": "sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==" + "character-entities-legacy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", + "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==" }, - "marked": { - "version": "0.3.19", - "resolved": "https://registry.npmjs.org/marked/-/marked-0.3.19.tgz", - "integrity": "sha512-ea2eGWOqNxPcXv8dyERdSr/6FmzvWwzjMxpfGB/sbMccXoct+xY+YukPD+QTUZwyvK7BZwcr4m21WBOW41pAkg==" + "character-reference-invalid": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz", + "integrity": "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==" }, - "mdast-util-compact": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mdast-util-compact/-/mdast-util-compact-1.0.4.tgz", - "integrity": "sha512-3YDMQHI5vRiS2uygEFYaqckibpJtKq5Sj2c8JioeOQBU6INpKbdWzfyLqFFnDwEcEnRFIdMsguzs5pC1Jp4Isg==", + "chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, "requires": { - "unist-util-visit": "^1.1.0" + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" }, "dependencies": { + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "peer": true + }, + "client-only": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", + "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==" + }, + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "codemirror": { + "version": "5.65.14", + "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.65.14.tgz", + "integrity": "sha512-VSNugIBDGt0OU9gDjeVr6fNkoFQznrWEUdAApMlXQNbfE8gGO19776D6MwSqF/V/w/sDwonsQ0z7KmmI9guScg==" + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "colord": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", + "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==", + "dev": true + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "comma-separated-tokens": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", + "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==" + }, + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "requires": { + "safe-buffer": "5.2.1" + } + }, + "content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==" + }, + "cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==" + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==" + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "css-declaration-sorter": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.4.1.tgz", + "integrity": "sha512-rtdthzxKuyq6IzqX6jEcIzQF/YqccluefyCYheovBOLhFT/drQA9zj/UbRAa9J7C0o6EG6u3E6g+vKkay7/k3g==", + "dev": true, + "requires": {} + }, + "css-select": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", + "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", + "dev": true, + "requires": { + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" + } + }, + "css-tree": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", + "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", + "dev": true, + "requires": { + "mdn-data": "2.0.30", + "source-map-js": "^1.0.1" + } + }, + "css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "dev": true + }, + "cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true + }, + "cssnano": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-6.0.1.tgz", + "integrity": "sha512-fVO1JdJ0LSdIGJq68eIxOqFpIJrZqXUsBt8fkrBcztCQqAjQD51OhZp7tc0ImcbwXD4k7ny84QTV90nZhmqbkg==", + "dev": true, + "requires": { + "cssnano-preset-default": "^6.0.1", + "lilconfig": "^2.1.0" + } + }, + "cssnano-preset-default": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-6.0.1.tgz", + "integrity": "sha512-7VzyFZ5zEB1+l1nToKyrRkuaJIx0zi/1npjvZfbBwbtNTzhLtlvYraK/7/uqmX2Wb2aQtd983uuGw79jAjLSuQ==", + "dev": true, + "requires": { + "css-declaration-sorter": "^6.3.1", + "cssnano-utils": "^4.0.0", + "postcss-calc": "^9.0.0", + "postcss-colormin": "^6.0.0", + "postcss-convert-values": "^6.0.0", + "postcss-discard-comments": "^6.0.0", + "postcss-discard-duplicates": "^6.0.0", + "postcss-discard-empty": "^6.0.0", + "postcss-discard-overridden": "^6.0.0", + "postcss-merge-longhand": "^6.0.0", + "postcss-merge-rules": "^6.0.1", + "postcss-minify-font-values": "^6.0.0", + "postcss-minify-gradients": "^6.0.0", + "postcss-minify-params": "^6.0.0", + "postcss-minify-selectors": "^6.0.0", + "postcss-normalize-charset": "^6.0.0", + "postcss-normalize-display-values": "^6.0.0", + "postcss-normalize-positions": "^6.0.0", + "postcss-normalize-repeat-style": "^6.0.0", + "postcss-normalize-string": "^6.0.0", + "postcss-normalize-timing-functions": "^6.0.0", + "postcss-normalize-unicode": "^6.0.0", + "postcss-normalize-url": "^6.0.0", + "postcss-normalize-whitespace": "^6.0.0", + "postcss-ordered-values": "^6.0.0", + "postcss-reduce-initial": "^6.0.0", + "postcss-reduce-transforms": "^6.0.0", + "postcss-svgo": "^6.0.0", + "postcss-unique-selectors": "^6.0.0" + } + }, + "cssnano-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-4.0.0.tgz", + "integrity": "sha512-Z39TLP+1E0KUcd7LGyF4qMfu8ZufI0rDzhdyAMsa/8UyNUU8wpS0fhdBxbQbv32r64ea00h4878gommRVg2BHw==", + "dev": true, + "requires": {} + }, + "csso": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz", + "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==", + "dev": true, + "requires": { + "css-tree": "~2.2.0" + }, + "dependencies": { + "css-tree": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz", + "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==", + "dev": true, + "requires": { + "mdn-data": "2.0.28", + "source-map-js": "^1.0.1" + } + }, + "mdn-data": { + "version": "2.0.28", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz", + "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==", + "dev": true + } + } + }, + "csstype": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", + "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" + }, + "damerau-levenshtein": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", + "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==" + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", + "requires": { + "assert-plus": "^1.0.0" + } + }, + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "requires": { + "ms": "^2.1.1" + } + }, + "decode-named-character-reference": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz", + "integrity": "sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==", + "requires": { + "character-entities": "^2.0.0" + } + }, + "deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "peer": true + }, + "default-browser": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-4.0.0.tgz", + "integrity": "sha512-wX5pXO1+BrhMkSbROFsyxUm0i/cJEScyNhA4PPxc41ICuv05ZZB/MX28s8aZx6xjmatvebIapF6hLEKEcpneUA==", + "requires": { + "bundle-name": "^3.0.0", + "default-browser-id": "^3.0.0", + "execa": "^7.1.1", + "titleize": "^3.0.0" + } + }, + "default-browser-id": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-3.0.0.tgz", + "integrity": "sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA==", + "requires": { + "bplist-parser": "^0.2.0", + "untildify": "^4.0.0" + } + }, + "define-lazy-prop": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", + "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==" + }, + "define-properties": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", + "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", + "requires": { + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" + }, + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" + }, + "dependency-graph": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.9.0.tgz", + "integrity": "sha512-9YLIBURXj4DJMFALxXw9K3Y3rwb5Fk0X5/8ipCzaN84+gKxoHK43tVKRNakCQbiEx07E8Uwhuq21BpUagFhZ8w==", + "dev": true + }, + "dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==" + }, + "destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==" + }, + "devlop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", + "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==", + "requires": { + "dequal": "^2.0.0" + } + }, + "didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", + "dev": true + }, + "diff": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz", + "integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==" + }, + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "requires": { + "path-type": "^4.0.0" + } + }, + "dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "dev": true + }, + "docson": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/docson/-/docson-2.1.0.tgz", + "integrity": "sha512-0NbHZPfyMaEIIDQzhhRN9EmAK9sBLOqLt7B8dCjGyl2ytUpbAgmixpVMgpg1rQK04Or5fuEkQsHQRehdEF2BTA==", + "requires": { + "commander": "^2.15.1", + "debug": "^3.1.0", + "express": "^4.16.3", + "handlebars": "^4.0.11", + "jquery": "^2.2.4", + "jsonpointer": "^4.0.1", + "jsonpointer.js": "^0.4.0", + "lodash": "^4.17.10", + "marked": "^0.3.14", + "serve-index": "^1.9.1", + "traverse": "^0.6.6", + "urijs": "^1.19.1" + } + }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "peer": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "dev": true, + "requires": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + } + }, + "domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true + }, + "domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "dev": true, + "requires": { + "domelementtype": "^2.3.0" + } + }, + "domutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", + "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", + "dev": true, + "requires": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + } + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" + }, + "electron-to-chromium": { + "version": "1.4.482", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.482.tgz", + "integrity": "sha512-h+UqpfmEr1Qkk0zp7ej/jid7CXoq4m4QzW6wNTb0ELJ/BZCpA4wgUylBIMGCe621tnr4l5VmoHjdoSx2lbnNJA==" + }, + "emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" + }, + "emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "dev": true + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==" + }, + "enhanced-resolve": { + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", + "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", + "requires": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + } + }, + "entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true + }, + "es-abstract": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.1.tgz", + "integrity": "sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw==", + "requires": { + "array-buffer-byte-length": "^1.0.0", + "arraybuffer.prototype.slice": "^1.0.1", + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "es-set-tostringtag": "^2.0.1", + "es-to-primitive": "^1.2.1", + "function.prototype.name": "^1.1.5", + "get-intrinsic": "^1.2.1", + "get-symbol-description": "^1.0.0", + "globalthis": "^1.0.3", + "gopd": "^1.0.1", + "has": "^1.0.3", + "has-property-descriptors": "^1.0.0", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.5", + "is-array-buffer": "^3.0.2", + "is-callable": "^1.2.7", + "is-negative-zero": "^2.0.2", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "is-string": "^1.0.7", + "is-typed-array": "^1.1.10", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.3", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.5.0", + "safe-array-concat": "^1.0.0", + "safe-regex-test": "^1.0.0", + "string.prototype.trim": "^1.2.7", + "string.prototype.trimend": "^1.0.6", + "string.prototype.trimstart": "^1.0.6", + "typed-array-buffer": "^1.0.0", + "typed-array-byte-length": "^1.0.0", + "typed-array-byte-offset": "^1.0.0", + "typed-array-length": "^1.0.4", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.10" + } + }, + "es-module-lexer": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.0.tgz", + "integrity": "sha512-vZK7T0N2CBmBOixhmjdqx2gWVbFZ4DXZ/NyRMZVlJXPa7CyFS+/a4QQsDGDQy9ZfEzxFuNEsMLeQJnKP2p5/JA==", + "peer": true + }, + "es-set-tostringtag": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", + "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", + "requires": { + "get-intrinsic": "^1.1.3", + "has": "^1.0.3", + "has-tostringtag": "^1.0.0" + } + }, + "es-shim-unscopables": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", + "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", + "requires": { + "has": "^1.0.3" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "esbuild": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.16.17.tgz", + "integrity": "sha512-G8LEkV0XzDMNwXKgM0Jwu3nY3lSTwSGY6XbxM9cr9+s0T/qSV1q1JVPBGzm3dcjhCic9+emZDmMffkwgPeOeLg==", + "dev": true, + "requires": { + "@esbuild/android-arm": "0.16.17", + "@esbuild/android-arm64": "0.16.17", + "@esbuild/android-x64": "0.16.17", + "@esbuild/darwin-arm64": "0.16.17", + "@esbuild/darwin-x64": "0.16.17", + "@esbuild/freebsd-arm64": "0.16.17", + "@esbuild/freebsd-x64": "0.16.17", + "@esbuild/linux-arm": "0.16.17", + "@esbuild/linux-arm64": "0.16.17", + "@esbuild/linux-ia32": "0.16.17", + "@esbuild/linux-loong64": "0.16.17", + "@esbuild/linux-mips64el": "0.16.17", + "@esbuild/linux-ppc64": "0.16.17", + "@esbuild/linux-riscv64": "0.16.17", + "@esbuild/linux-s390x": "0.16.17", + "@esbuild/linux-x64": "0.16.17", + "@esbuild/netbsd-x64": "0.16.17", + "@esbuild/openbsd-x64": "0.16.17", + "@esbuild/sunos-x64": "0.16.17", + "@esbuild/win32-arm64": "0.16.17", + "@esbuild/win32-ia32": "0.16.17", + "@esbuild/win32-x64": "0.16.17" + } + }, + "esbuild-loader": { + "version": "2.21.0", + "resolved": "https://registry.npmjs.org/esbuild-loader/-/esbuild-loader-2.21.0.tgz", + "integrity": "sha512-k7ijTkCT43YBSZ6+fBCW1Gin7s46RrJ0VQaM8qA7lq7W+OLsGgtLyFV8470FzYi/4TeDexniTBTPTwZUnXXR5g==", + "dev": true, + "requires": { + "esbuild": "^0.16.17", + "joycon": "^3.0.1", + "json5": "^2.2.0", + "loader-utils": "^2.0.0", + "tapable": "^2.2.0", + "webpack-sources": "^1.4.3" + } + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + }, + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "peer": true + }, + "eslint": { + "version": "8.46.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.46.0.tgz", + "integrity": "sha512-cIO74PvbW0qU8e0mIvk5IV3ToWdCq5FYG6gWPHHkx6gNdjlbAYvtfHmlCMXxjcoVaIdwy/IAt3+mDkZkfvb2Dg==", + "peer": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.1", + "@eslint/js": "^8.46.0", + "@humanwhocodes/config-array": "^0.11.10", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.2", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "peer": true, + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "peer": true + } + } + }, + "eslint-config-next": { + "version": "13.4.12", + "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-13.4.12.tgz", + "integrity": "sha512-ZF0r5vxKaVazyZH/37Au/XItiG7qUOBw+HaH3PeyXltIMwXorsn6bdrl0Nn9N5v5v9spc+6GM2ryjugbjF6X2g==", + "requires": { + "@next/eslint-plugin-next": "13.4.12", + "@rushstack/eslint-patch": "^1.1.3", + "@typescript-eslint/parser": "^5.42.0", + "eslint-import-resolver-node": "^0.3.6", + "eslint-import-resolver-typescript": "^3.5.2", + "eslint-plugin-import": "^2.26.0", + "eslint-plugin-jsx-a11y": "^6.5.1", + "eslint-plugin-react": "^7.31.7", + "eslint-plugin-react-hooks": "5.0.0-canary-7118f5dd7-20230705" + } + }, + "eslint-import-resolver-node": { + "version": "0.3.7", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz", + "integrity": "sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==", + "requires": { + "debug": "^3.2.7", + "is-core-module": "^2.11.0", + "resolve": "^1.22.1" + } + }, + "eslint-import-resolver-typescript": { + "version": "3.5.5", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.5.5.tgz", + "integrity": "sha512-TdJqPHs2lW5J9Zpe17DZNQuDnox4xo2o+0tE7Pggain9Rbc19ik8kFtXdxZ250FVx2kF4vlt2RSf4qlUpG7bhw==", + "requires": { + "debug": "^4.3.4", + "enhanced-resolve": "^5.12.0", + "eslint-module-utils": "^2.7.4", + "get-tsconfig": "^4.5.0", + "globby": "^13.1.3", + "is-core-module": "^2.11.0", + "is-glob": "^4.0.3", + "synckit": "^0.8.5" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + }, + "globby": { + "version": "13.2.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz", + "integrity": "sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==", + "requires": { + "dir-glob": "^3.0.1", + "fast-glob": "^3.3.0", + "ignore": "^5.2.4", + "merge2": "^1.4.1", + "slash": "^4.0.0" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "slash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==" + } + } + }, + "eslint-module-utils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz", + "integrity": "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==", + "requires": { + "debug": "^3.2.7" + } + }, + "eslint-plugin-import": { + "version": "2.28.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.28.0.tgz", + "integrity": "sha512-B8s/n+ZluN7sxj9eUf7/pRFERX0r5bnFA2dCaLHy2ZeaQEAz0k+ZZkFWRFHJAqxfxQDx6KLv9LeIki7cFdwW+Q==", + "requires": { + "array-includes": "^3.1.6", + "array.prototype.findlastindex": "^1.2.2", + "array.prototype.flat": "^1.3.1", + "array.prototype.flatmap": "^1.3.1", + "debug": "^3.2.7", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.7", + "eslint-module-utils": "^2.8.0", + "has": "^1.0.3", + "is-core-module": "^2.12.1", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.6", + "object.groupby": "^1.0.0", + "object.values": "^1.1.6", + "resolve": "^1.22.3", + "semver": "^6.3.1", + "tsconfig-paths": "^3.14.2" + }, + "dependencies": { + "doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "requires": { + "esutils": "^2.0.2" + } + }, + "resolve": { + "version": "1.22.3", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.3.tgz", + "integrity": "sha512-P8ur/gp/AmbEzjr729bZnLjXK5Z+4P0zhIJgBgzqRih7hL7BOukHGtSTA3ACMY467GRFz3duQsi0bDZdR7DKdw==", + "requires": { + "is-core-module": "^2.12.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" + } + } + }, + "eslint-plugin-jsx-a11y": { + "version": "6.7.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.7.1.tgz", + "integrity": "sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==", + "requires": { + "@babel/runtime": "^7.20.7", + "aria-query": "^5.1.3", + "array-includes": "^3.1.6", + "array.prototype.flatmap": "^1.3.1", + "ast-types-flow": "^0.0.7", + "axe-core": "^4.6.2", + "axobject-query": "^3.1.1", + "damerau-levenshtein": "^1.0.8", + "emoji-regex": "^9.2.2", + "has": "^1.0.3", + "jsx-ast-utils": "^3.3.3", + "language-tags": "=1.0.5", + "minimatch": "^3.1.2", + "object.entries": "^1.1.6", + "object.fromentries": "^2.0.6", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" + } + } + }, + "eslint-plugin-react": { + "version": "7.33.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.33.1.tgz", + "integrity": "sha512-L093k0WAMvr6VhNwReB8VgOq5s2LesZmrpPdKz/kZElQDzqS7G7+DnKoqT+w4JwuiGeAhAvHO0fvy0Eyk4ejDA==", + "requires": { + "array-includes": "^3.1.6", + "array.prototype.flatmap": "^1.3.1", + "array.prototype.tosorted": "^1.1.1", + "doctrine": "^2.1.0", + "estraverse": "^5.3.0", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.6", + "object.fromentries": "^2.0.6", + "object.hasown": "^1.1.2", + "object.values": "^1.1.6", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.4", + "semver": "^6.3.1", + "string.prototype.matchall": "^4.0.8" + }, + "dependencies": { + "doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "requires": { + "esutils": "^2.0.2" + } + }, + "resolve": { + "version": "2.0.0-next.4", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz", + "integrity": "sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==", + "requires": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" + } + } + }, + "eslint-plugin-react-hooks": { + "version": "5.0.0-canary-7118f5dd7-20230705", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.0.0-canary-7118f5dd7-20230705.tgz", + "integrity": "sha512-AZYbMo/NW9chdL7vk6HQzQhT+PvTAEVqWk9ziruUoW2kAOcN5qNyelv70e0F1VNQAbvutOC9oc+xfWycI9FxDw==", + "requires": {} + }, + "eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "peer": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "eslint-visitor-keys": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.2.tgz", + "integrity": "sha512-8drBzUEyZ2llkpCA67iYrgEssKDUu68V8ChqqOfFupIaG/LCVPUT+CoGJpT77zJprs4T/W7p07LP7zAIMuweVw==" + }, + "espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "peer": true, + "requires": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + }, + "esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "peer": true, + "requires": { + "estraverse": "^5.1.0" + } + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "peer": true, + "requires": { + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" + }, + "estree-util-is-identifier-name": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-2.1.0.tgz", + "integrity": "sha512-bEN9VHRyXAUOjkKVQVvArFym08BTWB0aJPppZZr0UNyAqWsLaVfAqP7hbaTJjzHifmB5ebnR8Wm7r7yGN/HonQ==" + }, + "estree-util-value-to-estree": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/estree-util-value-to-estree/-/estree-util-value-to-estree-3.0.1.tgz", + "integrity": "sha512-b2tdzTurEIbwRh+mKrEcaWfu1wgb8J1hVsgREg7FFiecWwK/PhO8X0kyc+0bIcKNtD4sqxIdNoRy6/p/TvECEA==", + "requires": { + "@types/estree": "^1.0.0", + "is-plain-obj": "^4.0.0" + } + }, + "estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "requires": { + "@types/estree": "^1.0.0" + } + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==" + }, + "events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "peer": true + }, + "execa": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-7.2.0.tgz", + "integrity": "sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==", + "requires": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.1", + "human-signals": "^4.3.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^3.0.7", + "strip-final-newline": "^3.0.0" + } + }, + "express": { + "version": "4.18.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", + "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", + "requires": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.1", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.5.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.11.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + } + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "requires": { + "is-extendable": "^0.1.0" + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==" + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, + "fast-glob": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", + "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "peer": true + }, + "fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "requires": { + "reusify": "^1.0.4" + } + }, + "fault": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fault/-/fault-2.0.1.tgz", + "integrity": "sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==", + "requires": { + "format": "^0.2.0" + } + }, + "file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "peer": true, + "requires": { + "flat-cache": "^3.0.4" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + } + } + }, + "find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "peer": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "peer": true, + "requires": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + } + }, + "flatted": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", + "peer": true + }, + "for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "requires": { + "is-callable": "^1.1.3" + } + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==" + }, + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "format": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/format/-/format-0.2.2.tgz", + "integrity": "sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==" + }, + "forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==" + }, + "fraction.js": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", + "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==", + "dev": true + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==" + }, + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "optional": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "function.prototype.name": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", + "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0", + "functions-have-names": "^1.2.2" + } + }, + "functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==" + }, + "fuse.js": { + "version": "6.6.2", + "resolved": "https://registry.npmjs.org/fuse.js/-/fuse.js-6.6.2.tgz", + "integrity": "sha512-cJaJkxCCxC8qIIcPBF9yGxY0W/tVZS3uEISDxhYIdtk8OL93pe+6Zj7LjCqVV4dzbqcriOZ+kQ/NE4RXZHsIGA==" + }, + "gentype": { + "version": "3.50.0", + "resolved": "https://registry.npmjs.org/gentype/-/gentype-3.50.0.tgz", + "integrity": "sha512-EKZzbS4HBuw80zDm5ZJxDdfoGw4nYClTgkv4vp8/db1MXmvCdJSA2NuvxNBYF8i5VqYccdQWzNGClmhWpTFWFQ==" + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, + "get-intrinsic": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", + "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3" + } + }, + "get-own-enumerable-property-symbols": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", + "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==" + }, + "get-stdin": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-8.0.0.tgz", + "integrity": "sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==", + "dev": true + }, + "get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==" + }, + "get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + } + }, + "get-tsconfig": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.6.2.tgz", + "integrity": "sha512-E5XrT4CbbXcXWy+1jChlZmrmCwd5KGx502kDCXJJ7y898TtWW9FwoG5HfOLVRKmlmDGkWN2HM9Ho+/Y8F0sJDg==", + "requires": { + "resolve-pkg-maps": "^1.0.0" + } + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", + "requires": { + "assert-plus": "^1.0.0" + } + }, + "github-slugger": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-2.0.0.tgz", + "integrity": "sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==" + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "requires": { + "is-glob": "^4.0.3" + } + }, + "glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" + }, + "globals": { + "version": "13.20.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", + "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", + "peer": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "globalthis": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", + "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "requires": { + "define-properties": "^1.1.3" + } + }, + "globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + } + }, + "gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "requires": { + "get-intrinsic": "^1.1.3" + } + }, + "graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + }, + "graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "peer": true + }, + "gray-matter": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz", + "integrity": "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==", + "requires": { + "js-yaml": "^3.13.1", + "kind-of": "^6.0.2", + "section-matter": "^1.0.0", + "strip-bom-string": "^1.0.0" + }, + "dependencies": { + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + } + } + }, + "handlebars": { + "version": "4.7.8", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz", + "integrity": "sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==", + "requires": { + "minimist": "^1.2.5", + "neo-async": "^2.6.2", + "source-map": "^0.6.1", + "uglify-js": "^3.1.4", + "wordwrap": "^1.0.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==" + }, + "har-validator": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", + "requires": { + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + } + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "requires": { + "get-intrinsic": "^1.1.1" + } + }, + "has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==" + }, + "has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" + }, + "has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "requires": { + "has-symbols": "^1.0.2" + } + }, + "hast-util-has-property": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/hast-util-has-property/-/hast-util-has-property-2.0.1.tgz", + "integrity": "sha512-X2+RwZIMTMKpXUzlotatPzWj8bspCymtXH3cfG3iQKV+wPF53Vgaqxi/eLqGck0wKq1kS9nvoB1wchbCPEL8sg==" + }, + "hast-util-heading-rank": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/hast-util-heading-rank/-/hast-util-heading-rank-2.1.1.tgz", + "integrity": "sha512-iAuRp+ESgJoRFJbSyaqsfvJDY6zzmFoEnL1gtz1+U8gKtGGj1p0CVlysuUAUjq95qlZESHINLThwJzNGmgGZxA==", + "requires": { + "@types/hast": "^2.0.0" + } + }, + "hast-util-to-jsx-runtime": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.3.0.tgz", + "integrity": "sha512-H/y0+IWPdsLLS738P8tDnrQ8Z+dj12zQQ6WC11TIM21C8WFVoIxcqWXf2H3hiTVZjF1AWqoimGwrTWecWrnmRQ==", + "requires": { + "@types/estree": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "hast-util-whitespace": "^3.0.0", + "mdast-util-mdx-expression": "^2.0.0", + "mdast-util-mdx-jsx": "^3.0.0", + "mdast-util-mdxjs-esm": "^2.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0", + "style-to-object": "^1.0.0", + "unist-util-position": "^5.0.0", + "vfile-message": "^4.0.0" + }, + "dependencies": { + "@types/hast": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.3.tgz", + "integrity": "sha512-2fYGlaDy/qyLlhidX42wAH0KBi2TCjKMH8CHmBXgRlJ3Y+OXTiqsPQ6IWarZKwF1JoUcAJdPogv1d4b0COTpmQ==", + "requires": { + "@types/unist": "*" + } + }, + "@types/unist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", + "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==" + }, + "estree-util-is-identifier-name": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-3.0.0.tgz", + "integrity": "sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==" + }, + "inline-style-parser": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.2.tgz", + "integrity": "sha512-EcKzdTHVe8wFVOGEYXiW9WmJXPjqi1T+234YpJr98RiFYKHV3cdy1+3mkTE+KHTHxFFLH51SfaGOoUdW+v7ViQ==" + }, + "style-to-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-1.0.5.tgz", + "integrity": "sha512-rDRwHtoDD3UMMrmZ6BzOW0naTjMsVZLIjsGleSKS/0Oz+cgCfAPRspaqJuE8rDzpKha/nEvnM0IF4seEAZUTKQ==", + "requires": { + "inline-style-parser": "0.2.2" + } + }, + "unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "requires": { + "@types/unist": "^3.0.0" + } + }, + "vfile-message": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.2.tgz", + "integrity": "sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==", + "requires": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0" + } + } + } + }, + "hast-util-to-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hast-util-to-string/-/hast-util-to-string-2.0.0.tgz", + "integrity": "sha512-02AQ3vLhuH3FisaMM+i/9sm4OXGSq1UhOOCpTLLQtHdL3tZt7qil69r8M8iDkZYyC0HCFylcYoP+8IO7ddta1A==", + "requires": { + "@types/hast": "^2.0.0" + } + }, + "hast-util-whitespace": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz", + "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==", + "requires": { + "@types/hast": "^3.0.0" + }, + "dependencies": { + "@types/hast": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.3.tgz", + "integrity": "sha512-2fYGlaDy/qyLlhidX42wAH0KBi2TCjKMH8CHmBXgRlJ3Y+OXTiqsPQ6IWarZKwF1JoUcAJdPogv1d4b0COTpmQ==", + "requires": { + "@types/unist": "*" + } + } + } + }, + "highlight.js": { + "version": "10.7.3", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz", + "integrity": "sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==" + }, + "html-url-attributes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-url-attributes/-/html-url-attributes-3.0.0.tgz", + "integrity": "sha512-/sXbVCWayk6GDVg3ctOX6nxaVj7So40FcFAnWlWGNAB1LpYKcV5Cd10APjPjW80O7zYW2MsjBV4zZ7IZO5fVow==" + }, + "http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "requires": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + } + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==", + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "human-signals": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-4.3.1.tgz", + "integrity": "sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==" + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==" + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "peer": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "peer": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "inline-style-parser": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz", + "integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==" + }, + "internal-slot": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", + "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", + "requires": { + "get-intrinsic": "^1.2.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + } + }, + "ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" + }, + "is-alphabetical": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz", + "integrity": "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==" + }, + "is-alphanumeric": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-alphanumeric/-/is-alphanumeric-1.0.0.tgz", + "integrity": "sha512-ZmRL7++ZkcMOfDuWZuMJyIVLr2keE1o/DeNWh1EmgqGhUcV+9BIVsx0BcSBOHTZqzjs4+dISzr2KAeBEWGgXeA==" + }, + "is-alphanumerical": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz", + "integrity": "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==", + "requires": { + "is-alphabetical": "^2.0.0", + "is-decimal": "^2.0.0" + } + }, + "is-array-buffer": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", + "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "is-typed-array": "^1.1.10" + } + }, + "is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "requires": { + "has-bigints": "^1.0.1" + } + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-buffer": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", + "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==" + }, + "is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==" + }, + "is-core-module": { + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.1.tgz", + "integrity": "sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==", + "requires": { + "has": "^1.0.3" + } + }, + "is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-decimal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz", + "integrity": "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==" + }, + "is-docker": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", + "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==" + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==" + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-hexadecimal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz", + "integrity": "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==" + }, + "is-inside-container": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", + "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", + "requires": { + "is-docker": "^3.0.0" + } + }, + "is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==" + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + }, + "is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==" + }, + "is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "peer": true + }, + "is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==" + }, + "is-reference": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-3.0.1.tgz", + "integrity": "sha512-baJJdQLiYaJdvFbJqXrcGv3WU3QCzBlUcI5QhbesIm6/xPsvmO+2CDoi/GMOFBQEQm+PXkwOPrp9KK5ozZsp2w==", + "requires": { + "@types/estree": "*" + } + }, + "is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", + "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==" + }, + "is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "requires": { + "call-bind": "^1.0.2" + } + }, + "is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==" + }, + "is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "requires": { + "has-symbols": "^1.0.2" + } + }, + "is-typed-array": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", + "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", + "requires": { + "which-typed-array": "^1.1.11" + } + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" + }, + "is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "requires": { + "call-bind": "^1.0.2" + } + }, + "is-whitespace-character": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.4.tgz", + "integrity": "sha512-SDweEzfIZM0SJV0EUga669UTKlmL0Pq8Lno0QDQsPnvECB3IM2aP0gdx5TrU0A01MAPfViaZiI2V1QMZLaKK5w==" + }, + "is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "requires": { + "is-docker": "^2.0.0" + }, + "dependencies": { + "is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==" + } + } + }, + "isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==" + }, + "jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "peer": true, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "dependencies": { + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "peer": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jiti": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.19.1.tgz", + "integrity": "sha512-oVhqoRDaBXf7sjkll95LHVS6Myyyb1zaunVwk4Z0+WPSW4gjS0pl01zYKHScTuyEhQsFxV5L4DR5r+YqSyqyyg==", + "dev": true + }, + "joycon": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/joycon/-/joycon-3.1.1.tgz", + "integrity": "sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==", + "dev": true + }, + "jquery": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/jquery/-/jquery-2.2.4.tgz", + "integrity": "sha512-lBHj60ezci2u1v2FqnZIraShGgEXq35qCzMv4lITyHGppTnA13rwR0MgwyNJh9TnDs3aXUvd1xjAotfraMHX/Q==" + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "requires": { + "argparse": "^2.0.1" + } + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==" + }, + "json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "peer": true + }, + "json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "peer": true + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==" + }, + "json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "jsonpointer": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.1.0.tgz", + "integrity": "sha512-CXcRvMyTlnR53xMcKnuMzfCA5i/nfblTnnr74CZb6C4vG39eu6w51t7nKmU5MfLfbTgGItliNyjO/ciNPDqClg==" + }, + "jsonpointer.js": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/jsonpointer.js/-/jsonpointer.js-0.4.0.tgz", + "integrity": "sha512-2bf/1crAmPpsmj1I6rDT6W0SOErkrNBpb555xNWcMVWYrX6VnXpG0GRMQ2shvOHwafpfse8q0gnzPFYVH6Tqdg==" + }, + "jsprim": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", + "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" + } + }, + "jsx-ast-utils": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", + "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", + "requires": { + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "object.assign": "^4.1.4", + "object.values": "^1.1.6" + } + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" + }, + "kleur": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", + "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==" + }, + "language-subtag-registry": { + "version": "0.3.22", + "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz", + "integrity": "sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==" + }, + "language-tags": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz", + "integrity": "sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==", + "requires": { + "language-subtag-registry": "~0.3.2" + } + }, + "levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "peer": true, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "dev": true + }, + "lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, + "loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "peer": true + }, + "loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + }, + "locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "peer": true, + "requires": { + "p-locate": "^5.0.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", + "dev": true + }, + "lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "peer": true + }, + "lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==", + "dev": true + }, + "longest-streak": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz", + "integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==" + }, + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "requires": { + "yallist": "^4.0.0" + } + }, + "lz-string": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", + "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==" + }, + "markdown-escapes": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.4.tgz", + "integrity": "sha512-8z4efJYk43E0upd0NbVXwgSTQs6cT3T06etieCMEg7dRbzCbxUCK/GHlX8mhHRDcp+OLlHkPKsvqQTCvsRl2cg==" + }, + "markdown-table": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.3.tgz", + "integrity": "sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==" + }, + "marked": { + "version": "0.3.19", + "resolved": "https://registry.npmjs.org/marked/-/marked-0.3.19.tgz", + "integrity": "sha512-ea2eGWOqNxPcXv8dyERdSr/6FmzvWwzjMxpfGB/sbMccXoct+xY+YukPD+QTUZwyvK7BZwcr4m21WBOW41pAkg==" + }, + "mdast-util-compact": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mdast-util-compact/-/mdast-util-compact-1.0.4.tgz", + "integrity": "sha512-3YDMQHI5vRiS2uygEFYaqckibpJtKq5Sj2c8JioeOQBU6INpKbdWzfyLqFFnDwEcEnRFIdMsguzs5pC1Jp4Isg==", + "requires": { + "unist-util-visit": "^1.1.0" + }, + "dependencies": { + "unist-util-is": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-3.0.0.tgz", + "integrity": "sha512-sVZZX3+kspVNmLWBPAB6r+7D9ZgAFPNWm66f7YNb420RlQSbn+n8rG8dGZSkrER7ZIXGQYNm5pqC3v3HopH24A==" + }, + "unist-util-visit": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-1.4.1.tgz", + "integrity": "sha512-AvGNk7Bb//EmJZyhtRUnNMEpId/AZ5Ph/KUpTI09WHQuDZHKovQ1oEv3mfmKpWKtoMzyMC4GLBm1Zy5k12fjIw==", + "requires": { + "unist-util-visit-parents": "^2.0.0" + } + }, + "unist-util-visit-parents": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-2.1.2.tgz", + "integrity": "sha512-DyN5vD4NE3aSeB+PXYNKxzGsfocxp6asDc2XXE3b0ekO2BaRUpBicbbUygfSvYfUz1IkmjFR1YF7dPklraMZ2g==", + "requires": { + "unist-util-is": "^3.0.0" + } + } + } + }, + "mdast-util-definitions": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-5.1.2.tgz", + "integrity": "sha512-8SVPMuHqlPME/z3gqVwWY4zVXn8lqKv/pAhC57FuJ40ImXyBpmO5ukh98zB2v7Blql2FiHjHv9LVztSIqjY+MA==", + "requires": { + "@types/mdast": "^3.0.0", + "@types/unist": "^2.0.0", + "unist-util-visit": "^4.0.0" + } + }, + "mdast-util-find-and-replace": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-2.2.2.tgz", + "integrity": "sha512-MTtdFRz/eMDHXzeK6W3dO7mXUlF82Gom4y0oOgvHhh/HXZAGvIQDUvQ0SuUx+j2tv44b8xTHOm8K/9OoRFnXKw==", + "requires": { + "@types/mdast": "^3.0.0", + "escape-string-regexp": "^5.0.0", + "unist-util-is": "^5.0.0", + "unist-util-visit-parents": "^5.0.0" + }, + "dependencies": { + "escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==" + } + } + }, + "mdast-util-from-markdown": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-1.3.1.tgz", + "integrity": "sha512-4xTO/M8c82qBcnQc1tgpNtubGUW/Y1tBQ1B0i5CtSoelOLKFYlElIr3bvgREYYO5iRqbMY1YuqZng0GVOI8Qww==", + "requires": { + "@types/mdast": "^3.0.0", + "@types/unist": "^2.0.0", + "decode-named-character-reference": "^1.0.0", + "mdast-util-to-string": "^3.1.0", + "micromark": "^3.0.0", + "micromark-util-decode-numeric-character-reference": "^1.0.0", + "micromark-util-decode-string": "^1.0.0", + "micromark-util-normalize-identifier": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "unist-util-stringify-position": "^3.0.0", + "uvu": "^0.5.0" + } + }, + "mdast-util-frontmatter": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-frontmatter/-/mdast-util-frontmatter-1.0.1.tgz", + "integrity": "sha512-JjA2OjxRqAa8wEG8hloD0uTU0kdn8kbtOWpPP94NBkfAlbxn4S8gCGf/9DwFtEeGPXrDcNXdiDjVaRdUFqYokw==", + "requires": { + "@types/mdast": "^3.0.0", + "mdast-util-to-markdown": "^1.3.0", + "micromark-extension-frontmatter": "^1.0.0" + } + }, + "mdast-util-gfm": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-2.0.2.tgz", + "integrity": "sha512-qvZ608nBppZ4icQlhQQIAdc6S3Ffj9RGmzwUKUWuEICFnd1LVkN3EktF7ZHAgfcEdvZB5owU9tQgt99e2TlLjg==", + "requires": { + "mdast-util-from-markdown": "^1.0.0", + "mdast-util-gfm-autolink-literal": "^1.0.0", + "mdast-util-gfm-footnote": "^1.0.0", + "mdast-util-gfm-strikethrough": "^1.0.0", + "mdast-util-gfm-table": "^1.0.0", + "mdast-util-gfm-task-list-item": "^1.0.0", + "mdast-util-to-markdown": "^1.0.0" + } + }, + "mdast-util-gfm-autolink-literal": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-1.0.3.tgz", + "integrity": "sha512-My8KJ57FYEy2W2LyNom4n3E7hKTuQk/0SES0u16tjA9Z3oFkF4RrC/hPAPgjlSpezsOvI8ObcXcElo92wn5IGA==", + "requires": { + "@types/mdast": "^3.0.0", + "ccount": "^2.0.0", + "mdast-util-find-and-replace": "^2.0.0", + "micromark-util-character": "^1.0.0" + } + }, + "mdast-util-gfm-footnote": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-1.0.2.tgz", + "integrity": "sha512-56D19KOGbE00uKVj3sgIykpwKL179QsVFwx/DCW0u/0+URsryacI4MAdNJl0dh+u2PSsD9FtxPFbHCzJ78qJFQ==", + "requires": { + "@types/mdast": "^3.0.0", + "mdast-util-to-markdown": "^1.3.0", + "micromark-util-normalize-identifier": "^1.0.0" + } + }, + "mdast-util-gfm-strikethrough": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-1.0.3.tgz", + "integrity": "sha512-DAPhYzTYrRcXdMjUtUjKvW9z/FNAMTdU0ORyMcbmkwYNbKocDpdk+PX1L1dQgOID/+vVs1uBQ7ElrBQfZ0cuiQ==", + "requires": { + "@types/mdast": "^3.0.0", + "mdast-util-to-markdown": "^1.3.0" + } + }, + "mdast-util-gfm-table": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-1.0.7.tgz", + "integrity": "sha512-jjcpmNnQvrmN5Vx7y7lEc2iIOEytYv7rTvu+MeyAsSHTASGCCRA79Igg2uKssgOs1i1po8s3plW0sTu1wkkLGg==", + "requires": { + "@types/mdast": "^3.0.0", + "markdown-table": "^3.0.0", + "mdast-util-from-markdown": "^1.0.0", + "mdast-util-to-markdown": "^1.3.0" + } + }, + "mdast-util-gfm-task-list-item": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-1.0.2.tgz", + "integrity": "sha512-PFTA1gzfp1B1UaiJVyhJZA1rm0+Tzn690frc/L8vNX1Jop4STZgOE6bxUhnzdVSB+vm2GU1tIsuQcA9bxTQpMQ==", + "requires": { + "@types/mdast": "^3.0.0", + "mdast-util-to-markdown": "^1.3.0" + } + }, + "mdast-util-mdx-expression": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.0.tgz", + "integrity": "sha512-fGCu8eWdKUKNu5mohVGkhBXCXGnOTLuFqOvGMvdikr+J1w7lDJgxThOKpwRWzzbyXAU2hhSwsmssOY4yTokluw==", + "requires": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "dependencies": { + "@types/hast": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.3.tgz", + "integrity": "sha512-2fYGlaDy/qyLlhidX42wAH0KBi2TCjKMH8CHmBXgRlJ3Y+OXTiqsPQ6IWarZKwF1JoUcAJdPogv1d4b0COTpmQ==", + "requires": { + "@types/unist": "*" + } + }, + "@types/mdast": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.3.tgz", + "integrity": "sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg==", + "requires": { + "@types/unist": "*" + } + }, + "@types/unist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", + "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==" + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + }, + "mdast-util-from-markdown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.0.tgz", + "integrity": "sha512-n7MTOr/z+8NAX/wmhhDji8O3bRvPTV/U0oTCaZJkjhPSKTPhS3xufVhKGF8s1pJ7Ox4QgoIU7KHseh09S+9rTA==", + "requires": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark": "^4.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-stringify-position": "^4.0.0" + } + }, + "mdast-util-phrasing": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.0.0.tgz", + "integrity": "sha512-xadSsJayQIucJ9n053dfQwVu1kuXg7jCTdYsMK8rqzKZh52nLfSH/k0sAxE0u+pj/zKZX+o5wB+ML5mRayOxFA==", + "requires": { + "@types/mdast": "^4.0.0", + "unist-util-is": "^6.0.0" + } + }, + "mdast-util-to-markdown": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.0.tgz", + "integrity": "sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==", + "requires": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "longest-streak": "^3.0.0", + "mdast-util-phrasing": "^4.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark-util-decode-string": "^2.0.0", + "unist-util-visit": "^5.0.0", + "zwitch": "^2.0.0" + } + }, + "mdast-util-to-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", + "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", + "requires": { + "@types/mdast": "^4.0.0" + } + }, + "micromark": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.0.tgz", + "integrity": "sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==", + "requires": { + "@types/debug": "^4.0.0", + "debug": "^4.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "micromark-core-commonmark": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.0.tgz", + "integrity": "sha512-jThOz/pVmAYUtkroV3D5c1osFXAMv9e0ypGDOIZuCeAe91/sD6BoE2Sjzt30yuXtwOYUmySOhMas/PVyh02itA==", + "requires": { + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-destination": "^2.0.0", + "micromark-factory-label": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-factory-title": "^2.0.0", + "micromark-factory-whitespace": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-html-tag-name": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "micromark-factory-destination": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.0.tgz", + "integrity": "sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==", + "requires": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "micromark-factory-label": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.0.tgz", + "integrity": "sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==", + "requires": { + "devlop": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "micromark-factory-space": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz", + "integrity": "sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==", + "requires": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "micromark-factory-title": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.0.tgz", + "integrity": "sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A==", + "requires": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "micromark-factory-whitespace": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.0.tgz", + "integrity": "sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA==", + "requires": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "micromark-util-character": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.0.1.tgz", + "integrity": "sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==", + "requires": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "micromark-util-chunked": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.0.tgz", + "integrity": "sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg==", + "requires": { + "micromark-util-symbol": "^2.0.0" + } + }, + "micromark-util-classify-character": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.0.tgz", + "integrity": "sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw==", + "requires": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "micromark-util-combine-extensions": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.0.tgz", + "integrity": "sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ==", + "requires": { + "micromark-util-chunked": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "micromark-util-decode-numeric-character-reference": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.1.tgz", + "integrity": "sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ==", + "requires": { + "micromark-util-symbol": "^2.0.0" + } + }, + "micromark-util-decode-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.0.tgz", + "integrity": "sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==", + "requires": { + "decode-named-character-reference": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "micromark-util-encode": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.0.tgz", + "integrity": "sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==" + }, + "micromark-util-html-tag-name": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.0.tgz", + "integrity": "sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==" + }, + "micromark-util-normalize-identifier": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.0.tgz", + "integrity": "sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w==", + "requires": { + "micromark-util-symbol": "^2.0.0" + } + }, + "micromark-util-resolve-all": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.0.tgz", + "integrity": "sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA==", + "requires": { + "micromark-util-types": "^2.0.0" + } + }, + "micromark-util-sanitize-uri": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.0.tgz", + "integrity": "sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==", + "requires": { + "micromark-util-character": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "micromark-util-subtokenize": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.0.0.tgz", + "integrity": "sha512-vc93L1t+gpR3p8jxeVdaYlbV2jTYteDje19rNSS/H5dlhxUYll5Fy6vJ2cDwP8RnsXi818yGty1ayP55y3W6fg==", + "requires": { + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==" + }, + "micromark-util-types": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.0.tgz", + "integrity": "sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==" + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "unist-util-is": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", + "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", + "requires": { + "@types/unist": "^3.0.0" + } + }, + "unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "requires": { + "@types/unist": "^3.0.0" + } + }, + "unist-util-visit": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz", + "integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==", + "requires": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + } + }, + "unist-util-visit-parents": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz", + "integrity": "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==", + "requires": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + } + } + } + }, + "mdast-util-mdx-jsx": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.0.0.tgz", + "integrity": "sha512-XZuPPzQNBPAlaqsTTgRrcJnyFbSOBovSadFgbFu8SnuNgm+6Bdx1K+IWoitsmj6Lq6MNtI+ytOqwN70n//NaBA==", + "requires": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "ccount": "^2.0.0", + "devlop": "^1.1.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "parse-entities": "^4.0.0", + "stringify-entities": "^4.0.0", + "unist-util-remove-position": "^5.0.0", + "unist-util-stringify-position": "^4.0.0", + "vfile-message": "^4.0.0" + }, + "dependencies": { + "@types/hast": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.3.tgz", + "integrity": "sha512-2fYGlaDy/qyLlhidX42wAH0KBi2TCjKMH8CHmBXgRlJ3Y+OXTiqsPQ6IWarZKwF1JoUcAJdPogv1d4b0COTpmQ==", + "requires": { + "@types/unist": "*" + } + }, + "@types/mdast": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.3.tgz", + "integrity": "sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg==", + "requires": { + "@types/unist": "*" + } + }, + "@types/unist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", + "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==" + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + }, + "mdast-util-from-markdown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.0.tgz", + "integrity": "sha512-n7MTOr/z+8NAX/wmhhDji8O3bRvPTV/U0oTCaZJkjhPSKTPhS3xufVhKGF8s1pJ7Ox4QgoIU7KHseh09S+9rTA==", + "requires": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark": "^4.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-stringify-position": "^4.0.0" + } + }, + "mdast-util-phrasing": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.0.0.tgz", + "integrity": "sha512-xadSsJayQIucJ9n053dfQwVu1kuXg7jCTdYsMK8rqzKZh52nLfSH/k0sAxE0u+pj/zKZX+o5wB+ML5mRayOxFA==", + "requires": { + "@types/mdast": "^4.0.0", + "unist-util-is": "^6.0.0" + } + }, + "mdast-util-to-markdown": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.0.tgz", + "integrity": "sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==", + "requires": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "longest-streak": "^3.0.0", + "mdast-util-phrasing": "^4.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark-util-decode-string": "^2.0.0", + "unist-util-visit": "^5.0.0", + "zwitch": "^2.0.0" + } + }, + "mdast-util-to-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", + "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", + "requires": { + "@types/mdast": "^4.0.0" + } + }, + "micromark": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.0.tgz", + "integrity": "sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==", + "requires": { + "@types/debug": "^4.0.0", + "debug": "^4.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "micromark-core-commonmark": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.0.tgz", + "integrity": "sha512-jThOz/pVmAYUtkroV3D5c1osFXAMv9e0ypGDOIZuCeAe91/sD6BoE2Sjzt30yuXtwOYUmySOhMas/PVyh02itA==", + "requires": { + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-destination": "^2.0.0", + "micromark-factory-label": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-factory-title": "^2.0.0", + "micromark-factory-whitespace": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-html-tag-name": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "micromark-factory-destination": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.0.tgz", + "integrity": "sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==", + "requires": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "micromark-factory-label": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.0.tgz", + "integrity": "sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==", + "requires": { + "devlop": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "micromark-factory-space": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz", + "integrity": "sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==", + "requires": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "micromark-factory-title": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.0.tgz", + "integrity": "sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A==", + "requires": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "micromark-factory-whitespace": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.0.tgz", + "integrity": "sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA==", + "requires": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "micromark-util-character": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.0.1.tgz", + "integrity": "sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==", + "requires": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "micromark-util-chunked": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.0.tgz", + "integrity": "sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg==", + "requires": { + "micromark-util-symbol": "^2.0.0" + } + }, + "micromark-util-classify-character": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.0.tgz", + "integrity": "sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw==", + "requires": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "micromark-util-combine-extensions": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.0.tgz", + "integrity": "sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ==", + "requires": { + "micromark-util-chunked": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "micromark-util-decode-numeric-character-reference": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.1.tgz", + "integrity": "sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ==", + "requires": { + "micromark-util-symbol": "^2.0.0" + } + }, + "micromark-util-decode-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.0.tgz", + "integrity": "sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==", + "requires": { + "decode-named-character-reference": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "micromark-util-encode": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.0.tgz", + "integrity": "sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==" + }, + "micromark-util-html-tag-name": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.0.tgz", + "integrity": "sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==" + }, + "micromark-util-normalize-identifier": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.0.tgz", + "integrity": "sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w==", + "requires": { + "micromark-util-symbol": "^2.0.0" + } + }, + "micromark-util-resolve-all": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.0.tgz", + "integrity": "sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA==", + "requires": { + "micromark-util-types": "^2.0.0" + } + }, + "micromark-util-sanitize-uri": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.0.tgz", + "integrity": "sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==", + "requires": { + "micromark-util-character": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "micromark-util-subtokenize": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.0.0.tgz", + "integrity": "sha512-vc93L1t+gpR3p8jxeVdaYlbV2jTYteDje19rNSS/H5dlhxUYll5Fy6vJ2cDwP8RnsXi818yGty1ayP55y3W6fg==", + "requires": { + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==" + }, + "micromark-util-types": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.0.tgz", + "integrity": "sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==" + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "unist-util-is": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", + "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", + "requires": { + "@types/unist": "^3.0.0" + } + }, + "unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "requires": { + "@types/unist": "^3.0.0" + } + }, + "unist-util-visit": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz", + "integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==", + "requires": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + } + }, + "unist-util-visit-parents": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz", + "integrity": "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==", + "requires": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + } + }, + "vfile-message": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.2.tgz", + "integrity": "sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==", + "requires": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0" + } + } + } + }, + "mdast-util-mdxjs-esm": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-2.0.1.tgz", + "integrity": "sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==", + "requires": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "dependencies": { + "@types/hast": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.3.tgz", + "integrity": "sha512-2fYGlaDy/qyLlhidX42wAH0KBi2TCjKMH8CHmBXgRlJ3Y+OXTiqsPQ6IWarZKwF1JoUcAJdPogv1d4b0COTpmQ==", + "requires": { + "@types/unist": "*" + } + }, + "@types/mdast": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.3.tgz", + "integrity": "sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg==", + "requires": { + "@types/unist": "*" + } + }, + "@types/unist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", + "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==" + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + }, + "mdast-util-from-markdown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.0.tgz", + "integrity": "sha512-n7MTOr/z+8NAX/wmhhDji8O3bRvPTV/U0oTCaZJkjhPSKTPhS3xufVhKGF8s1pJ7Ox4QgoIU7KHseh09S+9rTA==", + "requires": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark": "^4.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-stringify-position": "^4.0.0" + } + }, + "mdast-util-phrasing": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.0.0.tgz", + "integrity": "sha512-xadSsJayQIucJ9n053dfQwVu1kuXg7jCTdYsMK8rqzKZh52nLfSH/k0sAxE0u+pj/zKZX+o5wB+ML5mRayOxFA==", + "requires": { + "@types/mdast": "^4.0.0", + "unist-util-is": "^6.0.0" + } + }, + "mdast-util-to-markdown": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.0.tgz", + "integrity": "sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==", + "requires": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "longest-streak": "^3.0.0", + "mdast-util-phrasing": "^4.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark-util-decode-string": "^2.0.0", + "unist-util-visit": "^5.0.0", + "zwitch": "^2.0.0" + } + }, + "mdast-util-to-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", + "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", + "requires": { + "@types/mdast": "^4.0.0" + } + }, + "micromark": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.0.tgz", + "integrity": "sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==", + "requires": { + "@types/debug": "^4.0.0", + "debug": "^4.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "micromark-core-commonmark": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.0.tgz", + "integrity": "sha512-jThOz/pVmAYUtkroV3D5c1osFXAMv9e0ypGDOIZuCeAe91/sD6BoE2Sjzt30yuXtwOYUmySOhMas/PVyh02itA==", + "requires": { + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-destination": "^2.0.0", + "micromark-factory-label": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-factory-title": "^2.0.0", + "micromark-factory-whitespace": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-html-tag-name": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "micromark-factory-destination": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.0.tgz", + "integrity": "sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==", + "requires": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "micromark-factory-label": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.0.tgz", + "integrity": "sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==", + "requires": { + "devlop": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "micromark-factory-space": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz", + "integrity": "sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==", + "requires": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "micromark-factory-title": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.0.tgz", + "integrity": "sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A==", + "requires": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "micromark-factory-whitespace": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.0.tgz", + "integrity": "sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA==", + "requires": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "micromark-util-character": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.0.1.tgz", + "integrity": "sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==", + "requires": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "micromark-util-chunked": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.0.tgz", + "integrity": "sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg==", + "requires": { + "micromark-util-symbol": "^2.0.0" + } + }, + "micromark-util-classify-character": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.0.tgz", + "integrity": "sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw==", + "requires": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "micromark-util-combine-extensions": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.0.tgz", + "integrity": "sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ==", + "requires": { + "micromark-util-chunked": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "micromark-util-decode-numeric-character-reference": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.1.tgz", + "integrity": "sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ==", + "requires": { + "micromark-util-symbol": "^2.0.0" + } + }, + "micromark-util-decode-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.0.tgz", + "integrity": "sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==", + "requires": { + "decode-named-character-reference": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "micromark-util-encode": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.0.tgz", + "integrity": "sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==" + }, + "micromark-util-html-tag-name": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.0.tgz", + "integrity": "sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==" + }, + "micromark-util-normalize-identifier": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.0.tgz", + "integrity": "sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w==", + "requires": { + "micromark-util-symbol": "^2.0.0" + } + }, + "micromark-util-resolve-all": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.0.tgz", + "integrity": "sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA==", + "requires": { + "micromark-util-types": "^2.0.0" + } + }, + "micromark-util-sanitize-uri": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.0.tgz", + "integrity": "sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==", + "requires": { + "micromark-util-character": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "micromark-util-subtokenize": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.0.0.tgz", + "integrity": "sha512-vc93L1t+gpR3p8jxeVdaYlbV2jTYteDje19rNSS/H5dlhxUYll5Fy6vJ2cDwP8RnsXi818yGty1ayP55y3W6fg==", + "requires": { + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==" + }, + "micromark-util-types": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.0.tgz", + "integrity": "sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==" + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, "unist-util-is": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-3.0.0.tgz", - "integrity": "sha512-sVZZX3+kspVNmLWBPAB6r+7D9ZgAFPNWm66f7YNb420RlQSbn+n8rG8dGZSkrER7ZIXGQYNm5pqC3v3HopH24A==" + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", + "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", + "requires": { + "@types/unist": "^3.0.0" + } + }, + "unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "requires": { + "@types/unist": "^3.0.0" + } }, "unist-util-visit": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-1.4.1.tgz", - "integrity": "sha512-AvGNk7Bb//EmJZyhtRUnNMEpId/AZ5Ph/KUpTI09WHQuDZHKovQ1oEv3mfmKpWKtoMzyMC4GLBm1Zy5k12fjIw==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz", + "integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==", "requires": { - "unist-util-visit-parents": "^2.0.0" + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" } }, "unist-util-visit-parents": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-2.1.2.tgz", - "integrity": "sha512-DyN5vD4NE3aSeB+PXYNKxzGsfocxp6asDc2XXE3b0ekO2BaRUpBicbbUygfSvYfUz1IkmjFR1YF7dPklraMZ2g==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz", + "integrity": "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==", "requires": { - "unist-util-is": "^3.0.0" + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" } } } }, - "mdast-util-definitions": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-5.1.2.tgz", - "integrity": "sha512-8SVPMuHqlPME/z3gqVwWY4zVXn8lqKv/pAhC57FuJ40ImXyBpmO5ukh98zB2v7Blql2FiHjHv9LVztSIqjY+MA==", - "requires": { - "@types/mdast": "^3.0.0", - "@types/unist": "^2.0.0", - "unist-util-visit": "^4.0.0" - } - }, - "mdast-util-find-and-replace": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-2.2.2.tgz", - "integrity": "sha512-MTtdFRz/eMDHXzeK6W3dO7mXUlF82Gom4y0oOgvHhh/HXZAGvIQDUvQ0SuUx+j2tv44b8xTHOm8K/9OoRFnXKw==", - "requires": { - "@types/mdast": "^3.0.0", - "escape-string-regexp": "^5.0.0", - "unist-util-is": "^5.0.0", - "unist-util-visit-parents": "^5.0.0" - }, - "dependencies": { - "escape-string-regexp": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", - "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==" - } - } - }, - "mdast-util-from-markdown": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-1.3.1.tgz", - "integrity": "sha512-4xTO/M8c82qBcnQc1tgpNtubGUW/Y1tBQ1B0i5CtSoelOLKFYlElIr3bvgREYYO5iRqbMY1YuqZng0GVOI8Qww==", - "requires": { - "@types/mdast": "^3.0.0", - "@types/unist": "^2.0.0", - "decode-named-character-reference": "^1.0.0", - "mdast-util-to-string": "^3.1.0", - "micromark": "^3.0.0", - "micromark-util-decode-numeric-character-reference": "^1.0.0", - "micromark-util-decode-string": "^1.0.0", - "micromark-util-normalize-identifier": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "unist-util-stringify-position": "^3.0.0", - "uvu": "^0.5.0" - } - }, - "mdast-util-frontmatter": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mdast-util-frontmatter/-/mdast-util-frontmatter-1.0.1.tgz", - "integrity": "sha512-JjA2OjxRqAa8wEG8hloD0uTU0kdn8kbtOWpPP94NBkfAlbxn4S8gCGf/9DwFtEeGPXrDcNXdiDjVaRdUFqYokw==", - "requires": { - "@types/mdast": "^3.0.0", - "mdast-util-to-markdown": "^1.3.0", - "micromark-extension-frontmatter": "^1.0.0" - } - }, - "mdast-util-gfm": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-2.0.2.tgz", - "integrity": "sha512-qvZ608nBppZ4icQlhQQIAdc6S3Ffj9RGmzwUKUWuEICFnd1LVkN3EktF7ZHAgfcEdvZB5owU9tQgt99e2TlLjg==", - "requires": { - "mdast-util-from-markdown": "^1.0.0", - "mdast-util-gfm-autolink-literal": "^1.0.0", - "mdast-util-gfm-footnote": "^1.0.0", - "mdast-util-gfm-strikethrough": "^1.0.0", - "mdast-util-gfm-table": "^1.0.0", - "mdast-util-gfm-task-list-item": "^1.0.0", - "mdast-util-to-markdown": "^1.0.0" - } - }, - "mdast-util-gfm-autolink-literal": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-1.0.3.tgz", - "integrity": "sha512-My8KJ57FYEy2W2LyNom4n3E7hKTuQk/0SES0u16tjA9Z3oFkF4RrC/hPAPgjlSpezsOvI8ObcXcElo92wn5IGA==", - "requires": { - "@types/mdast": "^3.0.0", - "ccount": "^2.0.0", - "mdast-util-find-and-replace": "^2.0.0", - "micromark-util-character": "^1.0.0" - } - }, - "mdast-util-gfm-footnote": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-1.0.2.tgz", - "integrity": "sha512-56D19KOGbE00uKVj3sgIykpwKL179QsVFwx/DCW0u/0+URsryacI4MAdNJl0dh+u2PSsD9FtxPFbHCzJ78qJFQ==", - "requires": { - "@types/mdast": "^3.0.0", - "mdast-util-to-markdown": "^1.3.0", - "micromark-util-normalize-identifier": "^1.0.0" - } - }, - "mdast-util-gfm-strikethrough": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-1.0.3.tgz", - "integrity": "sha512-DAPhYzTYrRcXdMjUtUjKvW9z/FNAMTdU0ORyMcbmkwYNbKocDpdk+PX1L1dQgOID/+vVs1uBQ7ElrBQfZ0cuiQ==", - "requires": { - "@types/mdast": "^3.0.0", - "mdast-util-to-markdown": "^1.3.0" - } - }, - "mdast-util-gfm-table": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-1.0.7.tgz", - "integrity": "sha512-jjcpmNnQvrmN5Vx7y7lEc2iIOEytYv7rTvu+MeyAsSHTASGCCRA79Igg2uKssgOs1i1po8s3plW0sTu1wkkLGg==", - "requires": { - "@types/mdast": "^3.0.0", - "markdown-table": "^3.0.0", - "mdast-util-from-markdown": "^1.0.0", - "mdast-util-to-markdown": "^1.3.0" - } - }, - "mdast-util-gfm-task-list-item": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-1.0.2.tgz", - "integrity": "sha512-PFTA1gzfp1B1UaiJVyhJZA1rm0+Tzn690frc/L8vNX1Jop4STZgOE6bxUhnzdVSB+vm2GU1tIsuQcA9bxTQpMQ==", - "requires": { - "@types/mdast": "^3.0.0", - "mdast-util-to-markdown": "^1.3.0" - } - }, - "mdast-util-mdx": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/mdast-util-mdx/-/mdast-util-mdx-2.0.1.tgz", - "integrity": "sha512-38w5y+r8nyKlGvNjSEqWrhG0w5PmnRA+wnBvm+ulYCct7nsGYhFVb0lljS9bQav4psDAS1eGkP2LMVcZBi/aqw==", - "requires": { - "mdast-util-from-markdown": "^1.0.0", - "mdast-util-mdx-expression": "^1.0.0", - "mdast-util-mdx-jsx": "^2.0.0", - "mdast-util-mdxjs-esm": "^1.0.0", - "mdast-util-to-markdown": "^1.0.0" - } - }, - "mdast-util-mdx-expression": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-1.3.2.tgz", - "integrity": "sha512-xIPmR5ReJDu/DHH1OoIT1HkuybIfRGYRywC+gJtI7qHjCJp/M9jrmBEJW22O8lskDWm562BX2W8TiAwRTb0rKA==", - "requires": { - "@types/estree-jsx": "^1.0.0", - "@types/hast": "^2.0.0", - "@types/mdast": "^3.0.0", - "mdast-util-from-markdown": "^1.0.0", - "mdast-util-to-markdown": "^1.0.0" - } - }, - "mdast-util-mdx-jsx": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-2.1.4.tgz", - "integrity": "sha512-DtMn9CmVhVzZx3f+optVDF8yFgQVt7FghCRNdlIaS3X5Bnym3hZwPbg/XW86vdpKjlc1PVj26SpnLGeJBXD3JA==", - "requires": { - "@types/estree-jsx": "^1.0.0", - "@types/hast": "^2.0.0", - "@types/mdast": "^3.0.0", - "@types/unist": "^2.0.0", - "ccount": "^2.0.0", - "mdast-util-from-markdown": "^1.1.0", - "mdast-util-to-markdown": "^1.3.0", - "parse-entities": "^4.0.0", - "stringify-entities": "^4.0.0", - "unist-util-remove-position": "^4.0.0", - "unist-util-stringify-position": "^3.0.0", - "vfile-message": "^3.0.0" - } - }, - "mdast-util-mdxjs-esm": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-1.3.1.tgz", - "integrity": "sha512-SXqglS0HrEvSdUEfoXFtcg7DRl7S2cwOXc7jkuusG472Mmjag34DUDeOJUZtl+BVnyeO1frIgVpHlNRWc2gk/w==", - "requires": { - "@types/estree-jsx": "^1.0.0", - "@types/hast": "^2.0.0", - "@types/mdast": "^3.0.0", - "mdast-util-from-markdown": "^1.0.0", - "mdast-util-to-markdown": "^1.0.0" - } - }, "mdast-util-phrasing": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-3.0.1.tgz", @@ -14348,21 +18824,105 @@ "requires": { "@types/mdast": "^3.0.0", "unist-util-is": "^5.0.0" - } - }, - "mdast-util-to-hast": { - "version": "12.3.0", - "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-12.3.0.tgz", - "integrity": "sha512-pits93r8PhnIoU4Vy9bjW39M2jJ6/tdHyja9rrot9uujkN7UTU9SDnE6WNJz/IGyQk3XHX6yNNtrBH6cQzm8Hw==", - "requires": { - "@types/hast": "^2.0.0", - "@types/mdast": "^3.0.0", - "mdast-util-definitions": "^5.0.0", - "micromark-util-sanitize-uri": "^1.1.0", + } + }, + "mdast-util-to-hast": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.0.2.tgz", + "integrity": "sha512-U5I+500EOOw9e3ZrclN3Is3fRpw8c19SMyNZlZ2IS+7vLsNzb2Om11VpIVOR+/0137GhZsFEF6YiKD5+0Hr2Og==", + "requires": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@ungap/structured-clone": "^1.0.0", + "devlop": "^1.0.0", + "micromark-util-sanitize-uri": "^2.0.0", "trim-lines": "^3.0.0", - "unist-util-generated": "^2.0.0", - "unist-util-position": "^4.0.0", - "unist-util-visit": "^4.0.0" + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0" + }, + "dependencies": { + "@types/hast": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.3.tgz", + "integrity": "sha512-2fYGlaDy/qyLlhidX42wAH0KBi2TCjKMH8CHmBXgRlJ3Y+OXTiqsPQ6IWarZKwF1JoUcAJdPogv1d4b0COTpmQ==", + "requires": { + "@types/unist": "*" + } + }, + "@types/mdast": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.3.tgz", + "integrity": "sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg==", + "requires": { + "@types/unist": "*" + } + }, + "@types/unist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", + "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==" + }, + "micromark-util-character": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.0.1.tgz", + "integrity": "sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==", + "requires": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "micromark-util-encode": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.0.tgz", + "integrity": "sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==" + }, + "micromark-util-sanitize-uri": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.0.tgz", + "integrity": "sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==", + "requires": { + "micromark-util-character": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==" + }, + "micromark-util-types": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.0.tgz", + "integrity": "sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==" + }, + "unist-util-is": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", + "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", + "requires": { + "@types/unist": "^3.0.0" + } + }, + "unist-util-visit": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz", + "integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==", + "requires": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + } + }, + "unist-util-visit-parents": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz", + "integrity": "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==", + "requires": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + } + } } }, "mdast-util-to-markdown": { @@ -14578,77 +19138,6 @@ "uvu": "^0.5.0" } }, - "micromark-extension-mdx-expression": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-1.0.8.tgz", - "integrity": "sha512-zZpeQtc5wfWKdzDsHRBY003H2Smg+PUi2REhqgIhdzAa5xonhP03FcXxqFSerFiNUr5AWmHpaNPQTBVOS4lrXw==", - "requires": { - "@types/estree": "^1.0.0", - "micromark-factory-mdx-expression": "^1.0.0", - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-events-to-acorn": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0" - } - }, - "micromark-extension-mdx-jsx": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-1.0.5.tgz", - "integrity": "sha512-gPH+9ZdmDflbu19Xkb8+gheqEDqkSpdCEubQyxuz/Hn8DOXiXvrXeikOoBA71+e8Pfi0/UYmU3wW3H58kr7akA==", - "requires": { - "@types/acorn": "^4.0.0", - "@types/estree": "^1.0.0", - "estree-util-is-identifier-name": "^2.0.0", - "micromark-factory-mdx-expression": "^1.0.0", - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0", - "vfile-message": "^3.0.0" - } - }, - "micromark-extension-mdx-md": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/micromark-extension-mdx-md/-/micromark-extension-mdx-md-1.0.1.tgz", - "integrity": "sha512-7MSuj2S7xjOQXAjjkbjBsHkMtb+mDGVW6uI2dBL9snOBCbZmoNgDAeZ0nSn9j3T42UE/g2xVNMn18PJxZvkBEA==", - "requires": { - "micromark-util-types": "^1.0.0" - } - }, - "micromark-extension-mdxjs": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs/-/micromark-extension-mdxjs-1.0.1.tgz", - "integrity": "sha512-7YA7hF6i5eKOfFUzZ+0z6avRG52GpWR8DL+kN47y3f2KhxbBZMhmxe7auOeaTBrW2DenbbZTf1ea9tA2hDpC2Q==", - "requires": { - "acorn": "^8.0.0", - "acorn-jsx": "^5.0.0", - "micromark-extension-mdx-expression": "^1.0.0", - "micromark-extension-mdx-jsx": "^1.0.0", - "micromark-extension-mdx-md": "^1.0.0", - "micromark-extension-mdxjs-esm": "^1.0.0", - "micromark-util-combine-extensions": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "micromark-extension-mdxjs-esm": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-1.0.5.tgz", - "integrity": "sha512-xNRBw4aoURcyz/S69B19WnZAkWJMxHMT5hE36GtDAyhoyn/8TuAeqjFJQlwk+MKQsUD7b3l7kFX+vlfVWgcX1w==", - "requires": { - "@types/estree": "^1.0.0", - "micromark-core-commonmark": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-events-to-acorn": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "unist-util-position-from-estree": "^1.1.0", - "uvu": "^0.5.0", - "vfile-message": "^3.0.0" - } - }, "micromark-factory-destination": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-1.1.0.tgz", @@ -14670,21 +19159,6 @@ "uvu": "^0.5.0" } }, - "micromark-factory-mdx-expression": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-1.0.9.tgz", - "integrity": "sha512-jGIWzSmNfdnkJq05c7b0+Wv0Kfz3NJ3N4cBjnbO4zjXIlxJr+f8lk+5ZmwFvqdAbUy2q6B5rCY//g0QAAaXDWA==", - "requires": { - "@types/estree": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-events-to-acorn": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "unist-util-position-from-estree": "^1.0.0", - "uvu": "^0.5.0", - "vfile-message": "^3.0.0" - } - }, "micromark-factory-space": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-1.1.0.tgz", @@ -14776,21 +19250,6 @@ "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-1.1.0.tgz", "integrity": "sha512-EuEzTWSTAj9PA5GOAs992GzNh2dGQO52UvAbtSOMvXTxv3Criqb6IOzJUBCmEqrrXSblJIJBbFFv6zPxpreiJw==" }, - "micromark-util-events-to-acorn": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-1.2.3.tgz", - "integrity": "sha512-ij4X7Wuc4fED6UoLWkmo0xJQhsktfNh1J0m8g4PbIMPlx+ek/4YdW5mvbye8z/aZvAPUoxgXHrwVlXAPKMRp1w==", - "requires": { - "@types/acorn": "^4.0.0", - "@types/estree": "^1.0.0", - "@types/unist": "^2.0.0", - "estree-util-visit": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0", - "vfile-message": "^3.0.0" - } - }, "micromark-util-html-tag-name": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-1.2.0.tgz", @@ -14975,6 +19434,331 @@ "@mdx-js/react": "^2.2.1", "vfile": "^5.3.0", "vfile-matter": "^3.0.1" + }, + "dependencies": { + "@mdx-js/mdx": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-2.3.0.tgz", + "integrity": "sha512-jLuwRlz8DQfQNiUCJR50Y09CGPq3fLtmtUQfVrj79E0JWu3dvsVcxVIcfhR5h0iXu+/z++zDrYeiJqifRynJkA==", + "requires": { + "@types/estree-jsx": "^1.0.0", + "@types/mdx": "^2.0.0", + "estree-util-build-jsx": "^2.0.0", + "estree-util-is-identifier-name": "^2.0.0", + "estree-util-to-js": "^1.1.0", + "estree-walker": "^3.0.0", + "hast-util-to-estree": "^2.0.0", + "markdown-extensions": "^1.0.0", + "periscopic": "^3.0.0", + "remark-mdx": "^2.0.0", + "remark-parse": "^10.0.0", + "remark-rehype": "^10.0.0", + "unified": "^10.0.0", + "unist-util-position-from-estree": "^1.0.0", + "unist-util-stringify-position": "^3.0.0", + "unist-util-visit": "^4.0.0", + "vfile": "^5.0.0" + } + }, + "estree-util-attach-comments": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/estree-util-attach-comments/-/estree-util-attach-comments-2.1.1.tgz", + "integrity": "sha512-+5Ba/xGGS6mnwFbXIuQiDPTbuTxuMCooq3arVv7gPZtYpjp+VXH/NkHAP35OOefPhNG/UGqU3vt/LTABwcHX0w==", + "requires": { + "@types/estree": "^1.0.0" + } + }, + "estree-util-build-jsx": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/estree-util-build-jsx/-/estree-util-build-jsx-2.2.2.tgz", + "integrity": "sha512-m56vOXcOBuaF+Igpb9OPAy7f9w9OIkb5yhjsZuaPm7HoGi4oTOQi0h2+yZ+AtKklYFZ+rPC4n0wYCJCEU1ONqg==", + "requires": { + "@types/estree-jsx": "^1.0.0", + "estree-util-is-identifier-name": "^2.0.0", + "estree-walker": "^3.0.0" + } + }, + "estree-util-to-js": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/estree-util-to-js/-/estree-util-to-js-1.2.0.tgz", + "integrity": "sha512-IzU74r1PK5IMMGZXUVZbmiu4A1uhiPgW5hm1GjcOfr4ZzHaMPpLNJjR7HjXiIOzi25nZDrgFTobHTkV5Q6ITjA==", + "requires": { + "@types/estree-jsx": "^1.0.0", + "astring": "^1.8.0", + "source-map": "^0.7.0" + } + }, + "estree-util-visit": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/estree-util-visit/-/estree-util-visit-1.2.1.tgz", + "integrity": "sha512-xbgqcrkIVbIG+lI/gzbvd9SGTJL4zqJKBFttUl5pP27KhAjtMKbX/mQXJ7qgyXpMgVy/zvpm0xoQQaGL8OloOw==", + "requires": { + "@types/estree-jsx": "^1.0.0", + "@types/unist": "^2.0.0" + } + }, + "hast-util-to-estree": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/hast-util-to-estree/-/hast-util-to-estree-2.3.3.tgz", + "integrity": "sha512-ihhPIUPxN0v0w6M5+IiAZZrn0LH2uZomeWwhn7uP7avZC6TE7lIiEh2yBMPr5+zi1aUCXq6VoYRgs2Bw9xmycQ==", + "requires": { + "@types/estree": "^1.0.0", + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^2.0.0", + "@types/unist": "^2.0.0", + "comma-separated-tokens": "^2.0.0", + "estree-util-attach-comments": "^2.0.0", + "estree-util-is-identifier-name": "^2.0.0", + "hast-util-whitespace": "^2.0.0", + "mdast-util-mdx-expression": "^1.0.0", + "mdast-util-mdxjs-esm": "^1.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0", + "style-to-object": "^0.4.1", + "unist-util-position": "^4.0.0", + "zwitch": "^2.0.0" + } + }, + "hast-util-whitespace": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-2.0.1.tgz", + "integrity": "sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng==" + }, + "markdown-extensions": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/markdown-extensions/-/markdown-extensions-1.1.1.tgz", + "integrity": "sha512-WWC0ZuMzCyDHYCasEGs4IPvLyTGftYwh6wIEOULOF0HXcqZlhwRzrK0w2VUlxWA98xnvb/jszw4ZSkJ6ADpM6Q==" + }, + "mdast-util-mdx": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-mdx/-/mdast-util-mdx-2.0.1.tgz", + "integrity": "sha512-38w5y+r8nyKlGvNjSEqWrhG0w5PmnRA+wnBvm+ulYCct7nsGYhFVb0lljS9bQav4psDAS1eGkP2LMVcZBi/aqw==", + "requires": { + "mdast-util-from-markdown": "^1.0.0", + "mdast-util-mdx-expression": "^1.0.0", + "mdast-util-mdx-jsx": "^2.0.0", + "mdast-util-mdxjs-esm": "^1.0.0", + "mdast-util-to-markdown": "^1.0.0" + } + }, + "mdast-util-mdx-expression": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-1.3.2.tgz", + "integrity": "sha512-xIPmR5ReJDu/DHH1OoIT1HkuybIfRGYRywC+gJtI7qHjCJp/M9jrmBEJW22O8lskDWm562BX2W8TiAwRTb0rKA==", + "requires": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^2.0.0", + "@types/mdast": "^3.0.0", + "mdast-util-from-markdown": "^1.0.0", + "mdast-util-to-markdown": "^1.0.0" + } + }, + "mdast-util-mdx-jsx": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-2.1.4.tgz", + "integrity": "sha512-DtMn9CmVhVzZx3f+optVDF8yFgQVt7FghCRNdlIaS3X5Bnym3hZwPbg/XW86vdpKjlc1PVj26SpnLGeJBXD3JA==", + "requires": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^2.0.0", + "@types/mdast": "^3.0.0", + "@types/unist": "^2.0.0", + "ccount": "^2.0.0", + "mdast-util-from-markdown": "^1.1.0", + "mdast-util-to-markdown": "^1.3.0", + "parse-entities": "^4.0.0", + "stringify-entities": "^4.0.0", + "unist-util-remove-position": "^4.0.0", + "unist-util-stringify-position": "^3.0.0", + "vfile-message": "^3.0.0" + } + }, + "mdast-util-mdxjs-esm": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-1.3.1.tgz", + "integrity": "sha512-SXqglS0HrEvSdUEfoXFtcg7DRl7S2cwOXc7jkuusG472Mmjag34DUDeOJUZtl+BVnyeO1frIgVpHlNRWc2gk/w==", + "requires": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^2.0.0", + "@types/mdast": "^3.0.0", + "mdast-util-from-markdown": "^1.0.0", + "mdast-util-to-markdown": "^1.0.0" + } + }, + "mdast-util-to-hast": { + "version": "12.3.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-12.3.0.tgz", + "integrity": "sha512-pits93r8PhnIoU4Vy9bjW39M2jJ6/tdHyja9rrot9uujkN7UTU9SDnE6WNJz/IGyQk3XHX6yNNtrBH6cQzm8Hw==", + "requires": { + "@types/hast": "^2.0.0", + "@types/mdast": "^3.0.0", + "mdast-util-definitions": "^5.0.0", + "micromark-util-sanitize-uri": "^1.1.0", + "trim-lines": "^3.0.0", + "unist-util-generated": "^2.0.0", + "unist-util-position": "^4.0.0", + "unist-util-visit": "^4.0.0" + } + }, + "micromark-extension-mdx-expression": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-1.0.8.tgz", + "integrity": "sha512-zZpeQtc5wfWKdzDsHRBY003H2Smg+PUi2REhqgIhdzAa5xonhP03FcXxqFSerFiNUr5AWmHpaNPQTBVOS4lrXw==", + "requires": { + "@types/estree": "^1.0.0", + "micromark-factory-mdx-expression": "^1.0.0", + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-events-to-acorn": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" + } + }, + "micromark-extension-mdx-jsx": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-1.0.5.tgz", + "integrity": "sha512-gPH+9ZdmDflbu19Xkb8+gheqEDqkSpdCEubQyxuz/Hn8DOXiXvrXeikOoBA71+e8Pfi0/UYmU3wW3H58kr7akA==", + "requires": { + "@types/acorn": "^4.0.0", + "@types/estree": "^1.0.0", + "estree-util-is-identifier-name": "^2.0.0", + "micromark-factory-mdx-expression": "^1.0.0", + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0", + "vfile-message": "^3.0.0" + } + }, + "micromark-extension-mdx-md": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-md/-/micromark-extension-mdx-md-1.0.1.tgz", + "integrity": "sha512-7MSuj2S7xjOQXAjjkbjBsHkMtb+mDGVW6uI2dBL9snOBCbZmoNgDAeZ0nSn9j3T42UE/g2xVNMn18PJxZvkBEA==", + "requires": { + "micromark-util-types": "^1.0.0" + } + }, + "micromark-extension-mdxjs": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs/-/micromark-extension-mdxjs-1.0.1.tgz", + "integrity": "sha512-7YA7hF6i5eKOfFUzZ+0z6avRG52GpWR8DL+kN47y3f2KhxbBZMhmxe7auOeaTBrW2DenbbZTf1ea9tA2hDpC2Q==", + "requires": { + "acorn": "^8.0.0", + "acorn-jsx": "^5.0.0", + "micromark-extension-mdx-expression": "^1.0.0", + "micromark-extension-mdx-jsx": "^1.0.0", + "micromark-extension-mdx-md": "^1.0.0", + "micromark-extension-mdxjs-esm": "^1.0.0", + "micromark-util-combine-extensions": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "micromark-extension-mdxjs-esm": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-1.0.5.tgz", + "integrity": "sha512-xNRBw4aoURcyz/S69B19WnZAkWJMxHMT5hE36GtDAyhoyn/8TuAeqjFJQlwk+MKQsUD7b3l7kFX+vlfVWgcX1w==", + "requires": { + "@types/estree": "^1.0.0", + "micromark-core-commonmark": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-events-to-acorn": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "unist-util-position-from-estree": "^1.1.0", + "uvu": "^0.5.0", + "vfile-message": "^3.0.0" + } + }, + "micromark-factory-mdx-expression": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-1.0.9.tgz", + "integrity": "sha512-jGIWzSmNfdnkJq05c7b0+Wv0Kfz3NJ3N4cBjnbO4zjXIlxJr+f8lk+5ZmwFvqdAbUy2q6B5rCY//g0QAAaXDWA==", + "requires": { + "@types/estree": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-events-to-acorn": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "unist-util-position-from-estree": "^1.0.0", + "uvu": "^0.5.0", + "vfile-message": "^3.0.0" + } + }, + "micromark-util-events-to-acorn": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-1.2.3.tgz", + "integrity": "sha512-ij4X7Wuc4fED6UoLWkmo0xJQhsktfNh1J0m8g4PbIMPlx+ek/4YdW5mvbye8z/aZvAPUoxgXHrwVlXAPKMRp1w==", + "requires": { + "@types/acorn": "^4.0.0", + "@types/estree": "^1.0.0", + "@types/unist": "^2.0.0", + "estree-util-visit": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0", + "vfile-message": "^3.0.0" + } + }, + "remark-mdx": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/remark-mdx/-/remark-mdx-2.3.0.tgz", + "integrity": "sha512-g53hMkpM0I98MU266IzDFMrTD980gNF3BJnkyFcmN+dD873mQeD5rdMO3Y2X+x8umQfbSE0PcoEDl7ledSA+2g==", + "requires": { + "mdast-util-mdx": "^2.0.0", + "micromark-extension-mdxjs": "^1.0.0" + } + }, + "remark-rehype": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-10.1.0.tgz", + "integrity": "sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw==", + "requires": { + "@types/hast": "^2.0.0", + "@types/mdast": "^3.0.0", + "mdast-util-to-hast": "^12.1.0", + "unified": "^10.0.0" + } + }, + "unified": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", + "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==", + "requires": { + "@types/unist": "^2.0.0", + "bail": "^2.0.0", + "extend": "^3.0.0", + "is-buffer": "^2.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^5.0.0" + } + }, + "unist-util-position": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-4.0.4.tgz", + "integrity": "sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg==", + "requires": { + "@types/unist": "^2.0.0" + } + }, + "unist-util-position-from-estree": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/unist-util-position-from-estree/-/unist-util-position-from-estree-1.1.2.tgz", + "integrity": "sha512-poZa0eXpS+/XpoQwGwl79UUdea4ol2ZuCYguVaJS4qzIOMDzbqz8a3erUCOmubSZkaOuGamb3tX790iwOIROww==", + "requires": { + "@types/unist": "^2.0.0" + } + }, + "unist-util-remove-position": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-4.0.2.tgz", + "integrity": "sha512-TkBb0HABNmxzAcfLf4qsIbFbaPDvMO6wa3b3j4VcEzFVaw1LBKwnW4/sRJ/atSLSzoIg41JWEdnE7N6DIhGDGQ==", + "requires": { + "@types/unist": "^2.0.0", + "unist-util-visit": "^4.0.0" + } + } } }, "node-releases": { @@ -15643,9 +20427,9 @@ } }, "property-information": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/property-information/-/property-information-6.2.0.tgz", - "integrity": "sha512-kma4U7AFCTwpqq5twzC1YVIDXSqg6qQK6JN0smOw8fgRy1OkMi0CYSzFmsy6dnqSenamAtj0CyXMUJ1Mf6oROg==" + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-6.4.0.tgz", + "integrity": "sha512-9t5qARVofg2xQqKtytzt+lZ4d1Qvj8t5B8fEwXK6qOfgRLgH/b13QlgEyDh033NOS31nXeFbYv7CLUDG1CeifQ==" }, "proxy-addr": { "version": "2.0.7", @@ -15721,11 +20505,381 @@ "scheduler": "^0.23.0" } }, - "react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" - }, + "react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + }, + "react-markdown": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/react-markdown/-/react-markdown-9.0.1.tgz", + "integrity": "sha512-186Gw/vF1uRkydbsOIkcGXw7aHq0sZOCRFFjGrr7b9+nVZg4UfA4enXCaxm4fUzecU38sWfrNDitGhshuU7rdg==", + "requires": { + "@types/hast": "^3.0.0", + "devlop": "^1.0.0", + "hast-util-to-jsx-runtime": "^2.0.0", + "html-url-attributes": "^3.0.0", + "mdast-util-to-hast": "^13.0.0", + "remark-parse": "^11.0.0", + "remark-rehype": "^11.0.0", + "unified": "^11.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" + }, + "dependencies": { + "@types/hast": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.3.tgz", + "integrity": "sha512-2fYGlaDy/qyLlhidX42wAH0KBi2TCjKMH8CHmBXgRlJ3Y+OXTiqsPQ6IWarZKwF1JoUcAJdPogv1d4b0COTpmQ==", + "requires": { + "@types/unist": "*" + } + }, + "@types/mdast": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.3.tgz", + "integrity": "sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg==", + "requires": { + "@types/unist": "*" + } + }, + "@types/unist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", + "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==" + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + }, + "mdast-util-from-markdown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.0.tgz", + "integrity": "sha512-n7MTOr/z+8NAX/wmhhDji8O3bRvPTV/U0oTCaZJkjhPSKTPhS3xufVhKGF8s1pJ7Ox4QgoIU7KHseh09S+9rTA==", + "requires": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark": "^4.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-stringify-position": "^4.0.0" + } + }, + "mdast-util-to-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", + "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", + "requires": { + "@types/mdast": "^4.0.0" + } + }, + "micromark": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.0.tgz", + "integrity": "sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==", + "requires": { + "@types/debug": "^4.0.0", + "debug": "^4.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "micromark-core-commonmark": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.0.tgz", + "integrity": "sha512-jThOz/pVmAYUtkroV3D5c1osFXAMv9e0ypGDOIZuCeAe91/sD6BoE2Sjzt30yuXtwOYUmySOhMas/PVyh02itA==", + "requires": { + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-destination": "^2.0.0", + "micromark-factory-label": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-factory-title": "^2.0.0", + "micromark-factory-whitespace": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-html-tag-name": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "micromark-factory-destination": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.0.tgz", + "integrity": "sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==", + "requires": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "micromark-factory-label": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.0.tgz", + "integrity": "sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==", + "requires": { + "devlop": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "micromark-factory-space": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz", + "integrity": "sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==", + "requires": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "micromark-factory-title": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.0.tgz", + "integrity": "sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A==", + "requires": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "micromark-factory-whitespace": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.0.tgz", + "integrity": "sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA==", + "requires": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "micromark-util-character": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.0.1.tgz", + "integrity": "sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==", + "requires": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "micromark-util-chunked": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.0.tgz", + "integrity": "sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg==", + "requires": { + "micromark-util-symbol": "^2.0.0" + } + }, + "micromark-util-classify-character": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.0.tgz", + "integrity": "sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw==", + "requires": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "micromark-util-combine-extensions": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.0.tgz", + "integrity": "sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ==", + "requires": { + "micromark-util-chunked": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "micromark-util-decode-numeric-character-reference": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.1.tgz", + "integrity": "sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ==", + "requires": { + "micromark-util-symbol": "^2.0.0" + } + }, + "micromark-util-decode-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.0.tgz", + "integrity": "sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==", + "requires": { + "decode-named-character-reference": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "micromark-util-encode": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.0.tgz", + "integrity": "sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==" + }, + "micromark-util-html-tag-name": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.0.tgz", + "integrity": "sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==" + }, + "micromark-util-normalize-identifier": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.0.tgz", + "integrity": "sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w==", + "requires": { + "micromark-util-symbol": "^2.0.0" + } + }, + "micromark-util-resolve-all": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.0.tgz", + "integrity": "sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA==", + "requires": { + "micromark-util-types": "^2.0.0" + } + }, + "micromark-util-sanitize-uri": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.0.tgz", + "integrity": "sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==", + "requires": { + "micromark-util-character": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "micromark-util-subtokenize": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.0.0.tgz", + "integrity": "sha512-vc93L1t+gpR3p8jxeVdaYlbV2jTYteDje19rNSS/H5dlhxUYll5Fy6vJ2cDwP8RnsXi818yGty1ayP55y3W6fg==", + "requires": { + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==" + }, + "micromark-util-types": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.0.tgz", + "integrity": "sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==" + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "remark-parse": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz", + "integrity": "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==", + "requires": { + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unified": "^11.0.0" + } + }, + "unified": { + "version": "11.0.4", + "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.4.tgz", + "integrity": "sha512-apMPnyLjAX+ty4OrNap7yumyVAMlKx5IWU2wlzzUdYJO9A8f1p9m/gywF/GM2ZDFcjQPrx59Mc90KwmxsoklxQ==", + "requires": { + "@types/unist": "^3.0.0", + "bail": "^2.0.0", + "devlop": "^1.0.0", + "extend": "^3.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^6.0.0" + } + }, + "unist-util-is": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", + "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", + "requires": { + "@types/unist": "^3.0.0" + } + }, + "unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "requires": { + "@types/unist": "^3.0.0" + } + }, + "unist-util-visit": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz", + "integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==", + "requires": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + } + }, + "unist-util-visit-parents": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz", + "integrity": "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==", + "requires": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + } + }, + "vfile": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.1.tgz", + "integrity": "sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==", + "requires": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0", + "vfile-message": "^4.0.0" + } + }, + "vfile-message": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.2.tgz", + "integrity": "sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==", + "requires": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0" + } + } + } + }, "read-cache": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", @@ -15779,21 +20933,6 @@ "unist-util-visit": "^4.0.0" }, "dependencies": { - "bail": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", - "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==" - }, - "is-plain-obj": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", - "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==" - }, - "trough": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/trough/-/trough-2.1.0.tgz", - "integrity": "sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==" - }, "unified": { "version": "10.1.2", "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", @@ -15831,21 +20970,6 @@ "unified": "^10.0.0" }, "dependencies": { - "bail": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", - "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==" - }, - "is-plain-obj": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", - "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==" - }, - "trough": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/trough/-/trough-2.1.0.tgz", - "integrity": "sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==" - }, "unified": { "version": "10.1.2", "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", @@ -15873,21 +20997,6 @@ "unified": "^10.0.0" }, "dependencies": { - "bail": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", - "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==" - }, - "is-plain-obj": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", - "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==" - }, - "trough": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/trough/-/trough-2.1.0.tgz", - "integrity": "sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==" - }, "unified": { "version": "10.1.2", "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", @@ -15904,15 +21013,6 @@ } } }, - "remark-mdx": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/remark-mdx/-/remark-mdx-2.3.0.tgz", - "integrity": "sha512-g53hMkpM0I98MU266IzDFMrTD980gNF3BJnkyFcmN+dD873mQeD5rdMO3Y2X+x8umQfbSE0PcoEDl7ledSA+2g==", - "requires": { - "mdast-util-mdx": "^2.0.0", - "micromark-extension-mdxjs": "^1.0.0" - } - }, "remark-mdx-frontmatter": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/remark-mdx-frontmatter/-/remark-mdx-frontmatter-3.0.0.tgz", @@ -15926,21 +21026,6 @@ "yaml": "^2.0.0" }, "dependencies": { - "bail": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", - "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==" - }, - "is-plain-obj": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", - "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==" - }, - "trough": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/trough/-/trough-2.1.0.tgz", - "integrity": "sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==" - }, "unified": { "version": "10.1.2", "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", @@ -15972,21 +21057,6 @@ "unified": "^10.0.0" }, "dependencies": { - "bail": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", - "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==" - }, - "is-plain-obj": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", - "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==" - }, - "trough": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/trough/-/trough-2.1.0.tgz", - "integrity": "sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==" - }, "unified": { "version": "10.1.2", "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", @@ -16004,43 +21074,77 @@ } }, "remark-rehype": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-10.1.0.tgz", - "integrity": "sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw==", + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.0.0.tgz", + "integrity": "sha512-vx8x2MDMcxuE4lBmQ46zYUDfcFMmvg80WYX+UNLeG6ixjdCCLcw1lrgAukwBTuOFsS78eoAedHGn9sNM0w7TPw==", "requires": { - "@types/hast": "^2.0.0", - "@types/mdast": "^3.0.0", - "mdast-util-to-hast": "^12.1.0", - "unified": "^10.0.0" + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "mdast-util-to-hast": "^13.0.0", + "unified": "^11.0.0", + "vfile": "^6.0.0" }, "dependencies": { - "bail": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", - "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==" + "@types/hast": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.3.tgz", + "integrity": "sha512-2fYGlaDy/qyLlhidX42wAH0KBi2TCjKMH8CHmBXgRlJ3Y+OXTiqsPQ6IWarZKwF1JoUcAJdPogv1d4b0COTpmQ==", + "requires": { + "@types/unist": "*" + } }, - "is-plain-obj": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", - "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==" + "@types/mdast": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.3.tgz", + "integrity": "sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg==", + "requires": { + "@types/unist": "*" + } }, - "trough": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/trough/-/trough-2.1.0.tgz", - "integrity": "sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==" + "@types/unist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", + "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==" }, "unified": { - "version": "10.1.2", - "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", - "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==", + "version": "11.0.4", + "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.4.tgz", + "integrity": "sha512-apMPnyLjAX+ty4OrNap7yumyVAMlKx5IWU2wlzzUdYJO9A8f1p9m/gywF/GM2ZDFcjQPrx59Mc90KwmxsoklxQ==", "requires": { - "@types/unist": "^2.0.0", + "@types/unist": "^3.0.0", "bail": "^2.0.0", + "devlop": "^1.0.0", "extend": "^3.0.0", - "is-buffer": "^2.0.0", "is-plain-obj": "^4.0.0", "trough": "^2.0.0", - "vfile": "^5.0.0" + "vfile": "^6.0.0" + } + }, + "unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "requires": { + "@types/unist": "^3.0.0" + } + }, + "vfile": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.1.tgz", + "integrity": "sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==", + "requires": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0", + "vfile-message": "^4.0.0" + } + }, + "vfile-message": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.2.tgz", + "integrity": "sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==", + "requires": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0" } } } @@ -16241,10 +21345,9 @@ "dev": true }, "rescript": { - "version": "11.0.0-rc.6", - "resolved": "https://registry.npmjs.org/rescript/-/rescript-11.0.0-rc.6.tgz", - "integrity": "sha512-2nqdpQxLgQGNp0Rb8AFn5cM3kwRTd54zLvchqCsK3iLOe1CJwdVW5nEF7lsJbFTqihl8W6Va1y7SbFxY3FNxOQ==", - "dev": true + "version": "11.0.0-rc.7", + "resolved": "https://registry.npmjs.org/rescript/-/rescript-11.0.0-rc.7.tgz", + "integrity": "sha512-N2ImQVkzF4rzV5PBcQ8htKe4NPnqsS2DhtG9A4iic4eYsNim1Ixt8qyuD40WEYl4AZOuYUaEfJlvLTOV9wHogA==" }, "resolve": { "version": "1.22.2", @@ -16778,9 +21881,9 @@ "peer": true }, "style-to-object": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.4.2.tgz", - "integrity": "sha512-1JGpfPB3lo42ZX8cuPrheZbfQ6kqPPnPHlKMyeRYtfKD+0jG+QsXgXN57O/dvJlzlB2elI6dGmrPnl5VPQFPaA==", + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.4.4.tgz", + "integrity": "sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg==", "requires": { "inline-style-parser": "0.1.1" } @@ -17035,9 +22138,9 @@ "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==" }, "trough": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/trough/-/trough-1.0.5.tgz", - "integrity": "sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/trough/-/trough-2.1.0.tgz", + "integrity": "sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==" }, "ts-interface-checker": { "version": "0.1.13", @@ -17210,6 +22313,21 @@ "vfile": "^4.0.0" }, "dependencies": { + "bail": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/bail/-/bail-1.0.5.tgz", + "integrity": "sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==" + }, + "is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==" + }, + "trough": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/trough/-/trough-1.0.5.tgz", + "integrity": "sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==" + }, "unist-util-stringify-position": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz", @@ -17254,28 +22372,61 @@ } }, "unist-util-position": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-4.0.4.tgz", - "integrity": "sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg==", - "requires": { - "@types/unist": "^2.0.0" - } - }, - "unist-util-position-from-estree": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/unist-util-position-from-estree/-/unist-util-position-from-estree-1.1.2.tgz", - "integrity": "sha512-poZa0eXpS+/XpoQwGwl79UUdea4ol2ZuCYguVaJS4qzIOMDzbqz8a3erUCOmubSZkaOuGamb3tX790iwOIROww==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz", + "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==", "requires": { - "@types/unist": "^2.0.0" + "@types/unist": "^3.0.0" + }, + "dependencies": { + "@types/unist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", + "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==" + } } }, "unist-util-remove-position": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-4.0.2.tgz", - "integrity": "sha512-TkBb0HABNmxzAcfLf4qsIbFbaPDvMO6wa3b3j4VcEzFVaw1LBKwnW4/sRJ/atSLSzoIg41JWEdnE7N6DIhGDGQ==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-5.0.0.tgz", + "integrity": "sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==", "requires": { - "@types/unist": "^2.0.0", - "unist-util-visit": "^4.0.0" + "@types/unist": "^3.0.0", + "unist-util-visit": "^5.0.0" + }, + "dependencies": { + "@types/unist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", + "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==" + }, + "unist-util-is": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", + "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", + "requires": { + "@types/unist": "^3.0.0" + } + }, + "unist-util-visit": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz", + "integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==", + "requires": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + } + }, + "unist-util-visit-parents": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz", + "integrity": "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==", + "requires": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + } + } } }, "unist-util-stringify-position": { diff --git a/package.json b/package.json index f0f87340e..9e04cabe6 100644 --- a/package.json +++ b/package.json @@ -18,6 +18,7 @@ "@headlessui/react": "^1.2.0", "@mdx-js/loader": "^2.3.0", "@rescript/react": "^0.12.0-alpha.3", + "@rescript/tools": "^0.3.0", "codemirror": "^5.54.0", "docson": "^2.1.0", "eslint-config-next": "^13.1.1", @@ -32,6 +33,7 @@ "prettier": "^1.18.2", "react": "^18.2.0", "react-dom": "^18.2.0", + "react-markdown": "^9.0.1", "rehype-slug": "^5.1.0", "remark-comment": "^1.0.0", "remark-frontmatter": "^4.0.1", diff --git a/pages/docs/manual/latest/api/[...slug].js b/pages/docs/manual/latest/api/[...slug].js new file mode 100644 index 000000000..19562f343 --- /dev/null +++ b/pages/docs/manual/latest/api/[...slug].js @@ -0,0 +1 @@ +export { getStaticProps, getStaticPaths, default } from "src/ApiDocs.mjs"; diff --git a/pages/docs/manual/latest/api/belt.mdx b/pages/docs/manual/latest/api/belt.mdx deleted file mode 100644 index f4d4c8856..000000000 --- a/pages/docs/manual/latest/api/belt.mdx +++ /dev/null @@ -1,179 +0,0 @@ -# Belt - -The ReScript standard library. - -Belt is currently mostly covering collection types. It has no string or date functions yet, although Belt.String is in the works. In the meantime, use [Js.String](js/string) for string functions and [Js.Date](js/date) for date functions. - -## Motivation - -Belt provides: - -- The **highest quality** immutable data structures in JavaScript. -- Safety by default: A Belt function will never throw exceptions, unless it is - indicated explicitly in the function name (suffix "Exn"). -- Better performance and smaller code size running on the JS platform. -- Ready for [Tree Shaking](https://webpack.js.org/guides/tree-shaking/). - -## Usage - -To use modules from Belt, either refer to them by their fully qualified name (`Belt.List`, `Belt.Array` etc.) or open the `Belt` module by putting - -```res -open Belt -``` - -at the top of your source files. After opening Belt this way, `Array` will refer to `Belt.Array`, `List` will refer to `Belt.List` etc. in the subsequent code. - -If you want to open Belt globally for all files in your project instead, you can put - -```json - "bsc-flags": ["-open Belt"], -``` - -into your `rescript.json`. - -**Note**: this is the **only** `open` we encourage. - -Example usage: - -```res -let someNumbers = [1, 1, 4, 2, 3, 6, 3, 4, 2] - -let greaterThan2UniqueAndSorted = - someNumbers - ->Belt.Array.keep(x => x > 2) - // convert to and from set to make values unique - ->Belt.Set.Int.fromArray - ->Belt.Set.Int.toArray // output is already sorted - -Js.log2("result", greaterThan2UniqueAndSorted) -``` - -## Curried vs. Uncurried Callbacks - -For functions taking a callback parameter, there are usually two versions -available: - -- curried (no suffix) -- uncurried (suffixed with `U`) - -E.g.: - -```res -let forEach: (t<'a>, 'a => unit) => unit - -let forEachU: (t<'a>, (. 'a) => unit) => unit -``` - -The uncurried version will be faster in some cases, but for simplicity we recommend to stick with the curried version unless you need the extra performance. - -The two versions can be invoked as follows: - -``` -["a", "b", "c"]->Belt.Array.forEach(x => Js.log(x)) - -["a", "b", "c"]->Belt.Array.forEachU((. x) => Js.log(x)) -``` - -## Specialized Collections - -For collections types like set or map, Belt provides both a generic module as well as specialized, more efficient implementations for string and int keys. - -For example, Belt has the following set modules: - -- [Belt.Set](belt/set) -- [Belt.Set.Int](belt/set-int) -- [Belt.Set.String](belt/set-string) - -## Implementation Details - -### Array access runtime safety - -One common confusion comes from the way Belt handles array access. It differs from than the default standard library's. - -```res -let letters = ["a", "b", "c"] -let a = letters[0] // a == "a" -let capitalA = Js.String.toUpperCase(a) -let k = letters[10] // Raises an exception! The 10th index doesn't exist. -``` - -Because Belt avoids exceptions and returns `options` instead, this code behaves differently: - -```res -open Belt -let letters = ["a", "b", "c"] -let a = letters[0] // a == Some("a") -let captialA = Js.String.toUpperCase(a) // Type error! This code will not compile. -let k = letters[10] // k == None -``` - -Although we've fixed the problem where `k` raises an exception, we now have a type error when trying to capitalize `a`. There are a few things going on here: - -- Reason transforms array index access to the function `Array.get`. So `letters[0]` is the same as `Array.get(letters, 0)`. -- The compiler uses whichever `Array` module is in scope. If you `open Belt`, then it uses `Belt.Array`. -- `Belt.Array.get` returns values wrapped in options, so `letters[0] == Some("a")`. - -Fortunately, this is easy to fix: - -```res example -open Belt -let letters = ["a", "b", "c"] -let a = letters[0] - -// Use a switch statement: -let capitalA = - switch a { - | Some(a) => Some(Js.String.toUpperCase(a)) - | None => None - } - -let k = letters[10] // k == None -``` - -With that little bit of tweaking, our code now compiles successfully and is 100% free of runtime errors! - -### A Special Encoding for Collection Safety - -When we create a collection library for a custom data type we need a way to provide a comparator function. Take Set for example, suppose its element type is a pair of ints, it needs a custom compare function that takes two tuples and returns their order. The Set could not just be typed as Set.t (int \* int) , its customized compare function needs to manifest itself in the signature, otherwise, if the user creates another customized compare function, the two collection could mix which would result in runtime error. - -We use a phantom type to solve the problem: - -```res -module Comparable1 = - Belt.Id.MakeComparable( - { - type t = (int, int) - let cmp = ((a0, a1), (b0, b1)) => - switch Pervasives.compare(a0, b0) { - | 0 => Pervasives.compare(a1, b1) - | c => c - } - } - ) - -let mySet1 = Belt.Set.make(~id=module(Comparable1)) - -module Comparable2 = - Belt.Id.MakeComparable( - { - type t = (int, int) - let cmp = ((a0, a1), (b0, b1)) => - switch Pervasives.compare(a0, b0) { - | 0 => Pervasives.compare(a1, b1) - | c => c - } - } - ) - -let mySet2 = Belt.Set.make(~id=module(Comparable2)) -``` - -Here, the compiler would infer `mySet1` and `mySet2` having different type, so e.g. a `merge` operation that tries to merge these two sets will correctly fail. - -```res -let mySet1: t<(int, int), Comparable1.identity> -let mySet2: t<(int, int), Comparable2.identity> -``` - -`Comparable1.identity` and `Comparable2.identity` are not the same using our encoding scheme. diff --git a/pages/docs/manual/latest/api/belt/array.mdx b/pages/docs/manual/latest/api/belt/array.mdx deleted file mode 100644 index a54d244fe..000000000 --- a/pages/docs/manual/latest/api/belt/array.mdx +++ /dev/null @@ -1,940 +0,0 @@ -# Array - - - -Utililites for `Array` functions. - - - -### Note about index syntax - -Code like `arr[0]` does *not* compile to JavaScript `arr[0]`. ReScript transforms the `[]` index syntax into a function: `Array.get(arr, 0)`. By default, this uses the default standard library's `Array.get` function, which may raise an exception if the index isn't found. If you `open Belt`, it will use the `Belt.Array.get` function which returns options instead of raising exceptions. [See this for more information](../belt.mdx#array-access-runtime-safety). - -## length - -```res sig -let length: array<'a> => int -``` - -return the size of the array - -```res example -// Returns 1 -Belt.Array.length(["test"]) -``` - -## size - -```res sig -let size: array<'a> => int -``` - -See Belt_Array.length - -## get - -```res sig -let get: (array<'a>, int) => option<'a> -``` - -If `i <= 0 <= length(arr)` returns `Some(value)` where `value` is the item at index `i`. -If `i` is out of range returns `None` - -## getExn - -```res sig -let getExn: (array<'a>, int) => 'a -``` - -Raise an exception if `i` is out of range. -Otherwise return the value at index `i` in `arr`. - -## getUnsafe - -```res sig -let getUnsafe: (array<'a>, int) => 'a -``` - -Unsafe - -no bounds checking; this would cause type error if `i` does not stay within range - -## getUndefined - -```res sig -let getUndefined: (array<'a>, int) => Js.undefined<'a> -``` - -It does the samething in the runtime as `Belt_Array.getUnsafe` it is type safe since the return type still track whether it is in range or not - -## set - -```res sig -let set: (array<'a>, int, 'a) => bool -``` - -`set(arr, n, x)` modifies `arr` in place; it replaces the nth element of `arr` with `x`. - -Returns false means not updated due to out of range. - -## setExn - -```res sig -let setExn: (array<'a>, int, 'a) => unit -``` - -`setExn(arr, i, x)` raise an exception if `i` is out of range. - -## setUnsafe - -```res sig -let setUnsafe: (array<'a>, int, 'a) => unit -``` - -## shuffleInPlace - -```res sig -let shuffleInPlace: array<'a> => unit -``` - -`shuffleInPlace(arr)` randomly re-orders the items in `arr` - -## shuffle - -```res sig -let shuffle: array<'a> => array<'a> -``` - -Returns a fresh array with items in original array randomly shuffled. - -## reverseInPlace - -```res sig -let reverseInPlace: array<'a> => unit -``` - -`reverseInPlace(arr)` reverses items in `arr` in place. - -```res example -let arr = [10, 11, 12, 13, 14] - -let () = Belt.Array.reverseInPlace(arr) - -arr == [14, 13, 12, 11, 10] -``` - -## reverse - -```res sig -let reverse: array<'a> => array<'a> -``` - -`reverse(arr)` returns a fresh array with items in arr in reverse order. - -```res example -Belt.Array.reverse([10, 11, 12, 13, 14]) == [14, 13, 12, 11, 10] -``` - -## makeUninitialized - -```res sig -let makeUninitialized: int => array> -``` - -`makeUninitialized(n)` creates an array of length `n` filled with the undefined value. You must specify the type of data that will eventually fill the array. - -```res example -let arr: array> = Belt.Array.makeUninitialized(5) - -Belt.Array.getExn(arr, 0) == Js.undefined -``` - -## makeUninitializedUnsafe - -```res sig -let makeUninitializedUnsafe: int => array<'a> -``` - -Unsafe - -```res example -let arr = Belt.Array.makeUninitializedUnsafe(5) - -Js.log(Belt.Array.getExn(arr, 0)) // undefined - -Belt.Array.setExn(arr, 0, "example") - -Js.log(Belt.Array.getExn(arr, 0) == "example") -``` - -## make - -```res sig -let make: (int, 'a) => array<'a> -``` - -`make(n, e)` return an array of size `n` filled with value `e`. -Returns an empty array when `n` is negative. - -## range - -```res sig -let range: (int, int) => array -``` - -`range(start, finish)` create an inclusive array. - -```res example -Belt.Array.range(0, 3) == [0, 1, 2, 3] - -Belt.Array.range(3, 0) == [] - -Belt.Array.range(3, 3) == [3] -``` - -## rangeBy - -```res sig -let rangeBy: (int, int, ~step: int) => array -``` - -`rangeBy(start, finish, ~step)` - -Returns empty array when step is 0 or negative. It also return an empty array when `start > finish`. - -```res example -Belt.Array.rangeBy(0, 10, ~step=3) == [0, 3, 6, 9] - -Belt.Array.rangeBy(0, 12, ~step=3) == [0, 3, 6, 9, 12] - -Belt.Array.rangeBy(33, 0, ~step=1) == [] - -Belt.Array.rangeBy(33, 0, ~step=-1) == [] - -Belt.Array.rangeBy(3, 12, ~step=-1) == [] - -Belt.Array.rangeBy(3, 3, ~step=0) == [] - -Belt.Array.rangeBy(3, 3, ~step=1) == [3] -``` - -## makeByU - -```res sig -let makeByU: (int, (. int) => 'a) => array<'a> -``` - -## makeBy - -```res sig -let makeBy: (int, int => 'a) => array<'a> -``` - -`makeBy(n, f)` - -Return an empty array when n is negative return an array of size n populated by `f(i)` start from `0` to `n - 1`. - -```res example -Belt.Array.makeBy(5, (i) => i) == [0, 1, 2, 3, 4] - -Belt.Array.makeBy(5, (i) => i * i) == [0, 1, 4, 9, 16] -``` - -## makeByAndShuffleU - -```res sig -let makeByAndShuffleU: (int, (. int) => 'a) => array<'a> -``` - -## makeByAndShuffle - -```res sig -let makeByAndShuffle: (int, int => 'a) => array<'a> -``` - -`makeByAndShuffle(n, f)` - -Equivalent to `shuffle(makeBy(n, f))` - -## zip - -```res sig -let zip: (array<'a>, array<'b>) => array<('a, 'b)> -``` - -`zip(a, b)` - -Create an array of pairs from corresponding elements of a and b. Stop with the shorter array. - -```res example -Belt.Array.zip([1, 2], [3, 4, 5]) == [(1, 3), (2, 4)] -``` - -## zipByU - -```res sig -let zipByU: (array<'a>, array<'b>, (. 'a, 'b) => 'c) => array<'c> -``` - -## zipBy - -```res sig -let zipBy: (array<'a>, array<'b>, ('a, 'b) => 'c) => array<'c> -``` - -`zipBy(xs, ys, f)` - -Create an array by applying `f` to corresponding elements of `xs` and `ys`. Stops with shorter array. - -Equivalent to `map(zip(xs, ys), ((a, b)) => f(a, b))` - -```res example -Belt.Array.zipBy([1, 2, 3], [4, 5], (a, b) => 2 * a + b) == [6, 9] -``` - -## unzip - -```res sig -let unzip: array<('a, 'b)> => (array<'a>, array<'b>) -``` - -`unzip(a)` takes an array of pairs and creates a pair of arrays. The first array contains all the first items of the pairs; the second array contains all the second items. - -```res example -Belt.Array.unzip([(1, 2), (3, 4)]) == ([1, 3], [2, 4]) - -Belt.Array.unzip([(1, 2), (3, 4), (5, 6), (7, 8)]) == ([1, 3, 5, 7], [2, 4, 6, 8]) -``` - -## concat - -```res sig -let concat: (array<'a>, array<'a>) => array<'a> -``` - -`concat(xs, ys)` - -Returns a fresh array containing the concatenation of the arrays `v1` and `v2`;so even if `v1` or `v2` is empty; it can not be shared - -```res example -Belt.Array.concat([1, 2, 3], [4, 5]) == [1, 2, 3, 4, 5] - -Belt.Array.concat([], ["a", "b", "c"]) == ["a", "b", "c"] -``` - -## concatMany - -```res sig -let concatMany: array> => array<'a> -``` - -`concatMany(xss)` - -Returns a fresh array as the concatenation of `xss` (an array of arrays) - -```res example -Belt.Array.concatMany([[1, 2, 3], [4, 5, 6], [7, 8]]) == [1, 2, 3, 4, 5, 6, 7, 8] -``` - -## slice - -```res sig -let slice: (array<'a>, ~offset: int, ~len: int) => array<'a> -``` - -`slice(xs, offset, len)` creates a new array with the len elements of `xs` -starting at `offset` for `offset` can be negative;and is evaluated as -`length(xs) - offset(slice, xs) - 1(1)` means get the last element as a -singleton array `slice(xs, ~-len, len)` will return a copy of the array if the -array does not have enough data; `slice` extracts through the end of sequence. - -if `len` is negative; returns the empty array. - -```res example -Belt.Array.slice([10, 11, 12, 13, 14, 15, 16], ~offset=2, ~len=3) == [12, 13, 14] - -Belt.Array.slice([10, 11, 12, 13, 14, 15, 16], ~offset=-4, ~len=3) == [13, 14, 15] - -Belt.Array.slice([10, 11, 12, 13, 14, 15, 16], ~offset=4, ~len=9) == [14, 15, 16] -``` - -## sliceToEnd - -```res sig -let sliceToEnd: (array<'a>, int) => array<'a> -``` - -`sliceToEnd(xs, offset)` creates a new array with the elements of `xs` starting at `offset` - -`offset` can be negative; and is evaluated as `length(xs) - offset(sliceToEnd, xs) - 1` means get the last element as a singleton array - -`sliceToEnd(xs, 0)` will return a copy of the array - -```res example -Belt.Array.sliceToEnd([10, 11, 12, 13, 14, 15, 16], 2) == [12, 13, 14, 15, 16] - -Belt.Array.sliceToEnd([10, 11, 12, 13, 14, 15, 16], -4) == [13, 14, 15, 16] -``` - -## copy - -```res sig -let copy: array<'a> => array<'a> -``` - -`copy(a)` - -Returns a copy of a; that is; a fresh array containing the same elements as a. - -## fill - -```res sig -let fill: (array<'a>, ~offset: int, ~len: int, 'a) => unit -``` - -`fill(arr, ~offset, ~len, x)` - -Modifies `arr` in place, storing `x` in elements number `offset` to `offset + len - 1`. -`offset` can be negative; and is evaluated as `length(arr - offset)` - -`fill(arr, ~offset=-1, ~len=1)` means fill the last element, if the array does not have enough data; `fill` will ignore it - -```res example -let arr = Belt.Array.makeBy(5, (i) => i) - -Belt.Array.fill(arr, ~offset=2, ~len=2, 9) - -arr == [0, 1, 9, 9, 4] - -Belt.Array.fill(arr, ~offset=7, ~len=2, 8) - -arr == [0, 1, 9, 9, 4] -``` - -## blit - -```res sig -let blit: - ( - ~src: array<'a>, - ~srcOffset: int, - ~dst: array<'a>, - ~dstOffset: int, - ~len: int - ) => - unit -``` - -`blit(~src=v1, ~srcOffset=o1, ~dst=v2, ~dstOffset=o2, ~len)` - -copies `len` elements from array `v1`;starting at element number `o1`;to array `v2`, starting at element number `o2`. - -It works correctly even if `v1` and `v2` are the same array;and the source and destination chunks overlap. - -`offset` can be negative; `-1` means `len - 1`; if `len + offset` is still negative;it will be set as 0 - -For each of the examples;presume that `v1 == [10, 11, 12, 13, 14, 15, 16, 17]` and `v2 == [20, 21, 22, 23, 24, 25, 26, 27]`. The result shown is the content of the destination array. - -```res example -let v1 = [10, 11, 12, 13, 14, 15, 16, 17] -let v2 = [20, 21, 22, 23, 24, 25, 26, 27] - -Belt.Array.blit(~src=v1, ~srcOffset=4, ~dst=v2, ~dstOffset=2, ~len=3) -v2 == [20, 21, 14, 15, 16, 25, 26, 27] - -Belt.Array.blit(~src=v1, ~srcOffset=4, ~dst=v1, ~dstOffset=2, ~len=3) -v1 == [10, 11, 14, 15, 16, 15, 16, 17] -``` - -## blitUnsafe - -```res sig -let blitUnsafe: (~src: array<'a>, ~srcOffset: int, ~dst: array<'a>, ~dstOffset: int, ~len: int) => unit -``` - -Unsafe blit without bounds checking. - -## forEachU - -```res sig -let forEachU: (array<'a>, (. 'a) => unit) => unit -``` - -## forEach - -```res sig -let forEach: (array<'a>, 'a => unit) => unit -``` - -`forEach(xs, f)` - -Call `f` on each element of `xs` from the beginning to end. `f` returns `unit`;so no new array is created. Use `forEach` when you are primarily concerned with repetitively creating side effects. - -```res example -Belt.Array.forEach(["a", "b", "c"], x => Js.log("Item: " ++ x)) - -/* - prints: - Item: a - Item: b - Item: c -*/ -let total = ref(0) - -Belt.Array.forEach([1, 2, 3, 4], x => total := total.contents + x) - -total.contents == 1 + 2 + 3 + 4 -``` - -## mapU - -```res sig -let mapU: (array<'a>, (. 'a) => 'b) => array<'b> -``` - -## map - -```res sig -let map: (array<'a>, 'a => 'b) => array<'b> -``` - -`map(xs, f)` - -Returns a new array by calling `f` for each element of `xs` from the beginning to end. - -```res example -Belt.Array.map([1, 2], (x) => x + 2) == [3, 4] -``` - -## getByU - -```res sig -let getByU: (array<'a>, (. 'a) => bool) => option<'a> -``` - -## getBy - -```res sig -let getBy: (array<'a>, 'a => bool) => option<'a> -``` - -`getBy(xs, p)` - -Returns `Some(value)` for the first value in `xs` that satisifies the predicate function `p`; returns `None` if no element satisifies the function. - -```res example -Belt.Array.getBy([1, 4, 3, 2], (x) => mod(x, 2) == 0) == Some(4) -Belt.Array.getBy([15, 13, 11], (x) => mod(x, 2) == 0) == None -``` - -## getIndexByU - -```res sig -let getIndexByU: (array<'a>, (. 'a) => bool) => option -``` - -## getIndexBy - -```res sig -let getIndexBy: (array<'a>, 'a => bool) => option -``` - -`getIndexBy(xs, p)` - -returns `Some(index)` for the first value in `xs` that satisifies the predicate function `p`; -returns `None` if no element satisifies the function. - -```res example -Belt.Array.getIndexBy([1, 4, 3, 2], (x) => mod(x, 2) == 0) == Some(1) -Belt.Array.getIndexBy([15, 13, 11], (x) => mod(x, 2) == 0) == None -``` - -## keepU - -```res sig -let keepU: (array<'a>, (. 'a) => bool) => array<'a> -``` - -## keep - -```res sig -let keep: (array<'a>, 'a => bool) => array<'a> -``` - -`keep(xs, p)` - -Returns a new array that keep all elements satisfy `p`. - -```res example -Belt.Array.keep([1, 2, 3], (x) => mod(x, 2) == 0) == [2] -``` - -## keepWithIndexU - -```res sig -let keepWithIndexU: (array<'a>, (. 'a, int) => bool) => array<'a> -``` - -## keepWithIndex - -```res sig -let keepWithIndex: (array<'a>, ('a, int) => bool) => array<'a> -``` - -`keepWithIndex(xs, p)` - -Returns a new array that keep all elements satisfy `p`. - -```res example -Belt.Array.keepWithIndex([1, 2, 3], (_x, i) => i == 1) == [2] -``` - -## keepMapU - -```res sig -let keepMapU: (array<'a>, (. 'a) => option<'b>) => array<'b> -``` - -## keepMap - -```res sig -let keepMap: (array<'a>, 'a => option<'b>) => array<'b> -``` - -`keepMap(xs, p)` - -Returns a new array that keep all elements that return a non-None applied `p`. - -```res example -Belt.Array.keepMap([1, 2, 3], x => - if mod(x, 2) == 0 { - Some(x) - } else { - None - } -) -== [2] -``` - -## forEachWithIndexU - -```res sig -let forEachWithIndexU: (array<'a>, (. int, 'a) => unit) => unit -``` - -## forEachWithIndex - -```res sig -let forEachWithIndex: (array<'a>, (int, 'a) => unit) => unit -``` - -`forEachWithIndex(xs, f)` - -The same as `Belt_Array.forEach`; -except that `f` is supplied two arguments: the index starting from 0 and the element from `xs`. - -```res example -Belt.Array.forEachWithIndex(["a", "b", "c"], (i, x) => Js.log("Item " ++ Belt.Int.toString(i) ++ " is " ++ x)) - -/* - prints: - Item 0 is a - Item 1 is b - Item 2 is cc -*/ -let total = ref(0) - -Belt.Array.forEachWithIndex([10, 11, 12, 13], (i, x) => total := total.contents + x + i) - -total.contents == 0 + 10 + 1 + 11 + 2 + 12 + 3 + 13 -``` - -## mapWithIndexU - -```res sig -let mapWithIndexU: (array<'a>, (. int, 'a) => 'b) => array<'b> -``` - -## mapWithIndex - -```res sig -let mapWithIndex: (array<'a>, (int, 'a) => 'b) => array<'b> -``` - -`mapWithIndex(xs, f)` - -`mapWithIndex(xs, f)` applies `f` to each element of `xs`. Function `f` takes two arguments: the index starting from 0 and the element from `xs`. - -```res example -Belt.Array.mapWithIndex([1, 2, 3], (i, x) => i + x) == [0 + 1, 1 + 2, 2 + 3] -``` - -## partitionU - -```res sig -let partitionU: (array<'a>, (. 'a) => bool) => (array<'a>, array<'a>) -``` - -## partition - -```res sig -let partition: (array<'a>, 'a => bool) => (array<'a>, array<'a>) -``` - -`partition(xs, p)` split array into tuple of two arrays based on predicate `p`; first of tuple where predicate cause true, second where predicate cause false. - -```res example -Belt.Array.partition([1, 2, 3, 4, 5], (x) => mod(x, 2) == 0) == ([2, 4], [1, 3, 5]) - -Belt.Array.partition([1, 2, 3, 4, 5], (x) => mod(x, 2) != 0) == ([1, 3, 5], [2, 4]) -``` - -## reduceU - -```res sig -let reduceU: (array<'b>, 'a, (. 'a, 'b) => 'a) => 'a -``` - -## reduce - -```res sig -let reduce: (array<'b>, 'a, ('a, 'b) => 'a) => 'a -``` - -`reduce(arr, init, f)` - -Applies `f` to each element of `arr`. - -Function `f` has two parameters: an "accumulator" which starts with a value of `init` and the next value from the array. - -It returns the final value of the accumulator. - -```res example -Belt.Array.reduce([2, 3, 4], 1, (acc, value) => acc + value) == 10 - -Belt.Array.reduce(["a", "b", "c", "d"], "", (a, b) => a ++ b) == "abcd" -``` - -## reduceReverseU - -```res sig -let reduceReverseU: (array<'b>, 'a, (. 'a, 'b) => 'a) => 'a -``` - -## reduceReverse - -```res sig -let reduceReverse: (array<'b>, 'a, ('a, 'b) => 'a) => 'a -``` - -`reduceReverse(xs, init, f)` - -Works like `Belt_Array.reduce`; except that function `f` is applied to each item of `xs` from the last back to the first. - -```res example -Belt.Array.reduceReverse(["a", "b", "c", "d"], "", (a, b) => a ++ b) == "dcba" -``` - -## reduceReverse2U - -```res sig -let reduceReverse2U: (array<'a>, array<'b>, 'c, (. 'c, 'a, 'b) => 'c) => 'c -``` - -## reduceReverse2 - -```res sig -let reduceReverse2: (array<'a>, array<'b>, 'c, ('c, 'a, 'b) => 'c) => 'c -``` - -`reduceReverse2(xs, ys, init, f)` - -Reduces two arrays xs and ys;taking items starting at `min(length(xs), length(ys))` down to and including zero. - -```res example -Belt.Array.reduceReverse2([1, 2, 3], [1, 2], 0, (acc, x, y) => acc + x + y) == 6 -``` - -## reduceWithIndexU - -```res sig -let reduceWithIndexU: (array<'a>, 'b, (. 'b, 'a, int) => 'b) => 'b -``` - -## reduceWithIndex - -```res sig -let reduceWithIndex: (array<'a>, 'b, ('b, 'a, int) => 'b) => 'b -``` - -`reduceWithIndex(arr, init, f)` - -Applies `f` to each element of `arr` from beginning to end. Function `f` has three parameters: an "accumulator", which starts with a value of `init` and the item from the array and the index of each element. `reduceWithIndex` returns the final value of the accumulator. - -```res example -Belt.Array.reduceWithIndex([1, 2, 3, 4], 0, (acc, value, i) => acc + value + i) == 16 -``` - -## someU - -```res sig -let someU: (array<'a>, (. 'a) => bool) => bool -``` - -## some - -```res sig -let some: (array<'a>, 'a => bool) => bool -``` - -`some(xs, p)` - -Returns true if at least one of the elements in `xs` satifies `p`; where `p` is a predicate: a function taking an element and returning a `bool`. - -```res example -Belt.Array.some([2, 3, 4], (x) => mod(x, 2) == 1) == true - -Belt.Array.some([(-1), (-3), (-5)], (x) => x > 0) == false -``` - -## everyU - -```res sig -let everyU: (array<'a>, (. 'a) => bool) => bool -``` - -## every - -```res sig -let every: (array<'a>, 'a => bool) => bool -``` - -`every(xs, p)` - -Returns `true` if all elements satisfy `p`; where `p` is a predicate: a function taking an element and returning a `bool`. - -```res example -Belt.Array.every([1, 3, 5], (x) => mod(x, 2) == 1) == true - -Belt.Array.every([1, (-3), 5], (x) => x > 0) == false -``` - -## every2U - -```res sig -let every2U: (array<'a>, array<'b>, (. 'a, 'b) => bool) => bool -``` - -## every2 - -```res sig -let every2: (array<'a>, array<'b>, ('a, 'b) => bool) => bool -``` - -`every2(xs, ys, p)` - -returns true if `p(xi, yi)` is true for all pairs of elements up to the shorter length (i.e. `min(length(xs), length(ys))`) - -```res example -Belt.Array.every2([1, 2, 3], [0, 1], (a, b) => a > b) == true - -Belt.Array.every2([], [1], (x, y) => x > y) == true - -Belt.Array.every2([2, 3], [1], (x, y) => x > y) == true - -Belt.Array.every2([0, 1], [5, 0], (x, y) => x > y) == false -``` - -## some2U - -```res sig -let some2U: (array<'a>, array<'b>, (. 'a, 'b) => bool) => bool -``` - -## some2 - -```res sig -let some2: (array<'a>, array<'b>, ('a, 'b) => bool) => bool -``` - -`some2(xs, ys, p)` - -returns true if `p(xi, yi)` is true for any pair of elements up to the shorter length (i.e. `min(length(xs), length(ys))`) - -```res example -Belt.Array.some2([0, 2], [1, 0, 3], (a, b) => a > b) == true - -Belt.Array.some2([], [1], (x, y) => x > y) == false - -Belt.Array.some2([2, 3], [1, 4], (x, y) => x > y) == true -``` - -## cmpU - -```res sig -let cmpU: (array<'a>, array<'a>, (. 'a, 'a) => int) => int -``` - -## cmp - -```res sig -let cmp: (array<'a>, array<'a>, ('a, 'a) => int) => int -``` - -`cmp(xs, ys, f)` - -Compared by length if `length(xs) != length(ys)`; returning -1 if `length(xs) < length(ys)` or 1 if `length(xs) > length(ys)` -Otherwise compare one by one `f(x, y)`. `f` returns -a negative number if `x` is “less than” `y` -zero if `x` is “equal to” `y` -a positive number if `x` is “greater than” `y` -The comparison returns the first non-zero result of `f`;or zero if `f` returns zero for all `x` and `y`. - -```res example -Belt.Array.cmp([1, 3, 5], [1, 4, 2], (a, b) => compare(a, b)) == -1 - -Belt.Array.cmp([1, 3, 5], [1, 2, 3], (a, b) => compare(a, b)) == 1 - -Belt.Array.cmp([1, 3, 5], [1, 3, 5], (a, b) => compare(a, b)) == 0 -``` - -## eqU - -```res sig -let eqU: (array<'a>, array<'a>, (. 'a, 'a) => bool) => bool -``` - -## eq - -```res sig -let eq: (array<'a>, array<'a>, ('a, 'a) => bool) => bool -``` - -`eq(xs, ys)` - -return false if length is not the same -otherwise compare items one by one using `f(xi, yi)`; and return true if all results are truefalse otherwise - -```res example -Belt.Array.eq([1, 2, 3], [(-1), (-2), (-3)], (a, b) => abs(a) == abs(b)) == true -``` - -## truncateToLengthUnsafe - -```res sig -let truncateToLengthUnsafe: (array<'a>, int) => unit -``` - -Unsafe `truncateToLengthUnsafe(xs, n)` sets length of array `xs` to `n`. - -If `n` is greater than the length of `xs`; the extra elements are set to `Js.Null_undefined.null`. - -If `n` is less than zero; raises a `RangeError`. - -```res example -let arr = ["ant", "bee", "cat", "dog", "elk"] - -Belt.Array.truncateToLengthUnsafe(arr, 3) - -arr == ["ant", "bee", "cat"] -``` diff --git a/pages/docs/manual/latest/api/belt/debug.mdx b/pages/docs/manual/latest/api/belt/debug.mdx deleted file mode 100644 index 9fe40751f..000000000 --- a/pages/docs/manual/latest/api/belt/debug.mdx +++ /dev/null @@ -1,7 +0,0 @@ -# Debug - -## setupChromeDebugger - -```res sig -let setupChromeDebugger: unit => unit -``` diff --git a/pages/docs/manual/latest/api/belt/float.mdx b/pages/docs/manual/latest/api/belt/float.mdx deleted file mode 100644 index 9e316e24a..000000000 --- a/pages/docs/manual/latest/api/belt/float.mdx +++ /dev/null @@ -1,107 +0,0 @@ -# Float - -This module includes convenience methods for handling `float` types. - -## toInt - -```res sig -let toInt: float => int -``` - -Converts a given `float` to an `int`. - -```res example -Js.log(Belt.Float.toInt(1.0) === 1) /* true */ -``` - -## fromInt - -```res sig -let fromInt: int => float -``` - -Converts a given `int` to a `float`. - -```res example -Js.log(Belt.Float.fromInt(1) === 1.0) /* true */ -``` - -## fromString - -```res sig -let fromString: string => option -``` - -Converts a given `string` to a `float`. Returns `Some(float)` when the input is a number, `None` otherwise. - -```res example -Js.log(Belt.Float.fromString("1.0") === Some(1.0)) /* true */ -``` - -## toString - -```res sig -let toString: float => string -``` - -Converts a given `float` to a `string`. Uses the JavaScript `String` constructor under the hood. - -```res example -Js.log(Belt.Float.toString(1.0) === "1.0") /* true */ -``` - -## + - -```re sig -let (+): (float, float) => float -``` - -Addition of two `float` values. -Can be opened in a module to avoid dot-notation (`+.`), however this yields a shadow warning (Warning number 44) in the default configuration. - -```res example -open Belt.Float -Js.log(2.0 + 2.0 === 4.0) /* true */ -``` - -## - - -```re sig -let (-): (float, float) => float -``` - -Subtraction of two `float` values. -Can be opened in a module to avoid dot-notation (`-.`), however this yields a shadow warning (Warning number 44) in the default configuration. - -```res example -open Belt.Float -Js.log(2.0 - 1.0 === 1.0) /* true */ -``` - -## \* - -```re sig -let (*): (float, float) => float -``` - -Multiplication of two `float` values. -Can be opened in a module to avoid dot-notation (`*.`), however this yields a shadow warning (Warning number 44) in the default configuration. - -```res example -open Belt.Float -Js.log(2.0 * 2.0 === 4.0) /* true */ -``` - -## / - -```re sig -let (/): (float, float) => float -``` - -Division of two `float` values. -Can be opened in a module to avoid dot-notation (`/.`), however this yields a shadow warning (Warning number 44) in the default configuration. - -```res example -open Belt.Float -Js.log(4.0 / 2.0 === 2.0) /* true */ -``` diff --git a/pages/docs/manual/latest/api/belt/hash-map-int.mdx b/pages/docs/manual/latest/api/belt/hash-map-int.mdx deleted file mode 100644 index 0adeb762a..000000000 --- a/pages/docs/manual/latest/api/belt/hash-map-int.mdx +++ /dev/null @@ -1,325 +0,0 @@ -# HashMapInt - - - -Specialized when key type is `int`, more efficient than the generic type - - - -## key - -```res prelude -type key = int -``` - -Type of the `Belt.HashMap.Int` key. - -## t - -```res prelude -type t<'b> -``` - -Type of the `Belt.HashMap.Int` - -## make - -```res sig -let make: (~hintSize: int) => t<'b> -``` - -`make(~hintSize=10)` creates a new hash map by taking the `hintSize`. - -```res example -let hMap = Belt.HashMap.Int.make(~hintSize=10) - -Belt.HashMap.Int.set(hMap, 1, "a") -``` - -## clear - -```res sig -let clear: t<'b> => unit -``` - -Clears a hash table. - -```res example -let hMap = Belt.HashMap.Int.fromArray([(1, "1")]) -Belt.HashMap.Int.clear(hMap) -Belt.HashMap.Int.isEmpty(hMap) == true -``` - -## isEmpty - -```res sig -let isEmpty: t<'a> => bool -``` - -`isEmpty(m)` checks whether a hash map is empty. - -```res example -let hMap = Belt.HashMap.Int.fromArray([(1, "1")]) -Belt.HashMap.Int.isEmpty(hMap) == false -``` - -## set - -```res sig -let set: (t<'a>, key, 'a) => unit -``` - -`set(tbl, k, v)` if `k` does not exist, add the binding `k,v`, otherwise, update the old value with the new `v`. - -```res example -let hMap = Belt.HashMap.Int.fromArray([(2, "2")]) - -Belt.HashMap.Int.set(hMap, 1, "1") - -Belt.HashMap.Int.valuesToArray(hMap) == ["1", "2"] -``` - -## copy - -```res sig -let copy: t<'a> => t<'a> -``` - -Creates copy of a hash map. - -```res example -let hMap1 = Belt.HashMap.Int.fromArray([(1, "1"), (2, "2")]) -let hMap2 = Belt.HashMap.Int.copy(hMap1) - -Belt.HashMap.Int.set(hMap2, 2, "3") - -Belt.HashMap.Int.get(hMap1, 2) != Belt.HashMap.Int.get(hMap2, 2) -``` - -## get - -```res sig -let get: (t<'a>, key) => option<'a> -``` - -## has - -```res sig -let has: (t<'b>, key) => bool -``` - -Returns value bound under specific key. If values not exist returns `None`. - -```res example -let hMap = Belt.HashMap.Int.make(~hintSize=10) -Belt.HashMap.Int.set(hMap, 1, "value1") - -Belt.HashMap.Int.get(hMap, 1) == Some("value1") -Belt.HashMap.Int.get(hMap, 2) == None -``` - -## remove - -```res sig -let remove: (t<'a>, key) => unit -``` - -If bound exists, removes it from the hash map. - -```res example -let hMap = Belt.HashMap.Int.make(~hintSize=10) -Belt.HashMap.Int.set(hMap, 1, "value1") -Belt.HashMap.Int.remove(hMap, 1) -Belt.HashMap.Int.has(hMap, 1) == false -``` - -## forEachU - -```res sig -let forEachU: (t<'b>, (. key, 'b) => unit) => unit -``` - -Same as [forEach](##forEach) but takes uncurried functon. - -## forEach - -```res sig -let forEach: (t<'b>, (key, 'b) => unit) => unit -``` - -`forEach(tbl, f)` applies `f` to all bindings in table `tbl`. `f` receives the key as first argument, and the associated value as second argument. Each binding is presented exactly once to `f`. - -```res example -let hMap = Belt.HashMap.Int.make(~hintSize=10) -Belt.HashMap.Int.set(hMap, 1, "value1") -Belt.HashMap.Int.forEach(hMap, (key, value) => Js.log2(key, value)) -// prints ("1", "value1") -``` - -## reduceU - -```res sig -let reduceU: (t<'b>, 'c, (. 'c, key, 'b) => 'c) => 'c -``` - -Same as [reduce](##reduce) but takes uncurried functon. - -## reduce - -```res sig -let reduce: (t<'b>, 'c, ('c, key, 'b) => 'c) => 'c -``` - -`reduce(tbl, init, f)` computes `(f(kN, dN) ... (f(k1, d1, init))...)`, where `k1 ... kN` are the keys of all bindings in `tbl`, and `d1 ... dN` are the associated values. Each binding is presented exactly once to `f`. - -The order in which the bindings are passed to `f` is unspecified. However, if the table contains several bindings for the same key, they are passed to `f` in reverse order of introduction, that is, the most recent binding is passed first. - -```res example -let hMap = Belt.HashMap.Int.make(~hintSize=10) -Belt.HashMap.Int.set(hMap, 1, "value1") -Belt.HashMap.Int.set(hMap, 2, "value2") - -Belt.HashMap.Int.reduce(hMap, "", (acc, key, value) => acc ++ (", " ++ value)) == "value1, value2" -``` - -## keepMapInPlaceU - -```res sig -let keepMapInPlaceU: (t<'a>, (. key, 'a) => option<'a>) => unit -``` - -Same as [keepMapInPlace](##keepMapInPlace) but takes uncurried functon. - -## keepMapInPlace - -```res sig -let keepMapInPlace: (t<'a>, (key, 'a) => option<'a>) => unit -``` - -Filters out values for which function `f` returned `None`. - -```res example -let hMap = Belt.HashMap.Int.make(~hintSize=10) -Belt.HashMap.Int.set(hMap, 1, "value1") -Belt.HashMap.Int.set(hMap, 2, "value2") - -Belt.HashMap.Int.keepMapInPlace(hMap, (key, value) => mod(key, 1) == 0 ? None : Some(value)) -``` - -## size - -```res sig -let size: t<'a> => int -``` - -`size(tbl)` returns the number of bindings in `tbl`. It takes constant time. - -```res example -let hMap = Belt.HashMap.Int.make(~hintSize=10) -Belt.HashMap.Int.set(hMap, 1, "value1") -Belt.HashMap.Int.set(hMap, 2, "value2") - -Belt.HashMap.Int.size(hMap) == 2 -``` - -## toArray - -```res sig -let toArray: t<'a> => array<(key, 'a)> -``` - -Returns array of key value pairs. - -```res example -let hMap = Belt.HashMap.Int.make(~hintSize=10) -Belt.HashMap.Int.set(hMap, 1, "value1") -Belt.HashMap.Int.set(hMap, 2, "value2") - -Belt.HashMap.Int.toArray(hMap) == [(1, "value1"), (2, "value2")] -``` - -## keysToArray - -```res sig -let keysToArray: t<'a> => array -``` - -Returns array of keys. - -```res example -let hMap = Belt.HashMap.Int.make(~hintSize=10) -Belt.HashMap.Int.set(hMap, 1, "value1") -Belt.HashMap.Int.set(hMap, 2, "value2") - -Belt.HashMap.Int.keysToArray(hMap) == [1, 2] -``` - -## valuesToArray - -```res sig -let valuesToArray: t<'a> => array<'a> -``` - -Returns array of values. - -```res example -let hMap = Belt.HashMap.Int.make(~hintSize=10) -Belt.HashMap.Int.set(hMap, 1, "value1") -Belt.HashMap.Int.set(hMap, 2, "value2") - -Belt.HashMap.Int.valuesToArray(hMap) == ["value1", "value2"] -``` - -## fromArray - -```res sig -let fromArray: array<(key, 'a)> => t<'a> -``` - -Creates new hash map from array of pairs. - -Returns array of values. - -```res example -let hMap = Belt.HashMap.Int.fromArray([(1, "value1"), (1, "value2")]) -Belt.HashMap.Int.toArray(hMap) == [(1, "value1"), (2, "value2")] -``` - -## mergeMany - -```res sig -let mergeMany: (t<'a>, array<(key, 'a)>) => unit -``` - -Merges many key value pairs into hash map. - -```res example -let hMap = Belt.HashMap.Int.make(~hintSize=10) -Belt.HashMap.Int.mergeMany(hMap, [(1, "value1"), (2, "value2")]) -``` - -## getBucketHistogram - -```res sig -let getBucketHistogram: t<'a> => array -``` - -```res example -let hMap = Belt.HashMap.Int.make(~hintSize=10) -Belt.HashMap.Int.set(hMap, 1, "1") - -Belt.HashMap.Int.getBucketHistogram(hMap) -``` - -## logStats - -```res sig -let logStats: t<'a> => unit -``` - -```res example -let hMap = Belt.HashMap.Int.make(~hintSize=10) -Belt.HashMap.Int.set(hMap, 1, "1") - -Belt.HashMap.Int.logStats(hMap) -``` diff --git a/pages/docs/manual/latest/api/belt/hash-map-string.mdx b/pages/docs/manual/latest/api/belt/hash-map-string.mdx deleted file mode 100644 index 401e2dd70..000000000 --- a/pages/docs/manual/latest/api/belt/hash-map-string.mdx +++ /dev/null @@ -1,337 +0,0 @@ -# HashMapString - - - -Specialized when key type is `string`, more efficient than the generic type - - - -## key - -```res prelude -type key = string -``` - -Type of the `Belt.HashMap.String` key. - -## t - -```res prelude -type t<'b> -``` - -Type of the `Belt.HashMap.String`. - -## make - -```res sig -let make: (~hintSize: int) => t<'b> -``` - -`make(~hintSize=10)` creates a new hash map by taking the `hintSize`. - -```res example -let hMap = Belt.HashMap.String.make(~hintSize=10) - -Belt.HashMap.String.set(hMap, "key1", "a") -``` - -## clear - -```res sig -let clear: t<'b> => unit -``` - -Clears a hash table. - -```res example -let hMap = Belt.HashMap.String.fromArray([("1", "1")]) -Belt.HashMap.String.clear(hMap) -Belt.HashMap.String.isEmpty(hMap) == true -``` - -## isEmpty - -```res sig -let isEmpty: t<'a> => bool -``` - -`isEmpty(m)` checks whether a hash map is empty. - -```res example -let hMap = Belt.HashMap.String.fromArray([("1", "1")]) -Belt.HashMap.String.isEmpty(hMap) == false -``` - -## set - -```res sig -let set: (t<'a>, key, 'a) => unit -``` - -`set(tbl, k, v)` if `k` does not exist, add the binding `k,v`, otherwise, update the old value with the new `v`. - -```res example -let hMap = Belt.HashMap.String.fromArray([("2", "2")]) - -Belt.HashMap.String.set(hMap, "1", "1") - -Belt.HashMap.String.valuesToArray(hMap) == ["1", "2"] -``` - -## copy - -```res sig -let copy: t<'a> => t<'a> -``` - -Creates copy of a hash map. - -```res example -let hMap1 = Belt.HashMap.String.fromArray([("1", "1"), ("2", "2")]) -let hMap2 = Belt.HashMap.String.copy(hMap1) - -Belt.HashMap.String.set(hMap2, "2", "3") - -Belt.HashMap.String.get(hMap1, "2") != Belt.HashMap.String.get(hMap2, "2") -``` - -## get - -```res sig -let get: (t<'a>, key) => option<'a> -``` - -Returns value bound under specific key. If values not exist returns `None`. - -```res example -let hMap = Belt.HashMap.String.make(~hintSize=10) -Belt.HashMap.String.set(hMap, "1", "value1") - -Belt.HashMap.String.get(hMap, "1") == Some("value1") -Belt.HashMap.String.get(hMap, "2") == None -``` - -## has - -```res sig -let has: (t<'b>, key) => bool -``` - -Checks if `x` is bound in `tbl`. - -```res example -let hMap = Belt.HashMap.String.make(~hintSize=10) -Belt.HashMap.String.set(hMap, "1", "value1") - -Belt.HashMap.String.has(hMap, "1") == true -Belt.HashMap.String.has(hMap, "2") == false -``` - -## remove - -```res sig -let remove: (t<'a>, key) => unit -``` - -If bound exists, removes it from the hash map. - -```res example -let hMap = Belt.HashMap.String.make(~hintSize=10) -Belt.HashMap.String.set(hMap, "1", "value1") -Belt.HashMap.String.remove(hMap, "1") -Belt.HashMap.String.has(hMap, "1") == false -``` - -## forEachU - -```res sig -let forEachU: (t<'b>, (. key, 'b) => unit) => unit -``` - -Same as [forEach](##forEach) but takes uncurried functon. - -## forEach - -```res sig -let forEach: (t<'b>, (key, 'b) => unit) => unit -``` - -`forEach(tbl, f)` applies `f` to all bindings in table `tbl`. `f` receives the key as first argument, and the associated value as second argument. Each binding is presented exactly once to `f`. - -```res example -let hMap = Belt.HashMap.String.make(~hintSize=10) -Belt.HashMap.String.set(hMap, "1", "value1") -Belt.HashMap.String.forEach(hMap, (key, value) => Js.log2(key, value)) -// prints ("1", "value1") -``` - -## reduceU - -```res sig -let reduceU: (t<'b>, 'c, (. 'c, key, 'b) => 'c) => 'c -``` - -Same as [reduce](##reduce) but takes uncurried functon. - -## reduce - -```res sig -let reduce: (t<'b>, 'c, ('c, key, 'b) => 'c) => 'c -``` - -`reduce(tbl, init, f)` computes `(f(kN, dN) ... (f(k1, d1, init))...)`, where `k1 ... kN` are the keys of all bindings in `tbl`, and `d1 ... dN` are the associated values. Each binding is presented exactly once to `f`. - -The order in which the bindings are passed to `f` is unspecified. However, if the table contains several bindings for the same key, they are passed to `f` in reverse order of introduction, that is, the most recent binding is passed first. - -```res example -let hMap = Belt.HashMap.String.make(~hintSize=10) -Belt.HashMap.String.set(hMap, "1", "value1") -Belt.HashMap.String.set(hMap, "2", "value2") - -Belt.HashMap.String.reduce(hMap, "", (acc, key, value) => - acc ++ (", " ++ value) -) == "value1, value2" -``` - -## keepMapInPlaceU - -```res sig -let keepMapInPlaceU: (t<'a>, (. key, 'a) => option<'a>) => unit -``` - -Same as [keepMapInPlace](##keepMapInPlace) but takes uncurried functon. - -## keepMapInPlace - -```res sig -let keepMapInPlace: (t<'a>, (key, 'a) => option<'a>) => unit -``` - -Filters out values for which function `f` returned `None`. - -```res example -let hMap = Belt.HashMap.String.make(~hintSize=10) -Belt.HashMap.String.set(hMap, "1", "value1") -Belt.HashMap.String.set(hMap, "2", "value2") - -Belt.HashMap.String.keepMapInPlace(hMap, (key, value) => key == "1" ? None : Some(value)) -``` - -## size - -```res sig -let size: t<'a> => int -``` - -`size(tbl)` returns the number of bindings in `tbl`. It takes constant time. - -```res example -let hMap = Belt.HashMap.String.make(~hintSize=10) -Belt.HashMap.String.set(hMap, "1", "value1") -Belt.HashMap.String.set(hMap, "2", "value2") - -Belt.HashMap.String.size(hMap) == 2 -``` - -## toArray - -```res sig -let toArray: t<'a> => array<(key, 'a)> -``` - -Returns array of key value pairs. - -```res example -let hMap = Belt.HashMap.String.make(~hintSize=10) -Belt.HashMap.String.set(hMap, "1", "value1") -Belt.HashMap.String.set(hMap, "2", "value2") - -Belt.HashMap.String.toArray(hMap) == [("1", "value1"), ("2", "value2")] -``` - -## keysToArray - -```res sig -let keysToArray: t<'a> => array -``` - -Returns array of keys. - -```res example -let hMap = Belt.HashMap.String.make(~hintSize=10) -Belt.HashMap.String.set(hMap, "1", "value1") -Belt.HashMap.String.set(hMap, "2", "value2") - -Belt.HashMap.String.keysToArray(hMap) == ["1", "2"] -``` - -## valuesToArray - -```res sig -let valuesToArray: t<'a> => array<'a> -``` - -Returns array of values. - -```res example -let hMap = Belt.HashMap.String.make(~hintSize=10) -Belt.HashMap.String.set(hMap, "1", "value1") -Belt.HashMap.String.set(hMap, "2", "value2") - -Belt.HashMap.String.valuesToArray(hMap) == ["value1", "value2"] -``` - -## fromArray - -```res sig -let fromArray: array<(key, 'a)> => t<'a> -``` - -Creates new hash map from array of pairs. - -Returns array of values. - -```res example -let hMap = Belt.HashMap.String.fromArray([("1", "value1"), ("2", "value2")]) -Belt.HashMap.String.toArray(hMap) == [("1", "value1"), ("2", "value2")] -``` - -## mergeMany - -```res sig -let mergeMany: (t<'a>, array<(key, 'a)>) => unit -``` - -Merges many key value pairs into hash map. - -```res example -let hMap = Belt.HashMap.String.make(~hintSize=10) -Belt.HashMap.String.mergeMany(hMap, [("1", "value1"), ("2", "value2")]) -``` - -## getBucketHistogram - -```res sig -let getBucketHistogram: t<'a> => array -``` - -```res example -let hMap = Belt.HashMap.String.make(~hintSize=10) -Belt.HashMap.String.set(hMap, "1", "1") - -Belt.HashMap.String.getBucketHistogram(hMap) -``` - -## logStats - -```res sig -let logStats: t<'a> => unit -``` - -```res example -let hMap = Belt.HashMap.String.make(~hintSize=10) -Belt.HashMap.String.set(hMap, "1", "1") - -Belt.HashMap.String.logStats(hMap) -``` diff --git a/pages/docs/manual/latest/api/belt/hash-map.mdx b/pages/docs/manual/latest/api/belt/hash-map.mdx deleted file mode 100644 index 906ebb3ff..000000000 --- a/pages/docs/manual/latest/api/belt/hash-map.mdx +++ /dev/null @@ -1,444 +0,0 @@ -# HashMap - - - -The top level provides generic mutable hash map operations. - - - -## t - -```res prelude -type t<'key, 'value, 'id> -``` - -The type of hash tables from type `'key` to type `'value`. - -## id - -```res prelude -type id<'a, 'id> = Belt.Id.hashable<'a, 'id> -``` - -The identity needed for making an empty hash map. - -## make - -```res sig -let make: (~hintSize: int, ~id: id<'key, 'id>) => t<'key, 'value, 'id> -``` - -`make(~hintSize=10, ~id)` creates a new map by taking in the comparator and `hintSize`. - -```res example -module IntHash = Belt.Id.MakeHashableU({ - type t = int - let hash = a => a - let eq = (a, b) => a == b -}) - -let hMap = Belt.HashMap.make(~hintSize=10, ~id=module(IntHash)) - -Belt.HashMap.set(hMap, 0, "a") -``` - -## clear - -```res sig -let clear: t<'key, 'value, 'id> => unit -``` - -Clears a hash table. - -```res example -module IntHash = Belt.Id.MakeHashableU({ - type t = int - let hash = a => a - let eq = (a, b) => a == b -}) - -let hMap = Belt.HashMap.fromArray([(1, "1")], ~id=module(IntHash)) -Belt.HashMap.clear(hMap) -Belt.HashMap.isEmpty(hMap) == true -``` - -## isEmpty - -```res sig -let isEmpty: t<'a, 'b, 'c> => bool -``` - -`isEmpty(m)` checks whether a hash map is empty. - -```res example -module IntHash = Belt.Id.MakeHashableU({ - type t = int - let hash = a => a - let eq = (a, b) => a == b -}) - -Belt.HashMap.isEmpty(Belt.HashMap.fromArray([(1, "1")], ~id=module(IntHash))) == false -``` - -## set - -```res sig -let set: (t<'key, 'value, 'id>, 'key, 'value) => unit -``` - -`set(hMap, k, v)` if `k` does not exist, add the binding `k,v`, otherwise, update the old value with the new `v`. - -```res example -module IntHash = Belt.Id.MakeHashableU({ - type t = int - let hash = a => a - let eq = (a, b) => a == b -}) - -let s0 = Belt.HashMap.fromArray([(2, "2"), (1, "1"), (3, "3")], ~id=module(IntHash)) - -Belt.HashMap.set(s0, 2, "3") - -Belt.HashMap.valuesToArray(s0) == ["1", "3", "3"] -``` - -## copy - -```res sig -let copy: t<'key, 'value, 'id> => t<'key, 'value, 'id> -``` - -Creates copy of a hash map. - -```res example -module IntHash = Belt.Id.MakeHashableU({ - type t = int - let hash = a => a - let eq = (a, b) => a == b -}) - -let s0 = Belt.HashMap.fromArray([(2, "2"), (1, "1"), (3, "3")], ~id=module(IntHash)) -let s1 = Belt.HashMap.copy(s0) - -Belt.HashMap.set(s0, 2, "3") - -Belt.HashMap.get(s0, 2) != Belt.HashMap.get(s1, 2) -``` - -## get - -```res sig -let get: (t<'key, 'value, 'id>, 'key) => option<'value> -``` - -Returns value bound under specific key. If values not exist returns `None`. - -```res example -module IntHash = Belt.Id.MakeHashableU({ - type t = int - let hash = a => a - let eq = (a, b) => a == b -}) - -let s0 = Belt.HashMap.make(~hintSize=10, ~id=module(IntHash)) -Belt.HashMap.set(s0, 1, "value1") - -Belt.HashMap.get(s0, 1) == Some("value1") -Belt.HashMap.get(s0, 2) == None -``` - -## has - -```res sig -let has: (t<'key, 'value, 'id>, 'key) => bool -``` - -Checks if `x` is bound in `tbl`. - -```res example -module IntHash = Belt.Id.MakeHashableU({ - type t = int - let hash = a => a - let eq = (a, b) => a == b -}) - -let s0 = Belt.HashMap.make(~hintSize=10, ~id=module(IntHash)) -Belt.HashMap.set(s0, 1, "value1") - -Belt.HashMap.has(s0, 1) == true -Belt.HashMap.has(s0, 2) == false -``` - -## remove - -```res sig -let remove: (t<'key, 'value, 'id>, 'key) => unit -``` - -If bound exists, removes it from the hash map. - -```res example -module IntHash = Belt.Id.MakeHashableU({ - type t = int - let hash = a => a - let eq = (a, b) => a == b -}) - -let s0 = Belt.HashMap.make(~hintSize=10, ~id=module(IntHash)) -Belt.HashMap.set(s0, 1, "value1") -Belt.HashMap.remove(s0, 1) -Belt.HashMap.has(s0, 1) == false -``` - -## forEachU - -```res sig -let forEachU: (t<'key, 'value, 'id>, (. 'key, 'value) => unit) => unit -``` - -Same as [forEach](##forEach) but takes uncurried functon. - -## forEach - -```res sig -let forEach: (t<'key, 'value, 'id>, ('key, 'value) => unit) => unit -``` - -`forEach(tbl, f)` applies `f` to all bindings in table `tbl`. `f` receives the key as first argument, and the associated value as second argument. Each binding is presented exactly once to `f`. - -```res example -module IntHash = Belt.Id.MakeHashableU({ - type t = int - let hash = a => a - let eq = (a, b) => a == b -}) - -let s0 = Belt.HashMap.make(~hintSize=10, ~id=module(IntHash)) -Belt.HashMap.set(s0, 1, "value1") -Belt.HashMap.forEach(s0, (key, value) => Js.log2(key, value)) -// prints (1, "value1") -``` - -## reduceU - -```res sig -let reduceU: (t<'key, 'value, 'id>, 'c, (. 'c, 'key, 'value) => 'c) => 'c -``` - -Same as [reduce](##reduce) but takes uncurried functon. - -## reduce - -```res sig -let reduce: (t<'key, 'value, 'id>, 'c, ('c, 'key, 'value) => 'c) => 'c -``` - -`reduce(tbl, init, f)` computes `(f(kN, dN) ... (f(k1, d1, init))...)`, where `k1 ... kN` are the keys of all bindings in `tbl`, and `d1 ... dN` are the associated values. Each binding is presented exactly once to `f`. - -The order in which the bindings are passed to `f` is unspecified. However, if the table contains several bindings for the same key, they are passed to `f` in reverse order of introduction, that is, the most recent binding is passed first. - -```res example -module IntHash = Belt.Id.MakeHashableU({ - type t = int - let hash = a => a - let eq = (a, b) => a == b -}) - -let s0 = Belt.HashMap.make(~hintSize=10, ~id=module(IntHash)) -Belt.HashMap.set(s0, 1, "value1") -Belt.HashMap.set(s0, 2, "value2") - -Belt.HashMap.reduce(s0, "", (acc, key, value) => acc ++ (", " ++ value)) == "value1, value2" -``` - -## keepMapInPlaceU - -```res sig -let keepMapInPlaceU: (t<'key, 'value, 'id>, (. 'key, 'value) => option<'value>) => unit -``` - -Same as [keepMapInPlace](##keepMapInPlace) but takes uncurried functon. - -## keepMapInPlace - -```res sig -let keepMapInPlace: (t<'key, 'value, 'id>, ('key, 'value) => option<'value>) => unit -``` - -Filters out values for which function `f` returned `None`. - -```res example -module IntHash = Belt.Id.MakeHashableU({ - type t = int - let hash = a => a - let eq = (a, b) => a == b -}) - -let s0 = Belt.HashMap.make(~hintSize=10, ~id=module(IntHash)) -Belt.HashMap.set(s0, 1, "value1") -Belt.HashMap.set(s0, 2, "value2") - -Belt.HashMap.keepMapInPlace(s0, (key, value) => key == 1 ? None : Some(value)) -``` - -## size - -```res sig -let size: t<'a, 'b, 'c> => int -``` - -`size(tbl)` returns the number of bindings in `tbl`. It takes constant time. - -```res example -module IntHash = Belt.Id.MakeHashableU({ - type t = int - let hash = a => a - let eq = (a, b) => a == b -}) - -let s0 = Belt.HashMap.make(~hintSize=10, ~id=module(IntHash)) -Belt.HashMap.set(s0, 1, "value1") -Belt.HashMap.set(s0, 2, "value2") - -Belt.HashMap.size(s0) == 2 -``` - -## toArray - -```res sig -let toArray: t<'key, 'value, 'id> => array<('key, 'value)> -``` - -Returns array of key value pairs. - -```res example -module IntHash = Belt.Id.MakeHashableU({ - type t = int - let hash = a => a - let eq = (a, b) => a == b -}) - -let s0 = Belt.HashMap.make(~hintSize=10, ~id=module(IntHash)) -Belt.HashMap.set(s0, 1, "value1") -Belt.HashMap.set(s0, 2, "value2") - -Belt.HashMap.toArray(s0) == [(1, "value1"), (2, "value2")] -``` - -## keysToArray - -```res sig -let keysToArray: t<'key, 'a, 'b> => array<'key> -``` - -Returns array of keys. - -```res example -module IntHash = Belt.Id.MakeHashableU({ - type t = int - let hash = a => a - let eq = (a, b) => a == b -}) - -let s0 = Belt.HashMap.make(~hintSize=10, ~id=module(IntHash)) -Belt.HashMap.set(s0, 1, "value1") -Belt.HashMap.set(s0, 2, "value2") - -Belt.HashMap.keysToArray(s0) == [1, 2] -``` - -## valuesToArray - -```res sig -let valuesToArray: t<'a, 'value, 'b> => array<'value> -``` - -Returns array of values. - -```res example -module IntHash = Belt.Id.MakeHashableU({ - type t = int - let hash = a => a - let eq = (a, b) => a == b -}) - -let s0 = Belt.HashMap.make(~hintSize=10, ~id=module(IntHash)) -Belt.HashMap.set(s0, 1, "value1") -Belt.HashMap.set(s0, 2, "value2") - -Belt.HashMap.valuesToArray(s0) == ["value1", "value2"] -``` - -## fromArray - -```res sig -let fromArray: (array<('key, 'value)>, ~id: id<'key, 'id>) => t<'key, 'value, 'id> -``` - -Creates new hash map from array of pairs. - -Returns array of values. - -```res example -module IntHash = Belt.Id.MakeHashableU({ - type t = int - let hash = a => a - let eq = (a, b) => a == b -}) - -let s0 = Belt.HashMap.fromArray([(1, "value1"), (2, "value2")], ~id=module(IntHash)) -Belt.HashMap.toArray(s0) == [(1, "value1"), (2, "value2")] -``` - -## mergeMany - -```res sig -let mergeMany: (t<'key, 'value, 'id>, array<('key, 'value)>) => unit -``` - -```res example -module IntHash = Belt.Id.MakeHashableU({ - type t = int - let hash = a => a - let eq = (a, b) => a == b -}) - -let hMap = Belt.HashMap.make(~hintSize=10, ~id=module(IntHash)) -Belt.HashMap.mergeMany(hMap, [(1, "1"), (2, "2")]) -``` - -## getBucketHistogram - -```res sig -let getBucketHistogram: t<'a, 'b, 'c> => array -``` - -```res example -module IntHash = Belt.Id.MakeHashableU({ - type t = int - let hash = a => a - let eq = (a, b) => a == b -}) -let hMap = Belt.HashMap.make(~hintSize=10, ~id=module(IntHash)) -Belt.HashMap.set(hMap, 1, "1") - -Belt.HashMap.getBucketHistogram(hMap) -``` - -## logStats - -```res sig -let logStats: t<'a, 'b, 'c> => unit -``` - -```res example -module IntHash = Belt.Id.MakeHashableU({ - type t = int - let hash = a => a - let eq = (a, b) => a == b -}) -let hMap = Belt.HashMap.make(~hintSize=10, ~id=module(IntHash)) -Belt.HashMap.set(hMap, 1, "1") - -Belt.HashMap.logStats(hMap) -``` diff --git a/pages/docs/manual/latest/api/belt/hash-set-int.mdx b/pages/docs/manual/latest/api/belt/hash-set-int.mdx deleted file mode 100644 index d73d3f856..000000000 --- a/pages/docs/manual/latest/api/belt/hash-set-int.mdx +++ /dev/null @@ -1,123 +0,0 @@ -# HashSetInt - - - -This module is `Belt.HashSet` specialized with key type to be a primitive type. - -It is more efficient in general, the API is the same with `Belt.HashSet` except its key type is fixed, and identity is not needed(using the built-in one). - - - -## key - -```res prelude -type key = int -``` - -## t - -```res prelude -type t -``` - -## make - -```res sig -let make: (~hintSize: int) => t -``` - -## clear - -```res sig -let clear: t => unit -``` - -## isEmpty - -```res sig -let isEmpty: t => bool -``` - -## add - -```res sig -let add: (t, key) => unit -``` - -## copy - -```res sig -let copy: t => t -``` - -## has - -```res sig -let has: (t, key) => bool -``` - -## remove - -```res sig -let remove: (t, key) => unit -``` - -## forEachU - -```res sig -let forEachU: (t, (. key) => unit) => unit -``` - -## forEach - -```res sig -let forEach: (t, key => unit) => unit -``` - -## reduceU - -```res sig -let reduceU: (t, 'c, (. 'c, key) => 'c) => 'c -``` - -## reduce - -```res sig -let reduce: (t, 'c, ('c, key) => 'c) => 'c -``` - -## size - -```res sig -let size: t => int -``` - -## logStats - -```res sig -let logStats: t => unit -``` - -## toArray - -```res sig -let toArray: t => array -``` - -## fromArray - -```res sig -let fromArray: array => t -``` - -## mergeMany - -```res sig -let mergeMany: (t, array) => unit -``` - -## getBucketHistogram - -```res sig -let getBucketHistogram: t => array -``` diff --git a/pages/docs/manual/latest/api/belt/hash-set-string.mdx b/pages/docs/manual/latest/api/belt/hash-set-string.mdx deleted file mode 100644 index 277d95228..000000000 --- a/pages/docs/manual/latest/api/belt/hash-set-string.mdx +++ /dev/null @@ -1,123 +0,0 @@ -# HashSetString - - - -This module is `Belt.HashSet` specialized with key type to be a primitive type. - -It is more efficient in general, the API is the same with `Belt.HashSet` except its key type is fixed, and identity is not needed(using the built-in one). - - - -## key - -```res prelude -type key = string -``` - -## t - -```res prelude -type t -``` - -## make - -```res sig -let make: (~hintSize: int) => t -``` - -## clear - -```res sig -let clear: t => unit -``` - -## isEmpty - -```res sig -let isEmpty: t => bool -``` - -## add - -```res sig -let add: (t, key) => unit -``` - -## copy - -```res sig -let copy: t => t -``` - -## has - -```res sig -let has: (t, key) => bool -``` - -## remove - -```res sig -let remove: (t, key) => unit -``` - -## forEachU - -```res sig -let forEachU: (t, (. key) => unit) => unit -``` - -## forEach - -```res sig -let forEach: (t, key => unit) => unit -``` - -## reduceU - -```res sig -let reduceU: (t, 'c, (. 'c, key) => 'c) => 'c -``` - -## reduce - -```res sig -let reduce: (t, 'c, ('c, key) => 'c) => 'c -``` - -## size - -```res sig -let size: t => int -``` - -## logStats - -```res sig -let logStats: t => unit -``` - -## toArray - -```res sig -let toArray: t => array -``` - -## fromArray - -```res sig -let fromArray: array => t -``` - -## mergeMany - -```res sig -let mergeMany: (t, array) => unit -``` - -## getBucketHistogram - -```res sig -let getBucketHistogram: t => array -``` diff --git a/pages/docs/manual/latest/api/belt/hash-set.mdx b/pages/docs/manual/latest/api/belt/hash-set.mdx deleted file mode 100644 index d10a07ef2..000000000 --- a/pages/docs/manual/latest/api/belt/hash-set.mdx +++ /dev/null @@ -1,160 +0,0 @@ -# HashSet - - - -A mutable Hash set which allows customized `hash` behavior. -All data are parameterized by not its only type but also a unique identity in the time of initialization, so that two HashSets of ints initialized with different hash functions will have different type. - - - -```res prelude -module I0 = unpack( - Belt.Id.hashableU( - ~hash=(. a: int) => land(a, 65535), - ~eq=(. a, b) => a == b, - ) -) - -let s0 = Belt.HashSet.make(~id=module(I0), ~hintSize=40) - -module I1 = unpack( - Belt.Id.hashableU( - ~hash=(. a: int) => land(a, 255), - ~eq=(. a, b) => a == b, - ) -) - -let s1 = Belt.HashSet.make(~id=module(I1), ~hintSize=40) - -Belt.HashSet.add(s1, 0) -Belt.HashSet.add(s1, 1) -``` - -The invariant must be held: for two elements who are equal, their hashed value should be the same. - -Here the compiler would infer `s0` and `s1` having different type so that it would not mix. - -```res sig -let s0: Belt.HashSet.t -let s1: Belt.HashSet.t -``` - -We can add elements to the collection (see last two lines in the example above). Since this is an mutable data structure, `s1` will contain two pairs. - -## t - -```res prelude -type t<'a, 'id> -``` - -## id - -```res prelude -type id<'a, 'id> = Belt.Id.hashable<'a, 'id> -``` - -## make - -```res sig -let make: (~hintSize: int, ~id: id<'a, 'id>) => t<'a, 'id> -``` - -## clear - -```res sig -let clear: t<'a, 'id> => unit -``` - -## isEmpty - -```res sig -let isEmpty: t<'a, 'b> => bool -``` - -## add - -```res sig -let add: (t<'a, 'id>, 'a) => unit -``` - -## copy - -```res sig -let copy: t<'a, 'id> => t<'a, 'id> -``` - -## has - -```res sig -let has: (t<'a, 'id>, 'a) => bool -``` - -## remove - -```res sig -let remove: (t<'a, 'id>, 'a) => unit -``` - -## forEachU - -```res sig -let forEachU: (t<'a, 'id>, (. 'a) => unit) => unit -``` - -## forEach - -```res sig -let forEach: (t<'a, 'id>, 'a => unit) => unit -``` - -Order unspecified. - -## reduceU - -```res sig -let reduceU: (t<'a, 'id>, 'c, (. 'c, 'a) => 'c) => 'c -``` - -## reduce - -```res sig -let reduce: (t<'a, 'id>, 'c, ('c, 'a) => 'c) => 'c -``` - -Order unspecified. - -## size - -```res sig -let size: t<'a, 'id> => int -``` - -## logStats - -```res sig -let logStats: t<'a, 'b> => unit -``` - -## toArray - -```res sig -let toArray: t<'a, 'id> => array<'a> -``` - -## fromArray - -```res sig -let fromArray: (array<'a>, ~id: id<'a, 'id>) => t<'a, 'id> -``` - -## mergeMany - -```res sig -let mergeMany: (t<'a, 'id>, array<'a>) => unit -``` - -## getBucketHistogram - -```res sig -let getBucketHistogram: t<'a, 'b> => array -``` diff --git a/pages/docs/manual/latest/api/belt/id.mdx b/pages/docs/manual/latest/api/belt/id.mdx deleted file mode 100644 index b8646dffe..000000000 --- a/pages/docs/manual/latest/api/belt/id.mdx +++ /dev/null @@ -1,157 +0,0 @@ -# Id - - - -Provide utilities to create identified comparators or hashes for data -structures used below. - -It creates a unique identifier per module of functions so that different data -structures with slightly different comparison functions won't mix. - - - -## hash - -```res sig -type hash<'a, 'id> -``` - -Its runtime represenation is a hash function, but signed with a type parameter, so that different hash functions type mismatch. - -## eq - -```res sig -type eq<'a, 'id> -``` - -Its runtime represenation is an eq function, but signed with a type parameter, so that different hash functions type mismatch. - -## cmp - -```res sig -type cmp<'a, 'id> -``` - -Its runtime representation is a cmp function, but signed with a type parameter, so that different hash functions type mismatch. - -## Comparable - -```res prelude -module type Comparable = { - type identity - - type t - - let cmp: Belt.Id.cmp -} -``` - -## comparable - -```res sig -type comparable<'key,'id> = - module(Belt.Id.Comparable with type identity = 'id and type t = 'key) -``` - -is a module of functions, here it only includes cmp. - -Unlike normal functions, when created, it comes with a unique identity (guaranteed by the type system). - -It can be created using function `Belt_Id.comparableU` or `Belt_Id.comparable`. - -The idea of a unique identity when created is that it makes sure two sets would type mismatch if they use different comparison function - -## MakeComparableU - -```res sig -module MakeComparableU: (M: { - type t - let cmp: (. t, t) => int -}) => Comparable with type t = M.t -``` - -## MakeComparable - -```res sig -module MakeComparable: (M: { - type t - let cmp: (t, t) => int -}) => Comparable with type t = M.t -``` - -## comparableU - -```res sig -let comparableU: (~cmp: (. 'a, 'a) => int) => - module(Belt.Id.Comparable with type t = 'a) -``` - -## comparable - -```res sig -type comparable<'key, 'id> = - module(Belt.Id.Comparable with type identity = 'id and type t = 'key) -``` - -## Hashable - -```res prelude -module type Hashable = { - type identity - - type t - - let hash: Belt.Id.hash - - let eq: Belt.Id.eq -} -``` - -## hashable - -```res sig -type hashable<'key, 'id> = - module(Belt.Id.Hashable with type identity = 'id and type t = 'key) -``` - -is a module of functions, here it only includes hash, eq. - -Unlike normal functions, when created, it comes with a unique identity (guaranteed by the type system). - -It can be created using function `Belt_Id.hashableU` or `Belt_Id.hashable`. - -The idea of a unique identity when created is that it makes sure two hash sets would type mismatch if they use different comparison function. - -## MakeHashableU - -```res sig -module MakeHashableU: (M: { - type t - let hash: (. t) => int - let eq: (. t, t) => bool -}) => Hashable with type t = M.t -``` - -## MakeHashable - -```res sig -module MakeHashable: (M: { - type t - let hash: t => int - let eq: (t, t) => bool -}) => Hashable with type t = M.t -``` - -## hashableU - -```res sig -let hashableU: (~hash: (. 'a) => int, ~eq: (. 'a, 'a) => bool) => - module(Belt.Id.Hashable with type t = 'a) -``` - -## hashable - -```res sig -let hashable: (~hash: 'a => int, ~eq: ('a, 'a) => bool) => - module(Belt.Id.Hashable with type t = 'a) -``` diff --git a/pages/docs/manual/latest/api/belt/int.mdx b/pages/docs/manual/latest/api/belt/int.mdx deleted file mode 100644 index 76fa52fbb..000000000 --- a/pages/docs/manual/latest/api/belt/int.mdx +++ /dev/null @@ -1,104 +0,0 @@ -# Int - -This module includes convenience methods for handling `int` types. - -## toFloat - -```res sig -let toFloat: int => float -``` - -Converts a given `int` to a `float`. - -```res example -Js.log(Belt.Int.toFloat(1) === 1.0) /* true */ -``` - -## fromFloat - -```res sig -let fromFloat: float => int -``` - -Converts a given `float` to an `int`. - -```res example -Js.log(Belt.Int.fromFloat(1.0) === 1) /* true */ -``` - -## fromString - -```res sig -let fromString: string => option -``` - -Converts a given `string` to an `int`. Returns `Some(int)` when the input is a number, `None` otherwise. - -```res example -Js.log(Belt.Int.fromString("1") === Some(1)) /* true */ -``` - - -## toString - -```res sig -let toString: int => string -``` - -Converts a given `int` to a `string`. Uses the JavaScript `String` constructor under the hood. - -```res example -Js.log(Belt.Int.toString(1) === "1") /* true */ -``` - -## + - -```re sig -let (+): (int, int) => int -``` - -Addition of two `int` values. Same as the addition from `Pervasives`. - -```res example -open Belt.Int -Js.log(2 + 2 === 4) /* true */ -``` - -## - - -```re sig -let (-): (int, int) => int -``` - -Subtraction of two `int` values. Same as the subtraction from `Pervasives`. - -```res example -open Belt.Int -Js.log(2 - 1 === 1) /* true */ -``` - -## \* - -```re sig -let (*): (int, int) => int -``` - -Multiplication of two `int` values. Same as the multiplication from `Pervasives`. - -```res example -open Belt.Int -Js.log(2 * 2 === 4) /* true */ -``` - -## / - -```re sig -let (/): (int, int) => int -``` - -Division of two `int` values. Same as the division from `Pervasives`. - -```res example -open Belt.Int -Js.log(4 / 2 === 2); /* true */ -``` diff --git a/pages/docs/manual/latest/api/belt/list.mdx b/pages/docs/manual/latest/api/belt/list.mdx deleted file mode 100644 index ce67561e8..000000000 --- a/pages/docs/manual/latest/api/belt/list.mdx +++ /dev/null @@ -1,1123 +0,0 @@ -# List - - - -Collection functions for manipulating the `list` data structures, a singly-linked list. - -**Prefer Array** if you need any of the following: - -- Random access of element -- Better interop with JavaScript -- Better memory usage & performance. - - - -## t\<'a> - -```res prelude -type t<'a> = list<'a> -``` - -## length - -```res sig -let length: t<'a> => int -``` - -Returns the length of a list. - -```res example -Belt.List.length(list{1, 2, 3}) // 3 -``` - -## size - -```res sig -let size: t<'a> => int -``` - -**See:** list\{length}(#length) - -## head - -```res sig -let head: t<'a> => option<'a> -``` - -Returns `Some(value)` where `value` is the first element in the list, or `None` if `someList` is an empty list. - -```res example -Belt.List.head(list{}) // None -Belt.List.head(list{1, 2, 3}) // Some(1) -``` - -## headExn - -```res sig -let headExn: t<'a> => 'a -``` - -Same as [head](#head), but raises an exception if `someList` is empty. Use with care. - -```res example -Belt.List.headExn(list{1, 2, 3}) // 1 - -Belt.List.headExn(list{}) // Raises an Error -``` - -## tail - -```res sig -let tail: t<'a> => option> -``` - -Returns `None` if `someList` is empty, otherwise it returns `Some(tail)` where `tail` is everything except the first element of `someList`. - -```res example -Belt.List.tail(list{1, 2, 3}) // Some(list{2, 3}) - -Belt.List.tail(list{}) // None -``` - -## tailExn - -```res sig -let tailExn: t<'a> => t<'a> -``` - -Same as [tail](#tail), but raises an exception if `someList` is empty. Use with care. - -```res example -Belt.List.tailExn(list{1, 2, 3}) // list{2, 3} - -Belt.List.tailExn(list{}) // Raises an Error -``` - -## add - -```res sig -let add: (t<'a>, 'a) => t<'a> -``` - -Adds `value` to the beginning of `someList`. - -```res example -Belt.List.add(list{2, 3}, 1) // list{1, 2, 3} - -Belt.List.add(list{"World", "!"}, "Hello") // list{"Hello", "World", "!"} -``` - -## get - -```res sig -let get: (t<'a>, int) => option<'a> -``` - -Return the nth element in `someList`, or `None` if `index` is larger than the length. - -```res example -let abc = list{"A", "B", "C"} - -abc->Belt.List.get(1) // Some("B") - -abc->Belt.List.get(4) // None -``` - -## getExn - -```res sig -let getExn: (t<'a>, int) => 'a -``` - -Same as [get](#get), but raises an exception if `index` is larger than the length. Use with care. - -```res example -let abc = list{"A", "B", "C"} - -abc->Belt.List.getExn(1) // "B" - -abc->Belt.List.getExn(4) // Raises an Error -``` - -## make - -``` -let make: (int, 'a) => t<'a> -``` - -Returns a list of length `numItems` with each element filled with value `v`. Returns an empty list if `numItems` is negative. - -```res example -Belt.List.make(3, 1) // list{1, 1, 1} -``` - -## makeBy - -```res sig -let makeBy: (int, int => 'a) => t<'a> -``` - -Return a list of length `numItems` with element `i` initialized with `f(i)`. -Returns an empty list if `numItems` is negative. - -```res example -Belt.List.makeBy(5, i => i) // list{0, 1, 2, 3, 4} - -Belt.List.makeBy(5, i => i * i) // list{0, 1, 4, 9, 16} -``` - -## makeByU - -```res sig -let makeByU: (int, (. int) => 'a) => t<'a> -``` - -Uncurried version of [makeBy](#makeBy) - -## shuffle - -```res sig -let shuffle: t<'a> => t<'a> -``` - -Returns a new list in random order. - -```res example -Belt.List.shuffle(list{1, 2, 3}) // list{2, 1, 3} -``` - -## drop - -```res sig -let drop: (t<'a>, int) => option> -``` - -Return a new list, dropping the first `n` elements. Returns `None` if `someList` has fewer than `n` elements. - -```res example -list{1, 2, 3}->Belt.List.drop(2) // Some(list{3}) - -list{1, 2, 3}->Belt.List.drop(3) // Some(list{}) - -list{1, 2, 3}->Belt.List.drop(4) // None -``` - -## take - -```res sig -let take: (t<'a>, int) => option> -``` - -Returns a list with the first `n` elements from `someList`, or `None` if `someList` has fewer than `n` elements. - -```res example -list{1, 2, 3}->Belt.List.take(1) // Some(list{1}) - -list{1, 2, 3}->Belt.List.take(2) // Some(list{1, 2}) - -list{1, 2, 3}->Belt.List.take(4) // None -``` - -## splitAt - -```res sig -let splitAt: (t<'a>, int) => option<(list<'a>, list<'a>)> -``` - -Split the list `someList` at `index`. Returns `None` when the length of `someList` is less than `index`. - -```res example -list{"Hello", "World"}->Belt.List.splitAt(1) // Some((list{"Hello"}, list{"World"})) - -list{0, 1, 2, 3, 4}->Belt.List.splitAt(2) // Some((list{0, 1}, list{2, 3, 4})) -``` - -## concat - -```res sig -let concat: (t<'a>, t<'a>) => t<'a> -``` - -Returns the list obtained by adding `secondList` after `firstList`. - -```res example -Belt.List.concat(list{1, 2, 3}, list{4, 5}) // list{1, 2, 3, 4, 5} -``` - -## concatMany - -```res sig -let concatMany: array> => t<'a> -``` - -Returns the list obtained by concatenating all the lists in array `a`, in order. - -```res example -Belt.List.concatMany([list{1, 2, 3}, list{}, list{3}]) // list{1, 2, 3, 3} -``` - -## reverseConcat - -```res sig -let reverseConcat: (t<'a>, t<'a>) => t<'a> -``` - -Equivalent to writing: `concat(reverse(firstList, secondList)` - -```res example -Belt.List.reverseConcat(list{1, 2}, list{3, 4}) // list{2, 1, 3, 4} -``` - -## flatten - -```res sig -let flatten: t> => t<'a> -``` - -Return the list obtained by concatenating all the lists in list `ls`, in order. - -```res example -Belt.List.flatten(list{list{1, 2, 3}, list{}, list{3}}) // list{1, 2, 3, 3} -``` - -## map - -```res sig -let map: (t<'a>, 'a => 'b) => t<'b> -``` - -Returns a new list with `f` applied to each element of `someList`. - -```res example -list{1, 2}->Belt.List.map(x => x + 1) // list{3, 4} -``` - -## mapU - -```res sig -let mapU: (t<'a>, (. 'a) => 'b) => t<'b> -``` - -Uncurried version of [map](#map). - -## zip - -```res sig -let zip: (t<'a>, t<'b>) => t<('a, 'b)> -``` - -Returns a list of pairs from the two lists with the length of the shorter list. - -```res example -Belt.List.zip(list{1, 2}, list{3, 4, 5}) // list{(1, 3), (2, 4)} -``` - -## zipBy - -```res sig -let zipBy: (t<'a>, t<'b>, ('a, 'b) => 'c) => t<'c> -``` - -**See:** [zip](#zip) - -```res example -Belt.List.zipBy(list{1, 2, 3}, list{4, 5}, (a, b) => 2 * a + b) // list{6, 9} -``` - -## zipByU - -```res sig -let zipByU: (t<'a>, t<'b>, (. 'a, 'b) => 'c) => t<'c> -``` - -Uncurried version of [zipBy](#zipBy). - -## mapWithIndex - -```res sig -let mapWithIndex: (t<'a>, (int, 'a) => 'b) => t<'b> -``` - -Applies `f` to each element of `someList`. -Function `f` takes two arguments: the index starting from 0 and the element from `someList`, in that order. - -```res example -list{1, 2, 3}->Belt.List.mapWithIndex((index, x) => index + x) // list{1, 3, 5} -``` - -## mapWithIndexU - -```res sig -let mapWithIndexU: (t<'a>, (. int, 'a) => 'b) => t<'b> -``` - -Uncurried version of [mapWithIndex](#mapWithIndex). - -## fromArray - -```res sig -let fromArray: array<'a> => t<'a> -``` - -Converts the given array to a list. - -```res example -Belt.List.fromArray([1, 2, 3]) // list{1, 2, 3} -``` - -## toArray - -```res sig -let toArray: t<'a> => array<'a> -``` - -Converts the given list to an array. - -```res example -Belt.List.toArray(list{1, 2, 3}) // [1, 2, 3] -``` - -## reverse - -```res sig -let reverse: t<'a> => t<'a> -``` - -Returns a new list whose elements are those of `someList` in reversed order. - -```res example -Belt.List.reverse(list{1, 2, 3}) /* list{3, 2, 1} */ -``` - -## mapReverse - -```res sig -let mapReverse: (t<'a>, 'a => 'b) => t<'b> -``` - -Equivalent to: - -```res -map(someList, f)->reverse -``` - -```res example -list{3, 4, 5}->Belt.List.mapReverse(x => x * x) /* list{25, 16, 9} */ -``` - -## mapReverseU - -```res sig -let mapReverseU: (t<'a>, (. 'a) => 'b) => t<'b> -``` - -Uncurried version of [mapReverse](#mapReverse). - -## forEach - -```res sig -let forEach: (t<'a>, 'a => 'b) => unit -``` - -Call `f` on each element of `someList` from the beginning to end. -`f` returns `unit`, so no new array is created. Use `forEach` when you are primarily concerned with repetitively creating side effects. - -```res example -Belt.List.forEach(list{"a", "b", "c"}, x => Js.log("Item: " ++ x)) -/* - prints: - Item: a - Item: b - Item: c -*/ -``` - -## forEachU - -```res sig -let forEachU: (t<'a>, (. 'a) => 'b) => unit -``` - -Uncurried version of [forEach](#forEach). - -## forEachWithIndex - -```res sig -let forEachWithIndex: (t<'a>, (int, 'a) => 'b) => unit -``` - -Call `f` on each element of `someList` from beginning to end. -Function `f` takes two arguments: the index starting from 0 and the element from `someList`. `f` returns `unit`. - -```res example -Belt.List.forEachWithIndex(list{"a", "b", "c"}, (index, x) => { - Js.log("Item " ++ Belt.Int.toString(index) ++ " is " ++ x) -}) -/* - prints: - Item 0 is a - Item 1 is b - Item 2 is cc -*/ -``` - -## forEachWithIndexU - -```res sig -let forEachWithIndexU: (t<'a>, (. int, 'a) => 'b) => unit -``` - -Uncurried version of [forEachWithIndex](#forEachWithIndex). - -## reduce - -```res sig -let reduce: (t<'a>, 'b, ('b, 'a) => 'b) => 'b -``` - -Applies `f` to each element of `someList` from beginning to end. Function `f` has two parameters: the item from the list and an “accumulator”, which starts with a value of `initialValue`. reduce returns the final value of the accumulator. - -```res example -list{1, 2, 3, 4}->Belt.List.reduce(0, (a, b) => a + b) /* 10 */ - -/* same as */ - -list{1, 2, 3, 4}->Belt.List.reduce(0, (acc, item) => acc + item) /* 10 */ -``` - -## reduceU - -```res sig -let reduceU: (t<'a>, 'b, (. 'b, 'a) => 'b) => 'b -``` - -Uncurried version of [reduce](#reduce). - -## reduceWithIndex - -```res sig -let reduceWithIndex: (t<'a>, 'b, ('b, 'a, int) => 'b) => 'b -``` - -Applies `f` to each element of `someList` from beginning to end. Function `f` has three parameters: the item from the list and an “accumulator”, which starts with a value of `initialValue` and the index of each element. `reduceWithIndex` returns the final value of the accumulator. - -```res example -list{1, 2, 3, 4}->Belt.List.reduceWithIndex(0, (acc, item, index) => acc + item + index) /* 16 */ -``` - -## reduceWithIndexU - -```res sig -let reduceWithIndexU: (t<'a>, 'b, (. 'b, 'a, int) => 'b) => 'b -``` - -Uncurried version of [reduceWithIndex](#reduceWithIndex). - -## reduceReverse - -```res sig -let reduceReverse: (t<'a>, 'b, ('b, 'a) => 'b) => 'b -``` - -Works like [reduce](#reduce), except that function `f` is applied to each item of `someList` from the last back to the first. - -```res example -list{1, 2, 3, 4}->Belt.List.reduceReverse(0, (a, b) => a + b) /* 10 */ - -list{1, 2, 3, 4}->Belt.List.reduceReverse(10, (a, b) => a - b) /* 0 */ - -list{1, 2, 3, 4}->Belt.List.reduceReverse(list{}, Belt.List.add) // list{1, 2, 3, 4} -``` - -## reduceReverseU - -```res sig -let reduceReverseU: (t<'a>, 'b, ('b, 'a) => 'b) => 'b -``` - -Uncurried version of [reduceReverse](#reduceReverse). - -## mapReverse2 - -```res sig -let mapReverse2: (t<'a>, t<'b>, ('a, 'b) => 'c) => t<'c> -``` - -Equivalent to: `zipBy(xs, ys, f)->reverse` - -```res example - -Belt.List.mapReverse2(list{1, 2, 3}, list{1, 2}, (a, b) => a + b) // list{4, 2} -``` -## mapReverse2U - -```res sig -let mapReverse2U: (t<'a>, t<'b>, ('a, 'b) => 'c) => t<'c> -``` - -Uncurried version of [mapReverse2](#mapReverse2). - -## forEach2 - -```res sig -let forEach2: (t<'a>, t<'b>, ('a, 'b) => 'c) => unit -``` - -Stops at the length of the shorter list. - -```res example -Belt.List.forEach2(list{"Z", "Y"}, list{"A", "B", "C"}, (x, y) => Js.log2(x, y)) - -/* - prints: - "Z" "A" - "Y" "B" -*/ -``` - -## forEach2U - -```res sig -let forEach2U: (t<'a>, t<'b>, (.'a, 'b) => 'c) => unit -``` - -Uncurried version of [forEach2](#forEach2). - -## reduce2 - -```res sig -let reduce2: (t<'b>, t<'c>, 'a, ('a, 'b, 'c) => 'a) => 'a -``` - -Applies `f` to each element of `firstList` and `secondList` from beginning to end. Stops with the shorter list. Function `f` has three parameters: an “accumulator” which starts with a value of `initialValue`, an item from `firstList`, and an item from `secondList`. `reduce2` returns the final value of the accumulator. - -```res example -Belt.List.reduce2(list{1, 2, 3}, list{4, 5}, 0, (acc, x, y) => acc + x * x + y) /* 0 + (1 * 1 + 4) + (2 * 2 + 5) */ -``` - -## reduce2U - -```res sig -let reduce2U: (t<'b>, t<'c>, 'a, (.'a, 'b, 'c) => 'a) => 'a -``` - -Uncurried version of [reduce2](#reduce2). - -## reduceReverse2 - -```res sig -let reduceReverse2: (t<'a>, t<'b>, 'c, ('c, 'a, 'b) => 'c) => 'c -``` - -Applies `f` to each element of `firstList` and `secondList` from end to beginning. Stops with the shorter list. Function `f` has three parameters: an “accumulator” which starts with a value of init, an item from `firstList`, and an item from `secondList`. `reduce2` returns the final value of the accumulator. - -```res example -Belt.List.reduceReverse2(list{1, 2, 3}, list{4, 5}, 0, (acc, x, y) => acc + x * x + y) /* + (1 * 1 + 4) + (2 * 2 + 5) */ -``` - -## reduceReverse2U - -```res sig -let reduceReverse2U: (t<'a>, t<'b>, 'c, (.'c, 'a, 'b) => 'c) => 'c -``` - -Uncurried version of [reduceReverse2](#reduceReverse2). - -## every - -```res sig -let every: (t<'a>, 'a => bool) => bool -``` - -Returns `true` if all elements satisfy `pred`, where `pred` is a predicate: a function taking an element and returning a bool. - -```res example -let isBelow10 = value => value < 10 - -list{1, 9, 8, 2}->Belt.List.every(isBelow10) /* true */ - -list{1, 99, 8, 2}->Belt.List.every(isBelow10) /* false */ -``` - -## everyU - -```res sig -let everyU: (t<'a>, (.'a) => bool) => bool -``` - -Uncurried version of [every](#every). - -## some - -```res sig -let some: (t<'a>, 'a => bool) => bool -``` - -Returns `true` if at least _one_ of the elements in `someList` satisfies `pred`, where `pred` is a predicate: a function taking an element and returning a bool. - -```res example -let isAbove100 = value => value > 100 - -list{101, 1, 2, 3}->Belt.List.some(isAbove100) /* true */ - -list{1, 2, 3, 4}->Belt.List.some(isAbove100) /* false */ -``` - -## someU - -```res sig -let someU: (t<'a>, (. 'a) => bool) => bool -``` - -Uncurried version of [some](#some). - -## every2 - -```res sig -let every2: (t<'a>, t<'b>, ('a, 'b) => bool) => bool -``` - -Returns `true` if predicate `pred(a, b)` is `true` for all pairs of elements up to the shorter length (i.e. `min(length(firstList), length(secondList))`) - -```res example -Belt.List.every2(list{1, 2, 3}, list{0, 1}, (a, b) => a > b) /* true */ - -Belt.List.every2(list{}, list{1}, (a, b) => a > b) /* true */ - -Belt.List.every2(list{2, 3}, list{1}, (a, b) => a > b) /* true */ - -Belt.List.every2(list{0, 1}, list{5, 0}, (a, b) => a > b) /* false */ -``` - -## every2U - -```res sig -let every2U: (t<'a>, t<'b>, (. 'a, 'b) => bool) => bool -``` - -Uncurried version of [every2](#every2). - -## some2 - -```res sig -let some2: (t<'a>, t<'b>, ('a, 'b) => bool) => bool -``` - -Returns `true` if predicate `pred(a, b)` is true for any pair of elements up to the shorter length (i.e. `min(length(firstList), length(secondList))`) - -```res example -Belt.List.some2(list{1, 2, 3}, list{0, 1}, (a, b) => a > b) /* true */ - -Belt.List.some2(list{}, list{1}, (a, b) => a > b) /* false */ - -Belt.List.some2(list{2, 3}, list{1}, (a, b) => a > b) /* true */ - -Belt.List.some2(list{0, 1}, list{5, 0}, (a, b) => a > b) /* true */ -``` - -## some2U - -```res sig -let some2U: (t<'a>, t<'b>, (. 'a, 'b) => bool) => bool -``` - -Uncurried version of [some2](#some2). - -## cmpByLength - -```res sig -let cmpByLength: (t<'a>, t<'a>) => int -``` - -```res -cmpByLength(firstList, secondList) -``` - -Compare two lists solely by length. Returns `-1` if `length(firstList)` is less than `length(secondList)`, `0` if `length(firstList)` equals `length(secondList)`, and `1` if `length(firstList)` is greater than `length(secondList)`. - -```res example -Belt.List.cmpByLength(list{1, 2}, list{3, 4, 5, 6}) /* -1 */ - -Belt.List.cmpByLength(list{1, 2, 3}, list{4, 5, 6}) /* = 0 */ - -Belt.List.cmpByLength(list{1, 2, 3, 4}, list{5, 6}) /* = 1 */ -``` - -## cmp - -```res sig -let cmp: (t<'a>, t<'a>, ('a, 'a) => int) => int -``` - -Compare elements one by one `compareFn(a, b)`. `compareFn` returns a negative number if `a` is "less than" `b`, zero if `a` is "equal to" `b`, a positive number if `a` is "greater than" `b`. - -The comparison returns the first non-zero result of `compareFn`, or zero if `compareFn` returns zero for all `a` and `b`. - -If all items have compared equal, but `firstList` is exhausted first, return `-1`. (`firstList` is shorter). -If all items have compared equal, but `secondList` is exhausted first, return `1` (`firstList` is longer). - -```res example -Belt.List.cmp(list{3}, list{3, 7}, (a, b) => compare(a, b)) /* (-1) */ - -Belt.List.cmp(list{5, 3}, list{5}, (a, b) => compare(a, b)) /* 1 */ - -Belt.List.cmp(list{1, 3, 5}, list{1, 4, 2}, (a, b) => compare(a, b)) /* (-1) */ - -Belt.List.cmp(list{1, 3, 5}, list{1, 2, 3}, (a, b) => compare(a, b)) /* 1 */ - -Belt.List.cmp(list{1, 3, 5}, list{1, 3, 5}, (a, b) => compare(a, b)) /* 0 */ -``` - -**Please note:** The total ordering of List is different from Array, -for Array, we compare the length first and, only if the lengths are equal, elements one by one. -For lists, we just compare elements one by one. - -## cmpU - -```res sig -let cmpU: (t<'a>, t<'a>, (. 'a, 'a) => int) => int -``` - -Uncurried version of [cmp](#cmp). - -## eq - -```res sig -let eq: (t<'a>, t<'a>, ('a, 'a) => bool) => bool -``` - -Check equality of `firstList` and `secondList` using `eqElem` for equality on elements, where `eqElem` is a function that returns `true` if items `x` and `y` meet some criterion for equality, `false` otherwise. eq `false` if length of `firstList` and `secondList` are not the same. - -```res example -Belt.List.eq(list{1, 2, 3}, list{1, 2}, (a, b) => a == b) /* false */ - -Belt.List.eq(list{1, 2}, list{1, 2}, (a, b) => a == b) /* true */ - -Belt.List.eq(list{1, 2, 3}, list{(-1), (-2), (-3)}, (a, b) => abs(a) == abs(b)) /* true */ -``` - -## eqU - -```res sig -let eqU: (t<'a>, t<'a>, (. 'a, 'a) => bool) => bool -``` - -Uncurried version of [eq](#eq). - -## has - -```res sig -let has: (t<'a>, 'b, ('a, 'b) => bool) => bool -``` - -Returns `true` if the list contains at least one element for which `eqFunction(x)` returns true. - -```res example -list{1, 2, 3}->Belt.List.has(2, (a, b) => a == b) /* true */ - -list{1, 2, 3}->Belt.List.has(4, (a, b) => a == b) /* false */ - -list{(-1), (-2), (-3)}->Belt.List.has(2, (a, b) => abs(a) == abs(b)) /* true */ -``` - -## hasU - -```res sig -let hasU: (t<'a>, 'b, (. 'a, 'b) => bool) => bool -``` - -Uncurried version of [has](#has). - -## getBy - -```res sig -let getBy: (t<'a>, 'a => bool) => option<'a> -``` - -Returns `Some(value)` for the first value in `someList` that satisfies the predicate function `pred`. Returns `None` if no element satisfies the function. - -```res example -Belt.List.getBy(list{1, 4, 3, 2}, x => x > 3) /* Some(4) */ - -Belt.List.getBy(list{1, 4, 3, 2}, x => x > 4) /* None */ -``` - -## getByU - -```res sig -let getByU: (t<'a>, (. 'a) => bool) => option<'a> -``` - -Uncurried version of [getBy](#getBy). - -## keep - -```res sig -let keep: (t<'a>, 'a => bool) => t<'a> -``` - -Returns a list of all elements in `someList` which satisfy the predicate function `pred`. - -```res example -let isEven = x => mod(x, 2) == 0 - -Belt.List.keep(list{1, 2, 3, 4}, isEven) /* list{2, 4} */ - -Belt.List.keep(list{None, Some(2), Some(3), None}, Belt.Option.isSome) /* list{Some(2), Some(3)} */ -``` - -## keepU - -```res sig -let keepU: (t<'a>, (. 'a) => bool) => t<'a> -``` - -Uncurried version of [keep](#keep). - -## filter - -```res sig -let filter: (t<'a>, 'a => bool) => t<'a> -``` - -Returns a list of all elements in `someList` which satisfy the predicate function `pred`. - -```res example -let isEven = x => mod(x, 2) == 0 - -Belt.List.filter(list{1, 2, 3, 4}, isEven) /* list{2, 4} */ - -Belt.List.filter(list{None, Some(2), Some(3), None}, Belt.Option.isSome) /* list{Some(2), Some(3)} */ -``` - -## keepWithIndex - -```res sig -let keepWithIndex: (t<'a>, ('a, int) => bool) => t<'a> -``` - -Returns a list of all elements in `someList` which satisfy the predicate function `pred`. - -```res example -let isEven = x => mod(x, 2) == 0 - -Belt.List.keepWithIndex(list{1, 2, 3, 4}, (_x, index) => isEven(index)) /* list{1, 3} */ -``` - -## keepWithIndexU - -```res sig -let keepWithIndexU: (t<'a>, (. 'a, int) => bool) => t<'a> -``` - -Uncurried version of [keepWithIndex](#keepWithIndex). - -## filterWithIndex - -```res sig -let filterWithIndex: (t<'a>, ('a, int) => bool) => t<'a> -``` - -Returns a list of all elements in `someList` which satisfy the predicate function `pred`. - -```res example -let isEven = x => mod(x, 2) == 0 - -Belt.List.filterWithIndex(list{1, 2, 3, 4}, (_x, index) => isEven(index)) /* list{1, 3} */ -``` - -## keepMap - -```res sig -let keepMap: (t<'a>, 'a => option<'b>) => t<'b> -``` - -Applies `f` to each element of `someList`. If `f(x)` returns `Some(value)`, then `value` is _kept_ in the resulting list. -If `f(x)` returns `None`, the element is _not_ retained in the result. - -```res example -let isEven = x => mod(x, 2) == 0 - -list{1, 2, 3, 4} -->Belt.List.keepMap(x => - if (isEven(x)) { - Some(x) - } else { - None - } - ) /* list{2, 4} */ - -list{Some(1), Some(2), None}->Belt.List.keepMap(x => x) /* list{1, 2} */ -``` - -## keepMapU - -```res sig -let keepMapU: (t<'a>, (. 'a) => option<'b>) => t<'b> -``` - -Uncurried version of [keepMap](#keepMap). - -## partition - -```res sig -let partition: (t<'a>, 'a => bool) => (t<'a>, t<'a>) -``` - -Creates a pair of lists; the first list consists of all elements of `someList` that satisfy the predicate function `pred`; the second list consists of all elements of `someList` that _do not_ satisfy `pred. - -In other words: - -```res -(elementsThatSatisfies, elementsThatDoesNotSatisfy) -``` - -```res example -Belt.List.partition(list{1, 2, 3, 4}, x => x > 2) /* (list{3, 4}, list{1, 2}) */ -``` - -## partitionU - -```res sig -let partitionU: (t<'a>, (. 'a) => bool) => (t<'a>, t<'a>) -``` - -Uncurried version of [partition](#partition). - -## unzip - -```res sig -let unzip: t<('a, 'b)> => (t<'a>, t<'b>) -``` - -Takes a list of pairs and creates a pair of lists. The first list contains all the first items of the pairs; the second list contains all the second items. - -```res example -Belt.List.unzip(list{(1, 2), (3, 4)}) /* (list{1, 3}, list{2, 4}) */ - -Belt.List.unzip(list{("H", "W"), ("e", "o"), ("l", "r"), ("l", "l"), ("o", "d"), (" ", "!")}) -/* (list{"H", "e", "l", "l", "o", " "}, list{"W", "o", "r", "l", "d", "!"}) */ -``` - -## getAssoc - -```res sig -let getAssoc: (t<('a, 'c)>, 'b, ('a, 'b) => bool) => option<'c> -``` - -Return the second element of a pair in `someList` where the first element equals `k` as per the predicate function `eqFunction`, or `None` if not found. - -```res example -list{(1, "a"), (2, "b"), (3, "c")}->Belt.List.getAssoc(3, (a, b) => a == b) /* Some("c") */ - -list{(9, "morning"), (15, "afternoon"), (22, "night")} -->Belt.List.getAssoc(15, (k, item) => k /* 15 */ == item /* 9, 5, 22 */) -/* Some("afternoon") */ -``` - -## getAssocU - -```res sig -let getAssocU: (t<('a, 'c)>, 'b, (. 'a, 'b) => bool) => option<'c> -``` - -Uncurried version of [getAssoc](#getAssoc). - -## hasAssoc - -```res sig -let hasAssoc: (t<('a, 'c)>, 'b, ('a, 'b) => bool) => bool -``` - -Returns `true` if there is a pair in `someList` where the first element equals `k` as per the predicate function `eqFunction`. - -```res example -list{(1, "a"), (2, "b"), (3, "c")}->Belt.List.hasAssoc(1, (a, b) => a == b) /* true */ - -list{(9, "morning"), (15, "afternoon"), (22, "night")} -->Belt.List.hasAssoc(25, (k, item) => k /* 25 */ == item /* 9, 5, 22 */) /* false */ -``` - -## hasAssocU - -```res sig -let hasAssocU: (t<('a, 'c)>, 'b, (. 'a, 'b) => bool) => bool -``` - -Uncurried version of [hasAssoc](#hasAssoc). - -## removeAssoc - -```res sig -let removeAssoc: (t<('a, 'c)>, 'b, ('a, 'b) => bool) => t<('a, 'c)> -``` - -Return a list after removing the first pair whose first value is `k` per the equality predicate `eqFunction`; if not found, return a new list identical to `someList`. - -```res example -list{(1, "a"), (2, "b"), (3, "c")}->Belt.List.removeAssoc(1, (a, b) => a == b) /* list{(2, "b"), (3, "c")} */ - -list{(9, "morning"), (15, "afternoon"), (22, "night")} -->Belt.List.removeAssoc(9, (k, item) => k /* 9 */ == item /* 9, 5, 22 */) -/* list{(15, "afternoon"), (22, "night")} */ -``` - -## removeAssocU - -```res sig -let removeAssocU: (t<('a, 'c)>, 'b, (. 'a, 'b) => bool) => t<('a, 'c)> -``` - -Uncurried version of [removeAssoc](#removeAssoc). - -## setAssoc - -```res sig -let setAssoc: (t<('a, 'c)>, 'a, 'c, ('a, 'a) => bool) => t<('a, 'c)> -``` - -If `k` exists in `someList` by satisfying the `eqFunction` predicate, return a new list with the key and value replaced by the new `k` and `v`; otherwise, return a new list with the pair `k`, `v` added to the head of `someList`. - -```res example -list{(1, "a"), (2, "b"), (3, "c")}->Belt.List.setAssoc(2, "x", (a, b) => a == b) /* list{(1, "a"), (2, "x"), (3, "c")} */ - -list{(1, "a"), (3, "c")}->Belt.List.setAssoc(2, "b", (a, b) => a == b) /* list{(2, "b"), (1, "a"), (3, "c")} */ - -list{(9, "morning"), (3, "morning?!"), (22, "night")} -->Belt.List.setAssoc(15, "afternoon", (a, b) => mod(a, 12) == mod(b, 12)) -/* list{(9, "morning"), (15, "afternoon"), (22, "night")} */ -``` - -**Please note** - -In the last example, since: `15 mod 12` equals `3 mod 12` - -Both the key _and_ the value are replaced in the list. - -## setAssocU - -```res sig -let setAssocU: (t<('a, 'c)>, 'a, 'c, (. 'a, 'a) => bool) => t<('a, 'c)> -``` - -Uncurried version of [setAssoc](#setAssoc). - -## sort - -```res sig -let sort: (t<'a>, ('a, 'a) => int) => t<'a> -``` - -Returns a sorted list. - -```res example -Belt.List.sort(list{5, 4, 9, 3, 7}, (a, b) => a - b) // list{3, 4, 5, 7, 9} -``` - -## sortU - -```res sig -let sortU: (t<'a>, (. 'a, 'a) => int) => t<'a> -``` - -Uncurried version of [sort](#sort). diff --git a/pages/docs/manual/latest/api/belt/map-dict.mdx b/pages/docs/manual/latest/api/belt/map-dict.mdx deleted file mode 100644 index 4a9828f50..000000000 --- a/pages/docs/manual/latest/api/belt/map-dict.mdx +++ /dev/null @@ -1,397 +0,0 @@ -# MapDict - - - -This module separates identity from data, it is a bit more verbose but slightly more efficient due to the fact that there is no need to pack identity and data back after each operation - -**_Advanced usage only_** - - - -## t - -```res prelude -type t<'key, 'value, 'id> -``` - -## cmp - -```res prelude -type cmp<'key, 'id> = Belt_Id.cmp<'key, 'id> -``` - -## empty - -```res sig -let empty: t<'k, 'v, 'id> -``` - -## isEmpty - -```res sig -let isEmpty: t<'k, 'v, 'id> => bool -``` - -## has - -```res sig -let has: (t<'k, 'a, 'id>, 'k, ~cmp: cmp<'k, 'id>) => bool -``` - -## cmpU - -```res sig -let cmpU: (t<'k, 'v, 'id>, t<'k, 'v, 'id>, ~kcmp: cmp<'k, 'id>, ~vcmp: (. 'v, 'v) => int) => int -``` - -## cmp - -```res sig -let cmp: (t<'k, 'v, 'id>, t<'k, 'v, 'id>, ~kcmp: cmp<'k, 'id>, ~vcmp: ('v, 'v) => int) => int -``` - -## eqU - -```res sig -let eqU: (t<'k, 'a, 'id>, t<'k, 'a, 'id>, ~kcmp: cmp<'k, 'id>, ~veq: (. 'a, 'a) => bool) => bool -``` - -## eq - -```res sig -let eq: (t<'k, 'a, 'id>, t<'k, 'a, 'id>, ~kcmp: cmp<'k, 'id>, ~veq: ('a, 'a) => bool) => bool -``` - -`eq(m1, m2, cmp)` tests whether the maps `m1` and `m2` are equal, that is, contain equal keys and associate them with equal data. `cmp` is the equality predicate used to compare the data associated with the keys. - -## findFirstByU - -```res sig -let findFirstByU: (t<'k, 'v, 'id>, (. 'k, 'v) => bool) => option<('k, 'v)> -``` - -## findFirstBy - -```res sig -let findFirstBy: (t<'k, 'v, 'id>, ('k, 'v) => bool) => option<('k, 'v)> -``` - -`findFirstBy(m, p)` uses function `f` to find the first key value pair to match predicate `p`. - -```res example -module IntCmp = Belt.Id.MakeComparable({ - type t = int - let cmp = Pervasives.compare -}) - -let s0 = Belt.Map.Dict.fromArray([(4, "4"), (1, "1"), (2, "2"), (3, "3")], ~cmp=IntCmp.cmp) - -Belt.Map.Dict.findFirstBy(s0, (k, _) => k == 4) == Some((4, "4")) -``` - -## forEachU - -```res sig -let forEachU: (t<'k, 'a, 'id>, (. 'k, 'a) => unit) => unit -``` - -## forEach - -```res sig -let forEach: (t<'k, 'a, 'id>, ('k, 'a) => unit) => unit -``` - -`forEach(m, f)` applies `f` to all bindings in map `m`. `f` receives the key as first argument, and the associated value as second argument. The bindings are passed to `f` in increasing order with respect to the ordering over the type of the keys. - -## reduceU - -```res sig -let reduceU: (t<'k, 'a, 'id>, 'b, (. 'b, 'k, 'a) => 'b) => 'b -``` - -## reduce - -```res sig -let reduce: (t<'k, 'a, 'id>, 'b, ('b, 'k, 'a) => 'b) => 'b -``` - -`reduce(m, a, f)` computes `f(kN, dN ... f(k1, d1, a)...)`, where `k1 ... kN` are the keys of all bindings in `m` (in increasing order), and `d1 ... dN` are the associated data. - -## everyU - -```res sig -let everyU: (t<'k, 'a, 'id>, (. 'k, 'a) => bool) => bool -``` - -## every - -```res sig -let every: (t<'k, 'a, 'id>, ('k, 'a) => bool) => bool -``` - -`every(m, p)` checks if all the bindings of the map satisfy the predicate `p`. Order unspecified - -## someU - -```res sig -let someU: (t<'k, 'a, 'id>, (. 'k, 'a) => bool) => bool -``` - -## some - -```res sig -let some: (t<'k, 'a, 'id>, ('k, 'a) => bool) => bool -``` - -`some(m, p)` checks if at least one binding of the map satisfy the predicate `p`. Order unspecified - -## size - -```res sig -let size: t<'k, 'a, 'id> => int -``` - -## toList - -```res sig -let toList: t<'k, 'a, 'id> => list<('k, 'a)> -``` - -In increasing order. - -## toArray - -```res sig -let toArray: t<'k, 'a, 'id> => array<('k, 'a)> -``` - -## fromArray - -```res sig -let fromArray: (array<('k, 'a)>, ~cmp: cmp<'k, 'id>) => t<'k, 'a, 'id> -``` - -## keysToArray - -```res sig -let keysToArray: t<'k, 'a, 'id> => array<'k> -``` - -## valuesToArray - -```res sig -let valuesToArray: t<'k, 'a, 'id> => array<'a> -``` - -## minKey - -```res sig -let minKey: t<'k, 'a, 'b> => option<'k> -``` - -## minKeyUndefined - -```res sig -let minKeyUndefined: t<'k, 'a, 'b> => Js.undefined<'k> -``` - -## maxKey - -```res sig -let maxKey: t<'k, 'a, 'b> => option<'k> -``` - -## maxKeyUndefined - -```res sig -let maxKeyUndefined: t<'k, 'a, 'b> => Js.undefined<'k> -``` - -## minimum - -```res sig -let minimum: t<'k, 'a, 'b> => option<('k, 'a)> -``` - -## minUndefined - -```res sig -let minUndefined: t<'k, 'a, 'b> => Js.undefined<('k, 'a)> -``` - -## maximum - -```res sig -let maximum: t<'k, 'a, 'b> => option<('k, 'a)> -``` - -## maxUndefined - -```res sig -let maxUndefined: t<'k, 'a, 'b> => Js.undefined<('k, 'a)> -``` - -## get - -```res sig -let get: (t<'k, 'a, 'id>, 'k, ~cmp: cmp<'k, 'id>) => option<'a> -``` - -## getUndefined - -```res sig -let getUndefined: (t<'k, 'a, 'id>, 'k, ~cmp: cmp<'k, 'id>) => Js.undefined<'a> -``` - -## getWithDefault - -```res sig -let getWithDefault: (t<'k, 'a, 'id>, 'k, 'a, ~cmp: cmp<'k, 'id>) => 'a -``` - -## getExn - -```res sig -let getExn: (t<'k, 'a, 'id>, 'k, ~cmp: cmp<'k, 'id>) => 'a -``` - -## checkInvariantInternal - -```res sig -let checkInvariantInternal: t<'a, 'b, 'c> => unit -``` - -## remove - -```res sig -let remove: (t<'a, 'b, 'id>, 'a, ~cmp: cmp<'a, 'id>) => t<'a, 'b, 'id> -``` - -`remove(m, x)` returns a map containing the same bindings as `m`, except for `x` which is unbound in the returned map. - -## removeMany - -```res sig -let removeMany: (t<'a, 'b, 'id>, array<'a>, ~cmp: cmp<'a, 'id>) => t<'a, 'b, 'id> -``` - -## set - -```res sig -let set: (t<'a, 'b, 'id>, 'a, 'b, ~cmp: cmp<'a, 'id>) => t<'a, 'b, 'id> -``` - -`set(m, x, y)` returns a map containing the same bindings as `m`, plus a binding of `x` to `y`. If `x` was already bound in `m`, its previous binding disappears. - -## updateU - -```res sig -let updateU: ( - t<'a, 'b, 'id>, - 'a, - (. option<'b>) => option<'b>, - ~cmp: cmp<'a, 'id>, -) => t<'a, 'b, 'id> -``` - -## update - -```res sig -let update: (t<'a, 'b, 'id>, 'a, option<'b> => option<'b>, ~cmp: cmp<'a, 'id>) => t<'a, 'b, 'id> -``` - -## mergeU - -```res sig -let mergeU: ( - t<'a, 'b, 'id>, - t<'a, 'c, 'id>, - (. 'a, option<'b>, option<'c>) => option<'d>, - ~cmp: cmp<'a, 'id>, -) => t<'a, 'd, 'id> -``` - -## merge - -```res sig -let merge: ( - t<'a, 'b, 'id>, - t<'a, 'c, 'id>, - ('a, option<'b>, option<'c>) => option<'d>, - ~cmp: cmp<'a, 'id>, -) => t<'a, 'd, 'id> -``` - -`merge(m1, m2, f)` computes a map whose keys is a subset of keys of `m1` and of `m2`. The presence of each such binding, and the corresponding value, is determined with the function `f`. - -## mergeMany - -```res sig -let mergeMany: (t<'a, 'b, 'id>, array<('a, 'b)>, ~cmp: cmp<'a, 'id>) => t<'a, 'b, 'id> -``` - -## keepU - -```res sig -let keepU: (t<'k, 'a, 'id>, (. 'k, 'a) => bool) => t<'k, 'a, 'id> -``` - -## keep - -```res sig -let keep: (t<'k, 'a, 'id>, ('k, 'a) => bool) => t<'k, 'a, 'id> -``` - -`keep(m, p)` returns the map with all the bindings in `m` that satisfy predicate `p`. - -## partitionU - -```res sig -let partitionU: (t<'k, 'a, 'id>, (. 'k, 'a) => bool) => (t<'k, 'a, 'id>, t<'k, 'a, 'id>) -``` - -## partition - -```res sig -let partition: (t<'k, 'a, 'id>, ('k, 'a) => bool) => (t<'k, 'a, 'id>, t<'k, 'a, 'id>) -``` - -`partition(m, p)` returns a pair of maps `(m1, m2)`, where `m1` contains all the bindings of `s` that satisfy the predicate `p`, and `m2` is the map with all the bindings of `s` that do not satisfy `p`. - -## split - -```res sig -let split: ( - t<'a, 'b, 'id>, - 'a, - ~cmp: cmp<'a, 'id>, -) => ((t<'a, 'b, 'id>, t<'a, 'b, 'id>), option<'b>) -``` - -`split(x, m)` returns a triple `(l, data, r)`, where `l` is the map with all the bindings of `m` whose key is strictly less than `x`; `r` is the map with all the bindings of `m` whose key is strictly greater than `x`; `data` is `None` if `m` contains no binding for `x`, or `Some(v)` if `m` binds `v` to `x`. - -## mapU - -```res sig -let mapU: (t<'k, 'a, 'id>, (. 'a) => 'b) => t<'k, 'b, 'id> -``` - -## map - -```res sig -let map: (t<'k, 'a, 'id>, 'a => 'b) => t<'k, 'b, 'id> -``` - -`map(m, f)` returns a map with same domain as `m`, where the associated value `a` of all bindings of `m` has been replaced by the result of the application of `f` to `a`. The bindings are passed to `f` in increasing order with respect to the ordering over the type of the keys. - -## mapWithKeyU - -```res sig -let mapWithKeyU: (t<'k, 'a, 'id>, (. 'k, 'a) => 'b) => t<'k, 'b, 'id> -``` - -## mapWithKey - -```res sig -let mapWithKey: (t<'k, 'a, 'id>, ('k, 'a) => 'b) => t<'k, 'b, 'id> -``` diff --git a/pages/docs/manual/latest/api/belt/map-int.mdx b/pages/docs/manual/latest/api/belt/map-int.mdx deleted file mode 100644 index 0c63212e7..000000000 --- a/pages/docs/manual/latest/api/belt/map-int.mdx +++ /dev/null @@ -1,373 +0,0 @@ -# MapInt - - - -Specialized when key type is `int`, more efficient than the generic type, its compare behavior is fixed using the built-in comparison - - - -## key - -```res prelude -type key = int -``` - -## t - -```res prelude -type t<'value> -``` - -The type of maps from type `key` to type `'value`. - -## empty - -```res sig -let empty: t<'v> -``` - -## isEmpty - -```res sig -let isEmpty: t<'v> => bool -``` - -## has - -```res sig -let has: (t<'v>, key) => bool -``` - -## cmpU - -```res sig -let cmpU: (t<'v>, t<'v>, (. 'v, 'v) => int) => int -``` - -## cmp - -```res sig -let cmp: (t<'v>, t<'v>, ('v, 'v) => int) => int -``` - -## eqU - -```res sig -let eqU: (t<'v>, t<'v>, (. 'v, 'v) => bool) => bool -``` - -## eq - -```res sig -let eq: (t<'v>, t<'v>, ('v, 'v) => bool) => bool -``` - -`eq(m1,m2)` tests whether the maps `m1` and `m2` are equal, that is, contain equal keys and associate them with equal data. - -## findFirstByU - -```res sig -let findFirstByU: (t<'v>, (. key, 'v) => bool) => option<(key, 'v)> -``` - -## findFirstBy - -```res sig -let findFirstBy: (t<'v>, (key, 'v) => bool) => option<(key, 'v)> -``` - -`findFirstBy(m, p)` uses function `f` to find the first key value pair to match predicate `p`. - -```res example -let s0 = Belt.Map.Int.fromArray([(4, "4"), (1, "1"), (2, "2"), (3, "3")]) - -Belt.Map.Int.findFirstBy(s0, (k, v) => k == 4) == Some((4, "4")) -``` - -## forEachU - -```res sig -let forEachU: (t<'v>, (. key, 'v) => unit) => unit -``` - -## forEach - -```res sig -let forEach: (t<'v>, (key, 'v) => unit) => unit -``` - -`forEach(m, f)` applies `f` to all bindings in map `m`. `f` receives the key as first argument, and the associated value as second argument. The bindings are passed to `f` in increasing order with respect to the ordering over the type of the keys. - -## reduceU - -```res sig -let reduceU: (t<'v>, 'v2, (. 'v2, key, 'v) => 'v2) => 'v2 -``` - -## reduce - -```res sig -let reduce: (t<'v>, 'v2, ('v2, key, 'v) => 'v2) => 'v2 -``` - -`reduce(m, a, f)` computes `f(kN, dN, ... f(k1, d1, a)...)`, where `k1 ... kN` are the keys of all bindings in `m` (in increasing order), and `d1 ... dN` are the associated data. - -## everyU - -```res sig -let everyU: (t<'v>, (. key, 'v) => bool) => bool -``` - -## every - -```res sig -let every: (t<'v>, (key, 'v) => bool) => bool -``` - -`every(m, p)` checks if all the bindings of the map satisfy the predicate `p`. Order unspecified - -## someU - -```res sig -let someU: (t<'v>, (. key, 'v) => bool) => bool -``` - -## some - -```res sig -let some: (t<'v>, (key, 'v) => bool) => bool -``` - -`some(m, p)` checks if at least one binding of the map satisfy the predicate `p`. Order unspecified - -## size - -```res sig -let size: t<'v> => int -``` - -## toList - -```res sig -let toList: t<'v> => list<(key, 'v)> -``` - -In increasing order. - -## toArray - -```res sig -let toArray: t<'v> => array<(key, 'v)> -``` - -## fromArray - -```res sig -let fromArray: array<(key, 'v)> => t<'v> -``` - -## keysToArray - -```res sig -let keysToArray: t<'v> => array -``` - -## valuesToArray - -```res sig -let valuesToArray: t<'v> => array<'v> -``` - -## minKey - -```res sig -let minKey: t<'a> => option -``` - -## minKeyUndefined - -```res sig -let minKeyUndefined: t<'a> => Js.undefined -``` - -## maxKey - -```res sig -let maxKey: t<'a> => option -``` - -## maxKeyUndefined - -```res sig -let maxKeyUndefined: t<'a> => Js.undefined -``` - -## minimum - -```res sig -let minimum: t<'v> => option<(key, 'v)> -``` - -## minUndefined - -```res sig -let minUndefined: t<'v> => Js.undefined<(key, 'v)> -``` - -## maximum - -```res sig -let maximum: t<'v> => option<(key, 'v)> -``` - -## maxUndefined - -```res sig -let maxUndefined: t<'v> => Js.undefined<(key, 'v)> -``` - -## get - -```res sig -let get: (t<'v>, key) => option<'v> -``` - -## getUndefined - -```res sig -let getUndefined: (t<'v>, key) => Js.undefined<'v> -``` - -## getWithDefault - -```res sig -let getWithDefault: (t<'v>, key, 'v) => 'v -``` - -## getExn - -```res sig -let getExn: (t<'v>, key) => 'v -``` - -## checkInvariantInternal - -```res sig -let checkInvariantInternal: t<'a> => unit -``` - -**raise** when invariant is not held - -## remove - -```res sig -let remove: (t<'v>, key) => t<'v> -``` - -`remove(m, x)` returns a map containing the same bindings as `m`, except for `x` which is unbound in the returned map. - -## removeMany - -```res sig -let removeMany: (t<'v>, array) => t<'v> -``` - -## set - -```res sig -let set: (t<'v>, key, 'v) => t<'v> -``` - -`set(m, x, y)` returns a map containing the same bindings as `m`, plus a binding of `x` to `y`. If `x` was already bound in `m`, its previous binding disappears. - -## updateU - -```res sig -let updateU: (t<'v>, key, (. option<'v>) => option<'v>) => t<'v> -``` - -## update - -```res sig -let update: (t<'v>, key, option<'v> => option<'v>) => t<'v> -``` - -## mergeU - -```res sig -let mergeU: (t<'v>, t<'v2>, (. key, option<'v>, option<'v2>) => option<'c>) => t<'c> -``` - -## merge - -```res sig -let merge: (t<'v>, t<'v2>, (key, option<'v>, option<'v2>) => option<'c>) => t<'c> -``` - -`merge(m1, m2, f)` computes a map whose keys is a subset of keys of `m1` and of `m2`. The presence of each such binding, and the corresponding value, is determined with the function `f`. - -## mergeMany - -```res sig -let mergeMany: (t<'v>, array<(key, 'v)>) => t<'v> -``` - -## keepU - -```res sig -let keepU: (t<'v>, (. key, 'v) => bool) => t<'v> -``` - -## keep - -```res sig -let keep: (t<'v>, (key, 'v) => bool) => t<'v> -``` - -## partitionU - -```res sig -let partitionU: (t<'v>, (. key, 'v) => bool) => (t<'v>, t<'v>) -``` - -## partition - -```res sig -let partition: (t<'v>, (key, 'v) => bool) => (t<'v>, t<'v>) -``` - -`partition(m, p)` returns a pair of maps `(m1, m2)`, where `m1` contains all the bindings of `s` that satisfy the predicate `p`, and `m2` is the map with all the bindings of `s` that do not satisfy `p`. - -## split - -```res sig -let split: (key, t<'v>) => (t<'v>, option<'v>, t<'v>) -``` - -`split(x, m)` returns a triple `(l, data, r)`, where `l` is the map with all the bindings of `m` whose key is strictly less than `x`; `r` is the map with all the bindings of `m` whose key is strictly greater than `x`; `data` is `None` if m contains no binding for `x`, or `Some(v)` if `m` binds `v` to `x`. - -## mapU - -```res sig -let mapU: (t<'v>, (. 'v) => 'v2) => t<'v2> -``` - -## map - -```res sig -let map: (t<'v>, 'v => 'v2) => t<'v2> -``` - -`map(m, f)` returns a map with same domain as `m`, where the associated value `a` of all bindings of `m` has been replaced by the result of the application of `f` to `a`. The bindings are passed to `f` in increasing order with respect to the ordering over the type of the keys. - -## mapWithKeyU - -```res sig -let mapWithKeyU: (t<'v>, (. key, 'v) => 'v2) => t<'v2> -``` - -## mapWithKey - -```res sig -let mapWithKey: (t<'v>, (key, 'v) => 'v2) => t<'v2> -``` diff --git a/pages/docs/manual/latest/api/belt/map-string.mdx b/pages/docs/manual/latest/api/belt/map-string.mdx deleted file mode 100644 index c74b488a3..000000000 --- a/pages/docs/manual/latest/api/belt/map-string.mdx +++ /dev/null @@ -1,375 +0,0 @@ -# Map.String - - - -Specialized when key type is `string`, more efficient than the generic type, its compare behavior is fixed using the built-in comparison - - - -## key - -```res prelude -type key = string -``` - -## t - -```res prelude -type t<'value> -``` - -The type of maps from type `key` to type `'value`. - -## empty - -```res sig -let empty: t<'v> -``` - -## isEmpty - -```res sig -let isEmpty: t<'v> => bool -``` - -## has - -```res sig -let has: (t<'v>, key) => bool -``` - -## cmpU - -```res sig -let cmpU: (t<'v>, t<'v>, (. 'v, 'v) => int) => int -``` - -## cmp - -```res sig -let cmp: (t<'v>, t<'v>, ('v, 'v) => int) => int -``` - -## eqU - -```res sig -let eqU: (t<'v>, t<'v>, (. 'v, 'v) => bool) => bool -``` - -## eq - -```res sig -let eq: (t<'v>, t<'v>, ('v, 'v) => bool) => bool -``` - -`eq(m1, m2)` tests whether the maps `m1` and `m2` are equal, that is, contain equal keys and associate them with equal data. - -## findFirstByU - -```res sig -let findFirstByU: (t<'v>, (. key, 'v) => bool) => option<(key, 'v)> -``` - -## findFirstBy - -```res sig -let findFirstBy: (t<'v>, (key, 'v) => bool) => option<(key, 'v)> -``` - -`findFirstBy(m, p)` uses function `f` to find the first key value pair to match predicate `p`. - -```res example -let s0 = Belt.Map.String.fromArray([("4", 4), ("1", 1), ("2", 2), ("3", 3)]) - -Belt.Map.String.findFirstBy(s0, (k, _) => k == "4") == Some(("4", 4)) -``` - -## forEachU - -```res sig -let forEachU: (t<'v>, (. key, 'v) => unit) => unit -``` - -## forEach - -```res sig -let forEach: (t<'v>, (key, 'v) => unit) => unit -``` - -`forEach(m, f)` applies `f` to all bindings in map `m`. `f` receives the key as first argument, and the associated value as second argument. The bindings are passed to `f` in increasing order with respect to the ordering over the type of the keys. - -## reduceU - -```res sig -let reduceU: (t<'v>, 'v2, (. 'v2, key, 'v) => 'v2) => 'v2 -``` - -## reduce - -```res sig -let reduce: (t<'v>, 'v2, ('v2, key, 'v) => 'v2) => 'v2 -``` - -`reduce(m, a, f)` computes `f(kN, dN ... f(k1, d1, a)...), where k1 ... kN)` are the keys of all bindings in `m` (in increasing order), and `d1 ... dN` are the associated data. - -## everyU - -```res sig -let everyU: (t<'v>, (. key, 'v) => bool) => bool -``` - -## every - -```res sig -let every: (t<'v>, (key, 'v) => bool) => bool -``` - -`every(m, p)` checks if all the bindings of the map satisfy the predicate `p`. Order unspecified - -## someU - -```res sig -let someU: (t<'v>, (. key, 'v) => bool) => bool -``` - -## some - -```res sig -let some: (t<'v>, (key, 'v) => bool) => bool -``` - -`some(m, p)` checks if at least one binding of the map satisfy the predicate `p`. Order unspecified - -## size - -```res sig -let size: t<'v> => int -``` - -## toList - -```res sig -let toList: t<'v> => list<(key, 'v)> -``` - -In increasing order. - -## toArray - -```res sig -let toArray: t<'v> => array<(key, 'v)> -``` - -## fromArray - -```res sig -let fromArray: array<(key, 'v)> => t<'v> -``` - -## keysToArray - -```res sig -let keysToArray: t<'v> => array -``` - -## valuesToArray - -```res sig -let valuesToArray: t<'v> => array<'v> -``` - -## minKey - -```res sig -let minKey: t<'a> => option -``` - -## minKeyUndefined - -```res sig -let minKeyUndefined: t<'a> => Js.undefined -``` - -## maxKey - -```res sig -let maxKey: t<'a> => option -``` - -## maxKeyUndefined - -```res sig -let maxKeyUndefined: t<'a> => Js.undefined -``` - -## minimum - -```res sig -let minimum: t<'v> => option<(key, 'v)> -``` - -## minUndefined - -```res sig -let minUndefined: t<'v> => Js.undefined<(key, 'v)> -``` - -## maximum - -```res sig -let maximum: t<'v> => option<(key, 'v)> -``` - -## maxUndefined - -```res sig -let maxUndefined: t<'v> => Js.undefined<(key, 'v)> -``` - -## get - -```res sig -let get: (t<'v>, key) => option<'v> -``` - -## getUndefined - -```res sig -let getUndefined: (t<'v>, key) => Js.undefined<'v> -``` - -## getWithDefault - -```res sig -let getWithDefault: (t<'v>, key, 'v) => 'v -``` - -## getExn - -```res sig -let getExn: (t<'v>, key) => 'v -``` - -## checkInvariantInternal - -```res sig -let checkInvariantInternal: t<'a> => unit -``` - -**raise** when invariant is not held - -## remove - -```res sig -let remove: (t<'v>, key) => t<'v> -``` - -`remove(m, x)` returns a map containing the same bindings as `m`, except for `x` which is unbound in the returned map. - -## removeMany - -```res sig -let removeMany: (t<'v>, array) => t<'v> -``` - -## set - -```res sig -let set: (t<'v>, key, 'v) => t<'v> -``` - -`set(m, x, y)` returns a map containing the same bindings as `m`, plus a binding of `x` to `y`. If `x` was already bound in `m`, its previous binding disappears. - -## updateU - -```res sig -let updateU: (t<'v>, key, (. option<'v>) => option<'v>) => t<'v> -``` - -## update - -```res sig -let update: (t<'v>, key, option<'v> => option<'v>) => t<'v> -``` - -## mergeU - -```res sig -let mergeU: (t<'v>, t<'v2>, (. key, option<'v>, option<'v2>) => option<'c>) => t<'c> -``` - -## merge - -```res sig -let merge: (t<'v>, t<'v2>, (key, option<'v>, option<'v2>) => option<'c>) => t<'c> -``` - -`merge(m1, m2, f)` computes a map whose keys is a subset of keys of `m1` and of `m2`. The presence of each such binding, and the corresponding value, is determined with the function `f`. - -## mergeMany - -```res sig -let mergeMany: (t<'v>, array<(key, 'v)>) => t<'v> -``` - -## keepU - -```res sig -let keepU: (t<'v>, (. key, 'v) => bool) => t<'v> -``` - -## keep - -```res sig -let keep: (t<'v>, (key, 'v) => bool) => t<'v> -``` - -`keep(m, p)` returns the map with all the bindings in `m` that satisfy predicate `p`. - -## partitionU - -```res sig -let partitionU: (t<'v>, (. key, 'v) => bool) => (t<'v>, t<'v>) -``` - -## partition - -```res sig -let partition: (t<'v>, (key, 'v) => bool) => (t<'v>, t<'v>) -``` - -`partition(m, p)` returns a pair of maps `(m1, m2)`, where `m1` contains all the bindings of `s` that satisfy the predicate `p`, and `m2` is the map with all the bindings of s that do not satisfy `p`. - -## split - -```res sig -let split: (key, t<'v>) => (t<'v>, option<'v>, t<'v>) -``` - -`split(x, m)` returns a triple `(l, data, r)`, where `l` is the map with all the bindings of `m` whose key is strictly less than `x`; `r` is the map with all the bindings of m whose key is strictly greater than `x`; `data` is `None` if `m` contains no binding for `x`, or `Some(v)` if `m` binds `v` to `x`. - -## mapU - -```res sig -let mapU: (t<'v>, (. 'v) => 'v2) => t<'v2> -``` - -## map - -```res sig -let map: (t<'v>, 'v => 'v2) => t<'v2> -``` - -`map(m, f)` returns a map with same domain as `m`, where the associated value `a` of all bindings of `m` has been replaced by the result of the application of `f` to `a`. The bindings are passed to `f` in increasing order with respect to the ordering over the type of the keys. - -## mapWithKeyU - -```res sig -let mapWithKeyU: (t<'v>, (. key, 'v) => 'v2) => t<'v2> -``` - -## mapWithKey - -```res sig -let mapWithKey: (t<'v>, (key, 'v) => 'v2) => t<'v2> -``` diff --git a/pages/docs/manual/latest/api/belt/map.mdx b/pages/docs/manual/latest/api/belt/map.mdx deleted file mode 100644 index 7ab76f666..000000000 --- a/pages/docs/manual/latest/api/belt/map.mdx +++ /dev/null @@ -1,649 +0,0 @@ -# Map - -The top level provides generic immutable map operations. - -It also has three specialized inner modules `Belt.Map.Int`, `Belt.Map.String` and `Belt.Map.Dict`. - -## t - -```res prelude -type t<'key, 'value, 'identity> -``` - -`'key` is the field type - -`'value` is the element type - -`'identity` the identity of the collection - -## id - -```res prelude -type id<'key, 'id> = Belt_Id.comparable<'key, 'id> -``` - -The identity needed for making an empty map. - -## make - -```res sig -let make: (~id: id<'k, 'id>) => t<'k, 'v, 'id> -``` - -`make(~id)` creates a new map by taking in the comparator. - -```res example -module IntCmp = Belt.Id.MakeComparableU({ - type t = int - let cmp = (a, b) => Pervasives.compare(a, b) -}) - -let m = Belt.Map.make(~id=module(IntCmp)) - -Belt.Map.set(m, 0, "a") -``` - -## isEmpty - -```res sig -let isEmpty: t<'a, 'b, 'c> => bool -``` - -`isEmpty(m)` checks whether a map m is empty. - -```res example -module IntCmp = Belt.Id.MakeComparableU({ - type t = int - let cmp = (a, b) => Pervasives.compare(a, b) -}) - -Belt.Map.isEmpty(Belt.Map.fromArray([(1, "1")], ~id=module(IntCmp))) == false -``` - -## has - -```res sig -let has: (t<'k, 'v, 'id>, 'k) => bool -``` - -`has(m, k)` checks whether `m` has the key `k`. - -```res example -module IntCmp = Belt.Id.MakeComparableU({ - type t = int - let cmp = (a, b) => Pervasives.compare(a, b) -}) - -Belt.Map.has(Belt.Map.fromArray([(1, "1")], ~id=module(IntCmp)), 1) == true -``` - -## cmpU - -```res sig -let cmpU: (t<'k, 'v, 'id>, t<'k, 'v, 'id>, (. 'v, 'v) => int) => int -``` - -## cmp - -```res sig -let cmp: (t<'k, 'v, 'id>, t<'k, 'v, 'id>, ('v, 'v) => int) => int -``` - -`cmp(m0, m1, vcmp);` - -Total ordering of map given total ordering of value function. - -It will compare size first and each element following the order one by one. - -## eq - -```res sig -let eqU: (t<'k, 'v, 'id>, t<'k, 'v, 'id>, (. 'v, 'v) => bool) => bool -``` - -`eq(m1, m2, veq)` tests whether the maps `m1` and `m2` are equal, that is, contain equal keys and associate them with equal data. `veq` is the equality predicate used to compare the data associated with the keys. - -## eq - -```res sig -let eq: (t<'k, 'v, 'id>, t<'k, 'v, 'id>, ('v, 'v) => bool) => bool -``` - -## findFirstByU - -```res sig -let findFirstByU: (t<'k, 'v, 'id>, (. 'k, 'v) => bool) => option<('k, 'v)> -``` - -## findFirstBy - -```res sig -let findFirstBy: (t<'k, 'v, 'id>, ('k, 'v) => bool) => option<('k, 'v)> -``` - -`findFirstBy(m, p)` uses function `f` to find the first key value pair to match predicate `p`. - -```res example -module IntCmp = Belt.Id.MakeComparableU({ - type t = int - let cmp = (a, b) => Pervasives.compare(a, b) -}) - -let s0 = Belt.Map.fromArray(~id=module(IntCmp), [(4, "4"), (1, "1"), (2, "2"), (3, "")]) - -Belt.Map.findFirstBy(s0, (k, v) => k == 4) /* (4, "4") */ -``` - -## forEachU - -```res sig -let forEachU: (t<'k, 'v, 'id>, (. 'k, 'v) => unit) => unit -``` - -## forEach - -```res sig -let forEach: (t<'k, 'v, 'id>, ('k, 'v) => unit) => unit -``` - -`forEach(m, f)` applies `f` to all bindings in map `m`. `f` receives the `'k` as first argument, and the associated value as second argument. The bindings are passed to `f` in increasing order with respect to the ordering over the type of the keys. - -```res example -module IntCmp = Belt.Id.MakeComparableU({ - type t = int - let cmp = (a, b) => Pervasives.compare(a, b) -}) - -let s0 = Belt.Map.fromArray(~id=module(IntCmp), [(4, "4"), (1, "1"), (2, "2"), (3, "")]) - -let acc = ref(list{}) - -Belt.Map.forEach(s0, (k, v) => acc := list{(k, v), ...acc.contents}) - -acc.contents == list{(4, "4"), (3, "3"), (2, "2"), (1, "1")} -``` - -## reduceU - -```res sig -let reduceU: (t<'k, 'v, 'id>, 'acc, (. 'acc, 'k, 'v) => 'acc) => 'acc -``` - -## reduce - -```res sig -let reduce: (t<'k, 'v, 'id>, 'acc, ('acc, 'k, 'v) => 'acc) => 'acc -``` - -`reduce(m, a, f)` computes `(f(kN, dN) ... (f(k1, d1, a))...)`, where `k1 ... kN` are the keys of all bindings in m (in increasing order), and `d1 ... dN` are the associated data. - -```res example -module IntCmp = Belt.Id.MakeComparableU({ - type t = int - let cmp = (a, b) => Pervasives.compare(a, b) -}) - -let s0 = Belt.Map.fromArray(~id=module(IntCmp), [(4, "4"), (1, "1"), (2, "2"), (3, "3")]) - -Belt.Map.reduce(s0, list{}, (acc, k, v) => list{ - (k, v), - ...acc, -}) /* [(4, "4"), (3, "3"), (2, "2"), (1, "1"), 0] */ -``` - -## everyU - -```res sig -let everyU: (t<'k, 'v, 'id>, (. 'k, 'v) => bool) => bool -``` - -## every - -```res sig -let every: (t<'k, 'v, 'id>, ('k, 'v) => bool) => bool -``` - -`every(m, p)` checks if all the bindings of the map satisfy the predicate `p`. Order unspecified - -## someU - -```res sig -let someU: (t<'k, 'v, 'id>, (. 'k, 'v) => bool) => bool -``` - -## some - -```res sig -let some: (t<'k, 'v, 'id>, ('k, 'v) => bool) => bool -``` - -`some(m, p)` checks if at least one binding of the map satisfy the predicate `p`. Order unspecified - -## size - -```res sig -let size: t<'k, 'v, 'id> => int -``` - -`size(s)` - -```res example -module IntCmp = Belt.Id.MakeComparableU({ - type t = int - let cmp = (a, b) => Pervasives.compare(a, b) -}) - -Belt.Map.size(Belt.Map.fromArray([(2, "2"), (2, "1"), (3, "3")], ~id=module(IntCmp))) == 2 -``` - -## toArray - -```res sig -let toArray: t<'k, 'v, 'id> => array<('k, 'v)> -``` - -`toArray(s)` - -```res example -module IntCmp = Belt.Id.MakeComparableU({ - type t = int - let cmp = (a, b) => Pervasives.compare(a, b) -}) - -Belt.Map.toArray(Belt.Map.fromArray([(2, "2"), (1, "1"), (3, "3")], ~id=module(IntCmp))) == [ - (1, "1"), - (2, "2"), - (3, "3"), - ] -``` - -## toList - -```res sig -let toList: t<'k, 'v, 'id> => list<('k, 'v)> -``` - -In increasing order. - -See `Belt.Map.toArray` - -## fromArray - -```res sig -let fromArray: (array<('k, 'v)>, ~id: id<'k, 'id>) => t<'k, 'v, 'id> -``` - -`fromArray(kvs, ~id);` - -```res example -module IntCmp = Belt.Id.MakeComparableU({ - type t = int - let cmp = (a, b) => Pervasives.compare(a, b) -}) - -Belt.Map.toArray(Belt.Map.fromArray([(2, "2"), (1, "1"), (3, "3")], ~id=module(IntCmp))) == [ - (1, "1"), - (2, "2"), - (3, "3"), - ] -``` - -## keysToArray - -```res sig -let keysToArray: t<'k, 'v, 'id> => array<'k> -``` - -`keysToArray(s);` - -```res example -module IntCmp = Belt.Id.MakeComparableU({ - type t = int - let cmp = (a, b) => Pervasives.compare(a, b) -}) - -Belt.Map.keysToArray(Belt.Map.fromArray([(2, "2"), (1, "1"), (3, "3")], ~id=module(IntCmp))) == [ - 1, - 2, - 3, - ] -``` - -## valuesToArray - -```res sig -let valuesToArray: t<'k, 'v, 'id> => array<'v> -``` - -`valuesToArray(s);` - -```res example -module IntCmp = Belt.Id.MakeComparableU({ - type t = int - let cmp = (a, b) => Pervasives.compare(a, b) -}) - -Belt.Map.valuesToArray( - Belt.Map.fromArray([(2, "2"), (1, "1"), (3, "3")], ~id=module(IntCmp)), -) == ["1", "2", "3"] -``` - -## minKey - -```res sig -let minKey: t<'k, 'a, 'b> => option<'k> -``` - -`minKey(s)` returns the minimum key, None if not exist. - -## minKeyUndefined - -```res sig -let minKeyUndefined: t<'k, 'a, 'b> => Js.undefined<'k> -``` - -See `Belt.Map.minKey` - -## maxKey - -```res sig -let maxKey: t<'k, 'a, 'b> => option<'k> -``` - -`maxKey(s)` returns the maximum key, None if not exist. - -## maxKeyUndefined - -```res sig -let maxKeyUndefined: t<'k, 'a, 'b> => Js.undefined<'k> -``` - -See `Belt.Map.maxKey` - -## minimum - -```res sig -let minimum: t<'k, 'v, 'a> => option<('k, 'v)> -``` - -`minimum(s)` returns the minimum key value pair, None if not exist - -## minUndefined - -```res sig -let minUndefined: t<'k, 'v, 'a> => Js.undefined<('k, 'v)> -``` - -See `Belt.Map.minimum` - -## maximum - -```res sig -let maximum: t<'k, 'v, 'a> => option<('k, 'v)> -``` - -`maximum(s)` returns the maximum key value pair, None if not exist. - -## maxUndefined - -```res sig -let maxUndefined: t<'k, 'v, 'a> => Js.undefined<('k, 'v)> -``` - -See `Belt.Map.maximum` - -## get - -```res sig -let get: (t<'k, 'v, 'id>, 'k) => option<'v> -``` - -`get(s, k)` - -```res example -module IntCmp = Belt.Id.MakeComparableU({ - type t = int - let cmp = (a, b) => Pervasives.compare(a, b) -}) - -Belt.Map.get(Belt.Map.fromArray([(2, "2"), (1, "1"), (3, "3")], ~id=module(IntCmp)), 2) == - Some("2") - -Belt.Map.get(Belt.Map.fromArray([(2, "2"), (1, "1"), (3, "3")], ~id=module(IntCmp)), 2) == None -``` - -## getUndefined - -```res sig -let getUndefined: (t<'k, 'v, 'id>, 'k) => Js.undefined<'v> -``` - -See `Belt.Map.get` - -Returns `undefined` when not found - -## getWithDefault - -```res sig -let getWithDefault: (t<'k, 'v, 'id>, 'k, 'v) => 'v -``` - -`getWithDefault(s, k, default)` - -See `Belt.Map.get` - -Returns default when `k` is not found. - -## getExn - -```res sig -let getExn: (t<'k, 'v, 'id>, 'k) => 'v -``` - -`getExn(s, k)` - -See `Belt.Map.getExn` - -raise when `k` not exist - -## remove - -```res sig -let remove: (t<'k, 'v, 'id>, 'k) => t<'k, 'v, 'id> -``` - -`remove(m, x)` when `x` is not in `m`, `m` is returned reference unchanged. - -```res example -module IntCmp = Belt.Id.MakeComparableU({ - type t = int - let cmp = (a, b) => Pervasives.compare(a, b) -}) - -let s0 = Belt.Map.fromArray([(2, "2"), (1, "1"), (3, "3")], ~id=module(IntCmp)) - -let s1 = Belt.Map.remove(s0, 1) - -let s2 = Belt.Map.remove(s1, 1) - -s1 === s2 - -Belt.Map.keysToArray(s1) == [2, 3] -``` - -## removeMany - -```res sig -let removeMany: (t<'k, 'v, 'id>, array<'k>) => t<'k, 'v, 'id> -``` - -`removeMany(s, xs)` - -Removing each of `xs` to `s`, note unlike `Belt.Map.remove`, the reference of return value might be changed even if none in `xs` exists `s`. - -## set - -```res sig -let set: (t<'k, 'v, 'id>, 'k, 'v) => t<'k, 'v, 'id> -``` - -`set(m, x, y)` returns a map containing the same bindings as `m`, with a new binding of `x` to `y`. If `x` was already bound in `m`, its previous binding disappears. - -```res example -module IntCmp = Belt.Id.MakeComparableU({ - type t = int - let cmp = (a, b) => Pervasives.compare(a, b) -}) - -let s0 = Belt.Map.fromArray([(2, "2"), (1, "1"), (3, "3")], ~id=module(IntCmp)) - -let s1 = Belt.Map.set(s0, 2, "3") - -Belt.Map.valuesToArray(s1) == ["1", "3", "3"] -``` - -## updateU - -```res sig -let updateU: (t<'k, 'v, 'id>, 'k, (. option<'v>) => option<'v>) => t<'k, 'v, 'id> -``` - -## update - -```res sig -let update: (t<'k, 'v, 'id>, 'k, option<'v> => option<'v>) => t<'k, 'v, 'id> -``` - -`update(m, x, f)` returns a map containing the same bindings as `m`, except for the binding of `x`. Depending on the value of `y` where `y` is `f(get(m, x))`, the binding of `x` is added, removed or updated. If `y` is `None`, the binding is removed if it exists; otherwise, if `y` is `Some(z)` then `x` is associated to `z` in the resulting map. - -## mergeMany - -```res sig -let mergeMany: (t<'k, 'v, 'id>, array<('k, 'v)>) => t<'k, 'v, 'id> -``` - -`mergeMany(s, xs)` - -Adding each of `xs` to `s`, note unlike `add`, the reference of return value might be changed even if all values in `xs` exist `s`. - -## mergeU - -```res sig -let mergeU: ( - t<'k, 'v, 'id>, - t<'k, 'v2, 'id>, - (. 'k, option<'v>, option<'v2>) => option<'v3>, -) => t<'k, 'v3, 'id> -``` - -## merge - -```res sig -let merge: ( - t<'k, 'v, 'id>, - t<'k, 'v2, 'id>, - ('k, option<'v>, option<'v2>) => option<'v3>, -) => t<'k, 'v3, 'id> -``` - -`merge(m1, m2, f)` computes a map whose keys is a subset of keys of `m1` and of `m2`. The presence of each such binding, and the corresponding value, is determined with the function `f`. - -## keepU - -```res sig -let keepU: (t<'k, 'v, 'id>, (. 'k, 'v) => bool) => t<'k, 'v, 'id> -``` - -## keep - -```res sig -let keep: (t<'k, 'v, 'id>, ('k, 'v) => bool) => t<'k, 'v, 'id> -``` - -`keep(m, p)` returns the map with all the bindings in m that satisfy predicate `p`. - -## partitionU - -```res sig -let partitionU: (t<'k, 'v, 'id>, (. 'k, 'v) => bool) => (t<'k, 'v, 'id>, t<'k, 'v, 'id>) -``` - -## partition - -```res sig -let partition: (t<'k, 'v, 'id>, ('k, 'v) => bool) => (t<'k, 'v, 'id>, t<'k, 'v, 'id>) -``` - -`partition(m, p)` returns a pair of maps `(m1, m2)`, where `m1` contains all the bindings of `s` that satisfy the predicate `p`, and `m2` is the map with all the bindings of `s` that do not satisfy `p`. - -## split - -```res sig -let split: (t<'k, 'v, 'id>, 'k) => ((t<'k, 'v, 'id>, t<'k, 'v, 'id>), option<'v>) -``` - -`split(x, m)` returns a tuple `(l, r)`, data, where `l` is the map with all the bindings of `m` whose 'k is strictly less than `x`; `r` is the map with all the bindings of m whose 'k is strictly greater than `x`; `data` is `None` if `m` contains no binding for `x`, or `Some(v)` if `m` binds `v` to `x`. - -## mapU - -```res sig -let mapU: (t<'k, 'v, 'id>, (. 'v) => 'v2) => t<'k, 'v2, 'id> -``` - -## map - -```res sig -let map: (t<'k, 'v, 'id>, 'v => 'v2) => t<'k, 'v2, 'id> -``` - -`map(m, f) returns a map with same domain as`m`, where the associated value`a`of all bindings of`m`has been replaced by the result of the application of`f`to`a`. The bindings are passed to`f` in increasing order with respect to the ordering over the type of the keys. - -## mapWithKeyU - -```res sig -let mapWithKeyU: (t<'k, 'v, 'id>, (. 'k, 'v) => 'v2) => t<'k, 'v2, 'id> -``` - -## mapWithKey - -```res sig -let mapWithKey: (t<'k, 'v, 'id>, ('k, 'v) => 'v2) => t<'k, 'v2, 'id> -``` - -`mapWithKey(m, f)` - -The same as `Belt.Map.map` except that `f` is supplied with one more argument: the key. - -## getData - -```res sig -let getData: t<'k, 'v, 'id> => Belt_MapDict.t<'k, 'v, 'id> -``` - -`getData(s0)` - -Advanced usage only - -Returns the raw data (detached from comparator), but its type is still manifested, so that user can pass identity directly without boxing. - -## getId - -```res sig -let getId: t<'k, 'v, 'id> => id<'k, 'id> -``` - -Advanced usage only - -Returns the identity of s0. - -## packIdData - -```res sig -let packIdData: (~id: id<'k, 'id>, ~data: Belt_MapDict.t<'k, 'v, 'id>) => t<'k, 'v, 'id> -``` - -`packIdData(~id, ~data)` - -Advanced usage only - -Returns the packed collection. diff --git a/pages/docs/manual/latest/api/belt/mutable-map-int.mdx b/pages/docs/manual/latest/api/belt/mutable-map-int.mdx deleted file mode 100644 index 73fbcaaab..000000000 --- a/pages/docs/manual/latest/api/belt/mutable-map-int.mdx +++ /dev/null @@ -1,299 +0,0 @@ -# MutableMapInt - -## key - -```res prelude -type key = int -``` - -## t - -```res prelude -type t<'a> -``` - -## make - -```res sig -let make: unit => t<'a> -``` - -## clear - -```res sig -let clear: t<'a> => unit -``` - -## isEmpty - -```res sig -let isEmpty: t<'a> => bool -``` - -## has - -```res sig -let has: (t<'a>, key) => bool -``` - -## cmpU - -```res sig -let cmpU: (t<'a>, t<'a>, (. 'a, 'a) => int) => int -``` - -## cmp - -```res sig -let cmp: (t<'a>, t<'a>, ('a, 'a) => int) => int -``` - -`cmp(m1, m2, cmp)` First compare by size, if size is the same, compare by key, value pair. - -## eqU - -```res sig -let eqU: (t<'a>, t<'a>, (. 'a, 'a) => bool) => bool -``` - -## eq - -```res sig -let eq: (t<'a>, t<'a>, ('a, 'a) => bool) => bool -``` - -`eq(m1, m2, cmp)` - -## forEachU - -```res sig -let forEachU: (t<'a>, (. key, 'a) => unit) => unit -``` - -## forEach - -```res sig -let forEach: (t<'a>, (key, 'a) => unit) => unit -``` - -`forEach(m, f)` applies `f` to all bindings in map `m`. `f` receives the key as first argument, and the associated value as second argument. The application order of `f` is in increasing order. - -## reduceU - -```res sig -let reduceU: (t<'a>, 'b, (. 'b, key, 'a) => 'b) => 'b -``` - -## reduce - -```res sig -let reduce: (t<'a>, 'b, ('b, key, 'a) => 'b) => 'b -``` - -`reduce(m, a, f), computes`(f(kN, dN) ... (f(k1, d1, a))...)`, where`k1 ... kN`are the keys of all bindings in`m`(in increasing order), and`d1 ... dN` are the associated data. - -## everyU - -```res sig -let everyU: (t<'a>, (. key, 'a) => bool) => bool -``` - -## every - -```res sig -let every: (t<'a>, (key, 'a) => bool) => bool -``` - -`every(m, p)` checks if all the bindings of the map satisfy the predicate `p`. The application order of `p` is unspecified. - -## someU - -```res sig -let someU: (t<'a>, (. key, 'a) => bool) => bool -``` - -## some - -```res sig -let some: (t<'a>, (key, 'a) => bool) => bool -``` - -`some(m, p)` checks if at least one binding of the map satisfy the predicate `p`. The application order of `p` is unspecified. - -## size - -```res sig -let size: t<'a> => int -``` - -## toList - -```res sig -let toList: t<'a> => list<(key, 'a)> -``` - -In increasing order - -## toArray - -```res sig -let toArray: t<'a> => array<(key, 'a)> -``` - -## fromArray - -```res sig -let fromArray: array<(key, 'a)> => t<'a> -``` - -## keysToArray - -```res sig -let keysToArray: t<'a> => array -``` - -## valuesToArray - -```res sig -let valuesToArray: t<'a> => array<'a> -``` - -## minKey - -```res sig -let minKey: t<'a> => option -``` - -## minKeyUndefined - -```res sig -let minKeyUndefined: t<'a> => Js.undefined -``` - -## maxKey - -```res sig -let maxKey: t<'a> => option -``` - -## maxKeyUndefined - -```res sig -let maxKeyUndefined: t<'a> => Js.undefined -``` - -## minimum - -```res sig -let minimum: t<'a> => option<(key, 'a)> -``` - -## minUndefined - -```res sig -let minUndefined: t<'a> => Js.undefined<(key, 'a)> -``` - -## maximum - -```res sig -let maximum: t<'a> => option<(key, 'a)> -``` - -## maxUndefined - -```res sig -let maxUndefined: t<'a> => Js.undefined<(key, 'a)> -``` - -## get - -```res sig -let get: (t<'a>, key) => option<'a> -``` - -## getUndefined - -```res sig -let getUndefined: (t<'a>, key) => Js.undefined<'a> -``` - -## getWithDefault - -```res sig -let getWithDefault: (t<'a>, key, 'a) => 'a -``` - -## getExn - -```res sig -let getExn: (t<'a>, key) => 'a -``` - -## checkInvariantInternal - -```res sig -let checkInvariantInternal: t<'a> => unit -``` - -Raise when invariant is not held. - -## remove - -```res sig -let remove: (t<'a>, key) => unit -``` - -`remove(m, x)` do the in-place modification. - -## removeMany - -```res sig -let removeMany: (t<'a>, array) => unit -``` - -## set - -```res sig -let set: (t<'a>, key, 'a) => unit -``` - -`set(m, x, y)` do the in-place modification, return `m` for chaining. If `x` was already bound in `m`, its previous binding disappears. - -## updateU - -```res sig -let updateU: (t<'a>, key, (. option<'a>) => option<'a>) => unit -``` - -## update - -```res sig -let update: (t<'a>, key, option<'a> => option<'a>) => unit -``` - -## mapU - -```res sig -let mapU: (t<'a>, (. 'a) => 'b) => t<'b> -``` - -## map - -```res sig -let map: (t<'a>, 'a => 'b) => t<'b> -``` - -`map(m, f)` returns a map with same domain as `m`, where the associated value a of all bindings of `m` has been replaced by the result of the application of `f` to `a`. The bindings are passed to `f` in increasing order with respect to the ordering over the type of the keys. - -## mapWithKeyU - -```res sig -let mapWithKeyU: (t<'a>, (. key, 'a) => 'b) => t<'b> -``` - -## mapWithKey - -```res sig -let mapWithKey: (t<'a>, (key, 'a) => 'b) => t<'b> -``` diff --git a/pages/docs/manual/latest/api/belt/mutable-map-string.mdx b/pages/docs/manual/latest/api/belt/mutable-map-string.mdx deleted file mode 100644 index cfc1d228d..000000000 --- a/pages/docs/manual/latest/api/belt/mutable-map-string.mdx +++ /dev/null @@ -1,299 +0,0 @@ -# MutableMapString - -## key - -```res prelude -type key = string -``` - -## t - -```res prelude -type t<'a> -``` - -## make - -```res sig -let make: unit => t<'a> -``` - -## clear - -```res sig -let clear: t<'a> => unit -``` - -## isEmpty - -```res sig -let isEmpty: t<'a> => bool -``` - -## has - -```res sig -let has: (t<'a>, key) => bool -``` - -## cmpU - -```res sig -let cmpU: (t<'a>, t<'a>, (. 'a, 'a) => int) => int -``` - -## cmp - -```res sig -let cmp: (t<'a>, t<'a>, ('a, 'a) => int) => int -``` - -`cmp(m1, m2, cmp)` First compare by size, if size is the same, compare by key, value pair. - -## eqU - -```res sig -let eqU: (t<'a>, t<'a>, (. 'a, 'a) => bool) => bool -``` - -## eq - -```res sig -let eq: (t<'a>, t<'a>, ('a, 'a) => bool) => bool -``` - -`eq(m1, m2, cmp)` - -## forEachU - -```res sig -let forEachU: (t<'a>, (. key, 'a) => unit) => unit -``` - -## forEach - -```res sig -let forEach: (t<'a>, (key, 'a) => unit) => unit -``` - -`forEach(m, f)` applies `f` to all bindings in map `m`. `f` receives the key as first argument, and the associated value as second argument. The application order of `f` is in increasing order. - -## reduceU - -```res sig -let reduceU: (t<'a>, 'b, (. 'b, key, 'a) => 'b) => 'b -``` - -## reduce - -```res sig -let reduce: (t<'a>, 'b, ('b, key, 'a) => 'b) => 'b -``` - -`reduce(m, a, f), computes`(f(kN, dN) ... (f(k1, d1, a))...)`, where`k1 ... kN`are the keys of all bindings in`m`(in increasing order), and`d1 ... dN` are the associated data. - -## everyU - -```res sig -let everyU: (t<'a>, (. key, 'a) => bool) => bool -``` - -## every - -```res sig -let every: (t<'a>, (key, 'a) => bool) => bool -``` - -`every(m, p)` checks if all the bindings of the map satisfy the predicate `p`. The application order of `p` is unspecified. - -## someU - -```res sig -let someU: (t<'a>, (. key, 'a) => bool) => bool -``` - -## some - -```res sig -let some: (t<'a>, (key, 'a) => bool) => bool -``` - -`some(m, p)` checks if at least one binding of the map satisfy the predicate `p`. The application order of `p` is unspecified. - -## size - -```res sig -let size: t<'a> => int -``` - -## toList - -```res sig -let toList: t<'a> => list<(key, 'a)> -``` - -In increasing order - -## toArray - -```res sig -let toArray: t<'a> => array<(key, 'a)> -``` - -## fromArray - -```res sig -let fromArray: array<(key, 'a)> => t<'a> -``` - -## keysToArray - -```res sig -let keysToArray: t<'a> => array -``` - -## valuesToArray - -```res sig -let valuesToArray: t<'a> => array<'a> -``` - -## minKey - -```res sig -let minKey: t<'a> => option -``` - -## minKeyUndefined - -```res sig -let minKeyUndefined: t<'a> => Js.undefined -``` - -## maxKey - -```res sig -let maxKey: t<'a> => option -``` - -## maxKeyUndefined - -```res sig -let maxKeyUndefined: t<'a> => Js.undefined -``` - -## minimum - -```res sig -let minimum: t<'a> => option<(key, 'a)> -``` - -## minUndefined - -```res sig -let minUndefined: t<'a> => Js.undefined<(key, 'a)> -``` - -## maximum - -```res sig -let maximum: t<'a> => option<(key, 'a)> -``` - -## maxUndefined - -```res sig -let maxUndefined: t<'a> => Js.undefined<(key, 'a)> -``` - -## get - -```res sig -let get: (t<'a>, key) => option<'a> -``` - -## getUndefined - -```res sig -let getUndefined: (t<'a>, key) => Js.undefined<'a> -``` - -## getWithDefault - -```res sig -let getWithDefault: (t<'a>, key, 'a) => 'a -``` - -## getExn - -```res sig -let getExn: (t<'a>, key) => 'a -``` - -## checkInvariantInternal - -```res sig -let checkInvariantInternal: t<'a> => unit -``` - -Raise when invariant is not held. - -## remove - -```res sig -let remove: (t<'a>, key) => unit -``` - -`remove(m, x)` do the in-place modification. - -## removeMany - -```res sig -let removeMany: (t<'a>, array) => unit -``` - -## set - -```res sig -let set: (t<'a>, key, 'a) => unit -``` - -`set(m, x, y)` do the in-place modification, return `m` for chaining. If `x` was already bound in `m`, its previous binding disappears. - -## updateU - -```res sig -let updateU: (t<'a>, key, (. option<'a>) => option<'a>) => unit -``` - -## update - -```res sig -let update: (t<'a>, key, option<'a> => option<'a>) => unit -``` - -## mapU - -```res sig -let mapU: (t<'a>, (. 'a) => 'b) => t<'b> -``` - -## map - -```res sig -let map: (t<'a>, 'a => 'b) => t<'b> -``` - -`map(m, f)` returns a map with same domain as `m`, where the associated value a of all bindings of `m` has been replaced by the result of the application of `f` to `a`. The bindings are passed to `f` in increasing order with respect to the ordering over the type of the keys. - -## mapWithKeyU - -```res sig -let mapWithKeyU: (t<'a>, (. key, 'a) => 'b) => t<'b> -``` - -## mapWithKey - -```res sig -let mapWithKey: (t<'a>, (key, 'a) => 'b) => t<'b> -``` diff --git a/pages/docs/manual/latest/api/belt/mutable-map.mdx b/pages/docs/manual/latest/api/belt/mutable-map.mdx deleted file mode 100644 index 21ed52d60..000000000 --- a/pages/docs/manual/latest/api/belt/mutable-map.mdx +++ /dev/null @@ -1,313 +0,0 @@ -# MutableMap - - - -A mutable sorted map module which allows customize compare behavior. - - - -Same as `Belt.Map`, but mutable. - -## t - -```res prelude -type t<'k, 'v, 'id> -``` - -## id - -```res prelude -type id<'key, 'id> = Belt_Id.comparable<'key, 'id> -``` - -## make - -```res sig -let make: (~id: id<'k, 'id>) => t<'k, 'a, 'id> -``` - -## clear - -```res sig -let clear: t<'a, 'b, 'c> => unit -``` - -## isEmpty - -```res sig -let isEmpty: t<'a, 'b, 'c> => bool -``` - -## has - -```res sig -let has: (t<'k, 'a, 'b>, 'k) => bool -``` - -## cmpU - -```res sig -let cmpU: (t<'k, 'a, 'id>, t<'k, 'a, 'id>, (. 'a, 'a) => int) => int -``` - -## cmp - -```res sig -let cmp: (t<'k, 'a, 'id>, t<'k, 'a, 'id>, ('a, 'a) => int) => int -``` - -`cmp(m1, m2, cmp)` First compare by size, if size is the same, compare by key, value pair. - -## eqU - -```res sig -let eqU: (t<'k, 'a, 'id>, t<'k, 'a, 'id>, (. 'a, 'a) => bool) => bool -``` - -## eq - -```res sig -let eq: (t<'k, 'a, 'id>, t<'k, 'a, 'id>, ('a, 'a) => bool) => bool -``` - -`eq(m1, m2, eqf)` tests whether the maps `m1` and `m2` are equal, that is, contain equal keys and associate them with equal data. `eqf` is the equality predicate used to compare the data associated with the keys. - -## forEachU - -```res sig -let forEachU: (t<'k, 'a, 'id>, (. 'k, 'a) => unit) => unit -``` - -## forEach - -```res sig -let forEach: (t<'k, 'a, 'id>, ('k, 'a) => unit) => unit -``` - -`forEach(m, f)` applies f to all bindings in map `m`. `f` receives the `'k` as first argument, and the associated value as second argument. The bindings are passed to `f` in increasing order with respect to the ordering over the type of the keys. - -## reduceU - -```res sig -let reduceU: (t<'k, 'a, 'id>, 'b, (. 'b, 'k, 'a) => 'b) => 'b -``` - -## reduce - -```res sig -let reduce: (t<'k, 'a, 'id>, 'b, ('b, 'k, 'a) => 'b) => 'b -``` - -`reduce(m, a, f), computes`(f(kN, dN) ... (f(k1, d1, a))...)`, where`k1 ... kN`are the keys of all bindings in`m`(in increasing order), and`d1 ... dN` are the associated data. - -## everyU - -```res sig -let everyU: (t<'k, 'a, 'id>, (. 'k, 'a) => bool) => bool -``` - -## every - -```res sig -let every: (t<'k, 'a, 'id>, ('k, 'a) => bool) => bool -``` - -`every(m, p)` checks if all the bindings of the map satisfy the predicate `p`. - -## someU - -```res sig -let someU: (t<'k, 'a, 'id>, (. 'k, 'a) => bool) => bool -``` - -## some - -```res sig -let some: (t<'k, 'a, 'id>, ('k, 'a) => bool) => bool -``` - -`some(m, p)` checks if at least one binding of the map satisfy the predicate `p`. - -## size - -```res sig -let size: t<'k, 'a, 'id> => int -``` - -## toList - -```res sig -let toList: t<'k, 'a, 'id> => list<('k, 'a)> -``` - -In increasing order. - -## toArray - -```res sig -let toArray: t<'k, 'a, 'id> => array<('k, 'a)> -``` - -## fromArray - -```res sig -let fromArray: (array<('k, 'a)>, ~id: id<'k, 'id>) => t<'k, 'a, 'id> -``` - -## keysToArray - -```res sig -let keysToArray: t<'k, 'a, 'b> => array<'k> -``` - -## valuesToArray - -```res sig -let valuesToArray: t<'b, 'a, 'c> => array<'a> -``` - -## minKey - -```res sig -let minKey: t<'k, 'a, 'b> => option<'k> -``` - -## minKeyUndefined - -```res sig -let minKeyUndefined: t<'k, 'a, 'b> => Js.undefined<'k> -``` - -## maxKey - -```res sig -let maxKey: t<'k, 'a, 'b> => option<'k> -``` - -## maxKeyUndefined - -```res sig -let maxKeyUndefined: t<'k, 'a, 'b> => Js.undefined<'k> -``` - -## minimum - -```res sig -let minimum: t<'k, 'a, 'b> => option<('k, 'a)> -``` - -## minUndefined - -```res sig -let minUndefined: t<'k, 'a, 'b> => Js.undefined<('k, 'a)> -``` - -## maximum - -```res sig -let maximum: t<'k, 'a, 'b> => option<('k, 'a)> -``` - -## maxUndefined - -```res sig -let maxUndefined: t<'k, 'a, 'b> => Js.undefined<('k, 'a)> -``` - -## get - -```res sig -let get: (t<'k, 'a, 'id>, 'k) => option<'a> -``` - -## getUndefined - -```res sig -let getUndefined: (t<'k, 'a, 'id>, 'k) => Js.undefined<'a> -``` - -## getWithDefault - -```res sig -let getWithDefault: (t<'k, 'a, 'id>, 'k, 'a) => 'a -``` - -## getExn - -```res sig -let getExn: (t<'k, 'a, 'id>, 'k) => 'a -``` - -## checkInvariantInternal - -```res sig -let checkInvariantInternal: t<'a, 'b, 'c> => unit -``` - -Raise when invariant is not held. - -## remove - -```res sig -let remove: (t<'k, 'a, 'id>, 'k) => unit -``` - -`remove(m, x)` do the in-place modification. - -## removeMany - -```res sig -let removeMany: (t<'k, 'a, 'id>, array<'k>) => unit -``` - -## set - -```res sig -let set: (t<'k, 'a, 'id>, 'k, 'a) => unit -``` - -`set(m, x, y)` do the in-place modification - -## updateU - -```res sig -let updateU: (t<'k, 'a, 'id>, 'k, (. option<'a>) => option<'a>) => unit -``` - -## update - -```res sig -let update: (t<'k, 'a, 'id>, 'k, option<'a> => option<'a>) => unit -``` - -## mergeMany - -```res sig -let mergeMany: (t<'k, 'a, 'id>, array<('k, 'a)>) => unit -``` - -## mapU - -```res sig -let mapU: (t<'k, 'a, 'id>, (. 'a) => 'b) => t<'k, 'b, 'id> -``` - -## map - -```res sig -let map: (t<'k, 'a, 'id>, 'a => 'b) => t<'k, 'b, 'id> -``` - -`map(m, f)` returns a map with same domain as `m`, where the associated value a of all bindings of `m` has been replaced by the result of the application of `f` to `a`. The bindings are passed to `f` in increasing order with respect to the ordering over the type of the keys. - -## mapWithKeyU - -```res sig -let mapWithKeyU: (t<'k, 'a, 'id>, (. 'k, 'a) => 'b) => t<'k, 'b, 'id> -``` - -## mapWithKey - -```res sig -let mapWithKey: (t<'k, 'a, 'id>, ('k, 'a) => 'b) => t<'k, 'b, 'id> -``` diff --git a/pages/docs/manual/latest/api/belt/mutable-queue.mdx b/pages/docs/manual/latest/api/belt/mutable-queue.mdx deleted file mode 100644 index 9efd21a4b..000000000 --- a/pages/docs/manual/latest/api/belt/mutable-queue.mdx +++ /dev/null @@ -1,175 +0,0 @@ -# MutableQueue - - - -An FIFO(first in first out) queue data structure. - - - -## t - -```res prelude -type t<'a> -``` - -The type of queues containing elements of `type('a)`. - -## make - -```res sig -let make: unit => t<'a> -``` - -Returns a new queue, initially empty. - -## clear - -```res sig -let clear: t<'a> => unit -``` - -Discard all elements from the queue. - -## isEmpty - -```res sig -let isEmpty: t<'a> => bool -``` - -Returns `true` if the given queue is empty, `false` otherwise. - -## fromArray - -```res sig -let fromArray: array<'a> => t<'a> -``` - -`fromArray` a is equivalent to `Array.forEach(a, add(q, a));` - -## add - -```res sig -let add: (t<'a>, 'a) => unit -``` - -`add(q, x)` adds the element `x` at the end of the queue `q`. - -## peek - -```res sig -let peek: t<'a> => option<'a> -``` - -`peekOpt(q)` returns the first element in queue `q`, without removing it from the queue. - -## peekUndefined - -```res sig -let peekUndefined: t<'a> => Js.undefined<'a> -``` - -`peekUndefined(q)` returns `undefined` if not found. - -## peekExn - -```res sig -let peekExn: t<'a> => 'a -``` - -raise an exception if `q` is empty - -## pop - -```res sig -let pop: t<'a> => option<'a> -``` - -`pop(q)` removes and returns the first element in queue `q`. - -## popUndefined - -```res sig -let popUndefined: t<'a> => Js.undefined<'a> -``` - -`popUndefined(q)` removes and returns the first element in queue `q`. it will return `undefined` if it is already empty. - -## popExn - -```res sig -let popExn: t<'a> => 'a -``` - -`popExn(q)` raise an exception if q is empty. - -## copy - -```res sig -let copy: t<'a> => t<'a> -``` - -`copy(q)` returns a fresh queue. - -## size - -```res sig -let size: t<'a> => int -``` - -Returns the number of elements in a queue. - -## mapU - -```res sig -let mapU: (t<'a>, (. 'a) => 'b) => t<'b> -``` - -## map - -```res sig -let map: (t<'a>, 'a => 'b) => t<'b> -``` - -## forEachU - -```res sig -let forEachU: (t<'a>, (. 'a) => unit) => unit -``` - -## forEach - -```res sig -let forEach: (t<'a>, 'a => unit) => unit -``` - -`forEach(q, f) applies`f`in turn to all elements of`q`, from the least recently entered to the most recently entered. The queue itself is unchanged. - -## reduceU - -```res sig -let reduceU: (t<'a>, 'b, (. 'b, 'a) => 'b) => 'b -``` - -## reduce - -```res sig -let reduce: (t<'a>, 'b, ('b, 'a) => 'b) => 'b -``` - -`reduce(q, accu, f)` is equivalent to `List.reduce(l, accu, f)`, where `l` is the list of `q`'s elements. The queue remains unchanged. - -## transfer - -```res sig -let transfer: (t<'a>, t<'a>) => unit -``` - -`transfer(q1, q2)` adds all of `q1`'s elements at the end of the queue `q2`, then clears `q1`. It is equivalent to the sequence `forEach((x) => add(x, q2), q1);`; clear `q1`, but runs in constant time. - -## toArray - -```res sig -let toArray: t<'a> => array<'a> -``` - -First added will be in the beginning of the array. diff --git a/pages/docs/manual/latest/api/belt/mutable-set-int.mdx b/pages/docs/manual/latest/api/belt/mutable-set-int.mdx deleted file mode 100644 index f4fd5a6ce..000000000 --- a/pages/docs/manual/latest/api/belt/mutable-set-int.mdx +++ /dev/null @@ -1,559 +0,0 @@ -# MutableSetInt - - - -This module is [Belt.MutableSet](mutable-set) specialized with key type to be a `int` type. -It is more efficient in general, the API is the same with [Belt.MutableSet](mutable-set) except its key type is fixed, and identity is not needed (using the built-in one). - - - -## value - -```res prelude -type value = int -``` - -The type of the set elements - -## t - -```res prelude -type t -``` - -Type of the sets. - -## make - -```res sig -let make: unit => t -``` - -Returns empty set. - -```res example -let set = Belt.MutableSet.Int.make() -``` - -## fromArray - -```res sig -let fromArray: array => t -``` - -Creates new set from array of elements. - -```res example -let s0 = Belt.MutableSet.Int.fromArray([1, 3, 2, 4]) - -s0->Belt.MutableSet.Int.toArray /* [1, 2, 3, 4] */ -``` - -## fromSortedArrayUnsafe - -```res sig -let fromSortedArrayUnsafe: array => t -``` - -The same as [fromArray][#fromarray] except it is after assuming the input array is already sorted. - -## copy - -```res sig -let copy: t => t -``` - -Returns copy of a set. - -```res example -let s0 = Belt.MutableSet.Int.fromArray([1, 3, 2, 4]) - -let copied = s0->Belt.MutableSet.Int.copy -copied->Belt.MutableSet.Int.toArray /* [1, 2, 3, 4] */ -``` - -## isEmpty - -```res sig -let isEmpty: t => bool -``` - -Checks if set is empty. - -```res example -let empty = Belt.MutableSet.Int.fromArray([]) -let notEmpty = Belt.MutableSet.Int.fromArray([1]) - -Belt.MutableSet.Int.isEmpty(empty) /* true */ -Belt.MutableSet.Int.isEmpty(notEmpty) /* false */ -``` - -## has - -```res sig -let has: (t, value) => bool -``` - -Checks if element exists in set. - -```res example -let set = Belt.MutableSet.Int.fromArray([1, 4, 2, 5]) - -set->Belt.MutableSet.Int.has(3) /* false */ -set->Belt.MutableSet.Int.has(1) /* true */ -``` - -## add - -```res sig -let add: (t, value) => unit -``` - -Adds element to set. If element existed in set, value is unchanged. - -```res example -let s0 = Belt.MutableSet.Int.make() -s0->Belt.MutableSet.Int.add(1) -s0->Belt.MutableSet.Int.add(2) -s0->Belt.MutableSet.Int.add(2) - -s0->Belt.MutableSet.Int.toArray /* [1, 2] */ -``` - -## addCheck - -``` -let addCheck: (t, value) => bool; -``` - -## mergeMany - -```res sig -let mergeMany: (t, array) => unit -``` - -Adds each element of array to set. Unlike [add](#add), the reference of return value might be changed even if all values in array already exist in set - -```res example -let set = Belt.MutableSet.Int.make() - -set->Belt.MutableSet.Int.mergeMany([5, 4, 3, 2, 1]) -set->Belt.MutableSet.Int.toArray /* [1, 2, 3, 4, 5] */ -``` - -## remove - -```res sig -let remove: (t, value) => unit -``` - -Removes element from set. If element wasn't existed in set, value is unchanged. - -```res example -let s0 = Belt.MutableSet.Int.fromArray([2, 3, 1, 4, 5]) -s0->Belt.MutableSet.Int.remove(1) -s0->Belt.MutableSet.Int.remove(3) -s0->Belt.MutableSet.Int.remove(3) - -s0->Belt.MutableSet.Int.toArray /* [2,4,5] */ -``` - -## removeCheck - -```res sig -let removeCheck: (t, value) => bool -``` - -## removeMany - -```res sig -let removeMany: (t, array) => unit -``` - -Removes each element of array from set. - -```res example -let set = Belt.MutableSet.Int.fromArray([1, 2, 3, 4]) - -set->Belt.MutableSet.Int.removeMany([5, 4, 3, 2, 1]) -set->Belt.MutableSet.Int.toArray /* [] */ -``` - -## union - -```res sig -let union: (t, t) => t -``` - -Returns union of two sets. - -```res example -let s0 = Belt.MutableSet.Int.fromArray([5, 2, 3, 5, 6]) -let s1 = Belt.MutableSet.Int.fromArray([5, 2, 3, 1, 5, 4]) -let union = Belt.MutableSet.Int.union(s0, s1) -union->Belt.MutableSet.Int.toArray /* [1,2,3,4,5,6] */ -``` - -## intersect - -```res sig -let intersect: (t, t) => t -``` - -Returns intersection of two sets. - -```res example -let s0 = Belt.MutableSet.Int.fromArray([5, 2, 3, 5, 6]) -let s1 = Belt.MutableSet.Int.fromArray([5, 2, 3, 1, 5, 4]) -let intersect = Belt.MutableSet.Int.intersect(s0, s1) -intersect->Belt.MutableSet.Int.toArray /* [2,3,5] */ -``` - -## diff - -```res sig -let diff: (t, t) => t -``` - -Returns elements from first set, not existing in second set. - -```res example -let s0 = Belt.MutableSet.Int.fromArray([5, 2, 3, 5, 6]) -let s1 = Belt.MutableSet.Int.fromArray([5, 2, 3, 1, 5, 4]) -Belt.MutableSet.Int.toArray(Belt.MutableSet.Int.diff(s0, s1)) /* [6] */ -Belt.MutableSet.Int.toArray(Belt.MutableSet.Int.diff(s1, s0)) /* [1,4] */ -``` - -## subset - -```res sig -let subset: (t, t) => bool -``` - -Checks if second set is subset of first set. - -```res example -let s0 = Belt.MutableSet.Int.fromArray([5, 2, 3, 5, 6]) -let s1 = Belt.MutableSet.Int.fromArray([5, 2, 3, 1, 5, 4]) -let s2 = Belt.MutableSet.Int.intersect(s0, s1) -Belt.MutableSet.Int.subset(s2, s0) /* true */ -Belt.MutableSet.Int.subset(s2, s1) /* true */ -Belt.MutableSet.Int.subset(s1, s0) /* false */ -``` - -## cmp - -```res sig -let cmp: (t, t) => int -``` - -Total ordering between sets. Can be used as the ordering function for doing sets of sets. It compares size first and then iterates over each element following the order of elements. - -## eq - -```res sig -let eq: (t, t) => bool -``` - -Checks if two sets are equal. - -```res example -let s0 = Belt.MutableSet.Int.fromArray([5, 2, 3]) -let s1 = Belt.MutableSet.Int.fromArray([3, 2, 5]) - -Belt.MutableSet.Int.eq(s0, s1) /* true */ -``` - -## forEachU - -```res sig -let forEachU: (t, (. value) => unit) => unit -``` - -Same as [forEach](##forEach) but takes uncurried functon. - -## forEach - -```res sig -let forEach: (t, value => unit) => unit -``` - -Applies function `f` in turn to all elements of set in increasing order. - -```res example -let s0 = Belt.MutableSet.Int.fromArray([5, 2, 3, 5, 6]) -let acc = ref(list{}) -s0->Belt.MutableSet.Int.forEach(x => acc := Belt.List.add(acc.contents, x)) -acc /* [6,5,3,2] */ -``` - -## reduceU - -```res sig -let reduceU: (t, 'a, (. 'a, value) => 'a) => 'a -``` - -## reduce - -``` -let reduce: (t, 'a, ('a, value) => 'a) => 'a; -``` - -Applies function `f` to each element of set in increasing order. Function `f` has two parameters: the item from the set and an “accumulator”, which starts with a value of `initialValue`. `reduce` returns the final value of the accumulator. - -```res example -let s0 = Belt.MutableSet.Int.fromArray([5, 2, 3, 5, 6]) -s0->Belt.MutableSet.Int.reduce(list{}, (acc, element) => - acc->Belt.List.add(element) -) /* [6,5,3,2] */ -``` - -## everyU - -```res sig -let everyU: (t, (. value) => bool) => bool -``` - -## every - -```res sig -let every: (t, value => bool) => bool -``` - -Checks if all elements of the set satisfy the predicate. Order unspecified. - -```res example -let isEven = x => mod(x, 2) == 0 - -let s0 = Belt.MutableSet.Int.fromArray([2, 4, 6, 8]) -s0->Belt.MutableSet.Int.every(isEven) /* true */ -``` - -## someU - -```res sig -let someU: (t, (. value) => bool) => bool -``` - -## some - -```res sig -let some: (t, value => bool) => bool -``` - -Checks if at least one element of the set satisfies the predicate. - -```res example -let isOdd = x => mod(x, 2) != 0 - -let s0 = Belt.MutableSet.Int.fromArray([1, 2, 4, 6, 8]) -s0->Belt.MutableSet.Int.some(isOdd) /* true */ -``` - -## keepU - -```res sig -let keepU: (t, (. value) => bool) => t -``` - -## keep - -```res sig -let keep: (t, value => bool) => t -``` - -Returns the set of all elements that satisfy the predicate. - -```res example -let isEven = x => mod(x, 2) == 0 - -let s0 = Belt.MutableSet.Int.fromArray([1, 2, 3, 4, 5]) -let s1 = s0->Belt.MutableSet.Int.keep(isEven) - -s1->Belt.MutableSet.Int.toArray /* [2, 4] */ -``` - -## partitionU - -```res sig -let partitionU: (t, (. value) => bool) => (t, t) -``` - -## partition - -```res sig -let partition: (t, value => bool) => (t, t) -``` - -```res example -let isOdd = x => mod(x, 2) != 0 - -let s0 = Belt.MutableSet.Int.fromArray([1, 2, 3, 4, 5]) -let (s1, s2) = s0->Belt.MutableSet.Int.partition(isOdd) - -s1->Belt.MutableSet.Int.toArray /* [1,3,5] */ -s2->Belt.MutableSet.Int.toArray /* [2,4] */ -``` - -## size - -```res sig -let size: t => int -``` - -Returns size of the set. - -```res example -let s0 = Belt.MutableSet.Int.fromArray([1, 2, 3, 4]) - -s0->Belt.MutableSet.Int.size /* 4 */ -``` - -## toList - -```res sig -let toList: t => list -``` - -Returns list of ordered set elements. - -```res example -let s0 = Belt.MutableSet.Int.fromArray([3, 2, 1, 5]) - -s0->Belt.MutableSet.Int.toList /* [1,2,3,5] */ -``` - -## toArray - -```res sig -let toArray: t => array -``` - -Returns array of ordered set elements. - -```res example -let s0 = Belt.MutableSet.Int.fromArray([3, 2, 1, 5]) - -s0->Belt.MutableSet.Int.toArray /* [1,2,3,5] */ -``` - -## minimum - -```res sig -let minimum: t => option -``` - -Returns minimum value of the collection. `None` if collection is empty. - -```res example -let s0 = Belt.MutableSet.Int.make() -let s1 = Belt.MutableSet.Int.fromArray([3, 2, 1, 5]) - -s0->Belt.MutableSet.Int.minimum /* None */ -s1->Belt.MutableSet.Int.minimum /* Some(1) */ -``` - -## minUndefined - -```res sig -let minUndefined: t => Js.undefined -``` - -Returns minimum value of the collection. `undefined` if collection is empty. - -```res example -let s0 = Belt.MutableSet.Int.make() -let s1 = Belt.MutableSet.Int.fromArray([3, 2, 1, 5]) - -s0->Belt.MutableSet.Int.minUndefined /* undefined */ -s1->Belt.MutableSet.Int.minUndefined /* 1 */ -``` - -## maximum - -```res sig -let maximum: t => option -``` - -Returns maximum value of the collection. `None` if collection is empty. - -```res example -let s0 = Belt.MutableSet.Int.make() -let s1 = Belt.MutableSet.Int.fromArray([3, 2, 1, 5]) - -s0->Belt.MutableSet.Int.maximum /* None */ -s1->Belt.MutableSet.Int.maximum /* Some(5) */ -``` - -## maxUndefined - -```res sig -let maxUndefined: t => Js.undefined -``` - -Returns maximum value of the collection. `undefined` if collection is empty. - -```res example -let s0 = Belt.MutableSet.Int.make() -let s1 = Belt.MutableSet.Int.fromArray([3, 2, 1, 5]) - -s0->Belt.MutableSet.Int.maxUndefined /* undefined */ -s1->Belt.MutableSet.Int.maxUndefined /* 5 */ -``` - -## get - -```res sig -let get: (t, value) => option -``` - -Returns the reference of the value which is equivalent to value using the comparator specifiecd by this collection. Returns `None` if element does not exist. - -```res example -let s0 = Belt.MutableSet.Int.fromArray([1, 2, 3, 4, 5]) - -s0->Belt.MutableSet.Int.get(3) /* Some(3) */ -s0->Belt.MutableSet.Int.get(20) /* None */ -``` - -## getUndefined - -```res sig -let getUndefined: (t, value) => Js.undefined -``` - -Same as [get](#get) but returns `undefined` when element does not exist. - -## getExn - -```res sig -let getExn: (t, value) => value -``` - -Same as [get](#get) but raise when element does not exist. - -## split - -```res sig -let split: (t, value) => ((t, t), bool) -``` - -Returns a tuple `((smaller, larger), present)`, `present` is true when element exist in set. - -```res example -let s0 = Belt.MutableSet.Int.fromArray([1, 2, 3, 4, 5]) - -let ((smaller, larger), present) = s0->Belt.MutableSet.Int.split(3) - -present /* true */ -smaller->Belt.MutableSet.Int.toArray /* [1,2] */ -larger->Belt.MutableSet.Int.toArray /* [4,5] */ -``` - -## checkInvariantInternal - -```res sig -let checkInvariantInternal: t => unit -``` - -**raise** when invariant is not held diff --git a/pages/docs/manual/latest/api/belt/mutable-set-string.mdx b/pages/docs/manual/latest/api/belt/mutable-set-string.mdx deleted file mode 100644 index 2acd4467e..000000000 --- a/pages/docs/manual/latest/api/belt/mutable-set-string.mdx +++ /dev/null @@ -1,561 +0,0 @@ -# MutableSetString - - - -This module is [Belt.MutableSet](mutable-set) specialized with key type to be a `string` type. -It is more efficient in general, the API is the same with [Belt.MutableSet](mutable-set) except its key type is fixed, and identity is not needed (using the built-in one) - - - -## value - -```res prelude -type value = string -``` - -The type of the set elements. - -## t - -```res prelude -type t -``` - -The type of sets. - -## make - -```res sig -let make: unit => t -``` - -Returns empty set. - -```res example -let set = Belt.MutableSet.String.make() -``` - -## fromArray - -```res sig -let fromArray: array => t -``` - -Creates new set from array of elements. - -```res example -let s0 = Belt.MutableSet.String.fromArray(["apple", "orange", "banana"]) - -s0->Belt.MutableSet.String.toArray /* ["apple", "banana", "orange"] */ -``` - -## fromSortedArrayUnsafe - -```res sig -let fromSortedArrayUnsafe: array => t -``` - -The same as [fromArray][#fromarray] except it is after assuming the input array is already sorted. - -## copy - -```res sig -let copy: t => t -``` - -Returns copy of a set. - -```res example -let s0 = Belt.MutableSet.String.fromArray(["orange", "apple"]) - -let copied = s0->Belt.MutableSet.String.copy -copied->Belt.MutableSet.String.toArray /* ["apple", "orange"] */ -``` - -## isEmpty - -```res sig -let isEmpty: t => bool -``` - -Checks if set is empty. - -```res example -let empty = Belt.MutableSet.String.fromArray([]) -let notEmpty = Belt.MutableSet.String.fromArray(["apple"]) - -Belt.MutableSet.String.isEmpty(empty) /* true */ -Belt.MutableSet.String.isEmpty(notEmpty) /* false */ -``` - -## has - -```res sig -let has: (t, value) => bool -``` - -Checks if element exists in set. - -```res example -let set = Belt.MutableSet.String.fromArray(["apple", "orange", "banana"]) - -set->Belt.MutableSet.String.has("strawberry") /* false */ -set->Belt.MutableSet.String.has("apple") /* true */ -``` - -## add - -```res sig -let add: (t, value) => unit -``` - -Adds element to set. If element existed in set, value is unchanged. - -```res example -let s0 = Belt.MutableSet.String.make() -s0->Belt.MutableSet.String.add("apple") -s0->Belt.MutableSet.String.add("banana") -s0->Belt.MutableSet.String.add("banana") - -s0->Belt.MutableSet.String.toArray /* ["apple", "banana"] */ -``` - -## addCheck - -```res sig -let addCheck: (t, value) => bool -``` - -## mergeMany - -```res sig -let mergeMany: (t, array) => unit -``` - -Adds each element of array to set. - -```res example -let set = Belt.MutableSet.String.make() - -set->Belt.MutableSet.String.mergeMany(["apple", "banana", "orange", "strawberry"]) -set->Belt.MutableSet.String.toArray /* ["apple", "banana", "orange", "strawberry"] */ -``` - -## remove - -```res sig -let remove: (t, value) => unit -``` - -Removes element from set. If element wasn't existed in set, value is unchanged. - -```res example -let s0 = Belt.MutableSet.String.fromArray(["orange", "banana", "apple"]) -s0->Belt.MutableSet.String.remove("apple") -s0->Belt.MutableSet.String.remove("banana") -s0->Belt.MutableSet.String.remove("banana") - -s0->Belt.MutableSet.String.toArray /* ["orange"] */ -``` - -## removeCheck - -```res sig -let removeCheck: (t, value) => bool -``` - -## removeMany - -```res sig -let removeMany: (t, array) => unit -``` - -Removes each element of array from set. - -```res example -let set = Belt.MutableSet.String.fromArray(["apple", "banana", "orange"]) - -set->Belt.MutableSet.String.removeMany(["strawberry", "apple", "banana", "orange"]) -set->Belt.MutableSet.String.toArray /* [] */ -``` - -## union - -```res sig -let union: (t, t) => t -``` - -Returns union of two sets. - -```res example -let s0 = Belt.MutableSet.String.fromArray(["apple", "banana", "orange", "carrot"]) -let s1 = Belt.MutableSet.String.fromArray(["apple", "banana", "orange", "strawberry"]) -let union = Belt.MutableSet.String.union(s0, s1) -union->Belt.MutableSet.String.toArray /* ["apple", "banana", "carrot", "orange", "strawberry"] */ -``` - -## intersect - -```res sig -let intersect: (t, t) => t -``` - -Returns intersection of two sets. - -```res example -let s0 = Belt.MutableSet.String.fromArray(["apple", "banana", "orange", "carrot"]) -let s1 = Belt.MutableSet.String.fromArray(["apple", "banana", "orange", "strawberry"]) -let intersect = Belt.MutableSet.String.intersect(s0, s1) -intersect->Belt.MutableSet.String.toArray /* ["apple", "banana", "orange"] */ -``` - -## diff - -```res sig -let diff: (t, t) => t -``` - -Returns elements from first set, not existing in second set. - -```res example -let s0 = Belt.MutableSet.String.fromArray(["apple", "banana", "orange", "carrot"]) -let s1 = Belt.MutableSet.String.fromArray(["apple", "banana", "orange", "strawberry"]) -Belt.MutableSet.String.toArray(Belt.MutableSet.String.diff(s0, s1)) /* ["carrot"] */ -Belt.MutableSet.String.toArray(Belt.MutableSet.String.diff(s1, s0)) /* ["strawberry"] */ -``` - -## subset - -```res sig -let subset: (t, t) => bool -``` - -Checks if second set is subset of first set. - -```res example -let s0 = Belt.MutableSet.String.fromArray(["5", "2", "3", "5", "6"]) -let s1 = Belt.MutableSet.String.fromArray(["5", "2", "3", "1", "5", "4"]) -let s2 = Belt.MutableSet.String.intersect(s0, s1) -Belt.MutableSet.String.subset(s2, s0) /* true */ -Belt.MutableSet.String.subset(s2, s1) /* true */ -Belt.MutableSet.String.subset(s1, s0) /* false */ -``` - -## cmp - -```res sig -let cmp: (t, t) => int -``` - -Total ordering between sets. Can be used as the ordering function for doing sets of sets. It compares size first and then iterates over each element following the order of elements. - -## eq - -```res sig -let eq: (t, t) => bool -``` - -Checks if two sets are equal. - -```res example -let s0 = Belt.MutableSet.String.fromArray(["apple", "orange"]) -let s1 = Belt.MutableSet.String.fromArray(["orange", "apple"]) - -Belt.MutableSet.String.eq(s0, s1) /* true */ -``` - -## forEachU - -```res sig -let forEachU: (t, (. value) => unit) => unit -``` - -Same as [forEach](##forEach) but takes uncurried functon. - -## forEach - -```res sig -let forEach: (t, value => unit) => unit -``` - -Applies function `f` in turn to all elements of set in increasing order. - -```res example -let s0 = Belt.MutableSet.String.fromArray(["banana", "orange", "apple"]) -let acc = ref(list{}) -s0->Belt.MutableSet.String.forEach(x => acc := Belt.List.add(acc.contents, x)) -acc /* ["orange", "banana", "apple"] */ -``` - -## reduceU - -```res sig -let reduceU: (t, 'a, (. 'a, value) => 'a) => 'a -``` - -## reduce - -```res sig -let reduce: (t, 'a, ('a, value) => 'a) => 'a -``` - -Applies function `f` to each element of set in increasing order. Function `f` has two parameters: the item from the set and an “accumulator”, which starts with a value of `initialValue`. `reduce` returns the final value of the accumulator. - -Applies function `f` to each element of set in increasing order. Function `f` has two parameters: the item from the set and an “accumulator”, which starts with a value of `initialValue`. `reduce` returns the final value of the accumulator. - -```res example -let s0 = Belt.MutableSet.String.fromArray(["apple", "orange"]) -s0->Belt.MutableSet.String.reduce(0, (acc, element) => acc + String.length(element)) /* 11 */ -``` - -## everyU - -```res sig -let everyU: (t, (. value) => bool) => bool -``` - -## every - -```res sig -let every: (t, value => bool) => bool -``` - -Checks if all elements of the set satisfy the predicate. Order unspecified. - -```res example -let hasAtLeastFiveChars = x => String.length(x) >= 5 - -let s0 = Belt.MutableSet.String.fromArray(["apple", "carrot"]) -s0->Belt.MutableSet.String.every(hasAtLeastFiveChars) /* true */ -``` - -## someU - -```res sig -let someU: (t, (. value) => bool) => bool -``` - -## some - -```res sig -let some: (t, value => bool) => bool -``` - -Checks if at least one element of the set satisfies the predicate. - -```res example -let hasFiveChars = x => String.length(x) == 5 - -let s0 = Belt.MutableSet.String.fromArray(["strawberry", "apple"]) -s0->Belt.MutableSet.String.some(hasFiveChars) /* true */ -``` - -## keepU - -```res sig -let keepU: (t, (. value) => bool) => t -``` - -## keep - -```res sig -let keep: (t, value => bool) => t -``` - -Returns the set of all elements that satisfy the predicate. - -```res example -let hasFiveChars = x => String.length(x) == 5 - -let s0 = Belt.MutableSet.String.fromArray(["apple", "orange", "banana"]) -let s1 = s0->Belt.MutableSet.String.keep(hasFiveChars) - -s1->Belt.MutableSet.String.toArray /* ["apple"] */ -``` - -## partitionU - -```res sig -let partitionU: (t, (. value) => bool) => (t, t) -``` - -## partition - -```res sig -let partition: (t, value => bool) => (t, t) -``` - -Returns a pair of sets, where first is the set of all the elements of set that satisfy the predicate, and second is the set of all the elements of set that do not satisfy the predicate. - -```res example -let hasFiveChars = x => String.length(x) == 5 - -let s0 = Belt.MutableSet.String.fromArray(["apple", "carrot"]) -let (s1, s2) = s0->Belt.MutableSet.String.partition(hasFiveChars) - -s1->Belt.MutableSet.String.toArray /* ["apple"] */ -s2->Belt.MutableSet.String.toArray /* ["carrot"] */ -``` - -## size - -```res sig -let size: t => int -``` - -Returns size of the set. - -```res example -let s0 = Belt.MutableSet.String.fromArray(["apple"]) - -s0->Belt.MutableSet.String.size /* 1 */ -``` - -## toList - -```res sig -let toList: t => list -``` - -Returns list of ordered set elements. - -```res example -let s0 = Belt.MutableSet.String.fromArray(["apple", "watermelon"]) - -s0->Belt.MutableSet.String.toList /* ["apple", "watermelon"] */ -``` - -## toArray - -```res sig -let toArray: t => array -``` - -Returns array of ordered set elements. - -```res example -let s0 = Belt.MutableSet.String.fromArray(["apple", "watermelon"]) - -s0->Belt.MutableSet.String.toArray /* ["apple", "watermelon"] */ -``` - -## minimum - -```res sig -let minimum: t => option -``` - -Returns minimum value of the collection. `None` if collection is empty. - -```res example -let s0 = Belt.MutableSet.String.make() -let s1 = Belt.MutableSet.String.fromArray(["apple", "orange"]) - -s0->Belt.MutableSet.String.minimum /* None */ -s1->Belt.MutableSet.String.minimum /* Some("apple") */ -``` - -## minUndefined - -```res sig -let minUndefined: t => Js.undefined -``` - -Returns minimum value of the collection. `undefined` if collection is empty. - -```res example -let s0 = Belt.MutableSet.String.make() -let s1 = Belt.MutableSet.String.fromArray(["apple", "orange"]) - -s0->Belt.MutableSet.String.minUndefined /* undefined */ -s1->Belt.MutableSet.String.minUndefined /* "apple" */ -``` - -## maximum - -```res sig -let maximum: t => option -``` - -Returns maximum value of the collection. `None` if collection is empty. - -```res example -let s0 = Belt.MutableSet.String.make() -let s1 = Belt.MutableSet.String.fromArray(["apple", "orange"]) - -s0->Belt.MutableSet.String.maximum /* None */ -s1->Belt.MutableSet.String.maximum /* Some("orange") */ -``` - -## maxUndefined - -```res sig -let maxUndefined: t => Js.undefined -``` - -Returns maximum value of the collection. `undefined` if collection is empty. - -```res example -let s0 = Belt.MutableSet.String.make() -let s1 = Belt.MutableSet.String.fromArray(["apple", "orange"]) - -s0->Belt.MutableSet.String.maxUndefined /* undefined */ -s1->Belt.MutableSet.String.maxUndefined /* orange */ -``` - -## get - -```res sig -let get: (t, value) => option -``` - -Returns the reference of the value which is equivalent to value using the comparator specifiecd by this collection. Returns `None` if element does not exist. - -```res example -let s0 = Belt.MutableSet.String.fromArray(["apple", "carrot"]) - -s0->Belt.MutableSet.String.get("carrot") /* Some("carrot") */ -s0->Belt.MutableSet.String.get("watermelon") /* None */ -``` - -## getUndefined - -```res sig -let getUndefined: (t, value) => Js.undefined -``` - -Same as [get](#get) but returns `undefined` when element does not exist. - -## getExn - -```res sig -let getExn: (t, value) => value -``` - -Same as [get](#get) but raise when element does not exist. - -## split - -```res sig -let split: (t, value) => ((t, t), bool) -``` - -Returns a tuple `((smaller, larger), present)`, `present` is true when element exist in set. - -```res example -let s0 = Belt.MutableSet.String.fromArray(["apple", "banana", "orange"]) - -let ((smaller, larger), present) = s0->Belt.MutableSet.String.split("banana") - -present /* true */ -smaller->Belt.MutableSet.String.toArray /* ["apple"] */ -larger->Belt.MutableSet.String.toArray /* ["orange"] */ -``` - -## checkInvariantInternal - -```res sig -let checkInvariantInternal: t => unit -``` - -**raise** when invariant is not held diff --git a/pages/docs/manual/latest/api/belt/mutable-set.mdx b/pages/docs/manual/latest/api/belt/mutable-set.mdx deleted file mode 100644 index d379a691a..000000000 --- a/pages/docs/manual/latest/api/belt/mutable-set.mdx +++ /dev/null @@ -1,711 +0,0 @@ -# MutableSet - - - -A **mutable** sorted set module which allows customize compare behavior. -The implementation uses balanced binary trees, and therefore searching and insertion take time logarithmic in the size of the map. - -It also has three specialized inner modules [Belt.MutableSet.Int](mutable-set-int) and [Belt.MutableSet.String](mutable-set-string) - This module separates data from function which is more verbose but slightly more efficient - - - -```res example -module PairComparator = Belt.Id.MakeComparableU({ - type t = (int, int) - let cmp = ((a0, a1), (b0, b1)) => - switch Pervasives.compare(a0, b0) { - | 0 => Pervasives.compare(a1, b1) - | c => c - } -}) - -let mySet = Belt.MutableSet.make(~id=module(PairComparator)) -mySet->Belt.MutableSet.add((1, 2)) -``` - -## t - -```res prelude -type t<'value, 'id> -``` - -`'value` is the element type - -`'id` the identity of the collection - -## id - -```res prelude -type id<'value, 'id> = Belt_Id.comparable<'value, 'id> -``` - -The identity needed for making a set from scratch - -## make - -```res sig -let make: (~id: id<'value, 'id>) => t<'value, 'id> -``` - -Creates a new set by taking in the comparator - -## fromArray - -```res sig -let fromArray: (array<'value>, ~id: id<'value, 'id>) => t<'value, 'id> -``` - -Creates new set from array of elements. - -```res example -module IntCmp = Belt.Id.MakeComparable({ - type t = int - let cmp = Pervasives.compare -}) - -let s0 = Belt.MutableSet.fromArray([1, 3, 2, 4], ~id=module(IntCmp)) - -s0->Belt.MutableSet.toArray /* [1, 2, 3, 4] */ -``` - -## fromSortedArrayUnsafe - -```res sig -let fromSortedArrayUnsafe: (array<'value>, ~id: id<'value, 'id>) => t<'value, 'id> -``` - -The same as [fromArray][#fromarray] except it is after assuming the input array is already sorted. - -## copy - -```res sig -let copy: t<'value, 'id> => t<'value, 'id> -``` - -Returns copy of a set. - -```res example -module IntCmp = Belt.Id.MakeComparable({ - type t = int - let cmp = Pervasives.compare -}) - -let s0 = Belt.MutableSet.fromArray([1, 3, 2, 4], ~id=module(IntCmp)) - -let copied = s0->Belt.MutableSet.copy -copied->Belt.MutableSet.toArray /* [1, 2, 3, 4] */ -``` - -## isEmpty - -```res sig -let isEmpty: t<'a, 'b> => bool -``` - -Checks if set is empty. - -```res example -module IntCmp = Belt.Id.MakeComparable({ - type t = int - let cmp = Pervasives.compare -}) - -let empty = Belt.MutableSet.fromArray([], ~id=module(IntCmp)) -let notEmpty = Belt.MutableSet.fromArray([1], ~id=module(IntCmp)) - -Belt.MutableSet.isEmpty(empty) /* true */ -Belt.MutableSet.isEmpty(notEmpty) /* false */ -``` - -## has - -```res sig -let has: (t<'value, 'a>, 'value) => bool -``` - -Checks if element exists in set. - -```res example -module IntCmp = Belt.Id.MakeComparable({ - type t = int - let cmp = Pervasives.compare -}) - -let set = Belt.MutableSet.fromArray([1, 4, 2, 5], ~id=module(IntCmp)) - -set->Belt.MutableSet.has(3) /* false */ -set->Belt.MutableSet.has(1) /* true */ -``` - -## add - -```res sig -let add: (t<'value, 'id>, 'value) => unit -``` - -Adds element to set. If element existed in set, value is unchanged. - -```res example -module IntCmp = Belt.Id.MakeComparable({ - type t = int - let cmp = Pervasives.compare -}) - -let s0 = Belt.MutableSet.make(~id=module(IntCmp)) -s0->Belt.MutableSet.add(1) -s0->Belt.MutableSet.add(2) -s0->Belt.MutableSet.add(2) - -s0->Belt.MutableSet.toArray /* [1, 2] */ -``` - -## addCheck - -```res sig -let addCheck: (t<'value, 'id>, 'value) => bool -``` - -## mergeMany - -```res sig -let mergeMany: (t<'value, 'id>, array<'value>) => unit -``` - -Adds each element of array to set. - -```res example -module IntCmp = Belt.Id.MakeComparable({ - type t = int - let cmp = Pervasives.compare -}) - -let set = Belt.MutableSet.make(~id=module(IntCmp)) - -set->Belt.MutableSet.mergeMany([5, 4, 3, 2, 1]) -set->Belt.MutableSet.toArray /* [1, 2, 3, 4, 5] */ -``` - -## remove - -```res sig -let remove: (t<'value, 'id>, 'value) => unit -``` - -Removes element from set. If element wasn't existed in set, value is unchanged. - -```res example -module IntCmp = Belt.Id.MakeComparable({ - type t = int - let cmp = Pervasives.compare -}) - -let s0 = Belt.MutableSet.fromArray([2, 3, 1, 4, 5], ~id=module(IntCmp)) -s0->Belt.MutableSet.remove(1) -s0->Belt.MutableSet.remove(3) -s0->Belt.MutableSet.remove(3) - -s0->Belt.MutableSet.toArray /* [2,4,5] */ -``` - -## removeCheck - -```res sig -let removeCheck: (t<'value, 'id>, 'value) => bool -``` - -## removeMany - -```res sig -let removeMany: (t<'value, 'id>, array<'value>) => unit -``` - -Removes each element of array from set. - -```res example -module IntCmp = Belt.Id.MakeComparable({ - type t = int - let cmp = Pervasives.compare -}) - -let set = Belt.MutableSet.fromArray([1, 2, 3, 4], ~id=module(IntCmp)) - -set->Belt.MutableSet.removeMany([5, 4, 3, 2, 1]) -set->Belt.MutableSet.toArray /* [] */ -``` - -## union - -```res sig -let union: (t<'value, 'id>, t<'value, 'id>) => t<'value, 'id> -``` - -Returns union of two sets. - -```res example -module IntCmp = Belt.Id.MakeComparable({ - type t = int - let cmp = Pervasives.compare -}) - -let s0 = Belt.MutableSet.fromArray([5, 2, 3, 5, 6], ~id=module(IntCmp)) -let s1 = Belt.MutableSet.fromArray([5, 2, 3, 1, 5, 4], ~id=module(IntCmp)) -let union = Belt.MutableSet.union(s0, s1) -union->Belt.MutableSet.toArray /* [1,2,3,4,5,6] */ -``` - -## intersect - -```res sig -let intersect: (t<'value, 'id>, t<'value, 'id>) => t<'value, 'id> -``` - -Returns intersection of two sets. - -```res example -module IntCmp = Belt.Id.MakeComparable({ - type t = int - let cmp = Pervasives.compare -}) - -let s0 = Belt.MutableSet.fromArray([5, 2, 3, 5, 6], ~id=module(IntCmp)) -let s1 = Belt.MutableSet.fromArray([5, 2, 3, 1, 5, 4], ~id=module(IntCmp)) -let intersect = Belt.MutableSet.intersect(s0, s1) -intersect->Belt.MutableSet.toArray /* [2,3,5] */ -``` - -## diff - -```res sig -let diff: (t<'value, 'id>, t<'value, 'id>) => t<'value, 'id> -``` - -Returns elements from first set, not existing in second set. - -```res example -module IntCmp = Belt.Id.MakeComparable({ - type t = int - let cmp = Pervasives.compare -}) - -let s0 = Belt.MutableSet.fromArray([5, 2, 3, 5, 6], ~id=module(IntCmp)) -let s1 = Belt.MutableSet.fromArray([5, 2, 3, 1, 5, 4], ~id=module(IntCmp)) -Belt.MutableSet.toArray(Belt.MutableSet.diff(s0, s1)) /* [6] */ -Belt.MutableSet.toArray(Belt.MutableSet.diff(s1, s0)) /* [1,4] */ -``` - -## subset - -```res sig -let subset: (t<'value, 'id>, t<'value, 'id>) => bool -``` - -Checks if second set is subset of first set. - -```res example -module IntCmp = Belt.Id.MakeComparable({ - type t = int - let cmp = Pervasives.compare -}) - -let s0 = Belt.MutableSet.fromArray([5, 2, 3, 5, 6], ~id=module(IntCmp)) -let s1 = Belt.MutableSet.fromArray([5, 2, 3, 1, 5, 4], ~id=module(IntCmp)) -let s2 = Belt.MutableSet.intersect(s0, s1) -Belt.MutableSet.subset(s2, s0) /* true */ -Belt.MutableSet.subset(s2, s1) /* true */ -Belt.MutableSet.subset(s1, s0) /* false */ -``` - -## cmp - -```res sig -let cmp: (t<'value, 'id>, t<'value, 'id>) => int -``` - -Total ordering between sets. Can be used as the ordering function for doing sets of sets. It compares size first and then iterates over each element following the order of elements. - -## eq - -```res sig -let eq: (t<'value, 'id>, t<'value, 'id>) => bool -``` - -Checks if two sets are equal. - -```res example -module IntCmp = Belt.Id.MakeComparable({ - type t = int - let cmp = Pervasives.compare -}) - -let s0 = Belt.MutableSet.fromArray([5, 2, 3], ~id=module(IntCmp)) -let s1 = Belt.MutableSet.fromArray([3, 2, 5], ~id=module(IntCmp)) - -Belt.MutableSet.eq(s0, s1) /* true */ -``` - -## forEachU - -```res sig -let forEachU: (t<'value, 'id>, (. 'value) => unit) => unit -``` - -Same as [forEach](##forEach) but takes uncurried functon. - -## forEach - -```res sig -let forEach: (t<'value, 'id>, 'value => unit) => unit -``` - -Applies function `f` in turn to all elements of set in increasing order. - -```res example -module IntCmp = Belt.Id.MakeComparable({ - type t = int - let cmp = Pervasives.compare -}) - -let s0 = Belt.MutableSet.fromArray([5, 2, 3, 5, 6], ~id=module(IntCmp)) -let acc = ref(list{}) -s0->Belt.MutableSet.forEach(x => acc := Belt.List.add(acc.contents, x)) -acc /* [6,5,3,2] */ -``` - -## reduceU - -```res sig -let reduceU: (t<'value, 'id>, 'a, (. 'a, 'value) => 'a) => 'a -``` - -## reduce - -```res sig -let reduce: (t<'value, 'id>, 'a, ('a, 'value) => 'a) => 'a -``` - -Applies function `f` to each element of set in increasing order. Function `f` has two parameters: the item from the set and an “accumulator”, which starts with a value of `initialValue`. `reduce` returns the final value of the accumulator. - -```res example -module IntCmp = Belt.Id.MakeComparable({ - type t = int - let cmp = Pervasives.compare -}) - -let s0 = Belt.MutableSet.fromArray([5, 2, 3, 5, 6], ~id=module(IntCmp)) -s0->Belt.MutableSet.reduce(list{}, (acc, element) => acc->Belt.List.add(element)) /* [6,5,3,2] */ -``` - -## everyU - -```res sig -let everyU: (t<'value, 'id>, (. 'value) => bool) => bool -``` - -## every - -```res sig -let every: (t<'value, 'id>, 'value => bool) => bool -``` - -Checks if all elements of the set satisfy the predicate. Order unspecified. - -```res example -module IntCmp = Belt.Id.MakeComparable({ - type t = int - let cmp = Pervasives.compare -}) - -let isEven = x => mod(x, 2) == 0 - -let s0 = Belt.MutableSet.fromArray([2, 4, 6, 8], ~id=module(IntCmp)) -s0->Belt.MutableSet.every(isEven) /* true */ -``` - -## someU - -```res sig -let someU: (t<'value, 'id>, (. 'value) => bool) => bool -``` - -## some - -```res sig -let some: (t<'value, 'id>, 'value => bool) => bool -``` - -Checks if at least one element of the set satisfies the predicate. - -```res example -module IntCmp = Belt.Id.MakeComparable({ - type t = int - let cmp = Pervasives.compare -}) - -let isOdd = x => mod(x, 2) != 0 - -let s0 = Belt.MutableSet.fromArray([1, 2, 4, 6, 8], ~id=module(IntCmp)) -s0->Belt.MutableSet.some(isOdd) /* true */ -``` - -## keepU - -```res sig -let keepU: (t<'value, 'id>, (. 'value) => bool) => t<'value, 'id> -``` - -## keep - -```res sig -let keep: (t<'value, 'id>, 'value => bool) => t<'value, 'id> -``` - -Returns the set of all elements that satisfy the predicate. - -```res example -module IntCmp = Belt.Id.MakeComparable({ - type t = int - let cmp = Pervasives.compare -}) - -let isEven = x => mod(x, 2) == 0 - -let s0 = Belt.MutableSet.fromArray([1, 2, 3, 4, 5], ~id=module(IntCmp)) -let s1 = s0->Belt.MutableSet.keep(isEven) - -s1->Belt.MutableSet.toArray /* [2, 4] */ -``` - -## partitionU - -```res sig -let partitionU: (t<'value, 'id>, (. 'value) => bool) => (t<'value, 'id>, t<'value, 'id>) -``` - -## partition - -```res sig -let partition: (t<'value, 'id>, 'value => bool) => (t<'value, 'id>, t<'value, 'id>) -``` - -```res example -module IntCmp = Belt.Id.MakeComparable({ - type t = int - let cmp = Pervasives.compare -}) - -let isOdd = x => mod(x, 2) != 0 - -let s0 = Belt.MutableSet.fromArray([1, 2, 3, 4, 5], ~id=module(IntCmp)) -let (s1, s2) = s0->Belt.MutableSet.partition(isOdd) - -s1->Belt.MutableSet.toArray /* [1,3,5] */ -s2->Belt.MutableSet.toArray /* [2,4] */ -``` - -## size - -```res sig -let size: t<'value, 'id> => int -``` - -Returns size of the set. - -```res example -module IntCmp = Belt.Id.MakeComparable({ - type t = int - let cmp = Pervasives.compare -}) - -let s0 = Belt.MutableSet.fromArray([1, 2, 3, 4], ~id=module(IntCmp)) - -s0->Belt.MutableSet.size /* 4 */ -``` - -## toList - -```res sig -let toList: t<'value, 'id> => list<'value> -``` - -Returns list of ordered set elements. - -```res example -module IntCmp = Belt.Id.MakeComparable({ - type t = int - let cmp = Pervasives.compare -}) - -let s0 = Belt.MutableSet.fromArray([3, 2, 1, 5], ~id=module(IntCmp)) - -s0->Belt.MutableSet.toList /* [1,2,3,5] */ -``` - -## toArray - -```res sig -let toArray: t<'value, 'id> => array<'value> -``` - -Returns array of ordered set elements. - -```res example -module IntCmp = Belt.Id.MakeComparable({ - type t = int - let cmp = Pervasives.compare -}) - -let s0 = Belt.MutableSet.fromArray([3, 2, 1, 5], ~id=module(IntCmp)) - -s0->Belt.MutableSet.toArray /* [1,2,3,5] */ -``` - -## minimum - -```res sig -let minimum: t<'value, 'id> => option<'value> -``` - -Returns minimum value of the collection. `None` if collection is empty. - -```res example -module IntCmp = Belt.Id.MakeComparable({ - type t = int - let cmp = Pervasives.compare -}) - -let s0 = Belt.MutableSet.make(~id=module(IntCmp)) -let s1 = Belt.MutableSet.fromArray([3, 2, 1, 5], ~id=module(IntCmp)) - -s0->Belt.MutableSet.minimum /* None */ -s1->Belt.MutableSet.minimum /* Some(1) */ -``` - -## minUndefined - -```res sig -let minUndefined: t<'value, 'id> => Js.undefined<'value> -``` - -Returns minimum value of the collection. `undefined` if collection is empty. - -```res example -module IntCmp = Belt.Id.MakeComparable({ - type t = int - let cmp = Pervasives.compare -}) - -let s0 = Belt.MutableSet.make(~id=module(IntCmp)) -let s1 = Belt.MutableSet.fromArray([3, 2, 1, 5], ~id=module(IntCmp)) - -s0->Belt.MutableSet.minUndefined /* undefined */ -s1->Belt.MutableSet.minUndefined /* 1 */ -``` - -## maximum - -```res sig -let maximum: t<'value, 'id> => option<'value> -``` - -Returns maximum value of the collection. `None` if collection is empty. - -```res example -module IntCmp = Belt.Id.MakeComparable({ - type t = int - let cmp = Pervasives.compare -}) - -let s0 = Belt.MutableSet.make(~id=module(IntCmp)) -let s1 = Belt.MutableSet.fromArray([3, 2, 1, 5], ~id=module(IntCmp)) - -s0->Belt.MutableSet.maximum /* None */ -s1->Belt.MutableSet.maximum /* Some(5) */ -``` - -## maxUndefined - -```res sig -let maxUndefined: t<'value, 'id> => Js.undefined<'value> -``` - -Returns maximum value of the collection. `undefined` if collection is empty. - -```res example -module IntCmp = Belt.Id.MakeComparable({ - type t = int - let cmp = Pervasives.compare -}) - -let s0 = Belt.MutableSet.make(~id=module(IntCmp)) -let s1 = Belt.MutableSet.fromArray([3, 2, 1, 5], ~id=module(IntCmp)) - -s0->Belt.MutableSet.maxUndefined /* undefined */ -s1->Belt.MutableSet.maxUndefined /* 5 */ -``` - -## get - -```res sig -let get: (t<'value, 'id>, 'value) => option<'value> -``` - -Returns the reference of the value which is equivalent to value using the comparator specifiecd by this collection. Returns `None` if element does not exist. - -```res example -module IntCmp = Belt.Id.MakeComparable({ - type t = int - let cmp = Pervasives.compare -}) - -let s0 = Belt.MutableSet.fromArray([1, 2, 3, 4, 5], ~id=module(IntCmp)) - -s0->Belt.MutableSet.get(3) /* Some(3) */ -s0->Belt.MutableSet.get(20) /* None */ -``` - -## getUndefined - -```res sig -let getUndefined: (t<'value, 'id>, 'value) => Js.undefined<'value> -``` - -Same as [get](#get) but returns `undefined` when element does not exist. - -## getExn - -```res sig -let getExn: (t<'value, 'id>, 'value) => 'value -``` - -Same as [get](#get) but raise when element does not exist. - -## split - -```res sig -let split: (t<'value, 'id>, 'value) => ((t<'value, 'id>, t<'value, 'id>), bool) -``` - -Returns a tuple `((smaller, larger), present)`, `present` is true when element exist in set. - -```res example -module IntCmp = Belt.Id.MakeComparable({ - type t = int - let cmp = Pervasives.compare -}) - -let s0 = Belt.MutableSet.fromArray([1, 2, 3, 4, 5], ~id=module(IntCmp)) - -let ((smaller, larger), present) = s0->Belt.MutableSet.split(3) - -present /* true */ -smaller->Belt.MutableSet.toArray /* [1,2] */ -larger->Belt.MutableSet.toArray /* [4,5] */ -``` - -## checkInvariantInternal - -```res sig -let checkInvariantInternal: t<'a, 'b> => unit -``` - -**raise** when invariant is not held diff --git a/pages/docs/manual/latest/api/belt/mutable-stack.mdx b/pages/docs/manual/latest/api/belt/mutable-stack.mdx deleted file mode 100644 index d8c51f494..000000000 --- a/pages/docs/manual/latest/api/belt/mutable-stack.mdx +++ /dev/null @@ -1,105 +0,0 @@ -# MutableStack - - - -First in last out stack. This module implements stacks, with in-place modification. - - - -## t - -```res prelude -type t<'a> -``` - -## make - -```res sig -let make: unit => t<'a> -``` - -Returns a new stack, initially empty. - -## clear - -```res sig -let clear: t<'a> => unit -``` - -Discard all elements from the stack. - -## copy - -```res sig -let copy: t<'a> => t<'a> -``` - -`copy(x)` O(1) operation, return a new stack. - -## push - -```res sig -let push: (t<'a>, 'a) => unit -``` - -## popUndefined - -```res sig -let popUndefined: t<'a> => Js.undefined<'a> -``` - -## pop - -```res sig -let pop: t<'a> => option<'a> -``` - -## topUndefined - -```res sig -let topUndefined: t<'a> => Js.undefined<'a> -``` - -## top - -```res sig -let top: t<'a> => option<'a> -``` - -## isEmpty - -```res sig -let isEmpty: t<'a> => bool -``` - -## size - -```res sig -let size: t<'a> => int -``` - -## forEachU - -```res sig -let forEachU: (t<'a>, (. 'a) => unit) => unit -``` - -## forEach - -```res sig -let forEach: (t<'a>, 'a => unit) => unit -``` - -## dynamicPopIterU - -```res sig -let dynamicPopIterU: (t<'a>, (. 'a) => unit) => unit -``` - -## dynamicPopIter - -```res sig -let dynamicPopIter: (t<'a>, 'a => unit) => unit -``` - -`dynamicPopIter(s, f)` apply `f` to each element of `s`. The item is poped before applying `f`, `s` will be empty after this opeartion. This function is useful for worklist algorithm. diff --git a/pages/docs/manual/latest/api/belt/option.mdx b/pages/docs/manual/latest/api/belt/option.mdx deleted file mode 100644 index 4e80c7b89..000000000 --- a/pages/docs/manual/latest/api/belt/option.mdx +++ /dev/null @@ -1,256 +0,0 @@ -# Option - - - -In Belt we represent the existence and nonexistence of a value by wrapping it -with the `option` type. In order to make it a bit more convenient to work with -option-types, Belt provides utility-functions for it. - -The `option` type is a part of the Reason / OCaml standard library which is defined like this: - - - -```res sig -type option<'a> = None | Some('a) -``` - -```res example -let someString: option = Some("hello") -``` - -## getExn - -```res sig -let getExn: option<'a> => 'a -``` - -Raises an Error in case `None` is provided. Use with care. - -```res example -Belt.Option.getExn(Some(3)) /* 3 */ - -Belt.Option.getExn(None) /* Raises an Error */ -``` - -## mapWithDefault - -```res sig -let mapWithDefault: (option<'a>, 'b, 'a => 'b) => 'b -``` - -If `optionValue` is of `Some(value)`, -this function returns that value applied with `f`, in other words `f(value)`. - -If `optionValue` is `None`, the default is returned. - -```res example -let someValue = Some(3) -someValue->Belt.Option.mapWithDefault(0, x => x + 5) /* 8 */ - -let noneValue = None -noneValue->Belt.Option.mapWithDefault(0, x => x + 5) /* 0 */ -``` - -## mapWithDefaultU - -```res sig -let mapWithDefaultU: (option<'a>, 'b, (. 'a) => 'b) => 'b -``` - -Uncurried version of [mapWithDefault](#mapWithDefault). - -## map - -```res sig -let map: (option<'a>, 'a => 'b) => option<'b> -``` - -If `optionValue` is `Some(value)` this returns `f(value)`, otherwise it returns `None`. - -```res example -Belt.Option.map(Some(3), x => x * x) /* Some(9) */ - -Belt.Option.map(None, x => x * x) /* None */ -``` - -## mapU - -```res sig -let mapU: (option<'a>, (. 'a) => 'b) => option<'b> -``` - -Uncurried version of [map](#map). - -## flatMap - -```res sig -let flatMap: (option<'a>, 'a => option<'b>) => option<'b> -``` - -If `optionValue` is `Some(value)`, returns `f(value)`, otherwise returns -`None`.
-The function `f` must have a return type of `option<'b>`. - -```res example -let addIfAboveOne = value => - if (value > 1) { - Some(value + 1) - } else { - None - } - -Belt.Option.flatMap(Some(2), addIfAboveOne) /* Some(3) */ - -Belt.Option.flatMap(Some(-4), addIfAboveOne) /* None */ - -Belt.Option.flatMap(None, addIfAboveOne) /* None */ -``` - -## flatMapU - -```res sig -let flatMapU: (option<'a>, (. 'a) => option<'b>) => option<'b> -``` - -Uncurried version of flatMap. - -## getWithDefault - -```res sig -let getWithDefault: (option<'a>, 'a) => 'a -``` - -If `optionalValue` is `Some(value)`, returns `value`, otherwise default. - -```res example -Belt.Option.getWithDefault(None, "Banana") /* Banana */ - -Belt.Option.getWithDefault(Some("Apple"), "Banana") /* Apple */ -``` - -```res example -let greet = (firstName: option) => - "Greetings " ++ firstName->Belt.Option.getWithDefault("Anonymous") - -Some("Jane")->greet /* "Greetings Jane" */ - -None->greet /* "Greetings Anonymous" */ -``` - -```res example -Belt.Option.getWithDefault(Some(1812), 1066) /* 1812 */ - -Belt.Option.getWithDefault(None, 1066) /* 1066 */ -``` - -## isSome - -```res sig -let isSome: option<'a> => bool -``` - -Returns `true` if the argument is `Some(value)`, `false` otherwise. - -```res example -Belt.Option.isSome(None) /* false */ - -Belt.Option.isSome(Some(1)) /* true */ -``` - -## isNone - -```res sig -let isNone: option<'a> => bool -``` - -Returns `true` if the argument is `None`, `false` otherwise. - -```res example -Belt.Option.isNone(None) /* true */ - -Belt.Option.isNone(Some(1)) /* false */ -``` - -## eq - -```res sig -let eq: (option<'a>, option<'b>, ('a, 'b) => bool) => bool -``` - -Evaluates two optional values for equality with respect to a predicate -function. If both `optValue1` and `optValue2` are `None`, returns `true`. -If one of the arguments is `Some(value)` and the other is `None`, returns -`false`. - -If arguments are `Some(value1)` and `Some(value2)`, returns the result of -`predicate(value1, value2)`; the predicate function must return a bool. - -```res example -let clockEqual = (a, b) => mod(a, 12) == mod(b, 12) - -open Belt.Option - -eq(Some(3), Some(15), clockEqual) /* true */ - -eq(Some(3), None, clockEqual) /* false */ - -eq(None, Some(3), clockEqual) /* false */ - -eq(None, None, clockEqual) /* true */ -``` - -## eqU - -```res sig -let eqU: (option<'a>, option<'b>, (.'a, 'b) => bool) => bool -``` - -Uncurried version of [eq](#eq). - -## cmp - -```res sig -let cmp: (option<'a>, option<'b>, ('a, 'b) => int) => int -``` - -`cmp(optValue1, optValue2, comparisonFunction)` compares two optional values -with respect to given `comparisonFunction`. - -If both `optValue1` and `optValue2` are `None`, it returns `0`. - -If the first argument is `Some(value1)` and the second is `None`, returns `1` -(something is greater than nothing). - -If the first argument is `None` and the second is `Some(value2)`, returns `-1` -(nothing is less than something). - -If the arguments are `Some(value1)` and `Some(value2)`, returns the result of -`comparisonFunction(value1, value2)`; comparisonFunction takes two arguments -and returns `-1` if the first argument is less than the second, `0` if the -arguments are equal, and `1` if the first argument is greater than the second. - -```res example -let clockCompare = (a, b) => compare(mod(a, 12), mod(b, 12)) - -open Belt.Option - -cmp(Some(3), Some(15), clockCompare) /* 0 */ - -cmp(Some(3), Some(14), clockCompare) /* 1 */ - -cmp(Some(2), Some(15), clockCompare) /* (-1) */ - -cmp(None, Some(15), clockCompare) /* (-1) */ - -cmp(Some(14), None, clockCompare) /* 1 */ - -cmp(None, None, clockCompare) /* 0 */ -``` - -## cmpU - -```res sig -let cmpU: (option<'a>, option<'b>, ((.'a, 'b) => int)) => int -``` - -Uncurried version of [cmp](#cmp). diff --git a/pages/docs/manual/latest/api/belt/range.mdx b/pages/docs/manual/latest/api/belt/range.mdx deleted file mode 100644 index 9223d2dc7..000000000 --- a/pages/docs/manual/latest/api/belt/range.mdx +++ /dev/null @@ -1,130 +0,0 @@ -# Range - - - -A small utility module to provide inclusive range operations for `[start, -finish]`. Internally it is relying on loops instead of creating new arrays, -which makes it pretty performant and memory friendly. - - - -## forEachU - -```res sig -let forEachU: (int, int, (. int) => unit) => unit -``` - -## forEach - -```res sig -let forEach: (int, int, int => unit) => unit -``` - -`forEach(start, finish, action)` - -equivalent to `Belt.Array.(forEach(range(start, finish), action))` - -```res example -Belt.Range.forEach(0, 4, (i) => Js.log(i)) - -/* - * prints: - * 0 - * 1 - * 2 - * 3 - * 4 - */ -``` - -## everyU - -```res sig -let everyU: (int, int, (. int) => bool) => bool -``` - -## every - -```res sig -let every: (int, int, int => bool) => bool -``` - -`every(start, finish, p)` - -equivalent to `Belt.Array.(every(range(start, finish), p))` - -```res example -Belt.Range.every(0, 4, (i) => i < 5) /* true */ - -Belt.Range.every(0, 4, (i) => i < 4) /* false */ -``` - -## everyByU - -```res sig -let everyByU: (int, int, ~step: int, (. int) => bool) => bool -``` - -## everyBy - -```res sig -let everyBy: (int, int, ~step: int, int => bool) => bool -``` - -`everyBy(start, finish, ~step, p)` - -See `Belt_Array.rangeBy` - -equivalent to `Belt.Array.(every(rangeBy(start, finish, ~step), p))` - -```res example -Belt.Range.everyBy(0, 4, ~step=1, (i) => mod(i, 2) === 0) /* false */ - -Belt.Range.everyBy(0, 4, ~step=2, (i) => mod(i, 2) === 0) /* true */ -``` - -## someU - -```res sig -let someU: (int, int, (. int) => bool) => bool -``` - -## some - -```res sig -let some: (int, int, int => bool) => bool -``` - -`some(start, finish, p)` - -equivalent to `Belt.Array.(some(range(start, finish), p))` - -```res example -Belt.Range.some(0, 4, (i) => i > 5) /* false */ - -Belt.Range.some(0, 4, (i) => i > 2) /* true */ -``` - -## someByU - -```res sig -let someByU: (int, int, ~step: int, (. int) => bool) => bool -``` - -## someBy - -```res sig -let someBy: (int, int, ~step: int, int => bool) => bool -``` - -`someBy(start, finish, ~step, p)` - -See `Belt_Array.rangeBy` - -equivalent to `Belt.Array.(some(rangeBy(start, finish, ~step), p))` - -```res example -Belt.Range.someBy(1, 5, ~step=2, (i) => mod(i, 2) === 0) /* false */ - -Belt.Range.someBy(0, 4, ~step=2, (i) => mod(i, 2) === 0) /* true */ -``` diff --git a/pages/docs/manual/latest/api/belt/result.mdx b/pages/docs/manual/latest/api/belt/result.mdx deleted file mode 100644 index a6106ed33..000000000 --- a/pages/docs/manual/latest/api/belt/result.mdx +++ /dev/null @@ -1,242 +0,0 @@ -# Result - - - -Result types are really useful to describe the result of a certain operation -without relying on exceptions or `option` types. - -This module gives you useful utilities to create and combine `Result` data. - - - -## t - -```res prelude -type t<'a, 'b> = - | Ok('a) - | Error('b) -``` - -The type `Result.t` describes a variant of two states: -`Ok(someResult)` represents a successful operation, whereby -``Error(someError)` signals an erronous operation. - -In this concrete example, we are defining our own `Result` type to reflect an HTTP like -query operation: - -```res example -type responseError = NotAvailable | NotFound -type queryResult = t - -let failQueryUser = (username: string): queryResult => { - Error(NotAvailable) -} -``` - -## getExn - -```res sig -let getExn: t<'a, 'b> => 'a -``` - -`getExn(res)`: when `res` is `Ok(n)`, returns `n` when `res` is `Error(m)`, raise an exception - -```res example -Belt.Result.getExn(Belt.Result.Ok(42)) == 42 - -Belt.Result.getExn(Belt.Result.Error("Invalid data")) /* raises exception */ -``` - -## mapWithDefaultU - -```res sig -let mapWithDefaultU: (t<'a, 'c>, 'b, (. 'a) => 'b) => 'b -``` - -## mapWithDefault - -```res sig -let mapWithDefault: (t<'a, 'c>, 'b, 'a => 'b) => 'b -``` - -`mapWithDefault(res, default, f)`: When res is `Ok(n)`, returns `f(n)`, -otherwise `default`. - -```res example -let ok = Belt.Result.Ok(42) -Belt.Result.mapWithDefault(ok, 0, (x) => x / 2) == 21 - -let error = Belt.Result.Error("Invalid data") -Belt.Result.mapWithDefault(error, 0, (x) => x / 2) == 0 -``` - -## mapU - -```res sig -let mapU: (t<'a, 'c>, (. 'a) => 'b) => t<'b, 'c> -``` - -## map - -```res sig -let map: (t<'a, 'c>, 'a => 'b) => t<'b, 'c> -``` - -`map(res, f)`: When res is `Ok(n)`, returns `Ok(f(n))`. Otherwise returns res -unchanged. Function `f` takes a value of the same type as `n` and returns an -ordinary value. - -```res example -let f = (x) => sqrt(Belt.Int.toFloat(x)) - -Belt.Result.map(Ok(64), f) == Ok(8.0) - -Belt.Result.map(Error("Invalid data"), f) == Error("Invalid data") -``` - -## flatMapU - -```res sig -let flatMapU: (t<'a, 'c>, (. 'a) => t<'b, 'c>) => t<'b, 'c> -``` - -## flatMap - -```res sig -let flatMap: (t<'a, 'c>, 'a => t<'b, 'c>) => t<'b, 'c> -``` - -`flatMap(res, f)`: When res is `Ok(n)`, returns `f(n)`. Otherwise, returns res -unchanged. Function `f` takes a value of the same type as `n` and returns a -`Belt.Result`. - -```res example -let recip = (x) => - if (x !== 0.0) { - Belt.Result.Ok(1.0 /. x) - } else { - Belt.Result.Error("Divide by zero") - } - -Belt.Result.flatMap(Ok(2.0), recip) == Ok(0.5) - -Belt.Result.flatMap(Ok(0.0), recip) == Error("Divide by zero") - -Belt.Result.flatMap(Error("Already bad"), recip) == Error("Already bad") -``` - -## getWithDefault - -```res sig -let getWithDefault: (t<'a, 'b>, 'a) => 'a -``` - -`getWithDefault(res, defaultValue)`: If `res` is `Ok(n)`, returns `n`, -otherwise `default` - -```res example -Belt.Result.getWithDefault(Ok(42), 0) == 42 - -Belt.Result.getWithDefault(Error("Invalid Data"), 0) == 0 -``` - -## isOk - -```res sig -let isOk: t<'a, 'b> => bool -``` - -`isOk(res)`: Returns `true` if `res` is of the form `Ok(n)`, `false` if it is -the `Error(e)` variant. - -## isError - -```res sig -let isError: t<'a, 'b> => bool -``` - -`isError(res)`: Returns `true` if `res` is of the form `Error(e)`, `false` if -it is the `Ok(n)` variant. - -## eqU - -```res sig -let eqU: (t<'a, 'c>, t<'b, 'd>, (. 'a, 'b) => bool) => bool -``` - -## eq - -```res sig -let eq: (t<'a, 'c>, t<'b, 'd>, ('a, 'b) => bool) => bool -``` - -`eq(res1, res2, f)`: Determine if two `Belt.Result` variables are equal with -respect to an equality function. If `res1` and `res2` are of the form `Ok(n)` -and `Ok(m)`, return the result of `f(n, m)`. If one of `res1` and `res2` are of -the form `Error(e)`, return false If both `res1` and `res2` are of the form -`Error(e)`, return true - -```res example -let good1 = Belt.Result.Ok(42) - -let good2 = Belt.Result.Ok(32) - -let bad1 = Belt.Result.Error("invalid") - -let bad2 = Belt.Result.Error("really invalid") - -let mod10equal = (a, b) => mod(a, 10) === mod(b, 10) - -Belt.Result.eq(good1, good2, mod10equal) == true - -Belt.Result.eq(good1, bad1, mod10equal) == false - -Belt.Result.eq(bad2, good2, mod10equal) == false - -Belt.Result.eq(bad1, bad2, mod10equal) == true -``` - -## cmpU - -```res sig -let cmpU: (t<'a, 'c>, t<'b, 'd>, (. 'a, 'b) => int) => int -``` - -## cmp - -```res sig -let cmp: (t<'a, 'c>, t<'b, 'd>, ('a, 'b) => int) => int -``` - -`cmp(res1, res2, f)`: Compare two `Belt.Result` variables with respect to a -comparison function. The comparison function returns -1 if the first variable -is "less than" the second, 0 if the two variables are equal, and 1 if the first -is "greater than" the second. - -If `res1` and `res2` are of the form `Ok(n)` and `Ok(m)`, return the result of -`f(n, m)`. If `res1` is of the form `Error(e)` and `res2` of the form `Ok(n)`, -return -1 (nothing is less than something) If `res1` is of the form `Ok(n)` and -`res2` of the form `Error(e)`, return 1 (something is greater than nothing) If -both `res1` and `res2` are of the form `Error(e)`, return 0 (equal) - -```res example -let good1 = Belt.Result.Ok(59) - -let good2 = Belt.Result.Ok(37) - -let bad1 = Belt.Result.Error("invalid") - -let bad2 = Belt.Result.Error("really invalid") - -let mod10cmp = (a, b) => Pervasives.compare(mod(a, 10), mod(b, 10)) - -Belt.Result.cmp(Ok(39), Ok(57), mod10cmp) == 1 - -Belt.Result.cmp(Ok(57), Ok(39), mod10cmp) == (-1) - -Belt.Result.cmp(Ok(39), Error("y"), mod10cmp) == 1 - -Belt.Result.cmp(Error("x"), Ok(57), mod10cmp) == (-1) - -Belt.Result.cmp(Error("x"), Error("y"), mod10cmp) == 0 -``` diff --git a/pages/docs/manual/latest/api/belt/set-dict.mdx b/pages/docs/manual/latest/api/belt/set-dict.mdx deleted file mode 100644 index c5b4f893e..000000000 --- a/pages/docs/manual/latest/api/belt/set-dict.mdx +++ /dev/null @@ -1,680 +0,0 @@ -# SetDict - - - -This module separates identity from data. It is a bit more verbose but slightly more efficient due to the fact that there is no need to pack identity and data back after each operation. - - - -## t - -```res prelude -type t<'value, 'identity> -``` - -`'value` is the element type - -`'identity` the identity of the collection - -## cmp - -```res prelude -type cmp<'value, 'id> = Belt.Id.cmp<'value, 'id> -``` - -Type of compare function. - -## empty - -```res sig -let empty: t<'value, 'id> -``` - -```res example -let s0 = Belt.Set.Dict.empty -``` - -## fromArray - -```res sig -let fromArray: (array<'value>, ~cmp: cmp<'value, 'id>) => t<'value, 'id> -``` - -Creates new set from array of elements. - -```res example -module IntCmp = Belt.Id.MakeComparable({ - type t = int - let cmp = Pervasives.compare -}) - -let s0 = Belt.Set.Dict.fromArray([1, 3, 2, 4], ~cmp=IntCmp.cmp) - -s0->Belt.Set.Dict.toArray /* [1, 2, 3, 4] */ -``` - -## fromSortedArrayUnsafe - -```res sig -let fromSortedArrayUnsafe: array<'value> => t<'value, 'id> -``` - -The same as [fromArray][#fromarray] except it is after assuming the input array is already sorted. - -## isEmpty - -```res sig -let isEmpty: t<'a, 'b> => bool -``` - -Checks if set is empty. - -```res example -module IntCmp = Belt.Id.MakeComparable({ - type t = int - let cmp = Pervasives.compare -}) - -let empty = Belt.Set.Dict.fromArray([], ~cmp=IntCmp.cmp) -let notEmpty = Belt.Set.Dict.fromArray([1], ~cmp=IntCmp.cmp) - -Belt.Set.Dict.isEmpty(empty) /* true */ -Belt.Set.Dict.isEmpty(notEmpty) /* false */ -``` - -## has - -```res sig -let has: (t<'value, 'id>, 'value, ~cmp: cmp<'value, 'id>) => bool -``` - -Checks if an element exists in the set. - -```res example -module IntCmp = Belt.Id.MakeComparable({ - type t = int - let cmp = Pervasives.compare -}) - -let set = Belt.Set.Dict.fromArray([1, 4, 2, 5], ~cmp=IntCmp.cmp) - -set->Belt.Set.Dict.has(3, ~cmp=IntCmp.cmp) /* false */ -set->Belt.Set.Dict.has(1, ~cmp=IntCmp.cmp) /* true */ -``` - -## add - -```res sig -let add: (t<'value, 'id>, 'value, ~cmp: cmp<'value, 'id>) => t<'value, 'id> -``` - -Adds element to set. If element existed in set, value is unchanged. - -```res example -module IntCmp = Belt.Id.MakeComparable({ - type t = int - let cmp = Pervasives.compare -}) - -let s0 = Belt.Set.Dict.empty -let s1 = s0->Belt.Set.Dict.add(1, ~cmp=IntCmp.cmp) -let s2 = s1->Belt.Set.Dict.add(2, ~cmp=IntCmp.cmp) -let s3 = s2->Belt.Set.Dict.add(2, ~cmp=IntCmp.cmp) -s0->Belt.Set.Dict.toArray /* [] */ -s1->Belt.Set.Dict.toArray /* [1] */ -s2->Belt.Set.Dict.toArray /* [1, 2] */ -s3->Belt.Set.Dict.toArray /* [1,2 ] */ -s2 == s3 /* true */ -``` - -## mergeMany - -```res sig -let mergeMany: (t<'value, 'id>, array<'value>, ~cmp: cmp<'value, 'id>) => t<'value, 'id> -``` - -Adds each element of array to set. Unlike [add](#add), the reference of return value might be changed even if all values in array already exist in set - -```res example -module IntCmp = Belt.Id.MakeComparable({ - type t = int - let cmp = Pervasives.compare -}) - -let set = Belt.Set.Dict.empty - -let newSet = set->Belt.Set.Dict.mergeMany([5, 4, 3, 2, 1], ~cmp=IntCmp.cmp) -newSet->Belt.Set.Dict.toArray /* [1, 2, 3, 4, 5] */ -``` - -## remove - -```res sig -let remove: (t<'value, 'id>, 'value, ~cmp: cmp<'value, 'id>) => t<'value, 'id> -``` - -Removes element from set. If element wasn't existed in set, value is unchanged. - -```res example -module IntCmp = Belt.Id.MakeComparable({ - type t = int - let cmp = Pervasives.compare -}) - -let s0 = Belt.Set.Dict.fromArray([2, 3, 1, 4, 5], ~cmp=IntCmp.cmp) -let s1 = s0->Belt.Set.Dict.remove(1, ~cmp=IntCmp.cmp) -let s2 = s1->Belt.Set.Dict.remove(3, ~cmp=IntCmp.cmp) -let s3 = s2->Belt.Set.Dict.remove(3, ~cmp=IntCmp.cmp) - -s1->Belt.Set.Dict.toArray /* [2,3,4,5] */ -s2->Belt.Set.Dict.toArray /* [2,4,5] */ -s2 == s3 /* true */ -``` - -## removeMany - -```res sig -let removeMany: (t<'value, 'id>, array<'value>, ~cmp: cmp<'value, 'id>) => t<'value, 'id> -``` - -Removes each element of array from set. Unlike [remove](#remove), the reference of return value might be changed even if any values in array not existed in set. - -```res example -module IntCmp = Belt.Id.MakeComparable({ - type t = int - let cmp = Pervasives.compare -}) - -let set = Belt.Set.Dict.fromArray([1, 2, 3, 4], ~cmp=IntCmp.cmp) - -let newSet = set->Belt.Set.Dict.removeMany([5, 4, 3, 2, 1], ~cmp=IntCmp.cmp) -newSet->Belt.Set.Dict.toArray /* [] */ -``` - -## union - -```res sig -let union: (t<'value, 'id>, t<'value, 'id>, ~cmp: cmp<'value, 'id>) => t<'value, 'id> -``` - -Returns union of two sets. - -```res example -module IntCmp = Belt.Id.MakeComparable({ - type t = int - let cmp = Pervasives.compare -}) - -let s0 = Belt.Set.Dict.fromArray([5, 2, 3, 5, 6], ~cmp=IntCmp.cmp) -let s1 = Belt.Set.Dict.fromArray([5, 2, 3, 1, 5, 4], ~cmp=IntCmp.cmp) -let union = Belt.Set.Dict.union(s0, s1, ~cmp=IntCmp.cmp) -union->Belt.Set.Dict.toArray /* [1,2,3,4,5,6] */ -``` - -## intersect - -```res sig -let intersect: (t<'value, 'id>, t<'value, 'id>, ~cmp: cmp<'value, 'id>) => t<'value, 'id> -``` - -Returns intersection of two sets. - -```res example -module IntCmp = Belt.Id.MakeComparable({ - type t = int - let cmp = Pervasives.compare -}) - -let s0 = Belt.Set.Dict.fromArray([5, 2, 3, 5, 6], ~cmp=IntCmp.cmp) -let s1 = Belt.Set.Dict.fromArray([5, 2, 3, 1, 5, 4], ~cmp=IntCmp.cmp) -let intersect = Belt.Set.Dict.intersect(s0, s1, ~cmp=IntCmp.cmp) -intersect->Belt.Set.Dict.toArray /* [2,3,5] */ -``` - -## diff - -```res sig -let diff: (t<'value, 'id>, t<'value, 'id>, ~cmp: cmp<'value, 'id>) => t<'value, 'id> -``` - -Returns elements from first set, not existing in second set. - -```res example -module IntCmp = Belt.Id.MakeComparable({ - type t = int - let cmp = Pervasives.compare -}) - -let s0 = Belt.Set.Dict.fromArray([5, 2, 3, 5, 6], ~cmp=IntCmp.cmp) -let s1 = Belt.Set.Dict.fromArray([5, 2, 3, 1, 5, 4], ~cmp=IntCmp.cmp) - -let diff1 = Belt.Set.Dict.diff(s0, s1, ~cmp=IntCmp.cmp) -let diff2 = Belt.Set.Dict.diff(s1, s0, ~cmp=IntCmp.cmp) - -diff1->Belt.Set.Dict.toArray /* [6] */ -diff2->Belt.Set.Dict.toArray /* [1,4] */ -``` - -## subset - -```res sig -let subset: (t<'value, 'id>, t<'value, 'id>, ~cmp: cmp<'value, 'id>) => bool -``` - -Checks if second set is subset of first set. - -```res example -module IntCmp = Belt.Id.MakeComparable({ - type t = int - let cmp = Pervasives.compare -}) - -let s0 = Belt.Set.Dict.fromArray([5, 2, 3, 5, 6], ~cmp=IntCmp.cmp) -let s1 = Belt.Set.Dict.fromArray([5, 2, 3, 1, 5, 4], ~cmp=IntCmp.cmp) -let s2 = Belt.Set.Dict.intersect(s0, s1, ~cmp=IntCmp.cmp) -Belt.Set.Dict.subset(s2, s0, ~cmp=IntCmp.cmp) /* true */ -Belt.Set.Dict.subset(s2, s1, ~cmp=IntCmp.cmp) /* true */ -Belt.Set.Dict.subset(s1, s0, ~cmp=IntCmp.cmp) /* false */ -``` - -## cmp - -```res sig -let cmp: (t<'value, 'id>, t<'value, 'id>, ~cmp: cmp<'value, 'id>) => int -``` - -Total ordering between sets. Can be used as the ordering function for doing sets of sets. It compares size first and then iterates over each element following the order of elements. - -## eq - -```res sig -let eq: (t<'value, 'id>, t<'value, 'id>, ~cmp: cmp<'value, 'id>) => bool -``` - -Checks if two sets are equal. - -```res example -module IntCmp = Belt.Id.MakeComparable({ - type t = int - let cmp = Pervasives.compare -}) - -let s0 = Belt.Set.Dict.fromArray([5, 2, 3], ~cmp=IntCmp.cmp) -let s1 = Belt.Set.Dict.fromArray([3, 2, 5], ~cmp=IntCmp.cmp) - -Belt.Set.Dict.eq(s0, s1, ~cmp=IntCmp.cmp) /* true */ -``` - -## forEachU - -```res sig -let forEachU: (t<'value, 'id>, (. 'value) => unit) => unit -``` - -Same as [forEach](##forEach) but takes uncurried functon. - -## forEach - -```res sig -let forEach: (t<'value, 'id>, 'value => unit) => unit -``` - -Applies function `f` in turn to all elements of set in increasing order. - -```res example -module IntCmp = Belt.Id.MakeComparable({ - type t = int - let cmp = Pervasives.compare -}) - -let s0 = Belt.Set.Dict.fromArray([5, 2, 3, 5, 6], ~cmp=IntCmp.cmp) -let acc = ref(list{}) -s0->Belt.Set.Dict.forEach(x => acc := Belt.List.add(acc.contents, x)) -acc /* [6,5,3,2] */ -``` - -## reduceU - -```res sig -let reduceU: (t<'value, 'id>, 'a, (. 'a, 'value) => 'a) => 'a -``` - -## reduce - -```res sig -let reduce: (t<'value, 'id>, 'a, ('a, 'value) => 'a) => 'a -``` - -Applies function `f` to each element of set in increasing order. Function `f` has two parameters: the item from the set and an “accumulator”, which starts with a value of `initialValue`. `reduce` returns the final value of the accumulator. - -```res example -module IntCmp = Belt.Id.MakeComparable({ - type t = int - let cmp = Pervasives.compare -}) - -let s0 = Belt.Set.Dict.fromArray([5, 2, 3, 5, 6], ~cmp=IntCmp.cmp) -s0->Belt.Set.Dict.reduce(list{}, (acc, element) => acc->Belt.List.add(element)) /* [6,5,3,2] */ -``` - -## everyU - -```res sig -let everyU: (t<'value, 'id>, (. 'value) => bool) => bool -``` - -## every - -```res sig -let every: (t<'value, 'id>, 'value => bool) => bool -``` - -Checks if all elements of the set satisfy the predicate. Order unspecified. - -```res example -module IntCmp = Belt.Id.MakeComparable({ - type t = int - let cmp = Pervasives.compare -}) - -let isEven = x => mod(x, 2) == 0 - -let s0 = Belt.Set.Dict.fromArray([2, 4, 6, 8], ~cmp=IntCmp.cmp) -s0->Belt.Set.Dict.every(isEven) /* true */ -``` - -## someU - -```res sig -let someU: (t<'value, 'id>, (. 'value) => bool) => bool -``` - -## some - -```res sig -let some: (t<'value, 'id>, 'value => bool) => bool -``` - -Checks if at least one element of the set satisfies the predicate. - -```res example -module IntCmp = Belt.Id.MakeComparable({ - type t = int - let cmp = Pervasives.compare -}) - -let isOdd = x => mod(x, 2) != 0 - -let s0 = Belt.Set.Dict.fromArray([1, 2, 4, 6, 8], ~cmp=IntCmp.cmp) -s0->Belt.Set.Dict.some(isOdd) /* true */ -``` - -## keepU - -```res sig -let keepU: (t<'value, 'id>, (. 'value) => bool) => t<'value, 'id> -``` - -## keep - -```res sig -let keep: (t<'value, 'id>, 'value => bool) => t<'value, 'id> -``` - -Returns the set of all elements that satisfy the predicate. - -```res example -module IntCmp = Belt.Id.MakeComparable({ - type t = int - let cmp = Pervasives.compare -}) - -let isEven = x => mod(x, 2) == 0 - -let s0 = Belt.Set.Dict.fromArray([1, 2, 3, 4, 5], ~cmp=IntCmp.cmp) -let s1 = s0->Belt.Set.Dict.keep(isEven) - -s1->Belt.Set.Dict.toArray /* [2,4] */ -``` - -## partitionU - -```res sig -let partitionU: (t<'value, 'id>, (. 'value) => bool) => (t<'value, 'id>, t<'value, 'id>) -``` - -## partition - -```res sig -let partition: (t<'value, 'id>, 'value => bool) => (t<'value, 'id>, t<'value, 'id>) -``` - -Returns a pair of sets, where first is the set of all the elements of set that satisfy the predicate, and second is the set of all the elements of set that do not satisfy the predicate. - -```res example -module IntCmp = Belt.Id.MakeComparable({ - type t = int - let cmp = Pervasives.compare -}) - -let isOdd = x => mod(x, 2) != 0 - -let s0 = Belt.Set.Dict.fromArray([1, 2, 3, 4, 5], ~cmp=IntCmp.cmp) -let (s1, s2) = s0->Belt.Set.Dict.partition(isOdd) - -s1->Belt.Set.Dict.toArray /* [1,3,5] */ -s2->Belt.Set.Dict.toArray /* [2,4] */ -``` - -## size - -```res sig -let size: t<'value, 'id> => int -``` - -Returns size of the set. - -```res example -module IntCmp = Belt.Id.MakeComparable({ - type t = int - let cmp = Pervasives.compare -}) - -let s0 = Belt.Set.Dict.fromArray([1, 2, 3, 4], ~cmp=IntCmp.cmp) - -s0->Belt.Set.Dict.size /* 4 */ -``` - -## toList - -```res sig -let toList: t<'value, 'id> => list<'value> -``` - -Returns list of ordered set elements. - -```res example -module IntCmp = Belt.Id.MakeComparable({ - type t = int - let cmp = Pervasives.compare -}) - -let s0 = Belt.Set.Dict.fromArray([3, 2, 1, 5], ~cmp=IntCmp.cmp) - -s0->Belt.Set.Dict.toList /* [1,2,3,5] */ -``` - -## toArray - -```res sig -let toArray: t<'value, 'id> => array<'value> -``` - -Returns array of ordered set elements. - -```res example -module IntCmp = Belt.Id.MakeComparable({ - type t = int - let cmp = Pervasives.compare -}) - -let s0 = Belt.Set.Dict.fromArray([3, 2, 1, 5], ~cmp=IntCmp.cmp) - -s0->Belt.Set.Dict.toArray /* [1,2,3,5] */ -``` - -## minimum - -```res sig -let minimum: t<'value, 'id> => option<'value> -``` - -Returns minimum value of the collection. `None` if collection is empty. - -```res example -module IntCmp = Belt.Id.MakeComparable({ - type t = int - let cmp = Pervasives.compare -}) - -let s0 = Belt.Set.Dict.empty -let s1 = Belt.Set.Dict.fromArray([3, 2, 1, 5], ~cmp=IntCmp.cmp) - -s0->Belt.Set.Dict.minimum /* None */ -s1->Belt.Set.Dict.minimum /* Some(1) */ -``` - -## minUndefined - -```res sig -let minUndefined: t<'value, 'id> => Js.undefined<'value> -``` - -Returns minimum value of the collection. `undefined` if collection is empty. - -```res example -module IntCmp = Belt.Id.MakeComparable({ - type t = int - let cmp = Pervasives.compare -}) - -let s0 = Belt.Set.Dict.empty -let s1 = Belt.Set.Dict.fromArray([3, 2, 1, 5], ~cmp=IntCmp.cmp) - -s0->Belt.Set.Dict.minUndefined /* undefined */ -s1->Belt.Set.Dict.minUndefined /* 1 */ -``` - -## maximum - -```res sig -let maximum: t<'value, 'id> => option<'value> -``` - -Returns maximum value of the collection. `None` if collection is empty. - -```res example -module IntCmp = Belt.Id.MakeComparable({ - type t = int - let cmp = Pervasives.compare -}) - -let s0 = Belt.Set.Dict.empty -let s1 = Belt.Set.Dict.fromArray([3, 2, 1, 5], ~cmp=IntCmp.cmp) - -s0->Belt.Set.Dict.maximum /* None */ -s1->Belt.Set.Dict.maximum /* Some(5) */ -``` - -## maxUndefined - -```res sig -let maxUndefined: t<'value, 'id> => Js.undefined<'value> -``` - -Returns maximum value of the collection. `undefined` if collection is empty. - -```res example -module IntCmp = Belt.Id.MakeComparable({ - type t = int - let cmp = Pervasives.compare -}) - -let s0 = Belt.Set.Dict.empty -let s1 = Belt.Set.Dict.fromArray([3, 2, 1, 5], ~cmp=IntCmp.cmp) - -s0->Belt.Set.Dict.maxUndefined /* undefined */ -s1->Belt.Set.Dict.maxUndefined /* 5 */ -``` - -## get - -```res sig -let get: (t<'value, 'id>, 'value, ~cmp: cmp<'value, 'id>) => option<'value> -``` - -Returns the reference of the value which is equivalent to value using the comparator specifiecd by this collection. Returns `None` if element does not exist. - -```res example -module IntCmp = Belt.Id.MakeComparable({ - type t = int - let cmp = Pervasives.compare -}) - -let s0 = Belt.Set.Dict.fromArray([1, 2, 3, 4, 5], ~cmp=IntCmp.cmp) - -s0->Belt.Set.Dict.get(3, ~cmp=IntCmp.cmp) /* Some(3) */ -s0->Belt.Set.Dict.get(20, ~cmp=IntCmp.cmp) /* None */ -``` - -## getUndefined - -```res sig -let getUndefined: (t<'value, 'id>, 'value, ~cmp: cmp<'value, 'id>) => Js.undefined<'value> -``` - -Same as [get](#get) but returns `undefined` when element does not exist. - -## getExn - -```res sig -let getExn: (t<'value, 'id>, 'value, ~cmp: cmp<'value, 'id>) => 'value -``` - -Same as [get](#get) but raise when element does not exist. - -## split - -```res sig -let split: ( - t<'value, 'id>, - 'value, - ~cmp: cmp<'value, 'id>, -) => ((t<'value, 'id>, t<'value, 'id>), bool) -``` - -Returns a tuple `((smaller, larger), present)`, `present` is true when element exist in set. - -```res example -module IntCmp = Belt.Id.MakeComparable({ - type t = int - let cmp = Pervasives.compare -}) - -let s0 = Belt.Set.Dict.fromArray([1, 2, 3, 4, 5], ~cmp=IntCmp.cmp) - -let ((smaller, larger), present) = s0->Belt.Set.Dict.split(3, ~cmp=IntCmp.cmp) - -present /* true */ -smaller->Belt.Set.Dict.toArray /* [1,2] */ -larger->Belt.Set.Dict.toArray /* [4,5] */ -``` - -## checkInvariantInternal - -```res sig -let checkInvariantInternal: t<'a, 'b> => unit -``` - -**raise** when invariant is not held - diff --git a/pages/docs/manual/latest/api/belt/set-int.mdx b/pages/docs/manual/latest/api/belt/set-int.mdx deleted file mode 100644 index 24e865e32..000000000 --- a/pages/docs/manual/latest/api/belt/set-int.mdx +++ /dev/null @@ -1,537 +0,0 @@ -# SetInt - - - -Specialized when value type is `int`, more efficient than the generic type, its compare behavior is fixed using the built-in comparison. - - - -## value - -```res prelude -type value = int -``` - -The type of the set elements. - -## t - -```res prelude -type t -``` - -Type of the sets. - -## empty - -```res sig -let empty: t -``` - -Empty set - -```res example -let s0 = Belt.Set.Int.empty -``` - -## fromArray - -```res sig -let fromArray: array => t -``` - -Creates new set from array of elements. - -```res example -let s0 = Belt.Set.Int.fromArray([1, 3, 2, 4]) - -s0->Belt.Set.Int.toArray /* [1, 2, 3, 4] */ -``` - -## fromSortedArrayUnsafe - -```res sig -let fromSortedArrayUnsafe: array => t -``` - -The same as [fromArray][#fromarray] except it is after assuming the input array is already sorted. - -## isEmpty - -```res sig -let isEmpty: t => bool -``` - -Checks if set is empty. - -```res example -let empty = Belt.Set.Int.fromArray([]) -let notEmpty = Belt.Set.Int.fromArray([1]) - -Belt.Set.Int.isEmpty(empty) /* true */ -Belt.Set.Int.isEmpty(notEmpty) /* false */ -``` - -## has - -```res sig -let has: (t, value) => bool -``` - -Checks if element exists in set. - -```res example -let set = Belt.Set.Int.fromArray([1, 4, 2, 5]) - -set->Belt.Set.Int.has(3) /* false */ -set->Belt.Set.Int.has(1) /* true */ -``` - -## add - -```res sig -let add: (t, value) => t -``` - -Adds element to set. If element existed in set, value is unchanged. - -```res example -let s0 = Belt.Set.Int.empty -let s1 = s0->Belt.Set.Int.add(1) -let s2 = s1->Belt.Set.Int.add(2) -let s3 = s2->Belt.Set.Int.add(2) -s0->Belt.Set.Int.toArray /* [] */ -s1->Belt.Set.Int.toArray /* [1] */ -s2->Belt.Set.Int.toArray /* [1, 2] */ -s3->Belt.Set.Int.toArray /* [1,2 ] */ -s2 == s3 /* true */ -``` - -## mergeMany - -```res sig -let mergeMany: (t, array) => t -``` - -Adds each element of array to set. Unlike [add](#add), the reference of return value might be changed even if all values in array already exist in set - -```res example -let set = Belt.Set.Int.empty - -let newSet = set->Belt.Set.Int.mergeMany([5, 4, 3, 2, 1]) -newSet->Belt.Set.Int.toArray /* [1, 2, 3, 4, 5] */ -``` - -## remove - -```res sig -let remove: (t, value) => t -``` - -Removes element from set. If element wasn't existed in set, value is unchanged. - -```res example -let s0 = Belt.Set.Int.fromArray([2, 3, 1, 4, 5]) -let s1 = s0->Belt.Set.Int.remove(1) -let s2 = s1->Belt.Set.Int.remove(3) -let s3 = s2->Belt.Set.Int.remove(3) - -s1->Belt.Set.Int.toArray /* [2,3,4,5] */ -s2->Belt.Set.Int.toArray /* [2,4,5] */ -s2 == s3 /* true */ -``` - -## removeMany - -```res sig -let removeMany: (t, array) => t -``` - -Removes each element of array from set. Unlike [remove](#remove), the reference of return value might be changed even if any values in array not existed in set. - -```res example -let set = Belt.Set.Int.fromArray([1, 2, 3, 4]) - -let newSet = set->Belt.Set.Int.removeMany([5, 4, 3, 2, 1]) -newSet->Belt.Set.Int.toArray /* [] */ -``` - -## union - -```res sig -let union: (t, t) => t -``` - -Returns union of two sets. - -```res example -let s0 = Belt.Set.Int.fromArray([5, 2, 3, 5, 6]) -let s1 = Belt.Set.Int.fromArray([5, 2, 3, 1, 5, 4]) -let union = Belt.Set.Int.union(s0, s1) -union->Belt.Set.Int.toArray /* [1,2,3,4,5,6] */ -``` - -## intersect - -```res sig -let intersect: (t, t) => t -``` - -Returns intersection of two sets. - -```res example -let s0 = Belt.Set.Int.fromArray([5, 2, 3, 5, 6]) -let s1 = Belt.Set.Int.fromArray([5, 2, 3, 1, 5, 4]) -let intersect = Belt.Set.Int.intersect(s0, s1) -intersect->Belt.Set.Int.toArray /* [2,3,5] */ -``` - -## diff - -```res sig -let diff: (t, t) => t -``` - -Returns elements from first set, not existing in second set. - -```res example -let s0 = Belt.Set.Int.fromArray([5, 2, 3, 5, 6]) -let s1 = Belt.Set.Int.fromArray([5, 2, 3, 1, 5, 4]) -Belt.Set.Int.toArray(Belt.Set.Int.diff(s0, s1)) /* [6] */ -Belt.Set.Int.toArray(Belt.Set.Int.diff(s1, s0)) /* [1,4] */ -``` - -## subset - -```res sig -let subset: (t, t) => bool -``` - -Checks if second set is subset of first set. - -```res example -let s0 = Belt.Set.Int.fromArray([5, 2, 3, 5, 6]) -let s1 = Belt.Set.Int.fromArray([5, 2, 3, 1, 5, 4]) -let s2 = Belt.Set.Int.intersect(s0, s1) -Belt.Set.Int.subset(s2, s0) /* true */ -Belt.Set.Int.subset(s2, s1) /* true */ -Belt.Set.Int.subset(s1, s0) /* false */ -``` - -## cmp - -```res sig -let cmp: (t, t) => int -``` - -Total ordering between sets. Can be used as the ordering function for doing sets of sets. It compares size first and then iterates over each element following the order of elements. - -## eq - -```res sig -let eq: (t, t) => bool -``` - -Checks if two sets are equal. - -```res example -let s0 = Belt.Set.Int.fromArray([5, 2, 3]) -let s1 = Belt.Set.Int.fromArray([3, 2, 5]) - -Belt.Set.Int.eq(s0, s1) /* true */ -``` - -## forEachU - -```res sig -let forEachU: (t, (. value) => unit) => unit -``` - -Same as [forEach](##forEach) but takes uncurried functon. - -## forEach - -```res sig -let forEach: (t, value => unit) => unit -``` - -Applies function `f` in turn to all elements of set in increasing order. - -```res example -let s0 = Belt.Set.Int.fromArray([5, 2, 3, 5, 6]) -let acc = ref(list{}) -s0->Belt.Set.Int.forEach(x => acc := Belt.List.add(acc.contents, x)) -acc /* [6,5,3,2] */ -``` - -## reduceU - -```res sig -let reduceU: (t, 'a, (. 'a, value) => 'a) => 'a -``` - -## reduce - -```res sig -let reduce: (t, 'a, ('a, value) => 'a) => 'a -``` - -Applies function `f` to each element of set in increasing order. Function `f` has two parameters: the item from the set and an “accumulator”, which starts with a value of `initialValue`. `reduce` returns the final value of the accumulator. - -```res example -let s0 = Belt.Set.Int.fromArray([5, 2, 3, 5, 6]) -s0->Belt.Set.Int.reduce(list{}, (acc, element) => acc->Belt.List.add(element)) /* [6,5,3,2] */ -``` - -## everyU - -```res sig -let everyU: (t, (. value) => bool) => bool -``` - -## every - -```res sig -let every: (t, value => bool) => bool -``` - -Checks if all elements of the set satisfy the predicate. Order unspecified. - -```res example -let isEven = x => mod(x, 2) == 0 - -let s0 = Belt.Set.Int.fromArray([2, 4, 6, 8]) -s0->Belt.Set.Int.every(isEven) /* true */ -``` - -## someU - -```res sig -let someU: (t, (. value) => bool) => bool -``` - -## some - -```res sig -let some: (t, value => bool) => bool -``` - -Checks if at least one element of the set satisfies the predicate. - -```res example -let isOdd = x => mod(x, 2) != 0 - -let s0 = Belt.Set.Int.fromArray([1, 2, 4, 6, 8]) -s0->Belt.Set.Int.some(isOdd) /* true */ -``` - -## keepU - -```res sig -let keepU: (t, (. value) => bool) => t -``` - -## keep - -```res sig -let keep: (t, value => bool) => t -``` - -Returns the set of all elements that satisfy the predicate. - -```res example -let isEven = x => mod(x, 2) == 0 - -let s0 = Belt.Set.Int.fromArray([1, 2, 3, 4, 5]) -let s1 = s0->Belt.Set.Int.keep(isEven) - -s1->Belt.Set.Int.toArray /* [2,4] */ -``` - -## partitionU - -```res sig -let partitionU: (t, (. value) => bool) => (t, t) -``` - -## partition - -```res sig -let partition: (t, value => bool) => (t, t) -``` - -Returns a pair of sets, where first is the set of all the elements of set that satisfy the predicate, and second is the set of all the elements of set that do not satisfy the predicate. - -```res example -let isOdd = x => mod(x, 2) != 0 - -let s0 = Belt.Set.Int.fromArray([1, 2, 3, 4, 5]) -let (s1, s2) = s0->Belt.Set.Int.partition(isOdd) - -s1->Belt.Set.Int.toArray /* [1,3,5] */ -s2->Belt.Set.Int.toArray /* [2,4] */ -``` - -## size - -```res sig -let size: t => int -``` - -Returns size of the set. - -```res example -let s0 = Belt.Set.Int.fromArray([1, 2, 3, 4]) - -s0->Belt.Set.Int.size /* 4 */ -``` - -## toList - -```res sig -let toList: t => list -``` - -Returns list of ordered set elements. - -```res example -let s0 = Belt.Set.Int.fromArray([3, 2, 1, 5]) - -s0->Belt.Set.Int.toList /* [1,2,3,5] */ -``` - -## toArray - -```res sig -let toArray: t => array -``` - -Returns array of ordered set elements. - -```res example -let s0 = Belt.Set.Int.fromArray([3, 2, 1, 5]) - -s0->Belt.Set.Int.toArray /* [1,2,3,5] */ -``` - -## minimum - -```res sig -let minimum: t => option -``` - -Returns minimum value of the collection. `None` if collection is empty. - -```res example -let s0 = Belt.Set.Int.empty -let s1 = Belt.Set.Int.fromArray([3, 2, 1, 5]) - -s0->Belt.Set.Int.minimum /* None */ -s1->Belt.Set.Int.minimum /* Some(1) */ -``` - -## minUndefined - -```res sig -let minUndefined: t => Js.undefined -``` - -Returns minimum value of the collection. `undefined` if collection is empty. - -```res example -let s0 = Belt.Set.Int.empty -let s1 = Belt.Set.Int.fromArray([3, 2, 1, 5]) - -s0->Belt.Set.Int.minUndefined /* undefined */ -s1->Belt.Set.Int.minUndefined /* 1 */ -``` - -## maximum - -```res sig -let maximum: t => option -``` - -Returns maximum value of the collection. `None` if collection is empty. - -```res example -let s0 = Belt.Set.Int.empty -let s1 = Belt.Set.Int.fromArray([3, 2, 1, 5]) - -s0->Belt.Set.Int.maximum /* None */ -s1->Belt.Set.Int.maximum /* Some(5) */ -``` - -## maxUndefined - -```res sig -let maxUndefined: t => Js.undefined -``` - -Returns maximum value of the collection. `undefined` if collection is empty. - -```res example -let s0 = Belt.Set.Int.empty -let s1 = Belt.Set.Int.fromArray([3, 2, 1, 5]) - -s0->Belt.Set.Int.maxUndefined /* undefined */ -s1->Belt.Set.Int.maxUndefined /* 5 */ -``` - -## get - -```res sig -let get: (t, value) => option -``` - -Returns the reference of the value which is equivalent to value using the comparator specifiecd by this collection. Returns `None` if element does not exist. - -```res example -let s0 = Belt.Set.Int.fromArray([1, 2, 3, 4, 5]) - -s0->Belt.Set.Int.get(3) /* Some(3) */ -s0->Belt.Set.Int.get(20) /* None */ -``` - -## getUndefined - -```res sig -let getUndefined: (t, value) => Js.undefined -``` - -Same as [get](#get) but returns `undefined` when element does not exist. - -## getExn - -```res sig -let getExn: (t, value) => value -``` - -Same as [get](#get) but raise when element does not exist. - -## split - -```res sig -let split: (t, value) => ((t, t), bool) -``` - -Returns a tuple `((l, r), present)`, where `l` is the set of elements of set that are strictly less than value, `r` is the set of elements of set that are strictly greater than value, `present` is `false` if set contains no element equal to value, or `true` if set contains an element equal to value. - -```res example -let s0 = Belt.Set.Int.fromArray([1, 2, 3, 4, 5]) - -let ((smaller, larger), present) = s0->Belt.Set.Int.split(3) - -present /* true */ -smaller->Belt.Set.Int.toArray /* [1,2] */ -larger->Belt.Set.Int.toArray /* [4,5] */ -``` - -## checkInvariantInternal - -```res sig -let checkInvariantInternal: t => unit -``` - -**raise** when invariant is not held - diff --git a/pages/docs/manual/latest/api/belt/set-string.mdx b/pages/docs/manual/latest/api/belt/set-string.mdx deleted file mode 100644 index 8fbfff26d..000000000 --- a/pages/docs/manual/latest/api/belt/set-string.mdx +++ /dev/null @@ -1,538 +0,0 @@ -# SetString - - - -Specialized when value type is `string`, more efficient than the generic type, its compare behavior is fixed using the built-in comparison. - - - -## value - -```res prelude -type value = string -``` - -The type of the set elements. - -## t - -```res prelude -type t -``` - -The type of sets. - -## empty - -```res sig -let empty: t -``` - -Empty set - -```res example -let s0 = Belt.Set.String.empty -``` - -## fromArray - -```res sig -let fromArray: array => t -``` - -Creates new set from array of elements. - -```res example -let s0 = Belt.Set.String.fromArray(["apple", "orange", "banana"]) - -s0->Belt.Set.String.toArray /* ["apple", "banana", "orange"] */ -``` - -## fromSortedArrayUnsafe - -```res sig -let fromSortedArrayUnsafe: array => t -``` - -The same as [fromArray][#fromarray] except it is after assuming the input array is already sorted. - -## isEmpty - -```res sig -let isEmpty: t => bool -``` - -Checks if set is empty. - -```res example -let empty = Belt.Set.String.fromArray([]) -let notEmpty = Belt.Set.String.fromArray(["apple"]) - -Belt.Set.String.isEmpty(empty) /* true */ -Belt.Set.String.isEmpty(notEmpty) /* false */ -``` - -## has - -```res sig -let has: (t, value) => bool -``` - -Checks if element exists in set. - -```res example -let set = Belt.Set.String.fromArray(["apple", "orange", "banana"]) - -set->Belt.Set.String.has("strawberry") /* false */ -set->Belt.Set.String.has("apple") /* true */ -``` - -## add - -```res sig -let add: (t, value) => t -``` - -Adds element to set. If element existed in set, value is unchanged. - -```res example -let s0 = Belt.Set.String.empty -let s1 = s0->Belt.Set.String.add("apple") -let s2 = s1->Belt.Set.String.add("banana") -let s3 = s2->Belt.Set.String.add("banana") -s0->Belt.Set.String.toArray /* [] */ -s1->Belt.Set.String.toArray /* ["apple"] */ -s2->Belt.Set.String.toArray /* ["apple", "banana"] */ -s3->Belt.Set.String.toArray /* ["apple", "banana"] */ -s2 == s3 /* true */ -``` - -## mergeMany - -```res sig -let mergeMany: (t, array) => t -``` - -Adds each element of array to set. Unlike [add](#add), the reference of return value might be changed even if all values in array already exist in set - -```res example -let set = Belt.Set.String.empty - -let newSet = set->Belt.Set.String.mergeMany(["apple", "banana", "orange", "strawberry"]) - -newSet->Belt.Set.String.toArray /* ["apple", "banana", "orange", "strawberry"] */ -``` - -## remove - -```res sig -let remove: (t, value) => t -``` - -Removes element from set. If element wasn't existed in set, value is unchanged. - -```res example -let s0 = Belt.Set.String.fromArray(["orange", "banana", "apple"]) -let s1 = s0->Belt.Set.String.remove("apple") -let s2 = s1->Belt.Set.String.remove("banana") -let s3 = s2->Belt.Set.String.remove("banana") - -s1->Belt.Set.String.toArray /* ["orange", "banana"] */ -s2->Belt.Set.String.toArray /* ["orange"] */ -s2 == s3 /* true */ -``` - -## removeMany - -```res sig -let removeMany: (t, array) => t -``` - -Removes each element of array from set. Unlike [remove](#remove), the reference of return value might be changed even if any values in array not existed in set. - -```res example -let set = Belt.Set.String.fromArray(["apple", "banana", "orange"]) - -let newSet = set->Belt.Set.String.removeMany(["strawberry", "apple", "banana", "orange"]) -newSet->Belt.Set.String.toArray /* [] */ -``` - -## union - -```res sig -let union: (t, t) => t -``` - -Returns union of two sets. - -```res example -let s0 = Belt.Set.String.fromArray(["apple", "banana", "orange", "carrot"]) -let s1 = Belt.Set.String.fromArray(["apple", "banana", "orange", "strawberry"]) -let union = Belt.Set.String.union(s0, s1) -union->Belt.Set.String.toArray /* ["apple", "banana", "carrot", "orange", "strawberry"] */ -``` - -## intersect - -```res sig -let intersect: (t, t) => t -``` - -Returns intersection of two sets. - -```res example -let s0 = Belt.Set.String.fromArray(["apple", "banana", "orange", "carrot"]) -let s1 = Belt.Set.String.fromArray(["apple", "banana", "orange", "strawberry"]) -let intersect = Belt.Set.String.intersect(s0, s1) -intersect->Belt.Set.String.toArray /* ["apple", "banana", "orange"] */ -``` - -## diff - -```res sig -let diff: (t, t) => t -``` - -Returns elements from first set, not existing in second set. - -```res example -let s0 = Belt.Set.String.fromArray(["apple", "banana", "orange", "carrot"]) -let s1 = Belt.Set.String.fromArray(["apple", "banana", "orange", "strawberry"]) -Belt.Set.String.toArray(Belt.Set.String.diff(s0, s1)) /* ["carrot"] */ -Belt.Set.String.toArray(Belt.Set.String.diff(s1, s0)) /* ["strawberry"] */ -``` - -## subset - -```res sig -let subset: (t, t) => bool -``` - -Checks if second set is subset of first set. - -```res example -let s0 = Belt.Set.String.fromArray(["5", "2", "3", "5", "6"]) -let s1 = Belt.Set.String.fromArray(["5", "2", "3", "1", "5", "4"]) -let s2 = Belt.Set.String.intersect(s0, s1) -Belt.Set.String.subset(s2, s0) /* true */ -Belt.Set.String.subset(s2, s1) /* true */ -Belt.Set.String.subset(s1, s0) /* false */ -``` - -## cmp - -```res sig -let cmp: (t, t) => int -``` - -Total ordering between sets. Can be used as the ordering function for doing sets of sets. It compares size first and then iterates over each element following the order of elements. - -## eq - -```res sig -let eq: (t, t) => bool -``` - -Checks if two sets are equal. - -```res example -let s0 = Belt.Set.String.fromArray(["apple", "orange"]) -let s1 = Belt.Set.String.fromArray(["orange", "apple"]) - -Belt.Set.String.eq(s0, s1) /* true */ -``` - -## forEachU - -```res sig -let forEachU: (t, (. value) => unit) => unit -``` - -Same as [forEach](##forEach) but takes uncurried functon. - -## forEach - -```res sig -let forEach: (t, value => unit) => unit -``` - -Applies function `f` in turn to all elements of set in increasing order. - -```res example -let s0 = Belt.Set.String.fromArray(["banana", "orange", "apple"]) -let acc = ref(list{}) -s0->Belt.Set.String.forEach(x => acc := Belt.List.add(acc.contents, x)) -acc /* ["orange", "banana", "apple"] */ -``` - -## reduceU - -```res sig -let reduceU: (t, 'a, (. 'a, value) => 'a) => 'a -``` - -## reduce - -```res sig -let reduce: (t, 'a, ('a, value) => 'a) => 'a -``` - -Applies function `f` to each element of set in increasing order. Function `f` has two parameters: the item from the set and an “accumulator”, which starts with a value of `initialValue`. `reduce` returns the final value of the accumulator. - -```res example -let s0 = Belt.Set.String.fromArray(["apple", "orange"]) -s0->Belt.Set.String.reduce(0, (acc, element) => acc + String.length(element)) /* 11 */ -``` - -## everyU - -```res sig -let everyU: (t, (. value) => bool) => bool -``` - -## every - -```res sig -let every: (t, value => bool) => bool -``` - -Checks if all elements of the set satisfy the predicate. Order unspecified. - -```res example -let hasAtLeastFiveChars = x => String.length(x) >= 5 - -let s0 = Belt.Set.String.fromArray(["apple", "carrot"]) -s0->Belt.Set.String.every(hasAtLeastFiveChars) /* true */ -``` - -## someU - -```res sig -let someU: (t, (. value) => bool) => bool -``` - -## some - -```res sig -let some: (t, value => bool) => bool -``` - -Checks if at least one element of the set satisfies the predicate. - -```res example -let hasFiveChars = x => String.length(x) == 5 - -let s0 = Belt.Set.String.fromArray(["strawberry", "apple"]) -s0->Belt.Set.String.some(hasFiveChars) /* true */ -``` - -## keepU - -```res sig -let keepU: (t, (. value) => bool) => t -``` - -## keep - -```res sig -let keep: (t, value => bool) => t -``` - -Returns the set of all elements that satisfy the predicate. - -```res example -let hasFiveChars = x => String.length(x) == 5 - -let s0 = Belt.Set.String.fromArray(["apple", "orange", "banana"]) -let s1 = s0->Belt.Set.String.keep(hasFiveChars) - -s1->Belt.Set.String.toArray /* ["apple"] */ -``` - -## partitionU - -```res sig -let partitionU: (t, (. value) => bool) => (t, t) -``` - -## partition - -```res sig -let partition: (t, value => bool) => (t, t) -``` - -Returns a pair of sets, where first is the set of all the elements of set that satisfy the predicate, and second is the set of all the elements of set that do not satisfy the predicate. - -```res example -let hasFiveChars = x => String.length(x) == 5 - -let s0 = Belt.Set.String.fromArray(["apple", "carrot"]) -let (s1, s2) = s0->Belt.Set.String.partition(hasFiveChars) - -s1->Belt.Set.String.toArray /* ["apple"] */ -s2->Belt.Set.String.toArray /* ["carrot"] */ -``` - -## size - -```res sig -let size: t => int -``` - -Returns size of the set. - -```res example -let s0 = Belt.Set.String.fromArray(["apple"]) - -s0->Belt.Set.String.size /* 1 */ -``` - -## toList - -```res sig -let toList: t => list -``` - -Returns list of ordered set elements. - -```res example -let s0 = Belt.Set.String.fromArray(["apple", "watermelon"]) - -s0->Belt.Set.String.toList /* ["apple", "watermelon"] */ -``` - -## toArray - -```res sig -let toArray: t => array -``` - -Returns array of ordered set elements. - -```res example -let s0 = Belt.Set.String.fromArray(["apple", "watermelon"]) - -s0->Belt.Set.String.toArray /* ["apple", "watermelon"] */ -``` - -## minimum - -```res sig -let minimum: t => option -``` - -Returns minimum value of the collection. `None` if collection is empty. - -```res example -let s0 = Belt.Set.String.empty -let s1 = Belt.Set.String.fromArray(["apple", "orange"]) - -s0->Belt.Set.String.minimum /* None */ -s1->Belt.Set.String.minimum /* Some("apple") */ -``` - -## minUndefined - -```res sig -let minUndefined: t => Js.undefined -``` - -Returns minimum value of the collection. `undefined` if collection is empty. - -```res example -let s0 = Belt.Set.String.empty -let s1 = Belt.Set.String.fromArray(["apple", "orange"]) - -s0->Belt.Set.String.minUndefined /* undefined */ -s1->Belt.Set.String.minUndefined /* "apple" */ -``` - -## maximum - -```res sig -let maximum: t => option -``` - -Returns maximum value of the collection. `None` if collection is empty. - -```res example -let s0 = Belt.Set.String.empty -let s1 = Belt.Set.String.fromArray(["apple", "orange"]) - -s0->Belt.Set.String.maximum /* None */ -s1->Belt.Set.String.maximum /* Some("orange") */ -``` - -## maxUndefined - -```res sig -let maxUndefined: t => Js.undefined -``` - -Returns maximum value of the collection. `undefined` if collection is empty. - -```res example -let s0 = Belt.Set.String.empty -let s1 = Belt.Set.String.fromArray(["apple", "orange"]) - -s0->Belt.Set.String.maxUndefined /* undefined */ -s1->Belt.Set.String.maxUndefined /* orange */ -``` - -## get - -```res sig -let get: (t, value) => option -``` - -Returns the reference of the value which is equivalent to value using the comparator specifiecd by this collection. Returns `None` if element does not exist. - -```res example -let s0 = Belt.Set.String.fromArray(["apple", "carrot"]) - -s0->Belt.Set.String.get("carrot") /* Some("carrot") */ -s0->Belt.Set.String.get("watermelon") /* None */ -``` - -## getUndefined - -```res sig -let getUndefined: (t, value) => Js.undefined -``` - -See [get](#get) - returns `undefined` when element does not exist. - -## getExn - -```res sig -let getExn: (t, value) => value -``` - -See [get](#get) - raise when element does not exist. - -## split - -```res sig -let split: (t, value) => ((t, t), bool) -``` - -Returns a triple `((l, r), present)`, where `l` is the set of elements of set that are strictly less than value, `r` is the set of elements of set that are strictly greater than value, `present` is `false` if set contains no element equal to value, or `true` if set contains an element equal to value. - -```res example -let s0 = Belt.Set.String.fromArray(["apple", "banana", "orange"]) - -let ((smaller, larger), present) = s0->Belt.Set.String.split("banana") - -present /* true */ -smaller->Belt.Set.String.toArray /* ["apple"] */ -larger->Belt.Set.String.toArray /* ["orange"] */ -``` - -## checkInvariantInternal - -```res sig -let checkInvariantInternal: t => unit -``` - -**raise** when invariant is not held - diff --git a/pages/docs/manual/latest/api/belt/set.mdx b/pages/docs/manual/latest/api/belt/set.mdx deleted file mode 100644 index f2b11edc4..000000000 --- a/pages/docs/manual/latest/api/belt/set.mdx +++ /dev/null @@ -1,590 +0,0 @@ -# Set - - - -A **immutable** sorted set module which allows customize compare behavior. -The implementation uses balanced binary trees, and therefore searching and insertion take time logarithmic in the size of the map. - -It also has three specialized inner modules [Belt.Set.Int](set-int), [Belt.Set.String](set-string) and [Belt.Set.Dict](set-dict) - This module separates data from function which is more verbose but slightly more efficient - - - -```res example -module PairComparator = - Belt.Id.MakeComparableU({ - type t = (int, int) - let cmp = ((a0, a1), (b0, b1)) => - switch (Pervasives.compare(a0, b0)) { - | 0 => Pervasives.compare(a1, b1) - | c => c - } - }) - -let mySet = Belt.Set.make(~id=module(PairComparator)) -let mySet2 = Belt.Set.add(mySet, (1, 2)) -``` - -**Note:** This module's examples will assume a predeclared module for integers -called `IntCmp`. It is declared like this: - -```res prelude -module IntCmp = - Belt.Id.MakeComparable({ - type t = int - let cmp = Pervasives.compare - }) -``` - -## t - -```res prelude -type t<'value, 'identity> -``` - -`'value` is the element type - -`'identity` the identity of the collection - -## id - -```res prelude -type id<'value, 'id> = Belt_Id.comparable<'value, 'id> -``` - -The identity needed for making a set from scratch - -## make - -```res sig -let make: (~id: id<'value, 'id>) => t<'value, 'id> -``` - -Creates a new set by taking in the comparator - -```res example -let set = Belt.Set.make(~id=module(IntCmp)) -``` - -## fromArray - -```res sig -let fromArray: (array<'value>, ~id: id<'value, 'id>) => t<'value, 'id> -``` - -Creates new set from array of elements. - -```res example -let s0 = Belt.Set.fromArray([1, 3, 2, 4], ~id=module(IntCmp)) - -s0->Belt.Set.toArray /* [1, 2, 3, 4] */ -``` - -## fromSortedArrayUnsafe - -```res sig -let fromSortedArrayUnsafe: (array<'value>, ~id: id<'value, 'id>) => t<'value, 'id> -``` - -The same as [fromArray][#fromarray] except it is after assuming the input array is already sorted. - -## isEmpty - -```res sig -let isEmpty: t<'a, 'b> => bool -``` - -Checks if set is empty. - -```res example -let empty = Belt.Set.fromArray([], ~id=module(IntCmp)) -let notEmpty = Belt.Set.fromArray([1],~id=module(IntCmp)) - -Belt.Set.isEmpty(empty) /* true */ -Belt.Set.isEmpty(notEmpty) /* false */ -``` - -## has - -```res sig -let has: (t<'value, 'id>, 'value) => bool -``` - -Checks if element exists in set. - -```res example -let set = Belt.Set.fromArray([1, 4, 2, 5], ~id=module(IntCmp)) - -set->Belt.Set.has(3) /* false */ -set->Belt.Set.has(1) /* true */ -``` - -## add - -```res sig -let add: (t<'value, 'id>, 'value) => t<'value, 'id> -``` - -Adds element to set. If element existed in set, value is unchanged. - -```res example -let s0 = Belt.Set.make(~id=module(IntCmp)) -let s1 = s0->Belt.Set.add(1) -let s2 = s1->Belt.Set.add(2) -let s3 = s2->Belt.Set.add(2) -s0->Belt.Set.toArray /* [] */ -s1->Belt.Set.toArray /* [1] */ -s2->Belt.Set.toArray /* [1, 2] */ -s3->Belt.Set.toArray /* [1,2 ] */ -s2 == s3 /* true */ -``` - -## mergeMany - -```res sig -let mergeMany: (t<'value, 'id>, array<'value>) => t<'value, 'id> -``` - -Adds each element of array to set. Unlike [add](#add), the reference of return value might be changed even if all values in array already exist in set - -```res example -let set = Belt.Set.make(~id=module(IntCmp)) - -let newSet = set->Belt.Set.mergeMany([5, 4, 3, 2, 1]) -newSet->Belt.Set.toArray /* [1, 2, 3, 4, 5] */ -``` - -## remove - -```res sig -let remove: (t<'value, 'id>, 'value) => t<'value, 'id> -``` - -Removes element from set. If element wasn't existed in set, value is unchanged. - -```res example -let s0 = Belt.Set.fromArray([2,3,1,4,5], ~id=module(IntCmp)) -let s1 = s0->Belt.Set.remove(1) -let s2 = s1->Belt.Set.remove(3) -let s3 = s2->Belt.Set.remove(3) - -s1->Belt.Set.toArray /* [2,3,4,5] */ -s2->Belt.Set.toArray /* [2,4,5] */ -s2 == s3 /* true */ -``` - -## removeMany - -```res sig -let removeMany: (t<'value, 'id>, array<'value>) => t<'value, 'id> -``` - -Removes each element of array from set. Unlike [remove](#remove), the reference of return value might be changed even if any values in array not existed in set. - -```res example -let set = Belt.Set.fromArray([1, 2, 3, 4],~id=module(IntCmp)) - -let newSet = set->Belt.Set.removeMany([5, 4, 3, 2, 1]) -newSet->Belt.Set.toArray /* [] */ -``` - -## union - -```res sig -let union: (t<'value, 'id>, t<'value, 'id>) => t<'value, 'id> -``` - -Returns union of two sets. - -```res example -let s0 = Belt.Set.fromArray([5,2,3,5,6], ~id=module(IntCmp)) -let s1 = Belt.Set.fromArray([5,2,3,1,5,4], ~id=module(IntCmp)) -let union = Belt.Set.union(s0, s1) -union->Belt.Set.toArray /* [1,2,3,4,5,6] */ -``` - -## intersect - -```res sig -let intersect: (t<'value, 'id>, t<'value, 'id>) => t<'value, 'id> -``` - -Returns intersection of two sets. - -```res example -let s0 = Belt.Set.fromArray([5,2,3,5,6], ~id=module(IntCmp)) -let s1 = Belt.Set.fromArray([5,2,3,1,5,4], ~id=module(IntCmp)) -let intersect = Belt.Set.intersect(s0, s1) -intersect->Belt.Set.toArray /* [2,3,5] */ -``` - -## diff - -```res sig -let diff: (t<'value, 'id>, t<'value, 'id>) => t<'value, 'id> -``` - -Returns elements from first set, not existing in second set. - -```res example -let s0 = Belt.Set.fromArray([5,2,3,5,6], ~id=module(IntCmp)) -let s1 = Belt.Set.fromArray([5,2,3,1,5,4], ~id=module(IntCmp)) -Belt.Set.toArray(Belt.Set.diff(s0, s1)) /* [6] */ -Belt.Set.toArray(Belt.Set.diff(s1,s0)) /* [1,4] */ -``` - -## subset - -```res sig -let subset: (t<'value, 'id>, t<'value, 'id>) => bool -``` - -Checks if second set is subset of first set. - -```res example -let s0 = Belt.Set.fromArray([5,2,3,5,6], ~id=module(IntCmp)) -let s1 = Belt.Set.fromArray([5,2,3,1,5,4], ~id=module(IntCmp)) -let s2 = Belt.Set.intersect(s0, s1) -Belt.Set.subset(s2, s0) /* true */ -Belt.Set.subset(s2, s1) /* true */ -Belt.Set.subset(s1, s0) /* false */ -``` - -## cmp - -```res sig -let cmp: (t<'value, 'id>, t<'value, 'id>) => int -``` - -Total ordering between sets. Can be used as the ordering function for doing sets of sets. It compares size first and then iterates over each element following the order of elements. - -## eq - -```res sig -let eq: (t<'value, 'id>, t<'value, 'id>) => bool -``` - -Checks if two sets are equal. - -```res example -let s0 = Belt.Set.fromArray([5,2,3], ~id=module(IntCmp)) -let s1 = Belt.Set.fromArray([3,2,5], ~id=module(IntCmp)) - -Belt.Set.eq(s0, s1) /* true */ -``` - -## forEachU - -```res sig -let forEachU: (t<'value, 'id>, (. 'value) => unit) => unit -``` - -Same as [forEach](##forEach) but takes uncurried functon. - -## forEach - -```res sig -let forEach: (t<'value, 'id>, 'value => unit) => unit -``` - -Applies function `f` in turn to all elements of set in increasing order. - -```res example -let s0 = Belt.Set.fromArray([5,2,3,5,6], ~id=module(IntCmp)) -let acc = ref(list{}) -s0->Belt.Set.forEach(x => { - acc := Belt.List.add(acc.contents, x) -}) -acc /* [6,5,3,2] */ -``` - -## reduceU - -```res sig -let reduceU: (t<'value, 'id>, 'a, (. 'a, 'value) => 'a) => 'a -``` - -## reduce - -```res sig -let reduce: (t<'value, 'id>, 'a, ('a, 'value) => 'a) => 'a -``` - -Applies function `f` to each element of set in increasing order. Function `f` has two parameters: the item from the set and an “accumulator”, which starts with a value of `initialValue`. `reduce` returns the final value of the accumulator. - -```res example -let s0 = Belt.Set.fromArray([5,2,3,5,6], ~id=module(IntCmp)) -s0->Belt.Set.reduce(list{}, (acc, element) => - acc->Belt.List.add(element) -) /* [6,5,3,2] */ -``` - -## everyU - -```res sig -let everyU: (t<'value, 'id>, (. 'value) => bool) => bool -``` - -## every - -```res sig -let every: (t<'value, 'id>, 'value => bool) => bool -``` - -Checks if all elements of the set satisfy the predicate. Order unspecified. - -```res example -let isEven = x => mod(x, 2) == 0 - -let s0 = Belt.Set.fromArray([2,4,6,8], ~id=module(IntCmp)) -s0->Belt.Set.every(isEven) /* true */ -``` - -## someU - -```res sig -let someU: (t<'value, 'id>, (. 'value) => bool) => bool -``` - -## some - -```res sig -let some: (t<'value, 'id>, 'value => bool) => bool -``` - -Checks if at least one element of the set satisfies the predicate. - -```res example -let isOdd = x => mod(x, 2) != 0 - -let s0 = Belt.Set.fromArray([1,2,4,6,8], ~id=module(IntCmp)) -s0->Belt.Set.some(isOdd) /* true */ -``` - -## keepU - -```res sig -let keepU: (t<'value, 'id>, (. 'value) => bool) => t<'value, 'id> -``` - -## keep - -```res sig -let keep: (t<'value, 'id>, 'value => bool) => t<'value, 'id> -``` - -Returns the set of all elements that satisfy the predicate. - -```res example -let isEven = x => mod(x, 2) == 0 - -let s0 = Belt.Set.fromArray([1,2,3,4,5], ~id=module(IntCmp)) -let s1 = s0->Belt.Set.keep(isEven) - -s1->Belt.Set.toArray /* [2,4] */ -``` - -## partitionU - -```res sig -let partitionU: (t<'value, 'id>, (. 'value) => bool) => (t<'value, 'id>, t<'value, 'id>) -``` - -## partition - -```res sig -let partition: (t<'value, 'id>, 'value => bool) => (t<'value, 'id>, t<'value, 'id>) -``` - -Returns a pair of sets, where first is the set of all the elements of set that satisfy the predicate, and second is the set of all the elements of set that do not satisfy the predicate. - -```res example -let isOdd = x => mod(x, 2) != 0 - -let s0 = Belt.Set.fromArray([1,2,3,4,5], ~id=module(IntCmp)) -let (s1, s2) = s0->Belt.Set.partition(isOdd) - -s1->Belt.Set.toArray /* [1,3,5] */ -s2->Belt.Set.toArray /* [2,4] */ -``` - -## size - -```res sig -let size: t<'value, 'id> => int -``` - -Returns size of the set. - -```res example -let s0 = Belt.Set.fromArray([1,2,3,4], ~id=module(IntCmp)) - -s0->Belt.Set.size /* 4 */ -``` - -## toArray - -```res sig -let toArray: t<'value, 'id> => array<'value> -``` - -Returns array of ordered set elements. - -```res example -let s0 = Belt.Set.fromArray([3,2,1,5], ~id=module(IntCmp)) - -s0->Belt.Set.toArray /* [1,2,3,5] */ -``` - -## toList - -```res sig -let toList: t<'value, 'id> => list<'value> -``` - -Returns list of ordered set elements. - -```res example -let s0 = Belt.Set.fromArray([3,2,1,5], ~id=module(IntCmp)) - -s0->Belt.Set.toList /* [1,2,3,5] */ -``` - -## minimum - -```res sig -let minimum: t<'value, 'id> => option<'value> -``` - -Returns minimum value of the collection. `None` if collection is empty. - -```res example -let s0 = Belt.Set.make(~id=module(IntCmp)) -let s1 = Belt.Set.fromArray([3,2,1,5], ~id=module(IntCmp)) - -s0->Belt.Set.minimum /* None */ -s1->Belt.Set.minimum /* Some(1) */ -``` - -## minUndefined - -```res sig -let minUndefined: t<'value, 'id> => Js.undefined<'value> -``` - -Returns minimum value of the collection. `undefined` if collection is empty. - -```res example -let s0 = Belt.Set.make(~id=module(IntCmp)) -let s1 = Belt.Set.fromArray([3,2,1,5], ~id=module(IntCmp)) - -s0->Belt.Set.minUndefined /* undefined */ -s1->Belt.Set.minUndefined /* 1 */ -``` - -## maximum - -Returns maximum value of the collection. `None` if collection is empty. - -```res example -let s0 = Belt.Set.make(~id=module(IntCmp)) -let s1 = Belt.Set.fromArray([3,2,1,5], ~id=module(IntCmp)) - -s0->Belt.Set.maximum /* None */ -s1->Belt.Set.maximum /* Some(5) */ -``` - -## maxUndefined - -```res sig -let maxUndefined: t<'value, 'id> => Js.undefined<'value> -``` - -Returns maximum value of the collection. `undefined` if collection is empty. - -```res example -let s0 = Belt.Set.make(~id=module(IntCmp)) -let s1 = Belt.Set.fromArray([3,2,1,5], ~id=module(IntCmp)) - -s0->Belt.Set.maxUndefined /* undefined */ -s1->Belt.Set.maxUndefined /* 5 */ -``` - -## get - -```res sig -let get: (t<'value, 'id>, 'value) => option<'value> -``` - -Returns the reference of the value which is equivalent to value using the comparator specifiecd by this collection. Returns `None` if element does not exist. - -```res example -let s0 = Belt.Set.fromArray([1,2,3,4,5], ~id=module(IntCmp)) - -s0->Belt.Set.get(3) /* Some(3) */ -s0->Belt.Set.get(20) /* None */ -``` - -## getUndefined - -```res sig -let getUndefined: (t<'value, 'id>, 'value) => Js.undefined<'value> -``` - -Same as [get](#get) but returns `undefined` when element does not exist. - -## getExn - -```res sig -let getExn: (t<'value, 'id>, 'value) => 'value -``` - -Same as [get](#get) but raise when element does not exist. - -## split - -```res sig -let split: (t<'value, 'id>, 'value) => ((t<'value, 'id>, t<'value, 'id>), bool) -``` - -Returns a tuple `((smaller, larger), present)`, `present` is true when element exist in set. - -```res example -let s0 = Belt.Set.fromArray([1,2,3,4,5], ~id=module(IntCmp)) - -let ((smaller, larger), present) = s0->Belt.Set.split(3) - -present /* true */ -smaller->Belt.Set.toArray /* [1,2] */ -larger->Belt.Set.toArray /* [4,5] */ - -``` - -## getData - -```res sig -let getData: t<'value, 'id> => Belt_SetDict.t<'value, 'id> -``` - -**Advanced usage only** - -Returns the raw data (detached from comparator), but its type is still manifested, so that user can pass identity directly without boxing. - -## getId - -```res sig -let getId: t<'value, 'id> => id<'value, 'id> -``` - -**Advanced usage only** - -Returns the identity of set. - -## packIdData - -```res sig -let packIdData: (~id: id<'value, 'id>, ~data: Belt_SetDict.t<'value, 'id>) => t<'value, 'id> -``` - -**Advanced usage only** - -Returns the packed collection. diff --git a/pages/docs/manual/latest/api/belt/sort-array-int.mdx b/pages/docs/manual/latest/api/belt/sort-array-int.mdx deleted file mode 100644 index 15fc2dc4c..000000000 --- a/pages/docs/manual/latest/api/belt/sort-array-int.mdx +++ /dev/null @@ -1,59 +0,0 @@ -# SortArrayInt - - - -This is a specialized module for `Belt.SortArray`, the docs in that module also applies here, except the comparator is fixed and inlined. - - - -## element - -```res prelude -type element = int -``` - -## strictlySortedLength - -```res sig -let strictlySortedLength: array => int -``` - -The same as `Belt.SortArray.strictlySortedLength` except the comparator is fixed. - -Returns `+n` means increasing order `-n` means negative order. - -## isSorted - -```res sig -let isSorted: array => bool -``` - -`sorted(xs)` return true if `xs` is in non strict increasing order. - -## stableSortInPlace - -```res sig -let stableSortInPlace: array => unit -``` - -The same as `Belt.SortArray.stableSortInPlaceBy` except the comparator is fixed. - -## stableSort - -```res sig -let stableSort: array => array -``` - -The same as `Belt.SortArray.stableSortBy` except the comparator is fixed. - -## binarySearch - -```res sig -let binarySearch: (array, element) => int -``` - -If value is not found and value is less than one or more elements in array, the negative number returned is the bitwise complement of the index of the first element that is larger than value. - -If value is not found and value is greater than all elements in array, the negative number returned is the bitwise complement of (the index of the last element plus 1) - -for example, if `key` is smaller than all elements return `-1` since `lnot(-1) = 0` if `key` is larger than all elements return `- (len + 1)` since `lnot(-(len+1)) = len`. diff --git a/pages/docs/manual/latest/api/belt/sort-array-string.mdx b/pages/docs/manual/latest/api/belt/sort-array-string.mdx deleted file mode 100644 index 3016c1903..000000000 --- a/pages/docs/manual/latest/api/belt/sort-array-string.mdx +++ /dev/null @@ -1,59 +0,0 @@ -# SortArrayString - - - -This is a specialized module for `Belt.SortArray`, the docs in that module also applies here, except the comparator is fixed and inlined. - - - -## element - -```res prelude -type element = string -``` - -## strictlySortedLength - -```res sig -let strictlySortedLength: array => int -``` - -The same as `Belt.SortArray.strictlySortedLength` except the comparator is fixed. - -Returns `+n` means increasing order `-n` means negative order. - -## isSorted - -```res sig -let isSorted: array => bool -``` - -`sorted(xs)` return true if `xs` is in non strict increasing order. - -## stableSortInPlace - -```res sig -let stableSortInPlace: array => unit -``` - -The same as `Belt.SortArray.stableSortInPlaceBy` except the comparator is fixed. - -## stableSort - -```res sig -let stableSort: array => array -``` - -The same as `Belt.SortArray.stableSortBy` except the comparator is fixed. - -## binarySearch - -```res sig -let binarySearch: (array, element) => int -``` - -If value is not found and value is less than one or more elements in array, the negative number returned is the bitwise complement of the index of the first element that is larger than value. - -If value is not found and value is greater than all elements in array, the negative number returned is the bitwise complement of (the index of the last element plus 1) - -for example, if `key` is smaller than all elements return `-1` since `lnot(-1) = 0` if `key` is larger than all elements return `- (len + 1)` since `lnot(-(len+1)) = len`. diff --git a/pages/docs/manual/latest/api/belt/sort-array.mdx b/pages/docs/manual/latest/api/belt/sort-array.mdx deleted file mode 100644 index 8d6e3d1ee..000000000 --- a/pages/docs/manual/latest/api/belt/sort-array.mdx +++ /dev/null @@ -1,111 +0,0 @@ -# SortArray - -## SortArrayInt - -```res example -module Int = Belt.SortArray.Int -``` - -Specialized when key type is `int`, more efficient than the generic type - -## SortArrayString - -```res example -module String = Belt.SortArray.String -``` - -Specialized when key type is `string`, more efficient than the generic type - -## strictlySortedLengthU - -```res sig -let strictlySortedLengthU: (array<'a>, (. 'a, 'a) => bool) => int -``` - -## strictlySortedLength - -```res sig -let strictlySortedLength: (array<'a>, ('a, 'a) => bool) => int -``` - -`strictlySortedLenght(xs, cmp);` return `+n` means increasing order `-n` means negative order - -```res example -Belt.SortArray.strictlySortedLength([1, 2, 3, 4, 3], (x, y) => x < y) == 4 - -Belt.SortArray.strictlySortedLength([], (x, y) => x < y) == 0 - -Belt.SortArray.strictlySortedLength([1], (x, y) => x < y) == 1 - -Belt.SortArray.strictlySortedLength([4, 3, 2, 1], (x, y) => x < y) == -4 -``` - -## isSortedU - -```res sig -let isSortedU: (array<'a>, (. 'a, 'a) => int) => bool -``` - -## isSorted - -```res sig -let isSorted: (array<'a>, ('a, 'a) => int) => bool -``` - -`isSorted(arr, cmp)`: Returns true if array is increasingly sorted (equal is okay) - -## stableSortInPlaceByU - -```res sig -let stableSortInPlaceByU: (array<'a>, (. 'a, 'a) => int) => unit -``` - -## stableSortInPlaceBy - -```res sig -let stableSortInPlaceBy: (array<'a>, ('a, 'a) => int) => unit -``` - -## stableSortByU - -```res sig -let stableSortByU: (array<'a>, (. 'a, 'a) => int) => array<'a> -``` - -## stableSortBy - -```res sig -let stableSortBy: (array<'a>, ('a, 'a) => int) => array<'a> -``` - -`stableSortBy(xs, cmp)`: Returns a fresh array Sort `xs` in place using -comparator `cmp`, the stable means if the elements are equal, their order will -be preserved - -## binarySearchByU - -```res sig -let binarySearchByU: (array<'a>, 'a, (. 'a, 'a) => int) => int -``` - -## binarySearchBy - -```res sig -let binarySearchBy: (array<'a>, 'a, ('a, 'a) => int) => int -``` - -If value is not found and value is less than one or more elements in array, the -negative number returned is the bitwise complement of the index of the first -element that is larger than value. - -If value is not found and value is greater -than all elements in array, the negative number returned is the bitwise -complement of (the index of the last element plus 1)for example, if `key` is -smaller than all elements return `-1` since `lnot(-1) == 0` if `key` is larger -than all elements return `lnot(-1) == 0` since `lnot(- (len + 1)) == len` - -```res example -Belt.SortArray.binarySearchBy([1, 2, 3, 4, 33, 35, 36], 33, Pervasives.compare) == 4 - -lnot(Belt.SortArray.binarySearchBy([1, 3, 5, 7], 4, Pervasives.compare)) == 2 -``` diff --git a/pages/docs/manual/latest/api/dom.mdx b/pages/docs/manual/latest/api/dom.mdx deleted file mode 100644 index eee448156..000000000 --- a/pages/docs/manual/latest/api/dom.mdx +++ /dev/null @@ -1,855 +0,0 @@ -# Dom - - - -The Dom module offers a canonical set of dom related types that third party libraries can depend on. It only provides types, no functions to manipulate the values of certain types whatsoever. - - - -## animation - -```res sig -type animation -``` - -## cssStyleDeclaration - -```res sig -type cssStyleDeclaration -``` - -## cssStyleSheet - -```res sig -type cssStyleSheet -``` - -## node - -```res sig -type node -``` - -## characterData - -```res sig -type characterData -``` - -## cdataSection - -```res sig -type cdataSection -``` - -## comment - -```res sig -type comment -``` - -## document - -```res sig -type document -``` - -## documentType - -```res sig -type documentType -``` - -## domImplementation - -```res sig -type domImplementation -``` - -## element - -```res sig -type element -``` - -## htmlCollection - -```res sig -type htmlCollection -``` - -## htmlFormControlsCollection - -```res sig -type htmlFormControlsCollection -``` - -## htmlOptionsCollection - -```res sig -type htmlOptionsCollection -``` - -## intersectionObserver - -```res sig -type intersectionObserver -``` - -## intersectionObserverEntry - -```res sig -type intersectionObserverEntry -``` - -## mutationObserver - -```res sig -type mutationObserver -``` - -## mutationRecord - -```res sig -type mutationRecord -``` - -## performanceObserver - -```res sig -type performanceObserver -``` - -## performanceObserverEntryList - -```res sig -type performanceObserverEntryList -``` - -## reportingObserver - -```res sig -type reportingObserver -``` - -## reportingObserverOptions - -```res sig -type reportingObserverOptions -``` - -## resizeObserver - -```res sig -type resizeObserver -``` - -## resizeObserverEntry - -```res sig -type resizeObserverEntry -``` - -## namedNodeMap - -```res sig -type namedNodeMap -``` - -## nodeList - -```res sig -type nodeList -``` - -## radioNodeList - -```res sig -type radioNodeList -``` - -## processingInstruction - -```res sig -type processingInstruction -``` - -## shadowRoot - -```res sig -type shadowRoot -``` - -## text - -```res sig -type text -``` - -## domRect - -```res sig -type domRect -``` - -## dataTransfer - -```res sig -type dataTransfer -``` - -## domStringMap - -```res sig -type domStringMap -``` - -## history - -```res sig -type history -``` - -## htmlDocument - -```res sig -type htmlDocument -``` - -## htmlElement - -```res sig -type htmlElement -``` - -## htmlAnchorElement - -```res sig -type htmlAnchorElement -``` - -## htmlAreaElement - -```res sig -type htmlAreaElement -``` - -## htmlAudioElement - -```res sig -type htmlAudioElement -``` - -## htmlBaseElement - -```res sig -type htmlBaseElement -``` - -## htmlBodyElement - -```res sig -type htmlBodyElement -``` - -## htmlBrElement - -```res sig -type htmlBrElement -``` - -## htmlButtonElement - -```res sig -type htmlButtonElement -``` - -## htmlCanvasElement - -```res sig -type htmlCanvasElement -``` - -## htmlDataElement - -```res sig -type htmlDataElement -``` - -## htmlDataListElement - -```res sig -type htmlDataListElement -``` - -## htmlDialogElement - -```res sig -type htmlDialogElement -``` - -## htmlDivElement - -```res sig -type htmlDivElement -``` - -## htmlDlistElement - -```res sig -type htmlDlistElement -``` - -## htmlEmbedElement - -```res sig -type htmlEmbedElement -``` - -## htmlFieldSetElement - -```res sig -type htmlFieldSetElement -``` - -## htmlFormElement - -```res sig -type htmlFormElement -``` - -## htmlHeadElement - -```res sig -type htmlHeadElement -``` - -## htmlHeadingElement - -```res sig -type htmlHeadingElement -``` - -## htmlHrElement - -```res sig -type htmlHrElement -``` - -## htmlHtmlElement - -```res sig -type htmlHtmElement -``` - -## htmlIframeElement - -```res sig -type htmlIframeElement -``` - -## htmlImageElement - -```res sig -type htmlImageElement -``` - -## htmlInputElement - -```res sig -type htmlInputElement -``` - -## htmlLabelElement - -```res sig -type htmlLabelElement -``` - -## htmlLegendElement - -```res sig -type htmlLegendElement -``` - -## htmlLiElement - -```res sig -type htmlLiElement -``` - -## htmlLinkElement - -```res sig -type htmlLinkElement -``` - -## htmlMapElement - -```res sig -type htmlMapElement -``` - -## htmlMediaElement - -```res sig -type htmlMediaElement -``` - -## htmlMenuElement - -```res sig -type htmlMenuElement -``` - -## htmlMetaElement - -```res sig -type htmlMetaElement -``` - -## htmlMeterElement - -```res sig -type htmlMeterElement -``` - -## htmlModElement - -```res sig -type htmlModElement -``` - -## htmlOListElement - -```res sig -type htmlOListElement -``` - -## htmlObjectElement - -```res sig -type htmlObjectElement -``` - -## htmlOptGroupElement - -```res sig -type htmlOptGroupElement -``` - -## htmlOptionElement - -```res sig -type htmlOptionElement -``` - -## htmlOutputElement - -```res sig -type htmlOutputElement -``` - -## htmlParagraphElement - -```res sig -type htmlParagraphElement -``` - -## htmlParamElement - -```res sig -type htmlParamElement -``` - -## htmlPreElement - -```res sig -type htmlPreElement -``` - -## htmlProgressElement - -```res sig -type htmlProgressElement -``` - -## htmlQuoteElement - -```res sig -type htmlQuoteElement -``` - -## htmlScriptElement - -```res sig -type htmlScriptElement -``` - -## htmlSelectElement - -```res sig -type htmlSelectElement -``` - -## htmlSlotElement - -```res sig -type htmlSlotElement -``` - -## htmlSourceElement - -```res sig -type htmlSourceElement -``` - -## htmlSpanElement - -```res sig -type htmlSpanElement -``` - -## htmlStyleElement - -```res sig -type htmlStyleElement -``` - -## htmlTableCaptionElement - -```res sig -type htmlTableCaptionElement -``` - -## htmlTableCellElement - -```res sig -type htmlTableCellElement -``` - -## htmlTableColElement - -```res sig -type htmlTableColElement -``` - -## htmlTableDataCellElement - -```res sig -type htmlTableDataCellElement -``` - -## htmlTableElement - -```res sig -type htmlTableElement -``` - -## htmlTableHeaderCellElement - -```res sig -type htmlTableHeaderCellElement -``` - -## htmlTableRowElement - -```res sig -type htmlTableRowElement -``` - -## htmlTableSectionElement - -```res sig -type htmlTableSectionElement -``` - -## htmlTextAreaElement - -```res sig -type htmlTextAreaElement -``` - -## htmlTimeElement - -```res sig -type htmlTimeElement -``` - -## htmlTitleElement - -```res sig -type htmlTitleElement -``` - -## htmlTrackElement - -```res sig -type htmlTrackElement -``` - -## htmlUlistElement - -```res sig -type htmlUlistElement -``` - -## htmlUnknownElement - -```res sig -type htmlUnknownElement -``` - -## htmlVideoElement - -```res sig -type htmlVideoElement -``` - -## location - -```res sig -type location -``` - -## window - -```res sig -type window -``` - -## xmlDocument - -```res sig -type xmlDocument -``` - -## event - -```res sig -type event -``` - -## uiEvent - -```res sig -type uiEvent -``` - -## animationEvent - -```res sig -type animationEvent -``` - -## beforeUnloadEvent - -```res sig -type beforeUnloadEvent -``` - -## clipboardEvent - -```res sig -type clipboardEvent -``` - -## closeEvent - -```res sig -type closeEvent -``` - -## compositionEvent - -```res sig -type compositionEvent -``` - -## customEvent - -```res sig -type customEvent -``` - -## dragEvent - -```res sig -type dragEvent -``` - -## errorEvent - -```res sig -type errorEvent -``` - -## focusEvent - -```res sig -type focusEvent -``` - -## idbVersionChangeEvent - -```res sig -type idbVersionChangeEvent -``` - -## inputEvent - -```res sig -type inputEvent -``` - -## keyboardEvent - -```res sig -type keyboardEvent -``` - -## mouseEvent - -```res sig -type mouseEvent -``` - -## pageTransitionEvent - -```res sig -type pageTransitionEvent -``` - -## pointerEvent - -```res sig -type pointerEvent -``` - -## popStateEvent - -```res sig -type popStateEvent -``` - -## progressEvent - -```res sig -type progressEvent -``` - -## relatedEvent - -```res sig -type relatedEvent -``` - -## storageEvent - -```res sig -type storageEvent -``` - -## svgZoomEvent - -```res sig -type svgZoomEvent -``` - -## timeEvent - -```res sig -type timeEvent -``` - -## touchEvent - -```res sig -type touchEvent -``` - -## trackEvent - -```res sig -type trackEvent -``` - -## transitionEvent - -```res sig -type transitionEvent -``` - -## webGlContextEvent - -```res sig -type webGlContextEvent -``` - -## wheelEvent - -```res sig -type wheelEvent -``` - -## range - -```res sig -type range -``` - -## selection - -```res sig -type selection -``` - -## domTokenList - -```res sig -type domTokenList -``` - -## domSettableTokenList - -```res sig -type domSettableTokenList -``` - -## nodeFilter - -```res sig -type nodeFilter = { - acceptNode: (Dom.element) => int -} -``` - -## nodeIterator - -```res sig -type nodeIterator -``` - -## treeWalker - -```res sig -type treeWalker -``` - -## svgRect - -```res sig -type svgRect -``` - -## svgPoint - -```res sig -type svgPoint -``` - -## eventPointerId - -```res sig -type eventPointerId -``` diff --git a/pages/docs/manual/latest/api/dom/storage.mdx b/pages/docs/manual/latest/api/dom/storage.mdx deleted file mode 100644 index 281240683..000000000 --- a/pages/docs/manual/latest/api/dom/storage.mdx +++ /dev/null @@ -1,55 +0,0 @@ -# Storage - -## t - -```res prelude sig -type t -``` - -## getItem - -```res sig -external getItem: (string, t) => option = "getItem" -``` - -## setItem - -```res sig -external setItem: (string, string, t) => unit = "setItem" -``` - -## removeItem - -```res sig -external removeItem: (string, t) => unit = "removeItem" -``` - -## clear - -```res sig -external clear: t => unit = "clear" -``` - -## key - -```res sig -external key: (int, t) => option = "key" -``` - -## length - -```res sig -external length: t => int = "length" -``` - -## localStorage - -```res sig -@val external localStorage: t = "localStorage" -``` - -## sessionStorage - -```res sig -@val external sessionStorage: t = "sessionStorage" -``` diff --git a/pages/docs/manual/latest/api/dom/storage2.mdx b/pages/docs/manual/latest/api/dom/storage2.mdx deleted file mode 100644 index 5292b85a3..000000000 --- a/pages/docs/manual/latest/api/dom/storage2.mdx +++ /dev/null @@ -1,61 +0,0 @@ -# Storage2 - - - -The same as [Dom.Storage](./storage2), but with `t` on first argument position for proper `->` usage. - - - -## t - -```res prelude sig -type t -``` - -## getItem - -```res sig -external getItem: (t, string) => option = "getItem" -``` - -## setItem - -```res sig -external setItem: (t, string, string) => unit = "setItem" -``` - -## removeItem - -```res sig -external removeItem: (t, string) => unit = "removeItem" -``` - -## clear - -```res sig -external clear: t => unit = "clear" -``` - -## key - -```res sig -external key: (t, int) => option = "key" -``` - -## length - -```res sig -external length: t => int = "length" -``` - -## localStorage - -```res sig -@val external localStorage: t = "localStorage" -``` - -## sessionStorage - -```res sig -@val external sessionStorage: t = "sessionStorage" -``` diff --git a/pages/docs/manual/latest/api/js.mdx b/pages/docs/manual/latest/api/js.mdx deleted file mode 100644 index d3aea4c57..000000000 --- a/pages/docs/manual/latest/api/js.mdx +++ /dev/null @@ -1,178 +0,0 @@ -# Js - -The Js module mostly contains ReScript bindings to _standard JavaScript APIs_ -like [console.log](https://developer.mozilla.org/en-US/docs/Web/API/Console/log), -or the JavaScript -[String](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String), -[Date](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date), and -[Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise) -classes. - -It is meant as a zero-abstraction interop layer and directly exposes JavaScript functions as they are. If you can find your API in this module, prefer this over an equivalent Belt helper. For example, prefer [Js.Array2](js/array-2) over [Belt.Array](belt/array) - -## Argument Order - -For historical reasons, some APIs in the Js namespace (e.g. [Js.String](js/string)) are -using the data-last argument order whereas others (e.g. [Js.Date](js/date)) are using data-first. - -For more information about these argument orders and the trade-offs between them, see -[this blog post](https://www.javierchavarri.com/data-first-and-data-last-a-comparison/). - -_Eventually, all modules in the Js namespace are going to be migrated to data-first though._ - -In the meantime, there are several options for dealing with the data-last APIs: - -```res example -/* Js.String (data-last API used with pipe last operator) */ -Js.log("2019-11-10" |> Js.String.split("-")) -Js.log("ReScript" |> Js.String.startsWith("Re")) - -/* Js.String (data-last API used with pipe first operator) */ -Js.log("2019-11-10"->Js.String.split("-", _)) -Js.log("ReScript"->Js.String.startsWith("Re", _)) - -/* Js.String (data-last API used without any piping) */ -Js.log(Js.String.split("-", "2019-11-10")) -Js.log(Js.String.startsWith("Re", "ReScript")) -``` -## Js.Xxx2 Modules - -Prefer `Js.Array2` over `Js.Array`, `Js.String2` over `Js.String`, etc. The latters are old modules. - -## Object - -```res sig -type t<+'a> -``` - -Js object type. - -```res example -let x: {"x": int, "y": int} = {"x": 1, "y": 2} -``` - -## Nullable and Undefined - -```res prelude -type null<+'a> -``` - -nullable, value of this type can be either null or 'a this type is the same as type t in Js.Null - -```res prelude -type undefined<+'a> -``` - -value of this type can be either undefined or 'a this type is the same as type t in Js.Undefined - -```res prelude -type nullable<+'a> -``` - -value of this type can be undefined, null or 'a this type is the same as type t n Js.Null_undefined - -```res prelude -type null_undefined<'a> = Js.nullable<'a> -``` - -```res sig -let toOption: Js.nullable<'a> => option<'a> -``` - -```res sig -let undefinedToOption: Js.undefined<'a> => option<'a> -``` - -```res sig -let nullToOption: Js.null<'a> => option<'a> -``` - -```res sig -let test: Js.nullable<'a> => bool -``` - -```res sig -let isNullable: Js.nullable<'a> => bool -``` - -```res sig -let testAny: 'a => bool -``` - -The same as `Js.test` except that it is more permissive on the types of input. - -```res sig -type promise<+'a, +'e> -``` - -Deprecated. please use `Js.Promise`. -The promise type, defined here for interoperation across packages. - -```res sig -let null: Js.null<'a> -``` - -The same as empty in `Js.Null`. Will be compiled as `null`. - -```res sig -let undefined: Js.undefined<'a> -``` - -The same as empty `Js.Undefined`. Will be compiled as `undefined`. - -## TypeOf - -```res sig -let typeof: 'a => string -``` - -`typeof x` will be compiled as `typeof x` in JS. Please consider functions in `Js.Types` for a type safe way of reflection. - -## Logging - -```res sig -let log: 'a => unit -let log2: ('a, 'b) => unit -let log3: ('a, 'b, 'c) => unit -let log4: ('a, 'b, 'c, 'd) => unit -``` - -A convenience function to log everything. - -```res sig -let logMany: array<'a> => unit -``` - -A convenience function to log more than 4 arguments - -## Comparison - -```res sig -let eqNull: ('a, null<'a>) => bool -let eqUndefined: ('a, undefined<'a>) => bool -let eqNullable: ('a, nullable<'a>) => bool -``` - -```res sig -let unsafe_lt: ('a, 'a) => bool -``` - -`unsafe_lt a b` will be compiled as `a < b`. It is marked as unsafe, since it is impossible to give a proper semantics for comparision which applies to any type. - -```res sig -let unsafe_le: ('a, 'a) => bool -``` - -`unsafe_le a b` will be compiled as `a <= b`. See also `Js.unsafe_lt`. - -```res sig -let unsafe_gt: ('a, 'a) => bool -``` - -`unsafe_gt a b` will be compiled as `a > b`. See also `Js.unsafe_lt`. - -```res sig -let unsafe_ge: ('a, 'a) => bool -``` - -`unsafe_ge a b` will be compiled as `a >= b`. See also `Js.unsafe_lt`. diff --git a/pages/docs/manual/latest/api/js/array-2.mdx b/pages/docs/manual/latest/api/js/array-2.mdx deleted file mode 100644 index 393134ce6..000000000 --- a/pages/docs/manual/latest/api/js/array-2.mdx +++ /dev/null @@ -1,850 +0,0 @@ -# Array2 - - - -Provides bindings to JavaScript’s `Array` functions. These bindings are optimized for pipe-first (`->`), where the array to be processed is the first parameter in the function. - -Here is an example to find the sum of squares of all even numbers in an array. -Without pipe first, we must call the functions in reverse order: - -```res example -let isEven = x => mod(x, 2) == 0 -let square = x => x * x -let result = { - open Js.Array2 - reduce(map(filter([5, 2, 3, 4, 1], isEven), square), \"+", 0) -} -``` - -With pipe first, we call the functions in the “natural” order: - -```res example -let isEven = x => mod(x, 2) == 0 -let square = x => x * x -let result = { - open Js.Array2 - [5, 2, 3, 4, 1]->filter(isEven)->map(square)->reduce(\"+", 0) -} -``` - - -## t - -```res prelude -type t<'a> = array<'a> -``` - -The type used to describe a JavaScript array. - -## array_like - -```res prelude -type array_like<'a> -``` - -A type used to describe JavaScript objects that are like an array or are iterable. - -## from - -```res sig -let from: array_like<'a> => array<'a> -``` - -Creates a shallow copy of an array from an array-like object. See [`Array.from`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/from) on MDN. - -```res example -let strArr = Js.String.castToArrayLike("abcd") -Js.Array2.from(strArr) == ["a", "b", "c", "d"] -``` - -## fromMap - -```res sig -let fromMap: (array_like<'a>, 'a => 'b) => array<'b> -``` - -Creates a new array by applying a function (the second argument) to each item in the `array_like` first argument. See [`Array.from`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/from) on MDN. - -```res example -let strArr = Js.String.castToArrayLike("abcd") -let code = s => Js.String.charCodeAt(0, s) -Js.Array2.fromMap(strArr, code) == [97.0, 98.0, 99.0, 100.0] -``` - -## isArray - -```res sig -let isArray: 'a => bool -``` - -Returns `true` if its argument is an array; `false` otherwise. This is a runtime check, which is why the second example returns `true`---a list is internally represented as a nested JavaScript array. - -```res example -Js.Array2.isArray([5, 2, 3, 1, 4]) == true -Js.Array2.isArray(list{5, 2, 3, 1, 4}) == true -Js.Array2.isArray("abcd") == false -``` - -## length - -```res sig -let length: array<'a> => int -``` - -Returns the number of elements in the array. See [`Array.length`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/length) on MDN. - -## copyWithin - -```res sig -let copyWithin: (t<'a>, ~to_: int) => t<'a> -``` - -Copies from the first element in the given array to the designated `~to_` position, returning the resulting array. *This function modifies the original array.* See [`Array.copyWithin`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/copyWithin) on MDN. - -```res example -let arr = [100, 101, 102, 103, 104] -Js.Array2.copyWithin(arr, ~to_=2) == [100, 101, 100, 101, 102] -arr == [100, 101, 100, 101, 102] -``` - -## copyWithinFrom - -```res sig -let copyWithinFrom: (t<'a>, ~to_: int, ~from: int) => t<'a> -``` - -Copies starting at element `~from` in the given array to the designated `~to_` position, returning the resulting array. *This function modifies the original array.* See [`Array.copyWithin`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/copyWithin) on MDN. - -```res example -let arr = [100, 101, 102, 103, 104] -Js.Array2.copyWithinFrom(arr, ~from=2, ~to_=0) == [102, 103, 104, 103, 104] -arr == [102, 103, 104, 103, 104] -``` - -## copyWithinFromRange - -```res sig -let copyWithinFromRange: (t<'a>, ~to_: int, ~start: int, ~end_: int) => t<'a> -``` - -Copies starting at element `~start` in the given array up to but not including `~end_` to the designated `~to_` position, returning the resulting array. *This function modifies the original array.* See [`Array.copyWithin`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/copyWithin) on MDN. - -```res example -let arr = [100, 101, 102, 103, 104, 105] -Js.Array2.copyWithinFromRange(arr, ~start=2, ~end_=5, ~to_=1) == [100, 102, 103, 104, 104, 105] -arr == [100, 102, 103, 104, 104, 105] -``` - -## fillInPlace - -```res sig -let fillInPlace: (t<'a>, 'a) => t<'a> -``` -Sets all elements of the given array (the first arumgent) to the designated value (the secon argument), returning the resulting array. *This function modifies the original array.* See [`Array.fill`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/fill) on MDN. - -```res example -let arr = [100, 101, 102, 103, 104] -Js.Array2.fillInPlace(arr, 99) == [99, 99, 99, 99, 99] -arr == [99, 99, 99, 99, 99] -``` - -## fillFromInPlace - -```res sig -let fillFromInPlace: (t<'a>, 'a, ~from: int) => t<'a> -``` -Sets all elements of the given array (the first arumgent) from position `~from` to the end to the designated value (the second argument), returning the resulting array. *This function modifies the original array.* See [`Array.fill`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/fill) on MDN. - -```res example -let arr = [100, 101, 102, 103, 104] -Js.Array2.fillFromInPlace(arr, 99, ~from=2) == [100, 101, 99, 99, 99] -arr == [100, 101, 99, 99, 99] -``` - -## fillRangeInPlace - -```res sig -let fillRangeInPlace: (t<'a>, 'a, ~start: int, ~end_: int) => t<'a> -``` -Sets the elements of the given array (the first arumgent) from position `~start` up to but not including position `~end_` to the designated value (the second argument), returning the resulting array. *This function modifies the original array.* See [`Array.fill`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/fill) on MDN. - -```res example -let arr = [100, 101, 102, 103, 104] -Js.Array2.fillRangeInPlace(arr, 99, ~start=1, ~end_=4) == [100, 99, 99, 99, 104] -arr == [100, 99, 99, 99, 104] -``` - -## pop - -```res sig -let pop: t<'a> => option<'a> -``` -If the array is not empty, removes the last element and returns it as `Some(value)`; returns `None` if the array is empty. *This function modifies the original array.* See [`Array.pop`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/pop) on MDN. - -```res example -let arr = [100, 101, 102, 103, 104] -Js.Array2.pop(arr) == Some(104) -arr == [100, 101, 102, 103] - -let empty: array = [] -Js.Array2.pop(empty) == None -``` - -## push - -```res sig -let push: (t<'a>, 'a) => int -``` -Appends the given value to the array, returning the number of elements in the updated array. *This function modifies the original array.* See [`Array.push`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/push) on MDN. - -```res example -let arr = ["ant", "bee", "cat"] -Js.Array2.push(arr, "dog") == 4 -arr == ["ant", "bee", "cat", "dog"] -``` - -## pushMany - -```res sig -let pushMany: (t<'a>, array<'a>) => int -``` -Appends the values from one array (the second argument) to another (the first argument), returning the number of elements in the updated array. *This function modifies the original array.* See [`Array.push`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/push) on MDN. - -```res example -let arr = ["ant", "bee", "cat"] -Js.Array2.pushMany(arr, ["dog", "elk"]) == 5 -arr == ["ant", "bee", "cat", "dog", "elk"] -``` - -## reverseInPlace - -```res sig -let reverseInPlace: t<'a> => t<'a> -``` -Returns an array with the elements of the input array in reverse order. *This function modifies the original array.* See [`Array.reverse`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reverse) on MDN. - -```res example -let arr = ["ant", "bee", "cat"] -Js.Array2.reverseInPlace(arr) == ["cat", "bee", "ant"] -arr == ["cat", "bee", "ant"] -``` - -## shift - -```res sig -let shift: t<'a> => option<'a> -``` -If the array is not empty, removes the first element and returns it as `Some(value)`; returns `None` if the array is empty. *This function modifies the original array.* See [`Array.shift`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/shift) on MDN. - -```res example -let arr = [100, 101, 102, 103, 104] -Js.Array2.shift(arr) == Some(100) -arr == [101, 102, 103, 104] - -let empty: array = [] -Js.Array2.shift(empty) == None -``` - -## sortInPlace - -```res sig -let sortInPlace: t<'a> => t<'a> -``` -Sorts the given array in place and returns the sorted array. JavaScript sorts the array by converting the arguments to UTF-16 strings and sorting them. See the second example with sorting numbers, which does not do a numeric sort. *This function modifies the original array.* See [`Array.sort`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort) on MDN. - -```res example -let words = ["bee", "dog", "ant", "cat"] -Js.Array2.sortInPlace(words) == ["ant", "bee", "cat", "dog"] -words == ["ant", "bee", "cat", "dog"] - -let numbers = [3, 30, 10, 1, 20, 2] -Js.Array2.sortInPlace(numbers) == [1, 10, 2, 20, 3, 30] -numbers == [1, 10, 2, 20, 3, 30] -``` - -## sortInPlaceWith - -```res sig -let sortInPlaceWith: (t<'a>, ('a, 'a) => int) => t<'a> -``` -Sorts the given array in place and returns the sorted array. *This function modifies the original array.* - -The first argument to `sortInPlaceWith()` is a function that compares two items from the array and returns: - -* an integer less than zero if the first item is less than the second item -* zero if the items are equal -* an integer greater than zero if the first item is greater than the second item - -See [`Array.sort`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort) on MDN. - -```res example -// sort by word length -let words = ["horse", "aardvark", "dog", "camel"] -let byLength = (s1, s2) => Js.String.length(s1) - Js.String.length(s2) - -Js.Array2.sortInPlaceWith(words, byLength) == ["dog", "horse", "camel", "aardvark"] - -// sort in reverse numeric order -let numbers = [3, 30, 10, 1, 20, 2] -let reverseNumeric = (n1, n2) => n2 - n1 -Js.Array2.sortInPlaceWith(numbers, reverseNumeric) == [30, 20, 10, 3, 2, 1] -``` - -## spliceInPlace - -```res sig -let spliceInPlace: (t<'a>, ~pos: int, ~remove: int, ~add: array<'a>) => t<'a> -``` -Starting at position `~pos`, remove `~remove` elements and then add the elements from the `~add` array. Returns an array consisting of the removed items. *This function modifies the original array.* See [`Array.splice`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/splice) on MDN. - -```res example -let arr = ["a", "b", "c", "d", "e", "f"] -Js.Array2.spliceInPlace(arr, ~pos=2, ~remove=2, ~add=["x", "y", "z"]) == ["c", "d"] -arr == ["a", "b", "x", "y", "z", "e", "f"] - -let arr2 = ["a", "b", "c", "d"] -Js.Array2.spliceInPlace(arr2, ~pos=3, ~remove=0, ~add=["x", "y"]) == [] -arr2 == ["a", "b", "c", "x", "y", "d"] - -let arr3 = ["a", "b", "c", "d", "e", "f"] -Js.Array2.spliceInPlace(arr3, ~pos=9, ~remove=2, ~add=["x", "y", "z"]) == [] -arr3 == ["a", "b", "c", "d", "e", "f", "x", "y", "z"] -``` - -## removeFromInPlace - -```res sig -let removeFromInPlace: (t<'a>, ~pos: int) => t<'a> -``` -Removes elements from the given array starting at position `~pos` to the end of the array, returning the removed elements. *This function modifies the original array.* See [`Array.splice`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/splice) on MDN. - -```res example -let arr = ["a", "b", "c", "d", "e", "f"] -Js.Array2.removeFromInPlace(arr, ~pos=4) == ["e", "f"] -arr == ["a", "b", "c", "d"] -``` - -## removeCountInPlace - -```res sig -let removeCountInPlace: (t<'a>, ~pos: int, ~count: int) => t<'a> -``` -Removes `~count` elements from the given array starting at position `~pos`, returning the removed elements. *This function modifies the original array.* See [`Array.splice`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/splice) on MDN. - -```res example -let arr = ["a", "b", "c", "d", "e", "f"] -Js.Array2.removeCountInPlace(arr, ~pos=2, ~count=3) == ["c", "d", "e"] -arr == ["a", "b", "f"] -``` - -## unshift - -```res sig -let unshift: (t<'a>, 'a) => int -``` -Adds the given element to the array, returning the new number of elements in the array. *This function modifies the original array.* See [`Array.unshift`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/unshift) on MDN. - -```res example -let arr = ["b", "c", "d"] -Js.Array2.unshift(arr, "a") == 4 -arr == ["a", "b", "c", "d"] -``` - -## unshiftMany - -```res sig -let unshiftMany: (t<'a>, array<'a>) => int -``` -Adds the elements in the second array argument at the beginning of the first array argument, returning the new number of elements in the array. *This function modifies the original array.* See [`Array.unshift`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/unshift) on MDN. - -```res example -let arr = ["d", "e"] -Js.Array2.unshiftMany(arr, ["a", "b", "c"]) == 5 -arr == ["a", "b", "c", "d", "e"] -``` - -## append - -```res sig -let append: (t<'a>, 'a) => t<'a> -``` -Deprecated. `append()` is not type-safe. Use `concat()` instead. - -## concat - -```res sig -let concat: (t<'a>, t<'a>) => t<'a> -``` -Concatenates the second array argument to the first array argument, returning a new array. The original arrays are not modified. See [`Array.concat`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/concat) on MDN. - -```res example -Js.Array2.concat(["a", "b"], ["c", "d", "e"]) == ["a", "b", "c", "d", "e"] -``` - -## concatMany - -```res sig -let concatMany: (t<'a>, array>) => t<'a> -``` -The second argument to `concatMany()` is an array of arrays; these are added at the end of the first argument, returning a new array. See [`Array.concat`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/concat) on MDN. - -```res example -Js.Array2.concatMany(["a", "b", "c"], [["d", "e"], ["f", "g", "h"]]) == [ - "a", - "b", - "c", - "d", - "e", - "f", - "g", - "h", - ] -``` - -## includes - -```res sig -let includes: (t<'a>, 'a) => bool -``` -Returns true if the given value is in the array, `false` otherwise. See [`Array.includes`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/includes) on MDN. - -```res example -Js.Array2.includes(["a", "b", "c"], "b") == true -Js.Array2.includes(["a", "b", "c"], "x") == false -``` - -## indexOf - -```res sig -let indexOf: (t<'a>, 'a) => int -``` -Returns the index of the first element in the array that has the given value. If the value is not in the array, returns -1. See [`Array.indexOf`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf) on MDN. - -```res example -Js.Array2.indexOf([100, 101, 102, 103], 102) == 2 -Js.Array2.indexOf([100, 101, 102, 103], 999) == -1 -``` - -## indexOfFrom - -```res sig -let indexOfFrom: (t<'a>, 'a, ~from: int) => int -``` -Returns the index of the first element in the array with the given value. The search starts at position `~from`. See [`Array.indexOf`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf) on MDN. - -```res example -Js.Array2.indexOfFrom(["a", "b", "a", "c", "a"], "a", ~from=2) == 2 -Js.Array2.indexOfFrom(["a", "b", "a", "c", "a"], "a", ~from=3) == 4 -Js.Array2.indexOfFrom(["a", "b", "a", "c", "a"], "b", ~from=2) == -1 -``` - -## joinWith - -```res sig -let joinWith: (t<'a>, string) => string -``` -This function converts each element of the array to a string (via JavaScript) and concatenates them, separated by the string given in the first argument, into a single string. See [`Array.join`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/join) on MDN. - -```res example -Js.Array2.joinWith(["ant", "bee", "cat"], "--") == "ant--bee--cat" -Js.Array2.joinWith(["door", "bell"], "") == "doorbell" -Js.Array2.joinWith([2020, 9, 4], "/") == "2020/9/4" -Js.Array2.joinWith([2.5, 3.6, 3e-2], ";") == "2.5;3.6;0.03" -``` - -## lastIndexOf - -```res sig -let lastIndexOf: (t<'a>, 'a) => int -``` -Returns the index of the last element in the array that has the given value. If the value is not in the array, returns -1. See [`Array.lastIndexOf`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/lastIndexOf) on MDN. - -```res example -Js.Array2.lastIndexOf(["a", "b", "a", "c"], "a") == 2 -Js.Array2.lastIndexOf(["a", "b", "a", "c"], "x") == -1 -``` - -## lastIndexOfFrom - -```res sig -let lastIndexOfFrom: (t<'a>, 'a, ~from: int) => int -``` -Returns the index of the last element in the array that has the given value, searching from position `~from` down to the start of the array. If the value is not in the array, returns -1. See [`Array.lastIndexOf`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/lastIndexOf) on MDN. - -```res example -Js.Array2.lastIndexOfFrom(["a", "b", "a", "c", "a", "d"], "a", ~from=3) == 2 -Js.Array2.lastIndexOfFrom(["a", "b", "a", "c", "a", "d"], "c", ~from=2) == -1 -``` - -## slice - -```res sig -let slice: (t<'a>, ~start: int, ~end_: int) => t<'a> -``` -Returns a shallow copy of the given array from the `~start` index up to but not including the `~end_` position. Negative numbers indicate an offset from the end of the array. See [`Array.slice`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/slice) on MDN. - -```res example -let arr = [100, 101, 102, 103, 104, 105, 106] -Js.Array2.slice(arr, ~start=2, ~end_=5) == [102, 103, 104] -Js.Array2.slice(arr, ~start=-3, ~end_=-1) == [104, 105] -Js.Array2.slice(arr, ~start=9, ~end_=10) == [] -``` - -## copy - -```res sig -let copy: t<'a> => t<'a> -``` -Returns a copy of the entire array. Same as `Js.Array2.Slice(arr, ~start=0, ~end_=Js.Array2.length(arr))`. See [`Array.slice`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/slice) on MDN. -## sliceFrom - -```res sig -let sliceFrom: (t<'a>, int) => t<'a> -``` -Returns a shallow copy of the given array from the given index to the end. See [`Array.slice`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/slice) on MDN. - -```res example -Js.Array2.sliceFrom([100, 101, 102, 103, 104], 2) == [102, 103, 104] -``` - -## toString - -```res sig -let toString: t<'a> => string -``` -Converts the array to a string. Each element is converted to a string using JavaScript. Unlike the JavaScript `Array.toString()`, all elements in a ReasonML array must have the same type. See [`Array.toString`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/toString) on MDN. - -```res example -Js.Array2.toString([3.5, 4.6, 7.8]) == "3.5,4.6,7.8" -Js.Array2.toString(["a", "b", "c"]) == "a,b,c" -``` - -## toLocaleString - -```res sig -let toLocaleString: t<'a> => string -``` -Converts the array to a string using the conventions of the current locale. Each element is converted to a string using JavaScript. Unlike the JavaScript `Array.toLocaleString()`, all elements in a ReasonML array must have the same type. See [`Array.toLocaleString`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/toLocaleString) on MDN. - -```res example -Js.Array2.toLocaleString([Js.Date.make()]) -// returns "3/19/2020, 10:52:11 AM" for locale en_US.utf8 -// returns "2020-3-19 10:52:11" for locale de_DE.utf8 -``` - -## every - -```res sig -let every: (t<'a>, 'a => bool) => bool -``` -The first argument to `every()` is an array. The second argument is a predicate function that returns a boolean. The `every()` function returns `true` if the predicate function is true for all items in the given array. If given an empty array, returns `true`. See [`Array.every`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/every) on MDN. - -```res example -let isEven = x => mod(x, 2) == 0 -Js.Array2.every([6, 22, 8, 4], isEven) == true -Js.Array2.every([6, 22, 7, 4], isEven) == false -``` - -## everyi - -```res sig -let everyi: (t<'a>, ('a, int) => bool) => bool -``` - -The first argument to `everyi()` is an array. The second argument is a predicate function with two arguments: an array element and that element’s index; it returns a boolean. The `everyi()` function returns `true` if the predicate function is true for all items in the given array. If given an empty array, returns `true`. See [`Array.every`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/every) on MDN. - -```res example -// determine if all even-index items are positive -let evenIndexPositive = (item, index) => mod(index, 2) == 0 ? item > 0 : true - -Js.Array2.everyi([6, -3, 5, 8], evenIndexPositive) == true -Js.Array2.everyi([6, 3, -5, 8], evenIndexPositive) == false -``` - -## filter - -```res sig -let filter: (t<'a>, 'a => bool) => t<'a> -``` -Applies the given predicate function (the second argument) to each element in the array; the result is an array of those elements for which the predicate function returned `true`. See [`Array.filter`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter) on MDN. - -```res example -let nonEmpty = s => s != "" -Js.Array2.filter(["abc", "", "", "def", "ghi"], nonEmpty) == ["abc", "def", "ghi"] -``` - -## filteri - -```res sig -let filteri: (t<'a>, ('a, int) => bool) => t<'a> -``` -Each element of the given array are passed to the predicate function. The return value is an array of all those elements for which the predicate function returned `true`. See [`Array.filter`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter) on MDN. - -```res example -// keep only positive elements at odd indices -let positiveOddElement = (item, index) => mod(index, 2) == 1 && item > 0 - -Js.Array2.filteri([6, 3, 5, 8, 7, -4, 1], positiveOddElement) == [3, 8] -``` - -## find - -```res sig -let find: (t<'a>, 'a => bool) => option<'a> -``` -Returns `Some(value)` for the first element in the array that satisifies the given predicate function, or `None` if no element satisifies the predicate. See [`Array.find`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/find) on MDN. - -```res example -// find first negative element -Js.Array2.find([33, 22, -55, 77, -44], x => x < 0) == Some(-55) -Js.Array2.find([33, 22, 55, 77, 44], x => x < 0) == None -``` - -## findi - -```res sig -let findi: (t<'a>, ('a, int) => bool) => option<'a> -``` -Returns `Some(value)` for the first element in the array that satisifies the given predicate function, or `None` if no element satisifies the predicate. The predicate function takes an array element and an index as its parameters. See [`Array.find`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/find) on MDN. - -```res example -// find first positive item at an odd index -let positiveOddElement = (item, index) => mod(index, 2) == 1 && item > 0 - -Js.Array2.findi([66, -33, 55, 88, 22], positiveOddElement) == Some(88) -Js.Array2.findi([66, -33, 55, -88, 22], positiveOddElement) == None -``` - -## findIndex - -```res sig -let findIndex: (t<'a>, 'a => bool) => int -``` -Returns the index of the first element in the array that satisifies the given predicate function, or -1 if no element satisifies the predicate. See [`Array.find`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/find) on MDN. - -```res example -Js.Array2.findIndex([33, 22, -55, 77, -44], x => x < 0) == 2 -Js.Array2.findIndex([33, 22, 55, 77, 44], x => x < 0) == -1 -``` - -## findIndexi - -```res sig -let findIndexi: (t<'a>, ('a, int) => bool) => int -``` -Returns `Some(value)` for the first element in the array that satisifies the given predicate function, or `None` if no element satisifies the predicate. The predicate function takes an array element and an index as its parameters. See [`Array.find`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/find) on MDN. - -```res example -// find index of first positive item at an odd index -let positiveOddElement = (item, index) => mod(index, 2) == 1 && item > 0 - -Js.Array2.findIndexi([66, -33, 55, 88, 22], positiveOddElement) == 3 -Js.Array2.findIndexi([66, -33, 55, -88, 22], positiveOddElement) == -1 -``` - -## forEach - -```res sig -let forEach: (t<'a>, 'a => unit) => unit -``` -The `forEach()` function applies the function given as the second argument to each element in the array. The function you provide returns `unit`, and the `forEach()` function also returns `unit`. You use `forEach()` when you need to process each element in the array but not return any new array or value; for example, to print the items in an array. See [`Array.forEach`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach) on MDN. - -```res example -// display all elements in an array -Js.Array2.forEach(["a", "b", "c"], x => Js.log(x)) == () -``` - -## forEachi - -```res sig -let forEachi: (t<'a>, ('a, int) => unit) => unit -``` -The `forEachi()` function applies the function given as the second argument to each element in the array. The function you provide takes an item in the array and its index number, and returns `unit`. The `forEachi()` function also returns `unit`. You use `forEachi()` when you need to process each element in the array but not return any new array or value; for example, to print the items in an array. See [`Array.forEach`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach) on MDN. - -```res example -// display all elements in an array as a numbered list -Js.Array2.forEachi(["a", "b", "c"], (item, index) => Js.log2(index + 1, item)) == () -``` - -## map - -```res sig -let map: (t<'a>, 'a => 'b) => t<'b> -``` -Applies the function (the second argument) to each item in the array, returning a new array. The result array does not have to have elements of the same type as the input array. See [`Array.map`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map) on MDN. - -```res example -Js.Array2.map([12, 4, 8], x => x * x) == [144, 16, 64] -Js.Array2.map(["animal", "vegetable", "mineral"], Js.String.length) == [6, 9, 7] -``` - -## mapi - -```res sig -let mapi: (t<'a>, ('a, int) => 'b) => t<'b> -``` -Applies the function (the second argument) to each item in the array, returning a new array. The function acceps two arguments: an item from the array and its index number. The result array does not have to have elements of the same type as the input array. See [`Array.map`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map) on MDN. - -```res example -// multiply each item in array by its position -let product = (item, index) => item * index -Js.Array2.mapi([10, 11, 12], product) == [0, 11, 24] -``` - -## reduce - -```res sig -let reduce: (t<'a>, ('b, 'a) => 'b, 'b) => 'b -``` -The `reduce()` function takes three parameters: an array, a *reducer function*, and a beginning accumulator value. The reducer function has two parameters: an accumulated value and an element of the array. - -`reduce()` first calls the reducer function with the beginning value and the first element in the array. The result becomes the new accumulator value, which is passed in to the reducer function along with the second element in the array. `reduce()` proceeds through the array, passing in the result of each stage as the accumulator to the reducer function. - -When all array elements are processed, the final value of the accumulator becomes the return value of `reduce()`. See [`Array.reduce`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce) on MDN. - -```res example -let sumOfSquares = (accumulator, item) => accumulator + item * item - -Js.Array2.reduce([10, 2, 4], sumOfSquares, 0) == 120 -Js.Array2.reduce([10, 2, 4], \"*", 1) == 80 -Js.Array2.reduce( - ["animal", "vegetable", "mineral"], - (acc, item) => acc + Js.String.length(item), - 0, -) == 22 // 6 + 9 + 7 -Js.Array2.reduce([2.0, 4.0], (acc, item) => item /. acc, 1.0) == 2.0 // 4.0 / (2.0 / 1.0) -``` - -## reducei - -```res sig -let reducei: (t<'a>, ('b, 'a, int) => 'b, 'b) => 'b -``` -The `reducei()` function takes three parameters: an array, a *reducer function*, and a beginning accumulator value. The reducer function has three parameters: an accumulated value, an element of the array, and the index of that element. - -`reducei()` first calls the reducer function with the beginning value, the first element in the array, and zero (its index). The result becomes the new accumulator value, which is passed to the reducer function along with the second element in the array and one (its index). `reducei()` proceeds from left to right through the array, passing in the result of each stage as the accumulator to the reducer function. - -When all array elements are processed, the final value of the accumulator becomes the return value of `reducei()`. See [`Array.reduce`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce) on MDN. - -```res example -// find sum of even-index elements in array -let sumOfEvens = (accumulator, item, index) => - if mod(index, 2) == 0 { - accumulator + item - } else { - accumulator - } - -Js.Array2.reducei([2, 5, 1, 4, 3], sumOfEvens, 0) == 6 -``` - -## reduceRight - -```res sig -let reduceRight: (t<'a>, ('b, 'a) => 'b, 'b) => 'b -``` -The `reduceRight()` function takes three parameters: an array, a *reducer function*, and a beginning accumulator value. The reducer function has two parameters: an accumulated value and an element of the array. - -`reduceRight()` first calls the reducer function with the beginning value and the last element in the array. The result becomes the new accumulator value, which is passed in to the reducer function along with the next-to-last element in the array. `reduceRight()` proceeds from right to left through the array, passing in the result of each stage as the accumulator to the reducer function. - -When all array elements are processed, the final value of the accumulator becomes the return value of `reduceRight()`. See [`Array.reduceRight`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduceRight) on MDN. - -**NOTE:** In many cases, `reduce()` and `reduceRight()` give the same result. However, see the last example here and compare it to the example from `reduce()`, where order makes a difference. - -```res example -let sumOfSquares = (accumulator, item) => accumulator + item * item - -Js.Array2.reduceRight([10, 2, 4], sumOfSquares, 0) == 120 -Js.Array2.reduceRight([2.0, 4.0], (acc, item) => item /. acc, 1.0) == 0.5 // 2.0 / (4.0 / 1.0) -``` - -## reduceRighti - -```res sig -let reduceRighti: (t<'a>, ('b, 'a, int) => 'b, 'b) => 'b -``` -The `reduceRighti()` function takes three parameters: an array, a *reducer function*, and a beginning accumulator value. The reducer function has three parameters: an accumulated value, an element of the array, and the index of that element. `reduceRighti()` first calls the reducer function with the beginning value, the last element in the array, and its index (length of array minus one). The result becomes the new accumulator value, which is passed in to the reducer function along with the second element in the array and one (its index). `reduceRighti()` proceeds from right to left through the array, passing in the result of each stage as the accumulator to the reducer function. - -When all array elements are processed, the final value of the accumulator becomes the return value of `reduceRighti()`. See [`Array.reduceRight`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduceRight) on MDN. - -**NOTE:** In many cases, `reducei()` and `reduceRighti()` give the same result. However, there are cases where the order in which items are processed makes a difference. - -```res example -// find sum of even-index elements in array -let sumOfEvens = (accumulator, item, index) => - if mod(index, 2) == 0 { - accumulator + item - } else { - accumulator - } - -Js.Array2.reduceRighti([2, 5, 1, 4, 3], sumOfEvens, 0) == 6 -``` - -## some - -```res sig -let some: (t<'a>, 'a => bool) => bool -``` -Returns `true` if the predicate function given as the second argument to `some()` returns `true` for any element in the array; `false` otherwise. - -```res example -let isEven = x => mod(x, 2) == 0 - -Js.Array2.some([3, 7, 5, 2, 9], isEven) == true -Js.Array2.some([3, 7, 5, 1, 9], isEven) == false -``` - -## somei - -```res sig -let somei: (t<'a>, ('a, int) => bool) => bool -``` -Returns `true` if the predicate function given as the second argument to `somei()` returns `true` for any element in the array; `false` otherwise. The predicate function has two arguments: an item from the array and the index value - -```res example -// Does any string in the array -// have the same length as its index? - -let sameLength = (str, index) => Js.String.length(str) == index - -// "ef" has length 2 and is it at index 2 -Js.Array2.somei(["ab", "cd", "ef", "gh"], sameLength) == true -// no item has the same length as its index -Js.Array2.somei(["a", "bc", "def", "gh"], sameLength) == false -``` - -## unsafe_get - -```res sig -let unsafe_get: (array<'a>, int) => 'a -``` -Returns the value at the given position in the array if the position is in bounds; returns the JavaScript value `undefined` otherwise. - -```res example -let arr = [100, 101, 102, 103] -Js.Array2.unsafe_get(arr, 3) == 103 -Js.Array2.unsafe_get(arr, 4) // returns undefined -``` - -## unsafe_set - -```res sig -let unsafe_set: (array<'a>, int, 'a) => unit -``` -Sets the value at the given position in the array if the position is in bounds. If the index is out of bounds, well, “here there be dragons.“ *This function modifies the original array.* - -```res example -let arr = [100, 101, 102, 103] -Js.Array2.unsafe_set(arr, 3, 99) -// result is [100, 101, 102, 99]; - -Js.Array2.unsafe_set(arr, 4, 88) -// result is [100, 101, 102, 99, 88] - -Js.Array2.unsafe_set(arr, 6, 77) -// result is [100, 101, 102, 99, 88, <1 empty item>, 77] - -Js.Array2.unsafe_set(arr, -1, 66) -// you don't want to know. -``` diff --git a/pages/docs/manual/latest/api/js/array.mdx b/pages/docs/manual/latest/api/js/array.mdx deleted file mode 100644 index 1ed2abb75..000000000 --- a/pages/docs/manual/latest/api/js/array.mdx +++ /dev/null @@ -1,926 +0,0 @@ -# Array - - - -Provides bindings to JavaScript’s `Array` functions. These bindings are optimized for pipe-last (`|>`), where the array to be processed is the last parameter in the function. - -Here is an example to find the sum of squares of all even numbers in an array. -Without pipe last, we must call the functions in reverse order: - -```res example -let isEven = x => mod(x, 2) == 0 -let square = x => x * x -let result = { - open Js.Array - reduce(\"+", 0, map(square, filter(isEven, [5, 2, 3, 4, 1]))) -} -``` - -With pipe last, we call the functions in the “natural” order: - -```res example -let isEven = x => mod(x, 2) == 0 -let square = x => x * x -let result = { - open Js.Array - [5, 2, 3, 4, 1] |> filter(isEven) |> map(square) |> reduce(\"+", 0) -} -``` - - - -## t - -```res prelude -type t<'a> = array<'a> -``` - -The type used to describe a JavaScript array. - -## array_like - -```res prelude -type array_like<'a> = Js_array2.array_like<'a> -``` - -A type used to describe JavaScript objects that are like an array or are iterable. - -## from - -```res sig -let from: array_like<'a> => array<'a> -``` - -Creates a shallow copy of an array from an array-like object. See [`Array.from`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/from) on MDN. - -```res example -let strArr = Js.String.castToArrayLike("abcd") -Js.Array.from(strArr) == ["a", "b", "c", "d"] -``` - -## fromMap - -```res sig -let fromMap: (array_like<'a>, 'a => 'b) => array<'b> -``` - -Creates a new array by applying a function (the second argument) to each item in the `array_like` first argument. See [`Array.from`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/from) on MDN. - -```res example -let strArr = Js.String.castToArrayLike("abcd") -let code = s => Js.String.charCodeAt(0, s) -Js.Array.fromMap(strArr, code) == [97.0, 98.0, 99.0, 100.0] -``` - -## isArray - -```res sig -let isArray: 'a => bool -``` - -Returns `true` if its argument is an array; `false` otherwise. This is a runtime check, which is why the second example returns `true`---a list is internally represented as a nested JavaScript array. - -```res example -Js.Array.isArray([5, 2, 3, 1, 4]) == true -Js.Array.isArray(list{5, 2, 3, 1, 4}) == true -Js.Array.isArray("abcd") == false -``` - -## length - -```res sig -let length: array<'a> => int -``` - -Returns the number of elements in the array. See [`Array.length`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/length) on MDN. - -## copyWithin - -```res sig -let copyWithin: (~to_: int, t<'a>) => t<'a> -``` - -Copies from the first element in the given array to the designated `~to_` position, returning the resulting array. *This function modifies the original array.* See [`Array.copyWithin`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/copyWithin) on MDN. - -```res example -let arr = [100, 101, 102, 103, 104] -Js.Array.copyWithin(~to_=2, arr) == [100, 101, 100, 101, 102] -arr == [100, 101, 100, 101, 102] -``` - -## copyWithinFrom - -```res sig -let copyWithinFrom: (~to_: int, ~from: int, t<'a>) => t<'a> -``` - -Copies starting at element `~from` in the given array to the designated `~to_` position, returning the resulting array. *This function modifies the original array.* See [`Array.copyWithin`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/copyWithin) on MDN. - -```res example -let arr = [100, 101, 102, 103, 104] -Js.Array.copyWithinFrom(~from=2, ~to_=0, arr) == [102, 103, 104, 103, 104] -arr == [102, 103, 104, 103, 104] -``` - -## copyWithinFromRange - -```res sig -let copyWithinFromRange: (~to_: int, ~start: int, ~end_: int, t<'a>) => t<'a> -``` - -Copies starting at element `~start` in the given array up to but not including `~end_` to the designated `~to_` position, returning the resulting array. *This function modifies the original array.* See [`Array.copyWithin`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/copyWithin) on MDN. - -```res example -let arr = [100, 101, 102, 103, 104, 105] -Js.Array.copyWithinFromRange(~start=2, ~end_=5, ~to_=1, arr) == [100, 102, 103, 104, 104, 105] -arr == [100, 102, 103, 104, 104, 105] -``` - -## fillInPlace - -```res sig -let fillInPlace: ('a, t<'a>) => t<'a> -``` -Sets all elements of the given array (the second arumgent) to the designated value (the first argument), returning the resulting array. *This function modifies the original array.* See [`Array.fill`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/fill) on MDN. - -```res example -let arr = [100, 101, 102, 103, 104] -Js.Array.fillInPlace(99, arr) == [99, 99, 99, 99, 99] -arr == [99, 99, 99, 99, 99] -``` - -## fillFromInPlace - -```res sig -let fillFromInPlace: ('a, ~from: int, t<'a>) => t<'a> -``` -Sets all elements of the given array (the last arumgent) from position `~from` to the end to the designated value (the first argument), returning the resulting array. *This function modifies the original array.* See [`Array.fill`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/fill) on MDN. - -```res example -let arr = [100, 101, 102, 103, 104] -Js.Array.fillFromInPlace(99, ~from=2, arr) == [100, 101, 99, 99, 99] -arr == [100, 101, 99, 99, 99] -``` - -## fillRangeInPlace - -```res sig -let fillRangeInPlace: ('a, ~start: int, ~end_: int, t<'a>) => t<'a> -``` - -Sets the elements of the given array (the last arumgent) from position `~start` up to but not including position `~end_` to the designated value (the first argument), returning the resulting array. *This function modifies the original array.* See [`Array.fill`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/fill) on MDN. - -```res example -let arr = [100, 101, 102, 103, 104] -Js.Array.fillRangeInPlace(99, ~start=1, ~end_=4, arr) == [100, 99, 99, 99, 104] -arr == [100, 99, 99, 99, 104] -``` - -## pop - -```res sig -let pop: t<'a> => option<'a> -``` - -If the array is not empty, removes the last element and returns it as `Some(value)`; returns `None` if the array is empty. *This function modifies the original array.* See [`Array.pop`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/pop) on MDN. - -```res example -let arr = [100, 101, 102, 103, 104] -Js.Array.pop(arr) == Some(104) -arr == [100, 101, 102, 103] - -let empty: array = [] -Js.Array.pop(empty) == None -``` - -## push - -```res sig -let push: ('a, t<'a>) => int -``` - -Appends the given value to the array, returning the number of elements in the updated array. *This function modifies the original array.* See [`Array.push`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/push) on MDN. - -```res example -let arr = ["ant", "bee", "cat"] -Js.Array.push("dog", arr) == 4 -arr == ["ant", "bee", "cat", "dog"] -``` - -## pushMany - -```res sig -let pushMany: (array<'a>, t<'a>) => int -``` - -Appends the values from one array (the first argument) to another (the second argument), returning the number of elements in the updated array. *This function modifies the original array.* See [`Array.push`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/push) on MDN. - -```res example -let arr = ["ant", "bee", "cat"] -Js.Array.pushMany(["dog", "elk"], arr) == 5 -arr == ["ant", "bee", "cat", "dog", "elk"] -``` - -## reverseInPlace - -```res sig -let reverseInPlace: t<'a> => t<'a> -``` - -Returns an array with the elements of the input array in reverse order. *This function modifies the original array.* See [`Array.reverse`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reverse) on MDN. - -```res example -let arr = ["ant", "bee", "cat"] -Js.Array.reverseInPlace(arr) == ["cat", "bee", "ant"] -arr == ["cat", "bee", "ant"] -``` - -## shift - -```res sig -let shift: t<'a> => option<'a> -``` -If the array is not empty, removes the first element and returns it as `Some(value)`; returns `None` if the array is empty. *This function modifies the original array.* See [`Array.shift`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/shift) on MDN. - -```res example -let arr = [100, 101, 102, 103, 104] -Js.Array.shift(arr) == Some(100) -arr == [101, 102, 103, 104] - -let empty: array = [] -Js.Array.shift(empty) == None -``` -## sortInPlace - -```res sig -let sortInPlace: t<'a> => t<'a> -``` - -Sorts the given array in place and returns the sorted array. JavaScript sorts the array by converting the arguments to UTF-16 strings and sorting them. See the second example with sorting numbers, which does not do a numeric sort. *This function modifies the original array.* See [`Array.sort`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort) on MDN. - -```res example -let words = ["bee", "dog", "ant", "cat"] -Js.Array.sortInPlace(words) == ["ant", "bee", "cat", "dog"] -words == ["ant", "bee", "cat", "dog"] - -let numbers = [3, 30, 10, 1, 20, 2] -Js.Array.sortInPlace(numbers) == [1, 10, 2, 20, 3, 30] -numbers == [1, 10, 2, 20, 3, 30] -``` - -## sortInPlaceWith - -```res sig -let sortInPlaceWith: (('a, 'a) => int, t<'a>) => t<'a> -``` - -Sorts the given array in place and returns the sorted array. *This function modifies the original array.* - -The first argument to `sortInPlaceWith()` is a function that compares two items from the array and returns: - -* an integer less than zero if the first item is less than the second item -* zero if the items are equal -* an integer greater than zero if the first item is greater than the second item - -See [`Array.sort`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort) on MDN. - -```res example -// sort by word length -let words = ["horse", "aardvark", "dog", "camel"] -let byLength = (s1, s2) => Js.String.length(s1) - Js.String.length(s2) - -Js.Array.sortInPlaceWith(byLength, words) == ["dog", "horse", "camel", "aardvark"] - -// sort in reverse numeric order -let numbers = [3, 30, 10, 1, 20, 2] -let reverseNumeric = (n1, n2) => n2 - n1 -Js.Array.sortInPlaceWith(reverseNumeric, numbers) == [30, 20, 10, 3, 2, 1] -``` - -## spliceInPlace - -```res sig -let spliceInPlace: (~pos: int, ~remove: int, ~add: array<'a>, t<'a>) => t<'a> -``` - -Starting at position `~pos`, remove `~remove` elements and then add the elements from the `~add` array. Returns an array consisting of the removed items. *This function modifies the original array.* See [`Array.splice`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/splice) on MDN. - -```res example -let arr = ["a", "b", "c", "d", "e", "f"] -Js.Array.spliceInPlace(~pos=2, ~remove=2, ~add=["x", "y", "z"], arr) == ["c", "d"] -arr == ["a", "b", "x", "y", "z", "e", "f"] - -let arr2 = ["a", "b", "c", "d"] -Js.Array.spliceInPlace(~pos=3, ~remove=0, ~add=["x", "y"], arr2) == [] -arr2 == ["a", "b", "c", "x", "y", "d"] - -let arr3 = ["a", "b", "c", "d", "e", "f"] -Js.Array.spliceInPlace(~pos=9, ~remove=2, ~add=["x", "y", "z"], arr3) == [] -arr3 == ["a", "b", "c", "d", "e", "f", "x", "y", "z"] -``` - -## removeFromInPlace - -```res sig -let removeFromInPlace: (~pos: int, t<'a>) => t<'a> -``` - -Removes elements from the given array starting at position `~pos` to the end of the array, returning the removed elements. *This function modifies the original array.* See [`Array.splice`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/splice) on MDN. - -```res example -let arr = ["a", "b", "c", "d", "e", "f"] -Js.Array.removeFromInPlace(~pos=4, arr) == ["e", "f"] -arr == ["a", "b", "c", "d"] -``` - -## removeCountInPlace - -```res sig -let removeCountInPlace: (~pos: int, ~count: int, t<'a>) => t<'a> -``` - -Removes `~count` elements from the given array starting at position `~pos`, returning the removed elements. *This function modifies the original array.* See [`Array.splice`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/splice) on MDN. - -```res example -let arr = ["a", "b", "c", "d", "e", "f"] -Js.Array.removeCountInPlace(~pos=2, ~count=3, arr) == ["c", "d", "e"] -arr == ["a", "b", "f"] -``` - -## unshift - -```res sig -let unshift: ('a, t<'a>) => int -``` - -Adds the given element to the array, returning the new number of elements in the array. *This function modifies the original array.* See [`Array.unshift`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/unshift) on MDN. - -```res example -let arr = ["b", "c", "d"] -Js.Array.unshift("a", arr) == 4 -arr == ["a", "b", "c", "d"] -``` - -## unshiftMany - -```res sig -let unshiftMany: (array<'a>, t<'a>) => int -``` - -Adds the elements in the first array argument at the beginning of the second array argument, returning the new number of elements in the array. *This function modifies the original array.* See [`Array.unshift`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/unshift) on MDN. - -```res example -let arr = ["d", "e"] -Js.Array.unshiftMany(["a", "b", "c"], arr) == 5 -arr == ["a", "b", "c", "d", "e"] -``` - -## append - -```res sig -let append: ('a, t<'a>) => t<'a> -``` - -Deprecated. `append()` is not type-safe. Use `concat()` instead. - -## concat - -```res sig -let concat: (t<'a>, t<'a>) => t<'a> -``` - -Concatenates the first array argument to the second array argument, returning a new array. The original arrays are not modified. See [`Array.concat`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/concat) on MDN. - -```res example -Js.Array.concat(["c", "d", "e"], ["a", "b"]) == ["a", "b", "c", "d", "e"] -``` - -## concatMany - -```res sig -let concatMany: (array>, t<'a>) => t<'a> -``` - -The first argument to `concatMany()` is an array of arrays; these are added at the end of the second argument, returning a new array. See [`Array.concat`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/concat) on MDN. - -```res example -Js.Array.concatMany([["d", "e"], ["f", "g", "h"]], ["a", "b", "c"]) == [ - "a", - "b", - "c", - "d", - "e", - "f", - "g", - "h", - ] -``` - -## includes - -```res sig -let includes: ('a, t<'a>) => bool -``` - -Returns true if the given value is in the array, `false` otherwise. See [`Array.includes`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/includes) on MDN. - -```res example -Js.Array.includes("b", ["a", "b", "c"]) == true -Js.Array.includes("x", ["a", "b", "c"]) == false -``` - -## indexOf - -```res sig -let indexOf: ('a, t<'a>) => int -``` -Returns the index of the first element in the array that has the given value. If the value is not in the array, returns -1. See [`Array.indexOf`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf) on MDN. - -```res example -Js.Array.indexOf(102, [100, 101, 102, 103]) == 2 -Js.Array.indexOf(999, [100, 101, 102, 103]) == -1 -``` - -## indexOfFrom - -```res sig -let indexOfFrom: ('a, ~from: int, t<'a>) => int -``` - -Returns the index of the first element in the array with the given value. The search starts -at position `~from`. See [`Array.indexOf`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf) on MDN. - -```res example -Js.Array.indexOfFrom("a", ~from=2, ["a", "b", "a", "c", "a"]) == 2 -Js.Array.indexOfFrom("a", ~from=3, ["a", "b", "a", "c", "a"]) == 4 -Js.Array.indexOfFrom("b", ~from=2, ["a", "b", "a", "c", "a"]) == -1 -``` - -## join - -```res sig -let join: t<'a> => string -``` -Deprecated. Use `joinWith` instead. - -## joinWith - -```res sig -let joinWith: (string, t<'a>) => string -``` -This function converts each element of the array to a string (via JavaScript) and concatenates them, separated by the string given in the first argument, into a single string. See [`Array.join`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/join) on MDN. - -```res example -Js.Array.joinWith("--", ["ant", "bee", "cat"]) == "ant--bee--cat" -Js.Array.joinWith("", ["door", "bell"]) == "doorbell" -Js.Array.joinWith("/", [2020, 9, 4]) == "2020/9/4" -Js.Array.joinWith(";", [2.5, 3.6, 3e-2]) == "2.5;3.6;0.03" -``` - -## lastIndexOf - -```res sig -let lastIndexOf: ('a, t<'a>) => int -``` - -Returns the index of the last element in the array that has the given value. If the value is not in the array, returns -1. See [`Array.lastIndexOf`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/lastIndexOf) on MDN. - -```res example -Js.Array.lastIndexOf("a", ["a", "b", "a", "c"]) == 2 -Js.Array.lastIndexOf("x", ["a", "b", "a", "c"]) == -1 -``` - -## lastIndexOfFrom - -```res sig -let lastIndexOfFrom: ('a, ~from: int, t<'a>) => int -``` - -Returns the index of the last element in the array that has the given value, searching from position `~from` down to the start of the array. If the value is not in the array, returns -1. See [`Array.lastIndexOf`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/lastIndexOf) on MDN. - -```res example -Js.Array.lastIndexOfFrom("a", ~from=3, ["a", "b", "a", "c", "a", "d"]) == 2 -Js.Array.lastIndexOfFrom("c", ~from=2, ["a", "b", "a", "c", "a", "d"]) == -1 -``` - -## lastIndexOf_start - -```res sig -let lastIndexOf_start: ('a, t<'a>) => int -``` - -Deprecated. Please use `lastIndexOf`. - -## slice - -```res sig -let slice: (~start: int, ~end_: int, t<'a>) => t<'a> -``` - -Returns a shallow copy of the given array from the `~start` index up to but not including the `~end_` position. Negative numbers indicate an offset from the end of the array. See [`Array.slice`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/slice) on MDN. - -```res example -let arr = [100, 101, 102, 103, 104, 105, 106] -Js.Array.slice(~start=2, ~end_=5, arr) == [102, 103, 104] -Js.Array.slice(~start=-3, ~end_=-1, arr) == [104, 105] -Js.Array.slice(~start=9, ~end_=10, arr) == [] -``` - -## copy - -```res sig -let copy: t<'a> => t<'a> -``` - -Returns a copy of the entire array. Same as `Js.Array.Slice(~start=0, ~end_=Js.Array.length(arr), arr)`. See [`Array.slice`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/slice) on MDN. - -## slice_copy - -```res sig -let slice_copy: (unit, t<'a>) => t<'a> -``` - -Deprecated. Please use `copy`. - -## sliceFrom - -```res sig -let sliceFrom: (int, t<'a>) => t<'a> -``` - -Returns a shallow copy of the given array from the given index to the end. See [`Array.slice`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/slice) on MDN. - -```res example -Js.Array.sliceFrom(2, [100, 101, 102, 103, 104]) == [102, 103, 104] -``` - -## slice_start - -```res sig -let slice_start: (int, t<'a>) => t<'a> -``` - -Deprecated. Please `sliceFrom`. - -## toString - -```res sig -let toString: t<'a> => string -``` - -Converts the array to a string. Each element is converted to a string using JavaScript. Unlike the JavaScript `Array.toString()`, all elements in a ReasonML array must have the same type. See [`Array.toString`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/toString) on MDN. - -```res example -Js.Array.toString([3.5, 4.6, 7.8]) == "3.5,4.6,7.8" -Js.Array.toString(["a", "b", "c"]) == "a,b,c" -``` - -## toLocaleString - -```res sig -let toLocaleString: t<'a> => string -``` - -Converts the array to a string using the conventions of the current locale. Each element is converted to a string using JavaScript. Unlike the JavaScript `Array.toLocaleString()`, all elements in a ReasonML array must have the same type. See [`Array.toLocaleString`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/toLocaleString) on MDN. - -```res example -Js.Array.toLocaleString([Js.Date.make()]) -// returns "3/19/2020, 10:52:11 AM" for locale en_US.utf8 -// returns "2020-3-19 10:52:11" for locale de_DE.utf8 -``` - -## every - -```res sig -let every: ('a => bool, t<'a>) => bool -``` - -The first argument to `every()` is a predicate function that returns a boolean. The `every()` function returns `true` if the predicate function is true for all items in the given array. If given an empty array, returns `true`. See [`Array.every`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/every) on MDN. - -```res example -let isEven = x => mod(x, 2) == 0 -Js.Array.every(isEven, [6, 22, 8, 4]) == true -Js.Array.every(isEven, [6, 22, 7, 4]) == false -``` - -## everyi - -```res sig -let everyi: (('a, int) => bool, t<'a>) => bool -``` - -The first argument to `everyi()` is a predicate function with two arguments: an array element and that element’s index; it returns a boolean. The `everyi()` function returns `true` if the predicate function is true for all items in the given array. If given an empty array, returns `true`. See [`Array.every`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/every) on MDN. - -```res example -// determine if all even-index items are positive -let evenIndexPositive = (item, index) => mod(index, 2) == 0 ? item > 0 : true - -Js.Array.everyi(evenIndexPositive, [6, -3, 5, 8]) == true -Js.Array.everyi(evenIndexPositive, [6, 3, -5, 8]) == false -``` - -## filter - -```res sig -let filter: ('a => bool, t<'a>) => t<'a> -``` - -Applies the given predicate function to each element in the array; the result is an array of those elements for which the predicate function returned `true`. See [`Array.filter`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter) on MDN. - -```res example -let nonEmpty = s => s != "" -Js.Array.filter(nonEmpty, ["abc", "", "", "def", "ghi"]) == ["abc", "def", "ghi"] -``` - - -## filteri - -```res sig -let filteri: (('a, int) => bool, t<'a>) => t<'a> -``` - -Each element of the given array are passed to the predicate function. The return value is an array of all those elements for which the predicate function returned `true`. See [`Array.filter`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter) on MDN. - -```res example -// keep only positive elements at odd indices -let positiveOddElement = (item, index) => mod(index, 2) == 1 && item > 0 - -Js.Array.filteri(positiveOddElement, [6, 3, 5, 8, 7, -4, 1]) == [3, 8] -``` - -## find - -```res sig -let find: ('a => bool, t<'a>) => option<'a> -``` - -Returns `Some(value)` for the first element in the array that satisifies the given predicate function, or `None` if no element satisifies the predicate. See [`Array.find`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/find) on MDN. - -```res example -// find first negative element -Js.Array.find(x => x < 0, [33, 22, -55, 77, -44]) == Some(-55) -Js.Array.find(x => x < 0, [33, 22, 55, 77, 44]) == None -``` - -## findi - -```res sig -let findi: (('a, int) => bool, t<'a>) => option<'a> -``` - -Returns `Some(value)` for the first element in the array that satisifies the given predicate function, or `None` if no element satisifies the predicate. The predicate function takes an array element and an index as its parameters. See [`Array.find`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/find) on MDN. - -```res example -// find first positive item at an odd index -let positiveOddElement = (item, index) => mod(index, 2) == 1 && item > 0 - -Js.Array.findi(positiveOddElement, [66, -33, 55, 88, 22]) == Some(88) -Js.Array.findi(positiveOddElement, [66, -33, 55, -88, 22]) == None -``` - -## findIndex - -```res sig -let findIndex: ('a => bool, t<'a>) => int -``` - -Returns the index of the first element in the array that satisifies the given predicate function, or -1 if no element satisifies the predicate. See [`Array.find`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/find) on MDN. - -```res example -Js.Array.findIndex(x => x < 0, [33, 22, -55, 77, -44]) == 2 -Js.Array.findIndex(x => x < 0, [33, 22, 55, 77, 44]) == -1 -``` -## findIndexi - -```res sig -let findIndexi: (('a, int) => bool, t<'a>) => int -``` - -Returns `Some(value)` for the first element in the array that satisifies the given predicate function, or `None` if no element satisifies the predicate. The predicate function takes an array element and an index as its parameters. See [`Array.find`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/find) on MDN. - -```res example -// find index of first positive item at an odd index -let positiveOddElement = (item, index) => mod(index, 2) == 1 && item > 0 - -Js.Array.findIndexi(positiveOddElement, [66, -33, 55, 88, 22]) == 3 -Js.Array.findIndexi(positiveOddElement, [66, -33, 55, -88, 22]) == -1 -``` - -## forEach - -```res sig -let forEach: ('a => unit, t<'a>) => unit -``` - -The `forEach()` function applies the function given as the first argument to each element in the array. The function you provide returns `unit`, and the `forEach()` function also returns `unit`. You use `forEach()` when you need to process each element in the array but not return any new array or value; for example, to print the items in an array. See [`Array.forEach`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach) on MDN. - -```res example -// display all elements in an array -Js.Array.forEach(x => Js.log(x), ["a", "b", "c"]) == () -``` - -## forEachi - -```res sig -let forEachi: (('a, int) => unit, t<'a>) => unit -``` - -The `forEachi()` function applies the function given as the first argument to each element in the array. The function you provide takes an item in the array and its index number, and returns `unit`. The `forEachi()` function also returns `unit`. You use `forEachi()` when you need to process each element in the array but not return any new array or value; for example, to print the items in an array. See [`Array.forEach`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach) on MDN. - -```res example -// display all elements in an array as a numbered list -Js.Array.forEachi((item, index) => Js.log2(index + 1, item), ["a", "b", "c"]) == () -``` - -## map - -```res sig -let map: ('a => 'b, t<'a>) => t<'b> -``` - -Applies the function (given as the first argument) to each item in the array, returning a new array. The result array does not have to have elements of the same type as the input array. See [`Array.map`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map) on MDN. - -```res example -Js.Array.map(x => x * x, [12, 4, 8]) == [144, 16, 64] -Js.Array.map(Js.String.length, ["animal", "vegetable", "mineral"]) == [6, 9, 7] -``` - -## mapi - -```res sig -let mapi: (('a, int) => 'b, t<'a>) => t<'b> -``` - -Applies the function (given as the first argument) to each item in the array, returning a new array. The function acceps two arguments: an item from the array and its index number. The result array does not have to have elements of the same type as the input array. See [`Array.map`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map) on MDN. - -```res example -// multiply each item in array by its position -let product = (item, index) => item * index -Js.Array.mapi(product, [10, 11, 12]) == [0, 11, 24] -``` - -## reduce - -```res sig -let reduce: (('b, 'a) => 'b, 'b, t<'a>) => 'b -``` - -The `reduce()` function takes three parameters: a *reducer function*, a beginning accumulator value, and an array. The reducer function has two parameters: an accumulated value and an element of the array. - -`reduce()` first calls the reducer function with the beginning value and the first element in the array. The result becomes the new accumulator value, which is passed in to the reducer function along with the second element in the array. `reduce()` proceeds through the array, passing in the result of each stage as the accumulator to the reducer function. - -When all array elements are processed, the final value of the accumulator becomes the return value of `reduce()`. See [`Array.reduce`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce) on MDN. - -```res example -let sumOfSquares = (accumulator, item) => accumulator + item * item - -Js.Array.reduce(sumOfSquares, 0, [10, 2, 4]) == 120 -Js.Array.reduce(\"*", 1, [10, 2, 4]) == 80 -Js.Array.reduce( - (acc, item) => acc + Js.String.length(item), - 0, - ["animal", "vegetable", "mineral"], -) == 22 // 6 + 9 + 7 -Js.Array.reduce((acc, item) => item /. acc, 1.0, [2.0, 4.0]) == 2.0 // 4.0 / (2.0 / 1.0) -``` - -## reducei - -```res sig -let reducei: (('b, 'a, int) => 'b, 'b, t<'a>) => 'b -``` - -The `reducei()` function takes three parameters: a *reducer function*, a beginning accumulator value, and an array. The reducer function has three parameters: an accumulated value, an element of the array, and the index of that element. - -`reducei()` first calls the reducer function with the beginning value, the first element in the array, and zero (its index). The result becomes the new accumulator value, which is passed to the reducer function along with the second element in the array and one (its index). `reducei()` proceeds from left to right through the array, passing in the result of each stage as the accumulator to the reducer function. - -When all array elements are processed, the final value of the accumulator becomes the return value of `reducei()`. See [`Array.reduce`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce) on MDN. - -```res example -// find sum of even-index elements in array -let sumOfEvens = (accumulator, item, index) => - if mod(index, 2) == 0 { - accumulator + item - } else { - accumulator - } - -Js.Array.reducei(sumOfEvens, 0, [2, 5, 1, 4, 3]) == 6 -``` - -## reduceRight - -```res sig -let reduceRight: (('b, 'a) => 'b, 'b, t<'a>) => 'b -``` - -The `reduceRight()` function takes three parameters: a *reducer function*, a beginning accumulator value, and an array. The reducer function has two parameters: an accumulated value and an element of the array. - -`reduceRight()` first calls the reducer function with the beginning value and the last element in the array. The result becomes the new accumulator value, which is passed in to the reducer function along with the next-to-last element in the array. `reduceRight()` proceeds from right to left through the array, passing in the result of each stage as the accumulator to the reducer function. - -When all array elements are processed, the final value of the accumulator becomes the return value of `reduceRight()`. See [`Array.reduceRight`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduceRight) on MDN. - -**NOTE:** In many cases, `reduce()` and `reduceRight()` give the same result. However, see the last example here and compare it to the example from `reduce()`, where order makes a difference. - -```res example -let sumOfSquares = (accumulator, item) => accumulator + item * item - -Js.Array.reduceRight(sumOfSquares, 0, [10, 2, 4]) == 120 -Js.Array.reduceRight((acc, item) => item /. acc, 1.0, [2.0, 4.0]) == 0.5 // 2.0 / (4.0 / 1.0) -``` - -## reduceRighti - -```res sig -let reduceRighti: (('b, 'a, int) => 'b, 'b, t<'a>) => 'b -``` - -The `reduceRighti()` function takes three parameters: a *reducer function*, a beginning accumulator value, and an array. The reducer function has three parameters: an accumulated value, an element of the array, and the index of that element. `reduceRighti()` first calls the reducer function with the beginning value, the last element in the array, and its index (length of array minus one). The result becomes the new accumulator value, which is passed in to the reducer function along with the second element in the array and one (its index). `reduceRighti()` proceeds from right to left through the array, passing in the result of each stage as the accumulator to the reducer function. - -When all array elements are processed, the final value of the accumulator becomes the return value of `reduceRighti()`. See [`Array.reduceRight`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduceRight) on MDN. - -**NOTE:** In many cases, `reducei()` and `reduceRighti()` give the same result. However, there are cases where the order in which items are processed makes a difference. - -```res example -// find sum of even-index elements in array -let sumOfEvens = (accumulator, item, index) => - if mod(index, 2) == 0 { - accumulator + item - } else { - accumulator - } - -Js.Array.reduceRighti(sumOfEvens, 0, [2, 5, 1, 4, 3]) == 6 -``` - -## some - -```res sig -let some: ('a => bool, t<'a>) => bool -``` - -Returns `true` if the predicate function given as the first argument to `some()` returns `true` for any element in the array; `false` otherwise. - -```res example -let isEven = x => mod(x, 2) == 0 - -Js.Array.some(isEven, [3, 7, 5, 2, 9]) == true -Js.Array.some(isEven, [3, 7, 5, 1, 9]) == false -``` - -## somei - -```res sig -let somei: (('a, int) => bool, t<'a>) => bool -``` - -Returns `true` if the predicate function given as the first argument to `somei()` returns `true` for any element in the array; `false` otherwise. The predicate function has two arguments: an item from the array and the index value - -```res example -// Does any string in the array -// have the same length as its index? - -let sameLength = (str, index) => Js.String.length(str) == index - -// "ef" has length 2 and is it at index 2 -Js.Array.somei(sameLength, ["ab", "cd", "ef", "gh"]) == true -// no item has the same length as its index -Js.Array.somei(sameLength, ["a", "bc", "def", "gh"]) == false -``` - -## unsafe_get - -```res sig -let unsafe_get: (array<'a>, int) => 'a -``` -Returns the value at the given position in the array if the position is in bounds; returns -the JavaScript value `undefined` otherwise. - -```res example -let arr = [100, 101, 102, 103] -Js.Array.unsafe_get(arr, 3) == 103 -Js.Array.unsafe_get(arr, 4) // returns undefined -``` - -## unsafe_set - -```res sig -let unsafe_set: (array<'a>, int, 'a) => unit -``` - -Sets the value at the given position in the array if the position is in bounds. If the index is out of bounds, well, “here there be dragons.“ *This function modifies the original array.* - -```res example -let arr = [100, 101, 102, 103] -Js.Array.unsafe_set(arr, 3, 99) -// result is [100, 101, 102, 99] - -Js.Array.unsafe_set(arr, 4, 88) -// result is [100, 101, 102, 99, 88] - -Js.Array.unsafe_set(arr, 6, 77) -// result is [100, 101, 102, 99, 88, <1 empty item>, 77] - -Js.Array.unsafe_set(arr, -1, 66) -// you don't want to know. -``` diff --git a/pages/docs/manual/latest/api/js/console.mdx b/pages/docs/manual/latest/api/js/console.mdx deleted file mode 100644 index f02bd576b..000000000 --- a/pages/docs/manual/latest/api/js/console.mdx +++ /dev/null @@ -1,114 +0,0 @@ -# Console - - - -Provide console (logging) utilities. - - - - -## log - -```res sig -let log: 'a => unit -``` - -```res sig -let log2: ('a, 'b) => unit -``` - -```res sig -let log3: ('a, 'b, 'c) => unit -``` - -```res sig -let log4: ('a, 'b, 'c, 'd) => unit -``` - -```res sig -let logMany: array<'a> => unit -``` - -## info - -```res sig -let info: 'a => unit -``` - -```res sig -let info2: ('a, 'b) => unit -``` - -```res sig -let info3: ('a, 'b, 'c) => unit -``` - -```res sig -let info4: ('a, 'b, 'c, 'd) => unit -``` - -```res sig -let infoMany: array<'a> => unit -``` - -## warn - -```res sig -let warn: 'a => unit -``` - -```res sig -let warn2: ('a, 'b) => unit -``` - -```res sig -let warn3: ('a, 'b, 'c) => unit -``` - -```res sig -let warn4: ('a, 'b, 'c, 'd) => unit -``` - -```res sig -let warnMany: array<'a> => unit -``` - -## error - -```res sig -let error: 'a => unit -``` - -```res sig -let error2: ('a, 'b) => unit -``` - -```res sig -let error3: ('a, 'b, 'c) => unit -``` - -```res sig -let error4: ('a, 'b, 'c, 'd) => unit -``` - -```res sig -let errorMany: array<'a> => unit -``` - -## trace - -```res sig -let trace: unit => unit -``` - -## timeStart - -```res sig -let timeStart: string => unit -``` - -## timeEnd - -```res sig -let timeEnd: string => unit -``` diff --git a/pages/docs/manual/latest/api/js/date.mdx b/pages/docs/manual/latest/api/js/date.mdx deleted file mode 100644 index 9212782d7..000000000 --- a/pages/docs/manual/latest/api/js/date.mdx +++ /dev/null @@ -1,1060 +0,0 @@ -# Date - - - -Provide bindings to JS date. (See [`Date`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date) on MDN.) JavaScript stores dates as the number of milliseconds since -the UNIX *epoch*, midnight 1 January 1970, UTC. - - -In these examples, we will be using this date: - -```res prelude -let exampleDate = Js.Date.fromFloat(123456654321.0) -``` - -which is Thu, 29 Nov 1973 21:30:54 GMT. There is no particular significance to this date. -The code used to access this date is running in the Europe/Austria time zone with the `en_US.utf8` locale. - -In all of these functions, month values are in the range 0-11, where January is month zero. - - -## t - -```res prelude -type t -``` - -## valueOf - -```res sig -let valueOf: t => float -``` -Returns the primitive value of this date, equivalent to `getTime()`. (See [`Date.valueOf`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/valueOf) on MDN.) - -```res example -Js.Date.valueOf(exampleDate) == 123456654321.0 -``` - -## make - -```res sig -let make: unit => t -``` -Returns a date representing the current time. See [`Date()` Constructor](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/Date) on MDN. - -```res example -let now = Js.Date.make() -``` - -## fromFloat - -```res sig -let fromFloat: float => t -``` - -Returns a date representing the given argument, which is a number of milliseconds since the epoch. See [`Date()` Constructor](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/Date) on MDN. - -```res example -Js.Date.fromFloat(123456654321.0) == exampleDate -``` - -## fromString - -```res sig -let fromString: string => t -``` - -Returns a `Js.Date.t` represented by the given string. The string can be in “IETF-compliant RFC 2822 timestamps, and also strings in a version of ISO8601.” Returns `NaN` if given an invalid date string. According to the [`Date()` Constructor](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/Date) documentation on MDN, its use is discouraged. - -```res example -Js.Date.fromString("Thu, 29 Nov 1973 21:30:54.321 GMT") == exampleDate -Js.Date.fromString("1973-11-29T21:30:54.321Z00:00") == exampleDate -Js.Date.fromString("Thor, 32 Lok -19 60:70:80 XYZ") // returns NaN -``` - -## makeWithYM - -```res sig -let makeWithYM: (~year: float, ~month: float, unit) => t -``` -Returns a date representing midnight of the first day of the given month and year in the current time zone. Fractional parts of arguments are ignored. See [`Date()` Constructor](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/Date) on MDN. - -```res example -let november1 = Js.Date.makeWithYM(~year=2020.0, ~month=10.0, ()) -``` - -## makeWithYMD - -```res sig -let makeWithYMD: (~year: float, ~month: float, ~date: float, unit) => t -``` -Returns a date representing midnight of the given date of the given month and year in the current time zone. Fractional parts of arguments are ignored. See [`Date()` Constructor](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/Date) on MDN. - -## makeWithYMDH - -```res sig -let makeWithYMDH: (~year: float, ~month: float, ~date: float, ~hours: float, unit) => t -``` -Returns a date representing the given date of the given month and year, at zero minutes and zero seconds past the given `hours`, in the current time zone. Fractional parts of arguments are ignored. See [`Date()` Constructor](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/Date) on MDN. Fractional parts of the arguments are ignored. - -## makeWithYMDHM - -```res sig -let makeWithYMDHM: ( - ~year: float, - ~month: float, - ~date: float, - ~hours: float, - ~minutes: float, - unit, -) => t -``` -Returns a date representing the given date of the given month and year, at zero seconds past the given time in hours and minutes in the current time zone. Fractional parts of arguments are ignored. See [`Date()` Constructor](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/Date) on MDN. - -## makeWithYMDHMS - -```res sig -let makeWithYMDHMS: ( - ~year: float, - ~month: float, - ~date: float, - ~hours: float, - ~minutes: float, - ~seconds: float, - unit, -) => t -``` -Returns a date representing the given date of the given month and year, at the given time in hours, minutes, and seconds in the current time zone. Fractional parts of arguments are ignored. See [`Date()` Constructor](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/Date) on MDN. - -```res example -Js.Date.makeWithYMDHMS( - ~year=1973.0, - ~month=11.0, - ~date=29.0, - ~hours=21.0, - ~minutes=30.0, - ~seconds=54.321, - (), -) == exampleDate -``` - -## utcWithYM - -```res sig -let utcWithYM: (~year: float, ~month: float, unit) => float -``` -Returns a float representing the number of milliseconds past the epoch for midnight of the first day of the given month and year in UTC. Fractional parts of arguments are ignored. See [`Date.UTC`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/UTC) on MDN. - -```res example -let november1 = Js.Date.utcWithYM(~year=2020.0, ~month=10.0, ()) -``` - -## utcWithYMD - -```res sig -let utcWithYMD: (~year: float, ~month: float, ~date: float, unit) => float -``` -Returns a float representing the number of milliseconds past the epoch for midnight of the given date of the given month and year in UTC. Fractional parts of arguments are ignored. See [`Date.UTC`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/UTC) on MDN. - -## utcWithYMDH - -```res sig -let utcWithYMDH: (~year: float, ~month: float, ~date: float, ~hours: float, unit) => float -``` -Returns a float representing the number of milliseconds past the epoch for midnight of the given date of the given month and year, at zero minutes and seconds past the given hours in UTC. Fractional parts of arguments are ignored. See [`Date.UTC`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/UTC) on MDN. - -## utcWithYMDHM - -```res sig -let utcWithYMDHM: ( - ~year: float, - ~month: float, - ~date: float, - ~hours: float, - ~minutes: float, - unit, -) => float -``` -Returns a float representing the number of milliseconds past the epoch for midnight of the given date of the given month and year, at zero seconds past the given number of minutes past the given hours in UTC. Fractional parts of arguments are ignored. See [`Date.UTC`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/UTC) on MDN. - -## utcWithYMDHMS - -```res sig -let utcWithYMDHMS: ( - ~year: float, - ~month: float, - ~date: float, - ~hours: float, - ~minutes: float, - ~seconds: float, - unit, -) => float -``` -Returns a float representing the number of milliseconds past the epoch for midnight of the given date of the given month and year, at the given time in hours, minutes and seconds in UTC. Fractional parts of arguments are ignored. See [`Date.UTC`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/UTC) on MDN. - -## now - -```res sig -let now: unit => float -``` -Returns the current time as number of milliseconds since Unix epoch. - -## parse - -```res sig -let parse: string => t -``` -Deprecated. Use [`fromString()`](#fromstring). - -## parseAsFloat - -```res sig -let parseAsFloat: string => float -``` -Returns a float with the number of milliseconds past the epoch represented by the given string. The string can be in “IETF-compliant RFC 2822 timestamps, and also strings in a version of ISO8601.” Returns `NaN` if given an invalid date string. According to the [`Date.parse`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/parse) documentation on MDN, its use is discouraged. Returns `NaN` if passed invalid date string. - -## getDate - -```res sig -let getDate: t => float -``` -Returns the day of the month for its argument. The argument is evaluated in the current time zone. See [`Date.getDate`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getDate) on MDN. - -```res example -Js.Date.getDate(exampleDate) == 29.0 -``` - -## getDay - -```res sig -let getDay: t => float -``` -Returns the day of the week (0.0-6.0) for its argument, where 0.0 represents Sunday. The argument is evaluated in the current time zone. See [`Date.getDay`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getDay) on MDN. - -```res example -Js.Date.getDay(exampleDate) == 4.0 -``` - -## getFullYear - -```res sig -let getFullYear: t => float -``` -Returns the full year (as opposed to the range 0-99) for its argument. The argument is evaluated in the current time zone. See [`Date.getFullYear`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getFullYear) on MDN. - -```res example -Js.Date.getFullYear(exampleDate) == 1973.0 -``` - -## getHours - -```res sig -let getHours: t => float -``` -Returns the hours for its argument, evaluated in the current time zone. See [`Date.getHours`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getHours) on MDN. - -```res example -Js.Date.getHours(exampleDate) == 22.0 // Vienna is in GMT+01:00 -``` - -## getMilliseconds - -```res sig -let getMilliseconds: t => float -``` -Returns the number of milliseconds for its argument, evaluated in the current time zone. See [`Date.getMilliseconds`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getMilliseconds) on MDN. - -```res example -Js.Date.getMilliseconds(exampleDate) == 321.0 -``` - -## getMinutes - -```res sig -let getMinutes: t => float -``` -Returns the number of minutes for its argument, evaluated in the current time zone. See [`Date.getMinutes`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getMinutes) on MDN. - -```res example -Js.Date.getMinutes(exampleDate) == 30.0 -``` - -## getMonth - -```res sig -let getMonth: t => float -``` -Returns the month (0.0-11.0) for its argument, evaluated in the current time zone. January is month zero. See [`Date.getMonth`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getMonth) on MDN. - -```res example -Js.Date.getMonth(exampleDate) == 10.0 -``` - -## getSeconds - -```res sig -let getSeconds: t => float -``` -Returns the seconds for its argument, evaluated in the current time zone. See [`Date.getSeconds`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getSeconds) on MDN. - -```res example -Js.Date.getSeconds(exampleDate) == 54.0 -``` - -## getTime - -```res sig -let getTime: t => float -``` -Returns the number of milliseconds since Unix epoch, evaluated in UTC. See [`Date.getTime`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getTime) on MDN. - -```res example -Js.Date.getTime(exampleDate) == 123456654321.0 -``` - -## getTimezoneOffset - -```res sig -let getTimezoneOffset: t => float -``` - -Returns the time zone offset in minutes from the current time zone to UTC. See [`Date.getTimezoneOffset`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getTimezoneOffset) on MDN. - -```res example -Js.Date.getTimezoneOffset(exampleDate) == -60.0 -``` - -## getUTCDate - -```res sig -let getUTCDate: t => float -``` -Returns the day of the month of the argument, evaluated in UTC. See [`Date.getUTCDate`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCDate) on MDN. - -```res example -Js.Date.getUTCDate(exampleDate) == 29.0 -``` - -## getUTCDay - -```res sig -let getUTCDay: t => float -``` -Returns the day of the week of the argument, evaluated in UTC. The range of the return value is 0.0-6.0, where Sunday is zero. See [`Date.getUTCDay`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCDay) on MDN. - -```res example -Js.Date.getUTCDay(exampleDate) == 4.0 -``` - -## getUTCFullYear - -```res sig -let getUTCFullYear: t => float -``` -Returns the full year (as opposed to the range 0-99) for its argument. The argument is evaluated in UTC. See [`Date.getUTCFullYear`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCFullYear) on MDN. - -```res example -Js.Date.getUTCFullYear(exampleDate) == 1973.0 -``` - -## getUTCHours - -```res sig -let getUTCHours: t => float -``` -Returns the hours for its argument, evaluated in the current time zone. See [`Date.getUTCHours`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCHours) on MDN. - -```res example -Js.Date.getUTCHours(exampleDate) == 21.0 -``` - -## getUTCMilliseconds - -```res sig -let getUTCMilliseconds: t => float -``` -Returns the number of milliseconds for its argument, evaluated in UTC. See [`Date.getUTCMilliseconds`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCMilliseconds) on MDN. - -```res example -Js.Date.getUTCMilliseconds(exampleDate) == 321.0 -``` - -## getUTCMinutes - -```res sig -let getUTCMinutes: t => float -``` -Returns the number of minutes for its argument, evaluated in UTC. See [`Date.getUTCMinutes`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCMinutes) on MDN. - -```res example -Js.Date.getUTCMinutes(exampleDate) == 30.0 -``` - -## getUTCMonth - -```res sig -let getUTCMonth: t => float -``` -Returns the month (0.0-11.0) for its argument, evaluated in UTC. January is month zero. See [`Date.getUTCMonth`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCMonth) on MDN. - -```res example -Js.Date.getUTCMonth(exampleDate) == 10.0 -``` - -## getUTCSeconds - -```res sig -let getUTCSeconds: t => float -``` -Returns the seconds for its argument, evaluated in UTC. See [`Date.getUTCSeconds`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCSeconds) on MDN. - -```res example -Js.Date.getUTCSeconds(exampleDate) == 54.0 -``` - -## getYear - -```res sig -let getYear: t => float -``` -Deprecated. Use `getFullYear()` instead. - -## setDate - -```res sig -let setDate: (t, float) => float -``` -Sets the given `Date`’s day of month to the value in the second argument according to the current time zone. Returns the number of milliseconds since the epoch of the updated `Date`. *This function modifies the original `Date`.* See [`Date.setDate`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setDate) on MDN. - -```res example -let date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT -let twoWeeksBefore = Js.Date.setDate(date1, 15.0) -date1 == Js.Date.fromString("1973-11-15T21:30:54.321Z00:00") -twoWeeksBefore == Js.Date.getTime(date1) -``` - -## setFullYear - -```res sig -let setFullYear: (t, float) => float -``` -Sets the given `Date`’s year to the value in the second argument according to the current time zone. Returns the number of milliseconds since the epoch of the updated `Date`. *This function modifies the original `Date`.* See [`Date.setFullYear`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setFullYear) on MDN. - -```res example -let date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT -let nextYear = Js.Date.setFullYear(date1, 1974.0) -date1 == Js.Date.fromString("1974-11-15T21:30:54.321Z00:00") -nextYear == Js.Date.getTime(date1) -``` - -## setFullYearM - -```res sig -let setFullYearM: (t, ~year: float, ~month: float, unit) => float -``` - -Sets the given `Date`’s year and month to the values in the labeled arguments according to the current time zone. Returns the number of milliseconds since the epoch of the updated `Date`. *This function modifies the original `Date`.* See [`Date.setFullYear`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setFullYear) on MDN. - -```res example -let date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT -let future = Js.Date.setFullYearM(date1, ~year=1974.0, ~month=0.0, ()) -date1 == Js.Date.fromString("1974-01-22T21:30:54.321Z00:00") -future == Js.Date.getTime(date1) -``` - -## setFullYearMD - -```res sig -let setFullYearMD: (t, ~year: float, ~month: float, ~date: float, unit) => float -``` -Sets the given `Date`’s year, month, and day of month to the values in the labeled arguments according to the current time zone. Returns the number of milliseconds since the epoch of the updated `Date`. *This function modifies the original `Date`.* See [`Date.setFullYear`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setFullYear) on MDN. - -```res example -let date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT -let future = Js.Date.setFullYearMD(date1, ~year=1974.0, ~month=0.0, ~date=7.0, ()) -date1 == Js.Date.fromString("1974-01-07T21:30:54.321Z00:00") -future == Js.Date.getTime(date1) -``` - -## setHours - -```res sig -let setHours: (t, float) => float -``` -Sets the given `Date`’s hours to the value in the second argument according to the current time zone. Returns the number of milliseconds since the epoch of the updated `Date`. *This function modifies the original `Date`.* See [`Date.setHours`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setHours) on MDN. - -```res example -let date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT -let nextHour = Js.Date.setHours(date1, 22.0) -date1 == Js.Date.fromString("1973-11-29T22:30:54.321Z00:00") -nextHour == Js.Date.getTime(date1) -``` - -## setHoursM - -```res sig -let setHoursM: (t, ~hours: float, ~minutes: float, unit) => float -``` -Sets the given `Date`’s hours and minutes to the values in the labeled arguments according to the current time zone. Returns the number of milliseconds since the epoch of the updated `Date`. *This function modifies the original `Date`.* See [`Date.setHours`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setHours) on MDN. - -```res example -let date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT -let futureTime = Js.Date.setHoursM(date1, ~hours=22.0, ~minutes=46.0, ()) -date1 == Js.Date.fromString("1973-11-29T22:46:54.321Z00:00") -futureTime == Js.Date.getTime(date1) -``` - -## setHoursMS - -```res sig -let setHoursMS: (t, ~hours: float, ~minutes: float, ~seconds: float, unit) => float -``` -Sets the given `Date`’s hours, minutes, and seconds to the values in the labeled arguments according to the current time zone. Returns the number of milliseconds since the epoch of the updated `Date`. *This function modifies the original `Date`.* See [`Date.setHours`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setHours) on MDN. - -```res example -let date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT -let futureTime = Js.Date.setHoursMS(date1, ~hours=22.0, ~minutes=46.0, ~seconds=37.0, ()) -date1 == Js.Date.fromString("1973-11-29T22:46:37.321Z00:00") -futureTime == Js.Date.getTime(date1) -``` - -## setHoursMSMs - -```res sig -let setHoursMSMs: ( - t, - ~hours: float, - ~minutes: float, - ~seconds: float, - ~milliseconds: float, - unit, -) => float -``` -Sets the given `Date`’s hours, minutes, seconds, and milliseconds to the values in the labeled arguments according to the current time zone. Returns the number of milliseconds since the epoch of the updated `Date`. *This function modifies the original `Date`.* See [`Date.setHours`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setHours) on MDN. - -```res example -let date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT -let futureTime = Js.Date.setHoursMSMs( - date1, - ~hours=22.0, - ~minutes=46.0, - ~seconds=37.0, - ~milliseconds=494.0, - (), -) -date1 == Js.Date.fromString("1973-11-29T22:46:37.494Z00:00") -futureTime == Js.Date.getTime(date1) -``` - -## setMilliseconds - -```res sig -let setMilliseconds: (t, float) => float -``` -Sets the given `Date`’s milliseconds to the value in the second argument according to the current time zone. Returns the number of milliseconds since the epoch of the updated `Date`. *This function modifies the original `Date`.* See [`Date.setMilliseconds`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setMilliseconds) on MDN. - -```res example -let date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT -let futureTime = Js.Date.setMilliseconds(date1, 494.0) -date1 == Js.Date.fromString("1973-11-29T21:30:54.494Z00:00") -futureTime == Js.Date.getTime(date1) -``` - -## setMinutes - -```res sig -let setMinutes: (t, float) => float -``` -Sets the given `Date`’s minutes to the value in the second argument according to the current time zone. Returns the number of milliseconds since the epoch of the updated `Date`. *This function modifies the original `Date`.* See [`Date.setMinutes`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setMinutes) on MDN. - -```res example -let date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT -let futureTime = Js.Date.setMinutes(date1, 34.0) -date1 == Js.Date.fromString("1973-11-29T21:34:54.494Z00:00") -futureTime == Js.Date.getTime(date1) -``` - -## setMinutesS - -```res sig -let setMinutesS: (t, ~minutes: float, ~seconds: float, unit) => float -``` -Sets the given `Date`’s minutes and seconds to the values in the labeled arguments according to the current time zone. Returns the number of milliseconds since the epoch of the updated `Date`. *This function modifies the original `Date`.* See [`Date.setMinutes`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setMinutes) on MDN. - -```res example -let date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT -let futureTime = Js.Date.setMinutesS(date1, ~minutes=34.0, ~seconds=56.0, ()) -date1 == Js.Date.fromString("1973-11-29T21:34:56.494Z00:00") -futureTime == Js.Date.getTime(date1) -``` - -## setMinutesSMs - -```res sig -let setMinutesSMs: (t, ~minutes: float, ~seconds: float, ~milliseconds: float, unit) => float -``` -Sets the given `Date`’s minutes, seconds, and milliseconds to the values in the labeled arguments according to the current time zone. Returns the number of milliseconds since the epoch of the updated `Date`. *This function modifies the original `Date`.* See [`Date.setMinutes`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setMinutes) on MDN. - -```res example -let date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT -let futureTime = Js.Date.setMinutesSMs( - date1, - ~minutes=34.0, - ~seconds=56.0, - ~milliseconds=789.0, - (), -) -date1 == Js.Date.fromString("1973-11-29T21:34:56.789Z00:00") -futureTime == Js.Date.getTime(date1) -``` - -## setMonth - -```res sig -let setMonth: (t, float) => float -``` -Sets the given `Date`’s month to the value in the second argument according to the current time zone. Returns the number of milliseconds since the epoch of the updated `Date`. *This function modifies the original `Date`.* See [`Date.setMonth`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setMonth) on MDN. - -```res example -let date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT -let futureTime = Js.Date.setMonth(date1, 11.0) -date1 == Js.Date.fromString("1973-12-29T21:34:56.789Z00:00") -futureTime == Js.Date.getTime(date1) -``` - -## setMonthD - -```res sig -let setMonthD: (t, ~month: float, ~date: float, unit) => float -``` -Sets the given `Date`’s month and day of month to the values in the labeled arguments according to the current time zone. Returns the number of milliseconds since the epoch of the updated `Date`. *This function modifies the original `Date`.* See [`Date.setMonth`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setMonth) on MDN. - -```res example -let date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT -let futureTime = Js.Date.setMonthD(date1, ~month=11.0, ~date=8.0, ()) -date1 == Js.Date.fromString("1973-12-08T21:34:56.789Z00:00") -futureTime == Js.Date.getTime(date1) -``` - -## setSeconds - -```res sig -let setSeconds: (t, float) => float -``` -Sets the given `Date`’s seconds to the value in the second argument according to the current time zone. Returns the number of milliseconds since the epoch of the updated `Date`. *This function modifies the original `Date`.* See [`Date.setSeconds`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setSeconds) on MDN. - -```res example -let date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT -let futureTime = Js.Date.setSeconds(date1, 56.0) -date1 == Js.Date.fromString("1973-12-29T21:30:56.321Z00:00") -futureTime == Js.Date.getTime(date1) -``` - -## setSecondsMs - -```res sig -let setSecondsMs: (t, ~seconds: float, ~milliseconds: float, unit) => float -``` -Sets the given `Date`’s seconds and milliseconds to the values in the labeled arguments according to the current time zone. Returns the number of milliseconds since the epoch of the updated `Date`. *This function modifies the original `Date`.* See [`Date.setSeconds`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setSeconds) on MDN. - -```res example -let date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT -let futureTime = Js.Date.setSecondsMs(date1, ~seconds=56.0, ~milliseconds=789.0, ()) -date1 == Js.Date.fromString("1973-12-29T21:30:56.789Z00:00") -futureTime == Js.Date.getTime(date1) -``` - -## setTime - -```res sig -let setTime: (t, float) => float -``` -Sets the given `Date`’s value in terms of milliseconds since the epoch. Returns the number of milliseconds since the epoch of the updated `Date`. *This function modifies the original `Date`.* See [`Date.setTime`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setTime) on MDN. - -```res example -let date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT -let futureTime = Js.Date.setTime(date1, 198765432101.0) - -date1 == Js.Date.fromString("1976-04-19T12:37:12.101Z00:00") -futureTime == Js.Date.getTime(date1) -``` - -## setUTCDate - -```res sig -let setUTCDate: (t, float) => float -``` -Sets the given `Date`’s day of month to the value in the second argument according to UTC. Returns the number of milliseconds since the epoch of the updated `Date`. *This function modifies the original `Date`.* See [`Date.setUTCDate`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCDate) on MDN. - -```res example -let date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT -let twoWeeksBefore = Js.Date.setUTCDate(date1, 15.0) -date1 == Js.Date.fromString("1973-11-15T21:30:54.321Z00:00") -twoWeeksBefore == Js.Date.getTime(date1) -``` - -## setUTCFullYear - -```res sig -let setUTCFullYear: (t, float) => float -``` -Sets the given `Date`’s year to the value in the second argument according to UTC. Returns the number of milliseconds since the epoch of the updated `Date`. *This function modifies the original `Date`.* See [`Date.setUTCFullYear`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCFullYear) on MDN. - -```res example -let date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT -let nextYear = Js.Date.setUTCFullYear(date1, 1974.0) -date1 == Js.Date.fromString("1974-11-15T21:30:54.321Z00:00") -nextYear == Js.Date.getTime(date1) -``` - -## setUTCFullYearM - -```res sig -let setUTCFullYearM: (t, ~year: float, ~month: float, unit) => float -``` -Sets the given `Date`’s year and month to the values in the labeled arguments according to UTC. Returns the number of milliseconds since the epoch of the updated `Date`. *This function modifies the original `Date`.* See [`Date.setUTCFullYear`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCFullYear) on MDN. - -```res example -let date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT -let future = Js.Date.setUTCFullYearM(date1, ~year=1974.0, ~month=0.0, ()) -date1 == Js.Date.fromString("1974-01-22T21:30:54.321Z00:00") -future == Js.Date.getTime(date1) -``` - -## setUTCFullYearMD - -```res sig -let setUTCFullYearMD: (t, ~year: float, ~month: float, ~date: float, unit) => float -``` -Sets the given `Date`’s year, month, and day of month to the values in the labeled arguments according to UTC. Returns the number of milliseconds since the epoch of the updated `Date`. *This function modifies the original `Date`.* See [`Date.setUTCFullYear`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCFullYear) on MDN. - -```res example -let date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT -let future = Js.Date.setUTCFullYearMD(date1, ~year=1974.0, ~month=0.0, ~date=7.0, ()) -date1 == Js.Date.fromString("1974-01-07T21:30:54.321Z00:00") -future == Js.Date.getTime(date1) -``` - -## setUTCHours - -```res sig -let setUTCHours: (t, float) => float -``` -Sets the given `Date`’s hours to the value in the second argument according to UTC. Returns the number of milliseconds since the epoch of the updated `Date`. *This function modifies the original `Date`.* See [`Date.setUTCHours`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCHours) on MDN. - -```res example -let date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT -let nextHour = Js.Date.setUTCHours(date1, 22.0) -date1 == Js.Date.fromString("1973-11-29T22:30:54.321Z00:00") -nextHour == Js.Date.getTime(date1) -``` - -## setUTCHoursM - -```res sig -let setUTCHoursM: (t, ~hours: float, ~minutes: float, unit) => float -``` -Sets the given `Date`’s hours and minutes to the values in the labeled arguments according to UTC. Returns the number of milliseconds since the epoch of the updated `Date`. *This function modifies the original `Date`.* See [`Date.setUTCHours`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCHours) on MDN. - -```res example -let date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT -let futureTime = Js.Date.setUTCHoursM(date1, ~hours=22.0, ~minutes=46.0, ()) -date1 == Js.Date.fromString("1973-11-29T22:46:54.321Z00:00") -futureTime == Js.Date.getTime(date1) -``` - -## setUTCHoursMS - -```res sig -let setUTCHoursMS: (t, ~hours: float, ~minutes: float, ~seconds: float, unit) => float -``` -Sets the given `Date`’s hours, minutes, and seconds to the values in the labeled arguments according to UTC. Returns the number of milliseconds since the epoch of the updated `Date`. *This function modifies the original `Date`.* See [`Date.setUTCHours`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCHours) on MDN. - -```res example -let date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT -let futureTime = Js.Date.setUTCHoursMS(date1, ~hours=22.0, ~minutes=46.0, ~seconds=37.0, ()) -date1 == Js.Date.fromString("1973-11-29T22:46:37.321Z00:00") -futureTime == Js.Date.getTime(date1) -``` - -## setUTCHoursMSMs - -```res sig -let setUTCHoursMSMs: ( - t, - ~hours: float, - ~minutes: float, - ~seconds: float, - ~milliseconds: float, - unit, -) => float -``` -Sets the given `Date`’s hours, minutes, seconds, and milliseconds to the values in the labeled arguments according to UTC. Returns the number of milliseconds since the epoch of the updated `Date`. *This function modifies the original `Date`.* See [`Date.setUTCHours`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCHours) on MDN. - -```res example -let date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT -let futureTime = Js.Date.setUTCHoursMSMs( - date1, - ~hours=22.0, - ~minutes=46.0, - ~seconds=37.0, - ~milliseconds=494.0, - (), -) -date1 == Js.Date.fromString("1973-11-29T22:46:37.494Z00:00") -futureTime == Js.Date.getTime(date1) -``` - -## setUTCMilliseconds - -```res sig -let setUTCMilliseconds: (t, float) => float -``` -Sets the given `Date`’s milliseconds to the value in the second argument according to UTC. Returns the number of milliseconds since the epoch of the updated `Date`. *This function modifies the original `Date`.* See [`Date.setUTCMilliseconds`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCMilliseconds) on MDN. - -```res example -let date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT -let futureTime = Js.Date.setUTCMilliseconds(date1, 494.0) -date1 == Js.Date.fromString("1973-11-29T21:30:54.494Z00:00") -futureTime == Js.Date.getTime(date1) -``` - -## setUTCMinutes - -```res sig -let setUTCMinutes: (t, float) => float -``` -Sets the given `Date`’s minutes to the value in the second argument according to the current time zone. Returns the number of milliseconds since the epoch of the updated `Date`. *This function modifies the original `Date`.* See [`Date.setUTCMinutes`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCMinutes) on MDN. - -```res example -let date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT -let futureTime = Js.Date.setUTCMinutes(date1, 34.0) -date1 == Js.Date.fromString("1973-11-29T21:34:54.494Z00:00") -futureTime == Js.Date.getTime(date1) -``` - -## setUTCMinutesS - -```res sig -let setUTCMinutesS: (t, ~minutes: float, ~seconds: float, unit) => float -``` -Sets the given `Date`’s minutes and seconds to the values in the labeled arguments according to UTC. Returns the number of milliseconds since the epoch of the updated `Date`. *This function modifies the original `Date`.* See [`Date.setUTCMinutes`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCMinutes) on MDN. - -```res example -let date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT -let futureTime = Js.Date.setUTCMinutesS(date1, ~minutes=34.0, ~seconds=56.0, ()) -date1 == Js.Date.fromString("1973-11-29T21:34:56.494Z00:00") -futureTime == Js.Date.getTime(date1) -``` - -## setUTCMinutesSMs - -```res sig -let setUTCMinutesSMs: (t, ~minutes: float, ~seconds: float, ~milliseconds: float, unit) => float -``` -Sets the given `Date`’s minutes, seconds, and milliseconds to the values in the labeled arguments according to UTC. Returns the number of milliseconds since the epoch of the updated `Date`. *This function modifies the original `Date`.* See [`Date.setUTCMinutes`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCMinutes) on MDN. - -```res example -let date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT -let futureTime = Js.Date.setUTCMinutesSMs( - date1, - ~minutes=34.0, - ~seconds=56.0, - ~milliseconds=789.0, - (), -) -date1 == Js.Date.fromString("1973-11-29T21:34:56.789Z00:00") -futureTime == Js.Date.getTime(date1) -``` - -## setUTCMonth - -```res sig -let setUTCMonth: (t, float) => float -``` -Sets the given `Date`’s month to the value in the second argument according to UTC. Returns the number of milliseconds since the epoch of the updated `Date`. *This function modifies the original `Date`.* See [`Date.setUTCMonth`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCMonth) on MDN. - -```res example -let date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT -let futureTime = Js.Date.setUTCMonth(date1, 11.0) -date1 == Js.Date.fromString("1973-12-29T21:34:56.789Z00:00") -futureTime == Js.Date.getTime(date1) -``` - -## setUTCMonthD - -```res sig -let setUTCMonthD: (t, ~month: float, ~date: float, unit) => float -``` -Sets the given `Date`’s month and day of month to the values in the labeled arguments according to UTC. Returns the number of milliseconds since the epoch of the updated `Date`. *This function modifies the original `Date`.* See [`Date.setUTCMonth`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCMonth) on MDN. - -```res example -let date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT -let futureTime = Js.Date.setUTCMonthD(date1, ~month=11.0, ~date=8.0, ()) -date1 == Js.Date.fromString("1973-12-08T21:34:56.789Z00:00") -futureTime == Js.Date.getTime(date1) -``` - -## setUTCSeconds - -```res sig -let setUTCSeconds: (t, float) => float -``` -Sets the given `Date`’s seconds to the value in the second argument according to UTC. Returns the number of milliseconds since the epoch of the updated `Date`. *This function modifies the original `Date`.* See [`Date.setUTCSeconds`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCSeconds) on MDN. - -```res example -let date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT -let futureTime = Js.Date.setUTCSeconds(date1, 56.0) -date1 == Js.Date.fromString("1973-12-29T21:30:56.321Z00:00") -futureTime == Js.Date.getTime(date1) -``` - -## setUTCSecondsMs - -```res sig -let setUTCSecondsMs: (t, ~seconds: float, ~milliseconds: float, unit) => float -``` -Sets the given `Date`’s seconds and milliseconds to the values in the labeled arguments according to UTC. Returns the number of milliseconds since the epoch of the updated `Date`. *This function modifies the original `Date`.* See [`Date.setUTCSeconds`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCSeconds) on MDN. - -```res example -let date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT -let futureTime = Js.Date.setUTCSecondsMs(date1, ~seconds=56.0, ~milliseconds=789.0, ()) -date1 == Js.Date.fromString("1973-12-29T21:30:56.789Z00:00") -futureTime == Js.Date.getTime(date1) -``` - -## setUTCTime - -```res sig -let setUTCTime: (t, float) => float -``` -Same as [`setTime()`](#settime). - -## setYear - -```res sig -let setYear: (t, float) => float -``` -Deprecated. Use [`setFullYear()`](#setfullyear) instead. - -## toDateString - -```res sig -let toDateString: t => string -``` -Returns the date (day of week, year, month, and day of month) portion of a `Date` in English. See [`Date.toDateString`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toDateString) on MDN. - -```res example -Js.Date.toDateString(exampleDate) == "Thu Nov 29 1973" -``` - -## toGMTString - -```res sig -let toGMTString: t => string -``` -Deprecated. Use [`toUTCString()`](#toutcstring) instead. - -## toISOString - -```res sig -let toISOString: t => string -``` -Returns a simplified version of the ISO 8601 format for the date. See [`Date.toISOString`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString) on MDN. - -```res example -Js.Date.toISOString(exampleDate) == "1973-11-29T21:30:54.321Z" -``` - -## toJSON - -```res sig -let toJSON: t => string -``` -Deprecated. This method is unsafe. It will be changed to return `option` in a future release. Please use `toJSONUnsafe()` instead. - -## toJSONUnsafe - -```res sig -let toJSONUnsafe: t => string -``` -Returns a string representation of the given date. See [`Date.toJSON`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toJSON) on MDN. - -```res example -Js.Date.toJSONUnsafe(exampleDate) == "1973-11-29T21:30:54.321Z" -``` - -## toLocaleDateString - -```res sig -let toLocaleDateString: t => string -``` - -Returns the year, month, and day for the given `Date` in the current locale format. See [`Date.toLocaleDateString`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleDateString) on MDN. - -```res example -Js.Date.toLocaleDateString(exampleDate) == "11/29/1973" // for en_US.utf8 -Js.Date.toLocaleDateString(exampleDate) == "29.11.73" // for de_DE.utf8 -``` - - -## toLocaleString - -```res sig -let toLocaleString: t => string -``` -Returns the time and date for the given `Date` in the current locale format. See [`Date.toLocaleString`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleString) on MDN. - -```res example -Js.Date.toLocaleString(exampleDate) == "11/29/1973, 10:30:54 PM" // for en_US.utf8 -Js.Date.toLocaleString(exampleDate) == "29.11.1973, 22:30:54" // for de_DE.utf8 -``` - -## toLocaleTimeString - -```res sig -let toLocaleTimeString: t => string -``` -Returns the time of day for the given `Date` in the current locale format. See [`Date.toLocaleTimeString`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleTimeString) on MDN. - -```res example -Js.Date.toLocaleString(exampleDate) == "10:30:54 PM" // for en_US.utf8 -Js.Date.toLocaleString(exampleDate) == "22:30:54" // for de_DE.utf8 -``` - -## toString - -```res sig -let toString: t => string -``` -Returns a string representing the date and time of day for the given `Date` in the current locale and time zone. See [`Date.toString`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toString) on MDN. - -```res example -Js.Date.toString( - exampleDate, -) == "Thu Nov 29 1973 22:30:54 GMT+0100 (Central European Standard Time)" -``` - -## toTimeString - -```res sig -let toTimeString: t => string -``` - -Returns a string representing the time of day for the given `Date` in the current locale and time zone. See [`Date.toTimeString`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toTimeString) on MDN. - -```res example -Js.Date.toTimeString(exampleDate) == "22:30:54 GMT+0100 (Central European Standard Time)" -``` - -## toUTCString - -```res sig -let toUTCString: t => string -``` - -Returns a string representing the date and time of day for the given `Date` in the current locale and UTC (GMT time zone). See [`Date.toUTCString`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toUTCString) on MDN. - -```res example -Js.Date.toUTCString(exampleDate) == "Thu, 29 Nov 1973 21:30:54 GMT" -``` diff --git a/pages/docs/manual/latest/api/js/dict.mdx b/pages/docs/manual/latest/api/js/dict.mdx deleted file mode 100644 index 881527a9e..000000000 --- a/pages/docs/manual/latest/api/js/dict.mdx +++ /dev/null @@ -1,164 +0,0 @@ -# Dict - - - -Provide utilities for JS dictionary object. - -**Note:** This module's examples will assume this predeclared dictionary: - -```res prelude -let ages = Js.Dict.fromList(list{("Maria", 30), ("Vinh", 22), ("Fred", 49)}) -``` - - - -## t - -```res prelude -type t<'a> -``` - -Dictionary type (ie an '{ }' JS object). However it is restricted to hold a single type; therefore values must have the same type. -This Dictionary type is mostly used with the Js_json.t type. - -## key - -```res prelude -type key = string -``` - -The type for dictionary keys. This means that dictionaries *must* use `string`s as their keys. - -## get - -```res sig -let get: (t<'a>, key) => option<'a> -``` - -`Js.Dict.get(key)` returns `None` if the key is not found in the dictionary, `Some(value)` otherwise. - -```res example -Js.Dict.get(ages, "Vinh") == Some(22) -Js.Dict.get(ages, "Paul") == None -``` - -## unsafeGet - -```res sig -let unsafeGet: (t<'a>, key) => 'a -``` -`Js.Dict.unsafeGet(key)` returns the value if the key exists, otherwise an `undefined` value is returned. Use this only when you are sure the key exists (i.e. when having used the `keys()` function to check that the key is valid). - -```res example -Js.Dict.unsafeGet(ages, "Fred") == 49 -Js.Dict.unsafeGet(ages, "Paul") // returns undefined -``` - -## set - -```res sig -let set: (t<'a>, key, 'a) => unit -``` - -`Js.Dict.set(dict, key, value)` sets the key/value in the dictionary `dict`. If the key does not exist, and entry will be created for it. *This function modifies the original dictionary.* - -```res example -Js.Dict.set(ages, "Maria", 31) -Js.log(ages == Js.Dict.fromList(list{("Maria", 31), ("Vinh", 22), ("Fred", 49)})) - -Js.Dict.set(ages, "David", 66) -Js.log(ages == Js.Dict.fromList(list{("Maria", 31), ("Vinh", 22), ("Fred", 49), ("David", 66)})) -``` - -## keys - -```res sig -let keys: t<'a> => array -``` - -Returns all the keys in the dictionary `dict`. - -```res example -Js.Dict.keys(ages) == ["Maria", "Vinh", "Fred"] -``` - -## empty - -```res sig -let empty: unit => t<'a> -``` - -Returns an empty dictionary. - -## unsafeDeleteKey - -```res sig -let unsafeDeleteKey: (. t, string) => unit -``` - -Experimental internal function - -## entries - -```res sig -let entries: t<'a> => array<(key, 'a)> -``` - -Returns an array of key/value pairs in the given dictionary (ES2017). - -```res example -Js.Dict.entries(ages) == [("Maria", 30), ("Vinh", 22), ("Fred", 49)] -``` - -## values - -```res sig -let values: t<'a> => array<'a> -``` - -Returns the values in the given dictionary (ES2017). - -```res example -Js.Dict.values(ages) == [30, 22, 49] -``` - -## fromList - -```res sig -let fromList: list<(key, 'a)> => t<'a> -``` - -Creates a new dictionary containing each (key, value) pair in its list argument. - -```res example -let capitals = Js.Dict.fromList(list{("Japan", "Tokyo"), ("France", "Paris"), ("Egypt", "Cairo")}) -``` - -## fromArray - -```res sig -let fromArray: array<(key, 'a)> => t<'a> -``` - -Creates a new dictionary containing each (key, value) pair in its array argument. - -```res example -let capitals2 = Js.Dict.fromArray([("Germany", "Berlin"), ("Burkina Faso", "Ouagadougou")]) -``` - -## map - -```res sig -let map: ((. 'a) => 'b, t<'a>) => t<'b> -``` - -`map(f, dict)` maps `dict` to a new dictionary with the same keys, using the function `f` to map each value. - -```res example -let prices = Js.Dict.fromList(list{("pen", 1.00), ("book", 5.00), ("stapler", 7.00)}) - -let discount = (. price) => price *. 0.90 -let salePrices = Js.Dict.map(discount, prices) - -salePrices == Js.Dict.fromList(list{("pen", 0.90), ("book", 4.50), ("stapler", 6.30)}) -``` diff --git a/pages/docs/manual/latest/api/js/exn.mdx b/pages/docs/manual/latest/api/js/exn.mdx deleted file mode 100644 index 730a4b2ed..000000000 --- a/pages/docs/manual/latest/api/js/exn.mdx +++ /dev/null @@ -1,103 +0,0 @@ -# Exn - - - -Provide utilities for dealing with JS exceptions. - - - -## t - -```res prelude -type t -``` - -## exn - -```res sig -type exn += - private - | Error(t) -``` - -## asJsExn - -```res sig -let asJsExn: exn => option -``` - -## stack - -```res sig -let stack: t => option -``` - -## message - -```res sig -let message: t => option -``` - -## name - -```res sig -let name: t => option -``` - -## fileName - -```res sig -let fileName: t => option -``` - -## isCamlExceptionOrOpenVariant - -```res sig -let isCamlExceptionOrOpenVariant: 'a => bool -``` - -Internal use only. - -## raiseError - -```res sig -let raiseError: string => 'a -``` - -Raise Js exception Error object with stacktrace. - -## raiseEvalError - -```res sig -let raiseEvalError: string => 'a -``` - -## raiseRangeError - -```res sig -let raiseRangeError: string => 'a -``` - -## raiseReferenceError - -```res sig -let raiseReferenceError: string => 'a -``` - -## raiseSyntaxError - -```res sig -let raiseSyntaxError: string => 'a -``` - -## raiseTypeError - -```res sig -let raiseTypeError: string => 'a -``` - -## raiseUriError - -```res sig -let raiseUriError: string => 'a -``` diff --git a/pages/docs/manual/latest/api/js/float.mdx b/pages/docs/manual/latest/api/js/float.mdx deleted file mode 100644 index 1da019985..000000000 --- a/pages/docs/manual/latest/api/js/float.mdx +++ /dev/null @@ -1,282 +0,0 @@ -# Float - - - -Provide utilities for JS float. - - - -## _NaN - -```res sig -let _NaN: float -``` -The special value "Not a Number". - -## isNaN - -```res sig -let isNaN: float => bool -``` - -Tests if the given value is _NaN. -Note that both `_NaN == _NaN` and `_NaN === _NaN` will return false. `isNaN` is therefore necessary to test for `_NaN`. - -Returns true if the given value is `_NaN`, false otherwise. - -## isFinite - -```res sig -let isFinite: float => bool -``` - -Tests if the given value is finite. -Returns true if the given value is a finite number, false otherwise. - -```res example -/* returns [false] */ -Js.Float.isFinite(infinity) -``` - -```res example -/* returns [false] */ -Js.Float.isFinite(neg_infinity) -``` - -```res example -/* returns [false] */ -Js.Float.isFinite(Js.Float._NaN) -``` - -```res example -/* returns [true] */ -Js.Float.isFinite(1234.) -``` - -## toExponential - -```res sig -let toExponential: float => string -``` - -Formats a float using exponential (scientific) notation. -Returns a string representing the given value in exponential notation. -Raises `RangeError` if `digits` is not in the range \[0, 20\] (inclusive). - -```res example -/* prints "7.71234e+1" */ -Js.Float.toExponential(77.1234)->Js.log -``` - -```res example -/* prints "7.7e+1" */ -Js.Float.toExponential(77.)->Js.log -``` - -## toExponentialWithPrecision - -```res sig -let toExponentialWithPrecision: (float, ~digits: int) => string -``` - -Formats a `float` using exponential (scientific) notation. -`digits` specifies how many digits should appear after the decimal point. The value must be in the range \[0, 20\] (inclusive). - -Returns a `string` representing the given value in exponential notation. - -The output will be rounded or padded with zeroes if necessary. -Raises `RangeError` if `digits` is not in the range \[0, 20\] (inclusive). - -```res example -/* prints "7.71e+1" */ -Js.Float.toExponentialWithPrecision(77.1234, ~digits=2)->Js.log -``` - -## toFixed - -```res sig -let toFixed: float => string -``` - -Formats a `float` using fixed point notation. -Returns a `string` representing the given value in fixed-point notation (usually). -Raises `RangeError` if `digits` is not in the range \[0, 20\] (inclusive). - -```res example -/* prints "12346" (note the rounding) */ -Js.Float.toFixed(12345.6789)->Js.log -``` - -```res example -/* print "1.2e+21" */ -Js.Float.toFixed(1.2e21)->Js.log -``` - -## toFixedWithPrecision - -```res sig -let toFixedWithPrecision: (float, ~digits: int) => string -``` - -Formats a `float` using fixed point notation. -`digits` specifies how many digits should appear after the decimal point. The value must be in the range \[0, 20\] (inclusive). Defaults to 0. - -Returns a `string` representing the given value in fixed-point notation (usually). - -The output will be rounded or padded with zeroes if necessary. -Raises `RangeError` if `digits` is not in the range \[0, 20\] (inclusive). - -```res example -/* prints "12345.7" (note the rounding) */ -Js.Float.toFixedWithPrecision(12345.6789, ~digits=1)->Js.log -``` - -```res example -/* prints "0.00" (note the added zeroes) */ -Js.Float.toFixedWithPrecision(0., ~digits=2)->Js.log -``` - -## toPrecision - -```res sig -let toPrecision: float => string -``` - -Formats a `float` using some fairly arbitrary rules. -Returns a `string` representing the given value in fixed-point (usually). - -`toPrecision` differs from `toFixed` in that the former will format the number with full precision, while the latter will not output any digits after the decimal point. -Raises `RangeError` if `digits` is not in the range accepted by this function. - -```res example -/* prints "12345.6789" */ -Js.Float.toPrecision(12345.6789)->Js.log -``` - -```res example -/* print "1.2e+21" */ -Js.Float.toPrecision(1.2e21)->Js.log -``` - -## toPrecisionWithPrecision - -```res sig -let toPrecisionWithPrecision: (float, ~digits: int) => string -``` - -Formats a `float` using some fairly arbitrary rules. -`digits` specifies how many digits should appear in total. The value must be between 0 and some arbitrary number that's hopefully at least larger than 20 (for Node it's 21. Why? Who knows). - -Returns a `string` representing the given value in fixed-point or scientific notation. - -The output will be rounded or padded with zeroes if necessary. - -`toPrecisionWithPrecision` differs from `toFixedWithPrecision` in that the former will count all digits against the precision, while the latter will count only the digits after the decimal point. -`toPrecisionWithPrecision` will also use scientific notation if the specified precision is less than the number for digits before the decimal point. -Raises `RangeError` if `digits` is not in the range accepted by this function. - -```res example -/* prints "1e+4" */ -Js.Float.toPrecisionWithPrecision(12345.6789, ~digits=1)->Js.log -``` - -```res example -/* prints "0.0" */ -Js.Float.toPrecisionWithPrecision(0., ~digits=2)->Js.log -``` - -## toString - -```res sig -let toString: float => string -``` - -Formats a `float` as a `string`. -Returns a `string` representing the given value in fixed-point (usually). - -```res example -/* prints "12345.6789" */ -Js.Float.toString(12345.6789)->Js.log -``` - -## toStringWithRadix - -```res sig -let toStringWithRadix: (float, ~radix: int) => string -``` - -Formats a `float` as a `string`. -`radix` specifies the radix base to use for the formatted number. The value must be in the range \[2, 36\] (inclusive). - -Returns a `string` representing the given value in fixed-point (usually). -Raises `RangeError` if `radix` is not in the range \[2, 36\] (inclusive). - -```res example -/* prints "110" */ -Js.Float.toStringWithRadix(6., ~radix=2)->Js.log -``` - -```res example -/* prints "11.001000111101011100001010001111010111000010100011111" */ -Js.Float.toStringWithRadix(3.14, ~radix=2)->Js.log -``` - -```res example -/* prints "deadbeef" */ -Js.Float.toStringWithRadix(3735928559., ~radix=16)->Js.log - -``` - -```res example -/* prints "3f.gez4w97ry0a18ymf6qadcxr" */ -Js.Float.toStringWithRadix(123.456, ~radix=36)->Js.log -``` - -## fromString - -```res sig -let fromString: string => float -``` - -Parses the given `string` into a `float` using JavaScript semantics. -Returns the number as a `float` if successfully parsed, `_NaN` otherwise. - -```res example -/* returns 123 */ -Js.Float.fromString("123") -``` - -```res example -/* returns 12.3 */ -Js.Float.fromString("12.3") -``` - -```res example -/* returns 0 */ -Js.Float.fromString("") -``` - -```res example -/* returns 17 */ -Js.Float.fromString("0x11") -``` - -```res example -/* returns 3 */ -Js.Float.fromString("0b11") -``` - -```res example -/* returns 9 */ -Js.Float.fromString("0o11") -``` - -```res example -/* returns [_NaN] */ -Js.Float.fromString("hello") -``` - -```res example -/* returns [_NaN] */ -Js.Float.fromString("100a") -``` diff --git a/pages/docs/manual/latest/api/js/global.mdx b/pages/docs/manual/latest/api/js/global.mdx deleted file mode 100644 index 7bba67610..000000000 --- a/pages/docs/manual/latest/api/js/global.mdx +++ /dev/null @@ -1,179 +0,0 @@ -# Global - - - -Provide bindings to JS global functions in global namespace. - - - -```res prelude -type intervalId -``` - -Identify an interval started by `Js.Global.setInterval`. - -```res prelude -type timeoutId -``` - -Identify timeout started by `Js.Global.setTimeout`. - -## clearInterval - -```res sig -let clearInterval: intervalId => unit -``` - -Clear an interval started by `Js.Global.setInterval` - -```res example -/* API for a somewhat aggressive snoozing alarm clock */ - -let punchSleepyGuy = () => Js.log("Punch") - -let interval = ref(Js.Nullable.null) - -let remind = () => { - Js.log("Wake Up!") - punchSleepyGuy() -} - -let snooze = mins => - interval := Js.Nullable.return(Js.Global.setInterval(remind, mins * 60 * 1000)) - -let cancel = () => - Js.Nullable.iter(interval.contents, (. intervalId) => Js.Global.clearInterval(intervalId)) -``` - -## clearTimeout - -```res sig -let clearTimeout: timeoutId => unit -``` - -Clear a timeout started by `Js.Global.setTimeout`. - -```res example -/* A simple model of a code monkey's brain */ - -let closeHackerNewsTab = () => Js.log("close") - -let timer = ref(Js.Nullable.null) - -let work = () => closeHackerNewsTab() - -let procrastinate = mins => { - Js.Nullable.iter(timer.contents, (. timer) => Js.Global.clearTimeout(timer)) - timer := Js.Nullable.return(Js.Global.setTimeout(work, mins * 60 * 1000)) -} -``` - -## setInterval - -```res sig -let setInterval: (unit => unit, int) => intervalId -``` - -Repeatedly executes a callback with a specified interval (in milliseconds) between calls. -Returns a `Js.Global.intervalId` that can be passed to `Js.Global.clearInterval` to cancel the timeout. - -```res example -/* Will count up and print the count to the console every second */ - -let count = ref(0) - -let tick = () => { - count := count.contents + 1 - Js.log(Belt.Int.toString(count.contents)) -} - -Js.Global.setInterval(tick, 1000) -``` - -## setIntervalFloat - -```res sig -let setIntervalFloat: (unit => unit, float) => intervalId -``` - -Repeatedly executes a callback with a specified interval (in milliseconds) between calls. -Returns a `Js.Global.intervalId` that can be passed to `Js.Global.clearInterval` to cancel the timeout. - -```res example -/* Will count up and print the count to the console every second */ - -let count = ref(0) - -let tick = () => { - count := count.contents + 1 - Js.log(Belt.Int.toString(count.contents)) -} - -Js.Global.setIntervalFloat(tick, 1000.0) -``` - -## setTimeout - -```res sig -let setTimeout: (unit => unit, int) => timeoutId -``` - -Execute a callback after a specified delay (in milliseconds). -Returns a `Js.Global.timeoutId` that can be passed to `Js.Global.clearTimeout` to cancel the timeout. - -```res example -/* Prints "Timed out!" in the console after one second */ - -let message = "Timed out!" - -Js.Global.setTimeout(() => Js.log(message), 1000) -``` - -## setTimeoutFloat - -```res sig -let setTimeoutFloat: (unit => unit, float) => timeoutId -``` - -Execute a callback after a specified delay (in milliseconds). -Returns a `Js.Global.timeoutId` that can be passed to `Js.Global.clearTimeout` to cancel the timeout. - -```res example -/* Prints "Timed out!" in the console after one second */ - -let message = "Timed out!" - -Js.Global.setTimeoutFloat(() => Js.log(message), 1000.0) -``` - -## encodeURI - -```res sig -let encodeURI: string => string -``` - -URL-encodes a string. - -## decodeURI - -```res sig -let decodeURI: string => string -``` - -Decodes a URL-enmcoded string produced by encodeURI. - -## encodeURIComponent - -```res sig -let encodeURIComponent: string => string -``` - -URL-encodes a string, including characters with special meaning in a URI. - -## decodeURIComponent - -```res sig -let decodeURIComponent: string => string -``` - -Decodes a URL-enmcoded string produced by encodeURIComponent diff --git a/pages/docs/manual/latest/api/js/int.mdx b/pages/docs/manual/latest/api/js/int.mdx deleted file mode 100644 index 1fc48b47a..000000000 --- a/pages/docs/manual/latest/api/js/int.mdx +++ /dev/null @@ -1,146 +0,0 @@ -# Int - - - -Provide utilities for handling `int`. - - - -## toExponential - -```res sig -let toExponential: int => string -``` - -Formats an `int` using exponential (scientific) notation. -Returns a `string` representing the given value in exponential notation. -Raises `RangeError` if digits is not in the range \[0, 20\] (inclusive). - -```res example -/* prints "7.7e+1" */ -Js.log(Js.Int.toExponential(77)) -``` - -## toExponentialWithPrecision - -```res sig -let toExponentialWithPrecision: (int, ~digits: int) => string -``` - -Formats an `int` using exponential (scientific) notation. -`digits` specifies how many digits should appear after the decimal point. The value must be in the range \[0, 20\] (inclusive). - -Returns a `string` representing the given value in exponential notation. - -The output will be rounded or padded with zeroes if necessary. -Raises `RangeError` if `digits` is not in the range \[0, 20\] (inclusive). - -```res example -/* prints "7.70e+1" */ -Js.log(Js.Int.toExponentialWithPrecision(77, ~digits=2)) - -/* prints "5.68e+3" */ -Js.log(Js.Int.toExponentialWithPrecision(5678, ~digits=2)) -``` - -## toPrecision - -```res sig -let toPrecision: int => string -``` - -Formats an `int` using some fairly arbitrary rules. -Returns a `string` representing the given value in fixed-point (usually). - -`toPrecision` differs from `toFixed` in that the former will format the number with full precision, while the latter will not output any digits after the decimal point. -Raises `RangeError` if `digits` is not in the range accepted by this function. - -```res example -/* prints "123456789" */ -Js.log(Js.Int.toPrecision(123456789)) -``` - -## toPrecisionWithPrecision - -```res sig -let toPrecisionWithPrecision: (int, ~digits: int) => string -``` - -Formats an `int` using some fairly arbitrary rules. -`digits` specifies how many digits should appear in total. The value must between 0 and some arbitrary number that's hopefully at least larger than 20 (for Node it's 21. Why? Who knows). - -Returns a `string` representing the given value in fixed-point or scientific notation. - -The output will be rounded or padded with zeroes if necessary. - -`toPrecisionWithPrecision` differs from `toFixedWithPrecision` in that the former will count all digits against the precision, while the latter will count only the digits after the decimal point. -`toPrecisionWithPrecision` will also use scientific notation if the specified precision is less than the number of digits before the decimal point. -Raises `RangeError` if `digits` is not in the range accepted by this function. - -```res example -/* prints "1.2e+8" */ -Js.log(Js.Int.toPrecisionWithPrecision(123456789, ~digits=2)) - -/* prints "0.0" */ -Js.log(Js.Int.toPrecisionWithPrecision(0, ~digits=2)) -``` - -## toString - -```res sig -let toString: int => string -``` - -Formats an `int` as a `string`. -Returns a `string` representing the given value in fixed-point (usually). - -```res example -/* prints "123456789" */ -Js.log(Js.Int.toString(123456789)) -``` - -## toStringWithRadix - -```res sig -let toStringWithRadix: (int, ~radix: int) => string -``` - -Formats an `int` as a `string`. -`radix` specifies the radix base to use for the formatted number. The value must be in the range \[2, 36\] (inclusive). -Returns a `string` representing the given value in fixed-point (usually). -Raises `RangeError` if `radix` is not in the range \[2, 36\] (inclusive). - -```res example -/* prints "110" */ -Js.log(Js.Int.toStringWithRadix(6, ~radix=2)) - -/* prints "deadbeef" */ -Js.log(Js.Int.toStringWithRadix(3735928559, ~radix=16)) - -/* prints "2n9c" */ -Js.log(Js.Int.toStringWithRadix(123456, ~radix=36)) -``` - -## toFloat - -```res sig -let toFloat: int => float -``` - -## equal - -```res sig -let equal: (int, int) => bool -``` - -## max - -```res sig -let max: int -``` - -## min - -```res sig -let min: int -``` diff --git a/pages/docs/manual/latest/api/js/json.mdx b/pages/docs/manual/latest/api/js/json.mdx deleted file mode 100644 index ca48da776..000000000 --- a/pages/docs/manual/latest/api/js/json.mdx +++ /dev/null @@ -1,293 +0,0 @@ -# Json - - - -Provide utilities for JSON. - - - -## t - -```res prelude -type t -``` - -The JSON data structure. - -## kind - -```res prelude -type rec kind<'a> = - | String: kind - | Number: kind - | Object: kind> - | Array: kind> - | Boolean: kind - | Null: kind -``` - -Underlying type of a JSON value. - -## tagged_t - -```res prelude -type tagged_t = - | JSONFalse - | JSONTrue - | JSONNull - | JSONString(string) - | JSONNumber(float) - | JSONObject(Js_dict.t) - | JSONArray(array) -``` - - -## classify - -```res sig -let classify: t => tagged_t -``` - -## test - -```res sig -let test: ('a, kind<'b>) => bool -``` - -`test(v, kind)` returns `true` if `v` is of `kind`. - -## decodeString - -```res sig -let decodeString: t => option -``` - -`decodeString(json)` returns `Some(s)` if `json` is a `string`, `None` otherwise. - -## decodeNumber - -```res sig -let decodeNumber: t => option -``` - -`decodeNumber(json)` returns `Some(n)` if `json` is a `number`, `None` otherwise. - -## decodeObject - -```res sig -let decodeObject: t => option> -``` - -`decodeObject(json)` returns `Some(o)` if `json` is an `object`, `None` otherwise. - -## decodeArray - -```res sig -let decodeArray: t => option> -``` - -`decodeArray(json)` returns `Some(a)` if `json` is an `array`, `None` otherwise. - -## decodeBoolean - -```res sig -let decodeBoolean: t => option -``` - -`decodeBoolean(json)` returns `Some(b)` if `json` is a `boolean`, `None` otherwise. - -## decodeNull - -```res sig -let decodeNull: t => option> -``` - -`decodeNull(json)` returns `Some(null)` if `json` is a `null`, `None` otherwise. - -## null - -```res sig -let null: t -``` - -`null` is the singleton null JSON value. - -## string - -```res sig -let string: string => t -``` - -`string(s)` makes a JSON string of the `string` `s`. - -## number - -```res sig -let number: float => t -``` - -`number(n)` makes a JSON number of the `float` `n`. - -## boolean - -```res sig -let boolean: bool => t -``` - -`boolean(b)` makes a JSON boolean of the `bool` `b`. - -## object_ - -```res sig -let object_: Js_dict.t => t -``` - -`object_(dict)` makes a JSON object of the `Js.Dict.t` `dict`. - -## array - -```res sig -let array: array => t -``` - -`array_(a)` makes a JSON array of the `Js.Json.t` array `a`. - -## stringArray - -```res sig -let stringArray: array => t -``` - -`stringArray(a)` makes a JSON array of the `string` array `a`. - -## numberArray - -```res sig -let numberArray: array => t -``` - -`numberArray(a)` makes a JSON array of the `float` array `a`. - -## booleanArray - -```res sig -let booleanArray: array => t -``` - -`booleanArray(a)` makes a JSON array of the `bool` array `a`. - -## objectArray - -```res sig -let objectArray: array> => t -``` - -`objectArray(a) makes a JSON array of the `JsDict.t` array `a`. - -## parseExn - -```res sig -let parseExn: string => t -``` - -`parseExn(s)` parses the `string` `s` into a JSON data structure. -Returns a JSON data structure. -Raises `SyntaxError` if the given string is not a valid JSON. Note: `SyntaxError` is a JavaScript exception. - -```res example -/* parse a simple JSON string */ - -let json = try Js.Json.parseExn(` "hello" `) catch { -| _ => failwith("Error parsing JSON string") -} - -switch Js.Json.classify(json) { -| Js.Json.JSONString(value) => Js.log(value) -| _ => failwith("Expected a string") -} -``` - -```res example -/* parse a complex JSON string */ - -let getIds = s => { - let json = try Js.Json.parseExn(s) catch { - | _ => failwith("Error parsing JSON string") - } - - switch Js.Json.classify(json) { - | Js.Json.JSONObject(value) => - /* In this branch, compiler infer value : Js.Json.t Js.Dict.t */ - switch Js.Dict.get(value, "ids") { - | Some(ids) => - switch Js.Json.classify(ids) { - | Js.Json.JSONArray(ids) => /* In this branch compiler infer ids : Js.Json.t array */ - ids - | _ => failwith("Expected an array") - } - | None => failwith("Expected an `ids` property") - } - | _ => failwith("Expected an object") - } -} - -/* prints `1, 2, 3` */ -Js.log(getIds(` { "ids" : [1, 2, 3 ] } `)) -``` - -## stringify - -```res sig -let stringify: t => string -``` - -`stringify(json)` formats the JSON data structure as a `string`. -Returns the string representation of a given JSON data structure. - -```res example -/* Creates and stringifies a simple JS object */ - -{ - let dict = Js.Dict.empty() - Js.Dict.set(dict, "name", Js.Json.string("John Doe")) - Js.Dict.set(dict, "age", Js.Json.number(30.0)) - Js.Dict.set(dict, "likes", Js.Json.stringArray(["bucklescript", "ocaml", "js"])) - - Js.log(Js.Json.stringify(Js.Json.object_(dict))) -} -``` - -## stringifyWithSpace - -```res sig -let stringifyWithSpace: (t, int) => string -``` - -`stringify(json)` formats the JSON data structure as a `string`. -Returns the string representation of a given JSON data structure with spacing. - -```res example -/* Creates and stringifies a simple JS object with spacing */ - -{ - let dict = Js.Dict.empty() - Js.Dict.set(dict, "name", Js.Json.string("John Doe")) - Js.Dict.set(dict, "age", Js.Json.number(30.0)) - Js.Dict.set(dict, "likes", Js.Json.stringArray(["bucklescript", "ocaml", "js"])) - - Js.log(Js.Json.stringifyWithSpace(Js.Json.object_(dict), 2)) -} -``` - -## stringifyAny - -```res sig -let stringifyAny: 'a => option -``` - -`stringifyAny(value)` formats any value into a JSON string. - -```res example -/* prints `["hello", "world"]` */ -Js.log(Js.Json.stringifyAny(["hello", "world"])) -``` diff --git a/pages/docs/manual/latest/api/js/list.mdx b/pages/docs/manual/latest/api/js/list.mdx deleted file mode 100644 index 72b908489..000000000 --- a/pages/docs/manual/latest/api/js/list.mdx +++ /dev/null @@ -1,143 +0,0 @@ -# List - - - -Provide utilities for list. - - - -## t - -```res prelude -type t<'a> = list<'a> -``` - -## length - -```res sig -let length: t<'a> => int -``` - -## cons - -```res sig -let cons: ('a, t<'a>) => t<'a> -``` - -## isEmpty - -```res sig -let isEmpty: t<'a> => bool -``` - -## hd - -```res sig -let hd: t<'a> => option<'a> -``` - -## tl - -```res sig -let tl: t<'a> => option> -``` - -## nth - -```res sig -let nth: (t<'a>, int) => option<'a> -``` - -## revAppend - -```res sig -let revAppend: (t<'a>, t<'a>) => t<'a> -``` - -## rev - -```res sig -let rev: t<'a> => t<'a> -``` - -## mapRev - -```res sig -let mapRev: ((. 'a) => 'b, t<'a>) => t<'b> -``` - -## map - -```res sig -let map: ((. 'a) => 'b, t<'a>) => t<'b> -``` - -## iter - -```res sig -let iter: ((. 'a) => unit, t<'a>) => unit -``` - -## iteri - -```res sig -let iteri: ((. int, 'a) => unit, t<'a>) => unit -``` - -## foldLeft - -```res sig -let foldLeft: ((. 'a, 'b) => 'a, 'a, list<'b>) => 'a -``` - -Application order is left to right, tail-recurisve. - -## foldRight - -```res sig -let foldRight: ((. 'a, 'b) => 'b, list<'a>, 'b) => 'b -``` - -Application order is right to left, tail-recursive. - -## flatten - -```res sig -let flatten: t> => t<'a> -``` - -## filter - -```res sig -let filter: ((. 'a) => bool, t<'a>) => t<'a> -``` - -## filterMap - -```res sig -let filterMap: ((. 'a) => option<'b>, t<'a>) => t<'b> -``` - -## countBy - -```res sig -let countBy: ((. 'a) => bool, list<'a>) => int -``` - -## init - -```res sig -let init: (int, (. int) => 'a) => t<'a> -``` - -## toVector - -```res sig -let toVector: t<'a> => Js_vector.t<'a> -``` - -## equal - -```res sig -let equal: ((. 'a, 'a) => bool, list<'a>, list<'a>) => bool -``` diff --git a/pages/docs/manual/latest/api/js/math.mdx b/pages/docs/manual/latest/api/js/math.mdx deleted file mode 100644 index 90592d361..000000000 --- a/pages/docs/manual/latest/api/js/math.mdx +++ /dev/null @@ -1,628 +0,0 @@ -# Math - - - -Provide utilities for JS Math. Note: The constants `_E`, `_LN10`, `_LN2`, `_LOG10E`, `_LOG2E`, `_PI`, `_SQRT1_2`, and `_SQRT2` begin with an underscore because ReasonML variable names cannot begin with a capital letter. (Module names begin with upper case.) - - - -## _E - -```res sig -let _E: float -``` - -Euler's number; ≈ 2.718281828459045. See [`Math.E`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/E) on MDN. - -## _LN2 - -```res sig -let _LN2: float -``` - -Natural logarithm of 2; ≈ 0.6931471805599453. See [`Math.LN2`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/LN2) on MDN. - -## _LN10 - -```res sig -let _LN10: float -``` - -Natural logarithm of 10; ≈ 2.302585092994046. See [`Math.LN10`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/LN10) on MDN. - -## _LOG2E - -```res sig -let _LOG2E: float -``` - -Base 2 logarithm of E; ≈ 1.4426950408889634. See [`Math.LOG2E`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/LOG2E) on MDN. - -## _LOG10E - -```res sig -let _LOG10E: float -``` - -Base 10 logarithm of E; ≈ 0.4342944819032518. See [`Math.LOG10E`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/LOG10E) on MDN. - -## _PI - -```res sig -let _PI: float -``` - -Pi - ratio of the circumference to the diameter of a circle; ≈ 3.141592653589793. See [`Math.PI`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/PI) on MDN. - -## _SQRT1_2 - -```res sig -let _SQRT1_2: float -``` - -Square root of 1/2; ≈ 0.7071067811865476. See [`Math.SQRT1_2`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/SQRT1_2) on MDN. - -## _SQRT2 - -```res sig -let _SQRT2: float -``` - -Square root of 2; ≈ 1.4142135623730951. See [`Math.SQRT2`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/SQRT2) on MDN. - -## abs_int - -```res sig -let abs_int: int => int -``` - -Absolute value for integer argument. See [`Math.abs`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/abs) on MDN. - -## abs_float - -```res sig -let abs_float: float => float -``` - -Absolute value for float argument. See [`Math.abs`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/abs) on MDN. - -## acos - -```res sig -let acos: float => float -``` - -Arccosine (in radians) of argument; returns `NaN` if the argument is outside the range [-1.0, 1.0]. See [`Math.acos`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/acos) on MDN. - -## acosh - -```res sig -let acosh: float => float -``` - -Hyperbolic arccosine (in radians) of argument; returns `NaN` if the argument is less than 1.0. See [`Math.acosh`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/acosh) on MDN. - -## asin - -```res sig -let asin: float => float -``` - -Arcsine (in radians) of argument; returns `NaN` if the argument is outside the range [-1.0, 1.0]. See [`Math.asin`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/asin) on MDN. - -## asinh - -```res sig -let asinh: float => float -``` - -Hyperbolic arcsine (in radians) of argument. See [`Math.asinh`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/asinh) on MDN. - -## atan - -```res sig -let atan: float => float -``` - -Arctangent (in radians) of argument. See [`Math.atan`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/atan) on MDN. - -## atanh - -```res sig -let atanh: float => float -``` - -Hyperbolic arctangent (in radians) of argument; returns `NaN` if the argument is is outside the range [-1.0, 1.0]. Returns `-Infinity` and `Infinity` for arguments -1.0 and 1.0. See [`Math.atanh`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/atanh) on MDN. - -## atan2 - -```res sig -let atan2: (~y: float, ~x: float, unit) => float -``` - -Returns the angle (in radians) of the quotient `y /. x`. It is also the angle between the *x*-axis and point (*x*, *y*). See [`Math.atan2`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/atan2) on MDN. - -```res example -Js.Math.atan2(~y=0.0, ~x=10.0, ()) == 0.0 -Js.Math.atan2(~x=5.0, ~y=5.0, ()) == Js.Math._PI /. 4.0 -Js.Math.atan2(~x=-5.0, ~y=5.0, ()) -Js.Math.atan2(~x=-5.0, ~y=5.0, ()) == 3.0 *. Js.Math._PI /. 4.0 -Js.Math.atan2(~x=-0.0, ~y=-5.0, ()) == -.Js.Math._PI /. 2.0 -``` - -## cbrt - -```res sig -let cbrt: float => float -``` - -Cube root. See [`Math.cbrt`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/cbrt) on MDN - -## unsafe_ceil_int - -```res sig -let unsafe_ceil_int: float => int -``` - -Returns the smallest integer greater than or equal to the argument. This function may return values not representable by `int`, whose range is -2147483648 to 2147483647. This is because, in JavaScript, there are only 64-bit floating point numbers, which can represent integers in the range ±(253-1) exactly. See [`Math.ceil`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/ceil) on MDN. - -```res example -Js.Math.unsafe_ceil_int(3.1) == 4 -Js.Math.unsafe_ceil_int(3.0) == 3 -Js.Math.unsafe_ceil_int(-3.1) == -3 -Js.Math.unsafe_ceil_int(1.0e15) // result is outside range of int datatype -``` - -## unsafe_ceil - -```res sig -let unsafe_ceil: float => int -``` -Deprecated; please use [`unsafe_ceil_int`](#unsafe_ceil_int) instead. - -## ceil_int - -```res sig -let ceil_int: float => int -``` - -Returns the smallest `int` greater than or equal to the argument; the result is pinned to the range of the `int` data type: -2147483648 to 2147483647. See [`Math.ceil`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/ceil) on MDN. - -```res example -Js.Math.ceil_int(3.1) == 4 -Js.Math.ceil_int(3.0) == 3 -Js.Math.ceil_int(-3.1) == -3 -Js.Math.ceil_int(-1.0e15) == -2147483648 -Js.Math.ceil_int(1.0e15) == 2147483647 -``` - -## ceil - -```res sig -let ceil: float => int -``` - -Deprecated; please use [`ceil_int`](#ceil_int) instead. - -## ceil_float - -```res sig -let ceil_float: float => float -``` - -Returns the smallest integral value greater than or equal to the argument. The result is a `float` and is not restricted to the `int` data type range. See [`Math.ceil`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/ceil) on MDN. - -```res example -Js.Math.ceil_float(3.1) == 4.0 -Js.Math.ceil_float(3.0) == 3.0 -Js.Math.ceil_float(-3.1) == -3.0 -Js.Math.ceil_float(2_150_000_000.3) == 2_150_000_001.0 -``` - -## clz32 - -```res sig -let clz32: int => int -``` - -Number of leading zero bits of the argument's 32 bit int representation. See [`Math.clz32`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/clz32) on MDN. - -```res example -Js.Math.clz32(0) == 32 -Js.Math.clz32(-1) == 0 -Js.Math.clz32(255) == 24 -``` - -## cos - -```res sig -let cos: float => float -``` - -Cosine of argument, which must be specified in radians. See [`Math.cos`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/cos) on MDN. - -## cosh - -```res sig -let cosh: float => float -``` - -Hyperbolic cosine of argument, which must be specified in radians. See [`Math.cosh`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/cosh) on MDN. - -## exp - -```res sig -let exp: float => float -``` - -Natural exponentional; returns *e* (the base of natural logarithms) to the power of the given argument. See [`Math.exp`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/exp) on MDN. - -## expm1 - -```res sig -let expm1: float => float -``` - -Returns *e* (the base of natural logarithms) to the power of the given argument minus 1. See [`Math.expm1`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/expm1) on MDN. - -## unsafe_floor_int - -```res sig -let unsafe_floor_int: float => int -``` - -Returns the largest integer less than or equal to the argument. This function may return values not representable by `int`, whose range is -2147483648 to 2147483647. This is because, in JavaScript, there are only 64-bit floating point numbers, which can represent integers in the range ±(253-1) exactly. See [`Math.floor`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/floor) on MDN. - -```res example -Js.Math.unsafe_floor_int(3.7) == 3 -Js.Math.unsafe_floor_int(3.0) == 3 -Js.Math.unsafe_floor_int(-3.7) == -4 -Js.Math.unsafe_floor_int(1.0e15) // result is outside range of int datatype -``` - -## unsafe_floor - -```res sig -let unsafe_floor: float => int -``` - -Deprecated; please use [`unsafe_floor_int`](#unsafe_floor_int) instead. - -## floor_int - -```res sig -let floor_int: float => int -``` - -Returns the largest `int` less than or equal to the argument; the result is pinned to the range of the `int` data type: -2147483648 to 2147483647. See [`Math.floor`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/floor) on MDN. - -```res example -Js.Math.floor_int(3.7) == 3 -Js.Math.floor_int(3.0) == 3 -Js.Math.floor_int(-3.1) == -4 -Js.Math.floor_int(-1.0e15) == -2147483648 -Js.Math.floor_int(1.0e15) == 2147483647 -``` - -## floor - -```res sig -let floor: float => int -``` - -Deprecated; please use [`floor_int`](#floor_int) instead. - -## floor_float - -```res sig -let floor_float: float => float -``` - -Returns the largest integral value less than or equal to the argument. The result is a `float` and is not restricted to the `int` data type range. See [`Math.floor`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/floor) on MDN. - -```res example -Js.Math.floor_float(3.7) == 3.0 -Js.Math.floor_float(3.0) == 3.0 -Js.Math.floor_float(-3.1) == -4.0 -Js.Math.floor_float(2_150_000_000.3) == 2_150_000_000.0 -``` -## fround - -```res sig -let fround: float => float -``` - -Round to nearest single precision float. See [`Math.fround`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/fround) on MDN. - -```res example -Js.Math.fround(5.5) == 5.5 -Js.Math.fround(5.05) == 5.050000190734863 -``` - -## hypot - -```res sig -let hypot: (float, float) => float -``` - -Returns the square root of the sum of squares of its two arguments (the Pythagorean formula). See [`Math.hypot`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/hypot) on MDN. - -## hypotMany - -```res sig -let hypotMany: array => float -``` - -Returns the square root of the sum of squares of the numbers in the array argument (generalized Pythagorean equation). Using an array allows you to have more than two items. See [`Math.hypot`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/hypot) on MDN. - -```res example -Js.Math.hypotMany([3.0, 4.0, 12.0]) == 13.0 -``` - -## imul - -```res sig -let imul: (int, int) => int -``` - -32-bit integer multiplication. Use this only when you need to optimize performance of multiplication of numbers stored as 32-bit integers. See [`Math.imul`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/imul) on MDN. - -## log - -```res sig -let log: float => float -``` - -Returns the natural logarithm of its argument; this is the number *x* such that *e**x* equals the argument. Returns `NaN` for negative arguments. See [`Math.log`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/log) on MDN. - -```res example -Js.Math.log(Js.Math._E) == 1.0 -Js.Math.log(100.0) == 4.605170185988092 -``` - -## log1p - -```res sig -let log1p: float => float -``` - -Returns the natural logarithm of one plus the argument. Returns `NaN` for arguments less than -1. See [`Math.log1p`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/log1p) on MDN. - -```res example -Js.Math.log1p(Js.Math._E -. 1.0) == 1.0 -Js.Math.log1p(99.0) == 4.605170185988092 -``` - -## log10 - -```res sig -let log10: float => float -``` - -Returns the base 10 logarithm of its argument. Returns `NaN` for negative arguments. See [`Math.log10`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/log10) on MDN. - -```res example -Js.Math.log10(1000.0) == 3.0 -Js.Math.log10(0.01) == -2.0 -Js.Math.log10(Js.Math.sqrt(10.0)) == 0.5 -``` - -## log2 - -```res sig -let log2: float => float -``` - -Returns the base 2 logarithm of its argument. Returns `NaN` for negative arguments. See [`Math.log2`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/log2) on MDN. - -```res example -Js.Math.log2(512.0) == 9.0 -Js.Math.log2(0.125) == -3.0 -Js.Math.log2(Js.Math._SQRT2) == 0.5000000000000001 // due to precision -``` - - -## max_int - -```res sig -let max_int: (int, int) => int -``` - -Returns the maximum of its two integer arguments. See [`Math.max`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/max) on MDN. - -## maxMany_int - -```res sig -let maxMany_int: array => int -``` - -Returns the maximum of the integers in the given array. See [`Math.max`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/max) on MDN. - -## max_float - -```res sig -let max_float: (float, float) => float -``` - -Returns the maximum of its two floating point arguments. See [`Math.max`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/max) on MDN. - -## maxMany_float - -```res sig -let maxMany_float: array => float -``` - -Returns the maximum of the floating point values in the given array. See [`Math.max`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/max) on MDN. - -## min_int - -```res sig -let min_int: (int, int) => int -``` - -Returns the minimum of its two integer arguments. See [`Math.min`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/min) on MDN. - - -## minMany_int - -```res sig -let minMany_int: array => int -``` - -Returns the minimum of the integers in the given array. See [`Math.min`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/min) on MDN. - -## min_float - -```res sig -let min_float: (float, float) => float -``` - -Returns the minimum of its two floating point arguments. See [`Math.min`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/min) on MDN. - -## minMany_float - -```res sig -let minMany_float: array => float -``` - -Returns the minimum of the floating point values in the given array. See [`Math.min`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/min) on MDN. - - -## pow_int - -```res sig -let pow_int: (~base: int, ~exp: int) => int -``` - -Raises the given base to the given exponent. (Arguments and result are integers.) See [`Math.pow`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/pow) on MDN. - -```res example -Js.Math.pow_int(~base=3, ~exp=4) == 81 -``` - - -## pow_float - -```res sig -let pow_float: (~base: float, ~exp: float) => float -``` - -Raises the given base to the given exponent. (Arguments and result are floats.) Returns `NaN` if the result would be imaginary. See [`Math.pow`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/pow) on MDN. - -```res example -Js.Math.pow_float(~base=3.0, ~exp=4.0) == 81.0 -Js.Math.pow_float(~base=4.0, ~exp=-2.0) == 0.0625 -Js.Math.pow_float(~base=625.0, ~exp=0.5) == 25.0 -Js.Math.pow_float(~base=625.0, ~exp=-0.5) == 0.04 -Js.Float.isNaN(Js.Math.pow_float(~base=-2.0, ~exp=0.5)) == true -``` - -## random - -```res sig -let random: unit => float -``` - -Returns a random number in the half-closed interval [0,1). See [`Math.random`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/random) on MDN. - -## random_int - -```res sig -let random_int: (int, int) => int -``` - -A call to `random_int(minVal, maxVal)` returns a random number in the half-closed interval [minVal, maxVal). See [`Math.random`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/random) on MDN. - -## unsafe_round - -```res sig -let unsafe_round: float => int -``` - -Rounds its argument to nearest integer. For numbers with a fractional portion of exactly 0.5, the argument is rounded to the next integer in the direction of positive infinity. This function may return values not representable by `int`, whose range is -2147483648 to 2147483647. This is because, in JavaScript, there are only 64-bit floating point numbers, which can represent integers in the range ±(253-1) exactly. See [`Math.round`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/round) on MDN. - -```res example -Js.Math.unsafe_round(3.7) == 4 -Js.Math.unsafe_round(-3.5) == -3 -Js.Math.unsafe_round(2_150_000_000_000.3) // out of range for int -``` - -## round - -```res sig -let round: float => float -``` - -Rounds to nearest integral value (expressed as a float). See [`Math.round`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/round) on MDN. - - -## sign_int - -```res sig -let sign_int: int => int -``` - -Returns the sign of its integer argument: -1 if negative, 0 if zero, 1 if positive. See [`Math.sign`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/sign) on MDN. - -## sign_float - -```res sig -let sign_float: float => float -``` -Returns the sign of its float argument: -1.0 if negative, 0.0 if zero, 1.0 if positive. See [`Math.sign`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/sign) on MDN. - -## sin - -```res sig -let sin: float => float -``` - -Sine of argument, which must be specified in radians. See [`Math.sin`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/sin) on MDN. - -## sinh - -```res sig -let sinh: float => float -``` - -Hyperbolic sine of argument, which must be specified in radians. See [`Math.sinh`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/sinh) on MDN. - -## sqrt - -```res sig -let sqrt: float => float -``` - -Square root. If the argument is negative, this function returns `NaN`. See [`Math.sqrt`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/sqrt) on MDN. - -## tan - -```res sig -let tan: float => float -``` - -Tangent of argument, which must be specified in radians. Returns `NaN` if the argument is positive infinity or negative infinity. See [`Math.cos`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/cos) on MDN. - -## tanh - -```res sig -let tanh: float => float -``` - -Hyperbolic tangent of argument, which must be specified in radians. See [`Math.tanh`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/tanh) on MDN. - -## unsafe_trunc - -```res sig -let unsafe_trunc: float => int -``` - -Truncates its argument; i.e., removes fractional digits. This function may return values not representable by `int`, whose range is -2147483648 to 2147483647. This is because, in JavaScript, there are only 64-bit floating point numbers, which can represent integers in the range ±(253-1) exactly. See [`Math.trunc`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/trunc) on MDN. - -## trunc - -```res sig -let trunc: float => float -``` - -Truncates its argument; i.e., removes fractional digits. See [`Math.trunc`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/trunc) on MDN. diff --git a/pages/docs/manual/latest/api/js/null-undefined.mdx b/pages/docs/manual/latest/api/js/null-undefined.mdx deleted file mode 100644 index 754524e19..000000000 --- a/pages/docs/manual/latest/api/js/null-undefined.mdx +++ /dev/null @@ -1,114 +0,0 @@ -# Null_undefined - - - -Provide utilities around `Js.null_undefined`. - - - -## t - -```res prelude -type t<'a> = Js.null_undefined<'a> -``` - -Local alias for `Js.null_undefined<'a>`. - -## return - -```res sig -let return: 'a => t<'a> -``` - -Constructs a value of `Js.null_undefined<'a>` containing a value of `'a`. - -## test - -```res sig -let test: t<'a> => bool -``` - -## isNullable - -```res sig -let isNullable: t<'a> => bool -``` - -Returns `true` if the given value is null or undefined, `false` otherwise. - -## null - -```res sig -let null: t<'a> -``` - -The null value of type `Js.null_undefined<'a>`. - -## undefined - -```res sig -let undefined: t<'a> -``` - -The undefined value of type `Js.null_undefined<'a>`. - -## bind - -```res sig -let bind: (t<'a>, (. 'a) => 'b) => t<'b> -``` - -Maps the contained value using the given function. -If `Js.null_undefined<'a>` contains a value, that value is unwrapped, mapped to a `'b` using the given function `a' => 'b`, then wrapped back up and returned as `Js.null_undefined<'b>`. - -```res example -let maybeGreetWorld = (maybeGreeting: Js.null_undefined) => - Js.Null_undefined.bind(maybeGreeting, (. greeting) => greeting ++ " world!") -``` - -## iter - -```res sig -let iter: (t<'a>, (. 'a) => unit) => unit -``` - -Iterates over the contained value with the given function. -If `Js.null_undefined<'a>` contains a value, that value is unwrapped and applied to the given function. - -```res example -let maybeSay = (maybeMessage: Js.null_undefined) => - Js.Null_undefined.iter(maybeMessage, (. message) => Js.log(message)) -``` - -## fromOption - -```res sig -let fromOption: option<'a> => t<'a> -``` - -Maps `option<'a>` to `Js.null_undefined<'a>`. -`Some(a)` => `a` -`None` => `undefined` - -## from_opt - -```res sig -let from_opt: option<'a> => t<'a> -``` - -## toOption - -```res sig -let toOption: t<'a> => option<'a> -``` - -Maps `Js.null_undefined<'a>` to `option<'a>`. -`a` => `Some(a)` -`undefined` => `None` -`null` => `None` - -## to_opt - -```res sig -let to_opt: t<'a> => option<'a> -``` diff --git a/pages/docs/manual/latest/api/js/null.mdx b/pages/docs/manual/latest/api/js/null.mdx deleted file mode 100644 index 2ef17290c..000000000 --- a/pages/docs/manual/latest/api/js/null.mdx +++ /dev/null @@ -1,107 +0,0 @@ -# Null - - - -Provide utilities around `null<'a>`. - - - -```res prelude -type t<'a> = Js.null<'a> -``` - -Local alias for `Js.null<'a>`. - -```res sig -let return: 'a => t<'a> -``` - -Constructs a value of `Js.null<'a>` containing a value of `'a`. - -## test - -```res sig -let test: t<'a> => bool -``` - -Returns `true` if the given value is empty (`null`), `false` otherwise. - -## empty - -```res sig -let empty: t<'a> -``` - -The empty value, `null`. - -## getUnsafe - -```res sig -let getUnsafe: t<'a> => 'a -``` - -## getExn - -```res sig -let getExn: t<'a> => 'a -``` - -## bind - -```res sig -let bind: (t<'a>, (. 'a) => 'b) => t<'b> -``` - -Maps the contained value using the given function. -If `Js.null<'a>` contains a value, that value is unwrapped, mapped to a `'b` using the given function `'a => 'b`, then wrapped back up and returned as `Js.null<'b>`. - -```res example -let maybeGreetWorld = (maybeGreeting: Js.null) => - Js.Null.bind(maybeGreeting, (. greeting) => greeting ++ " world!") -``` - -## iter - -```res sig -let iter: (t<'a>, (. 'a) => unit) => unit -``` - -Iterates over the contained value with the given function. -If `Js.null<'a>` contains a value, that value is unwrapped and applied to the given function. - -```res example -let maybeSay = (maybeMessage: Js.null) => - Js.Null.iter(maybeMessage, (. message) => Js.log(message)) -``` - -## fromOption - -```res sig -let fromOption: option<'a> => t<'a> -``` - -Maps `option<'a>` to `Js.null<'a>`. -`Some(a)` => `a` -`None` => `empty` - -## from_opt - -```res sig -let from_opt: option<'a> => t<'a> -``` - -## toOption - -```res sig -let toOption: t<'a> => option<'a> -``` - -Maps `Js.null<'a>` to `option<'a>`. -`a` => `Some(a)` -`empty` => `None` - -## to_opt - -```res sig -let to_opt: t<'a> => option<'a> -``` diff --git a/pages/docs/manual/latest/api/js/nullable.mdx b/pages/docs/manual/latest/api/js/nullable.mdx deleted file mode 100644 index 736dad78d..000000000 --- a/pages/docs/manual/latest/api/js/nullable.mdx +++ /dev/null @@ -1,114 +0,0 @@ -# Nullable - - - -Provide utilities around `Js.null_undefined`. - - - -## t - -```res prelude -type t<'a> = Js.null_undefined<'a> -``` - -Local alias for `Js.null_undefined<'a>`. - -## return - -```res sig -let return: 'a => t<'a> -``` - -Constructs a value of `Js.null_undefined<'a>` containing a value of `'a`. - -## test - -```res sig -let test: t<'a> => bool -``` - -## isNullable - -```res sig -let isNullable: t<'a> => bool -``` - -Returns `true` if the given value is null or undefined, `false` otherwise. - -## null - -```res sig -let null: t<'a> -``` - -The null value of type `Js.null_undefined<'a>`. - -## undefined - -```res sig -let undefined: t<'a> -``` - -The undefined value of type `Js.null_undefined<'a>`. - -## bind - -```res sig -let bind: (t<'a>, (. 'a) => 'b) => t<'b> -``` - -Maps the contained value using the given function. -If `Js.null_undefined<'a>` contains a value, that value is unwrapped, mapped to a `'b` using the given function `a' => 'b`, then wrapped back up and returned as `Js.null_undefined<'b>`. - -```res example -let maybeGreetWorld = (maybeGreeting: Js.null_undefined) => - Js.Nullable.bind(maybeGreeting, (. greeting) => greeting ++ " world!") -``` - -## iter - -```res sig -let iter: (t<'a>, (. 'a) => unit) => unit -``` - -Iterates over the contained value with the given function. -If `Js.null_undefined<'a>` contains a value, that value is unwrapped and applied to the given function. - -```res example -let maybeSay = (maybeMessage: Js.null_undefined) => - Js.Nullable.iter(maybeMessage, (. message) => Js.log(message)) -``` - -## fromOption - -```res sig -let fromOption: option<'a> => t<'a> -``` - -Maps `option<'a>` to `Js.null_undefined<'a>`. -`Some(a)` => `a` -`None` => `undefined` - -## from_opt - -```res sig -let from_opt: option<'a> => t<'a> -``` - -## toOption - -```res sig -let toOption: t<'a> => option<'a> -``` - -Maps `Js.null_undefined<'a>` to `option<'a>`. -`a` => `Some(a)` -`undefined` => `None` -`null` => `None` - -## to_opt - -```res sig -let to_opt: t<'a> => option<'a> -``` diff --git a/pages/docs/manual/latest/api/js/obj.mdx b/pages/docs/manual/latest/api/js/obj.mdx deleted file mode 100644 index f8b082345..000000000 --- a/pages/docs/manual/latest/api/js/obj.mdx +++ /dev/null @@ -1,57 +0,0 @@ -# Obj - - - -Provide utilities for Js.t. - - - -## empty - -```res sig -let empty: unit => {..} -``` - -`empty()` returns the empty object `{}`. - -## assign - -```res sig -let assign: ({..}, {..}) => {..} -``` - -`assign(target, source)` copies properties from source to target. -Properties in `target` will be overwritten by properties in `source` if they have the same key. -Returns `target`. - -```res example -/* Copy an object */ - -let obj = {"a": 1} - -let copy = Js.Obj.assign(Js.Obj.empty(), obj) - -/* prints "{ a: 1 }" */ -Js.log(copy) - -/* Merge objects with same properties */ - -let target = {"a": 1, "b": 1} -let source = {"b": 2} - -let obj = Js.Obj.assign(target, source) - -/* prints "{ a: 1, b: 2 }" */ -Js.log(obj) - -/* prints "{ a: 1, b: 2 }", target is modified */ -Js.log(target) -``` - -## keys - -```res sig -let keys: {..} => array -``` - -`keys(obj)` returns an `array` of the keys of `obj`'s own enumerable properties. diff --git a/pages/docs/manual/latest/api/js/option.mdx b/pages/docs/manual/latest/api/js/option.mdx deleted file mode 100644 index ed23e8a64..000000000 --- a/pages/docs/manual/latest/api/js/option.mdx +++ /dev/null @@ -1,170 +0,0 @@ -# Option - - - -Provide utilities for handling `option`. - - - -## t - -```res sig -type t<'a> = option<'a> -``` - -## some - -```res sig -let some: 'a => option<'a> -``` -Wraps the given value in `Some()` - -```res example -Js.Option.some(1066) == Some(1066) -``` - -## isSome - -```res sig -let isSome: option<'a> => bool -``` - -Returns `true` if the argument is `Some(value)`; `false` if the argument is `None`. - -## isSomeValue - -```res sig -let isSomeValue: ((. 'a, 'a) => bool, 'a, option<'a>) => bool -``` - -The first argument to `isSomeValue` is an uncurried function `eq()` that takes two arguments and returns `true` if they are considered to be equal. It is used to compare a plain value `v1`(the second argument) with an `option` value. If the `option` value is `None`, `isSomeValue()` returns `false`; if the third argument is `Some(v2)`, `isSomeValue()` returns the result of calling `eq(v1, v2)`. - -```res example -let clockEqual = (. a, b) => mod(a, 12) == mod(b, 12) -Js.Option.isSomeValue(clockEqual, 3, Some(15)) == true -Js.Option.isSomeValue(clockEqual, 3, Some(4)) == false -Js.Option.isSomeValue(clockEqual, 3, None) == false -``` - -## isNone - -```res sig -let isNone: option<'a> => bool -``` - -Returns `true` if the argument is `None`; `false` otherwise. - -## getExn - -```res sig -let getExn: option<'a> => 'a -``` - -If the argument to `getExn()` is of the form `Some(value)`, returns `value`. If given `None`, it throws a `getExn` exception. - -## equal - -```res sig -let equal: ((. 'a, 'b) => bool, option<'a>, option<'b>) => bool -``` - -The first argument to `equal` is an uncurried function `eq()` that takes two arguments and returns `true` if they are considered to be equal. The second and third arguments are `option` values. - -If the second and third arguments are of the form: - -* `Some(v1)` and `Some(v2)`: returns `eq(v1, v2)` -* `Some(v1)` and `None`: returns `false` -* `None` and `Some(v2)`: returns `false` -* `None` and `None`: returns `true` - -```res example -let clockEqual = (. a, b) => mod(a, 12) == mod(b, 12) -Js.Option.equal(clockEqual, Some(3), Some(15)) == true -Js.Option.equal(clockEqual, Some(3), Some(16)) == false -Js.Option.equal(clockEqual, Some(3), None) == false -Js.Option.equal(clockEqual, None, Some(15)) == false -Js.Option.equal(clockEqual, None, None) == true -``` - -## andThen - -```res sig -let andThen: ((. 'a) => option<'b>, option<'a>) => option<'b> -``` - -The first argument to `andThen()` is an uncurried function `f()` that takes a plain value and returns an `option` result. The second argument is an `option` value. If the second argument is `None`, the return value is `None`. If the second argument is `Some(v)`, the return value is `f(v)`. - -```res example -let reciprocal = (. x) => x == 0 ? None : Some(1.0 /. Belt.Int.toFloat(x)) -Js.Option.andThen(reciprocal, Some(5)) == Some(0.2) -Js.Option.andThen(reciprocal, Some(0)) == None -Js.Option.andThen(reciprocal, None) == None -``` - -## map - -```res sig -let map: ((. 'a) => 'b, option<'a>) => option<'b> -``` - -The first argument to `map()` is an uncurried function `f()` that takes a plain value and returns a plain result. The second argument is an `option` value. If it is of the form `Some(v)`, `map()` returns `Some(f(v))`; if it is `None`, the return value is `None`, and function `f()` is not called. - -```res example -let square = (. x) => x * x -Js.Option.map(square, Some(3)) == Some(9) -Js.Option.map(square, None) == None -``` - -## getWithDefault - -```res sig -let getWithDefault: ('a, option<'a>) => 'a -``` - -The first argument to `getWithDefault()` is a default value. If the second argument is of the form `Some(v)`, `getWithDefault()` returns `v`; if the second argument is `None`, the return value is the default value. - -```res example -Js.Option.getWithDefault(1066, Some(15)) == 15 -Js.Option.getWithDefault(1066, None) == 1066 -``` - -## default - -```res sig -let default: ('a, option<'a>) => 'a -``` - -**See:** [getWithDefault](#getWithDefault) - -## filter - -```res sig -let filter: ((. 'a) => bool, option<'a>) => option<'a> -``` - -The first argument to `filter()` is an uncurried function that takes a plain value and returns a boolean. The second argument is an `option` value. - -If the second argument is of the form `Some(v)` and `f(v)` is `true`, -the return value is `Some(v)`. Otherwise, the return value is `None`. - -```res example -let isEven = (. x) => mod(x, 2) == 0 -Js.Option.filter(isEven, Some(2)) == Some(2) -Js.Option.filter(isEven, Some(3)) == None -Js.Option.filter(isEven, None) == None -``` - -## firstSome - -```res sig -let firstSome: (option<'a>, option<'a>) => option<'a> -``` - -The `firstSome()` function takes two `option` values; if the first is of the form `Some(v1)`, that is the return value. Otherwise, `firstSome()` returns the second value. - -```res example -Js.Option.firstSome(Some("one"), Some("two")) == Some("one") -Js.Option.firstSome(Some("one"), None) == Some("one") -Js.Option.firstSome(None, Some("two")) == Some("two") -Js.Option.firstSome(None, None) == None -``` diff --git a/pages/docs/manual/latest/api/js/promise.mdx b/pages/docs/manual/latest/api/js/promise.mdx deleted file mode 100644 index 52d06c41d..000000000 --- a/pages/docs/manual/latest/api/js/promise.mdx +++ /dev/null @@ -1,91 +0,0 @@ -# Promise - - - -Provide bindings to JS promise. - - - -## t - -```res prelude -type t<+'a> -``` - -## error - -```res prelude -type error -``` - -## make - -```res sig -let make: ((~resolve: (. 'a) => unit, ~reject: (. exn) => unit) => unit) => t<'a> -``` - -## resolve - -```res sig -let resolve: 'a => t<'a> -``` - -## reject - -```res sig -let reject: exn => t<'a> -``` - -## all - -```res sig -let all: array> => t> -``` - -## all2 - -```res sig -let all2: ((t<'a0>, t<'a1>)) => t<('a0, 'a1)> -``` - -## all3 - -```res sig -let all3: ((t<'a0>, t<'a1>, t<'a2>)) => t<('a0, 'a1, 'a2)> -``` - -## all4 - -```res sig -let all4: ((t<'a0>, t<'a1>, t<'a2>, t<'a3>)) => t<('a0, 'a1, 'a2, 'a3)> -``` - -## all5 - -```res sig -let all5: ((t<'a0>, t<'a1>, t<'a2>, t<'a3>, t<'a4>)) => t<('a0, 'a1, 'a2, 'a3, 'a4)> -``` - -## all6 - -```res sig -let all6: ((t<'a0>, t<'a1>, t<'a2>, t<'a3>, t<'a4>, t<'a5>)) => t<('a0, 'a1, 'a2, 'a3, 'a4, 'a5)> -``` - -## race - -```res sig -let race: array> => t<'a> -``` - -## then_ - -```res sig -let then_: ('a => t<'b>, t<'a>) => t<'b> -``` - -## catch - -```res sig -let catch: (error => t<'a>, t<'a>) => t<'a> -``` diff --git a/pages/docs/manual/latest/api/js/re.mdx b/pages/docs/manual/latest/api/js/re.mdx deleted file mode 100644 index 8151d4a03..000000000 --- a/pages/docs/manual/latest/api/js/re.mdx +++ /dev/null @@ -1,244 +0,0 @@ -# Re - - - -Provide bindings to JS regular expressions (RegExp). - - - -## t - -```res prelude -type t -``` - -The RegExp object. - -## result - -```res prelude -type result -``` - -The result of a executing a RegExp on a string. - -## captures - -```res sig -let captures: result => array> -``` - -An `array` of the match and captures, the first is the full match and the remaining are the substring captures. - -## matches - -```res sig -let matches: result => array -``` - -Deprecated. Use captures instead. -An `array` of the matches, the first is the full match and the remaining are the substring matches. - -## index - -```res sig -let index: result => int -``` - -0-based index of the match in the input string. - -## input - -```res sig -let input: result => string -``` - -The original input string. - -## fromString - -```res sig -let fromString: string => t -``` - -Constructs a RegExp object (Js.Re.t) from a `string`. -Regex literals `%re("/.../")` should generally be preferred, but `fromString` is useful when you need to dynamically construct a regex using strings, exactly like when you do so in JavaScript. - -```res example -let firstReScriptFileExtension = (filename, content) => { - let result = Js.Re.fromString(filename ++ "\.(res|resi)")->Js.Re.exec_(content) - switch result { - | Some(r) => Js.Re.captures(r)[1] - | None => None - } -} - -// outputs "res" -firstReScriptFileExtension("School", "School.res School.resi Main.js School.bs.js") -``` - -## fromStringWithFlags - -```res sig -let fromStringWithFlags: (string, ~flags: string) => t -``` - -Constructs a RegExp object (`Js.Re.t`) from a string with the given flags. -See `Js.Re.fromString`. - -Valid flags: - -g global -i ignore case -m multiline -u unicode (es2015) -y sticky (es2015) - -## flags - -```res sig -let flags: t => string -``` - -Returns the enabled flags as a string. - -## global - -```res sig -let global: t => bool -``` - -Returns a `bool` indicating whether the global flag is set. - -## ignoreCase - -```res sig -let ignoreCase: t => bool -``` - -Returns a `bool` indicating whether the ignoreCase flag is set. - -## lastIndex - -```res sig -let lastIndex: t => int -``` - -Returns the index where the next match will start its search. -This property will be modified when the RegExp object is used, if the global ("g") flag is set. - -```res example -let re = %re("/ab*/g") -let str = "abbcdefabh" - -let break = ref(false) -while !break.contents { - switch Js.Re.exec_(re, str) { - | Some(result) => - Js.Nullable.iter( - Js.Re.captures(result)[0]->Js.Nullable.fromOption, - (. match_) => { - let next = Belt.Int.toString(Js.Re.lastIndex(re)) - let matchStr = - match_->Js.Nullable.toOption->Belt.Option.getWithDefault("") - Js.log("Found " ++ (matchStr ++ (". Next match starts at " ++ next))) - }, - ) - | None => break := true - } -} -``` - -## setLastIndex - -```res sig -let setLastIndex: (t, int) => unit -``` - -Sets the index at which the next match will start its search from. - -## multiline - -```res sig -let multiline: t => bool -``` - -Returns a `bool` indicating whether the multiline flag is set. - -## source - -```res sig -let source: t => string -``` - -Returns the pattern as a `string`. - -## sticky - -```res sig -let sticky: t => bool -``` - -Returns a `bool` indicating whether the sticky flag is set. - -## unicode - -```res sig -let unicode: t => bool -``` - -Returns a `bool` indicating whether the unicode flag is set. - -## exec\_ - -```res sig -let exec_: (t, string) => option -``` - -Executes a search on a given string using the given RegExp object. -Returns `Some(Js.Re.result)` if a match is found, `None` otherwise. - -```res example -/* Match "quick brown" followed by "jumps", ignoring characters in between - * Remember "brown" and "jumps" - * Ignore case - */ - -let re = %re("/quick\s(brown).+?(jumps)/ig") -let result = Js.Re.exec_(re, "The Quick Brown Fox Jumps Over The Lazy Dog") -``` - -## exec - -```res sig -let exec: (string, t) => option -``` - -Deprecated. please use `Js.Re.exec_` instead. - -## test\_ - -```res sig -let test_: (t, string) => bool -``` - -Tests whether the given RegExp object will match a given `string`. -Returns true if a match is found, false otherwise. - -```res example -/* A simple implementation of Js.String.startsWith */ - -let str = "hello world!" - -let startsWith = (target, substring) => Js.Re.fromString("^" ++ substring)->Js.Re.test_(target) - -Js.log(str->startsWith("hello")) /* prints "true" */ -``` - -## test - -```res sig -let test: (string, t) => bool -``` - -Deprecated. please use `Js.Re.test_` instead. diff --git a/pages/docs/manual/latest/api/js/result.mdx b/pages/docs/manual/latest/api/js/result.mdx deleted file mode 100644 index b9a747f95..000000000 --- a/pages/docs/manual/latest/api/js/result.mdx +++ /dev/null @@ -1,15 +0,0 @@ -# Result - - - -Define the interface for result. - - - -## t - -```res sig -type t<'good, 'bad> = - | Ok('good) - | Error('bad) -``` diff --git a/pages/docs/manual/latest/api/js/string-2.mdx b/pages/docs/manual/latest/api/js/string-2.mdx deleted file mode 100644 index b87aac35c..000000000 --- a/pages/docs/manual/latest/api/js/string-2.mdx +++ /dev/null @@ -1,794 +0,0 @@ -# String2 - - - -Provide bindings to JS string. Optimized for pipe-first. - - - -## t - -```res prelude -type t = string -``` - -## make - -```res sig -let make: 'a => t -``` - -`make(value)` converts the given value to a `string`. - -```res example -Js.String2.make(3.5) == "3.5" -Js.String2.make([1, 2, 3]) == "1,2,3" -``` - -## fromCharCode - -```res sig -let fromCharCode: int => t -``` - -`fromCharCode(n)` creates a `string` containing the character corresponding to that number; `n` ranges from 0 to 65535. -If out of range, the lower 16 bits of the value are used. Thus, `fromCharCode(0x1F63A)` gives the same result as `fromCharCode(0xF63A)`. See [`String.fromCharCode`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/fromCharCode) on MDN. - -```res example -Js.String2.fromCharCode(65) == "A" -Js.String2.fromCharCode(0x3c8) == `ψ` -Js.String2.fromCharCode(0xd55c) == `한` -Js.String2.fromCharCode(-64568) == `ψ` -``` - -## fromCharCodeMany - -```res sig -let fromCharCodeMany: array => t -``` - -`fromCharCodeMany([n1, n2, n3])` creates a `string` from the characters corresponding to the given numbers, using the same rules as `fromCharCode`. See [`String.fromCharCode`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/fromCharCode) on MDN. - -## fromCodePoint - -```res sig -let fromCodePoint: int => t -``` - -`fromCodePoint(n)` creates a `string` containing the character corresponding to that numeric code point. -If the number is not a valid code point, it raises `RangeError`. -Thus, `fromCodePoint(0x1F63A)` will produce a correct value, unlike `fromCharCode(0x1F63A)`, and `fromCodePoint(-5)` will raise a `RangeError`. See [`String.fromCodePoint`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/fromCodePoint) on MDN. - -```res example -Js.String2.fromCodePoint(65) == "A" -Js.String2.fromCodePoint(0x3c8) == `ψ` -Js.String2.fromCodePoint(0xd55c) == `한` -Js.String2.fromCodePoint(0x1f63a) == `😺` -``` - -## fromCodePointMany - -```res sig -let fromCodePointMany: array => t -``` - -`fromCodePointMany([n1, n2, n3])` creates a `string` from the characters corresponding to the given code point numbers, using the same rules as `fromCodePoint`. See [`String.fromCodePoint`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/fromCodePoint) on MDN. - -```res example -Js.String2.fromCodePointMany([0xd55c, 0xae00, 0x1f63a]) == `한글😺` -``` - -## length - -```res sig -let length: t => int -``` - -`length(s)` returns the length of the given `string`. See [`String.length`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/length) on MDN. - -```res example -Js.String2.length("abcd") == 4 -``` - -## get - -```res sig -let get: (t, int) => t -``` - -`get(s, n)` returns as a `string` the character at the given index number. -If `n` is out of range, this function returns `undefined`, so at some point this function may be modified to return `option`. - -```res example -Js.String2.get("Reason", 0) == "R" -Js.String2.get("Reason", 4) == "o" -Js.String2.get(`Rẽasöń`, 5) == `ń` -``` - -## charAt - -```res sig -let charAt: (t, int) => t -``` - -`charAt(s, n)` gets the character at index `n` within string `s`. -If `n` is negative or greater than the length of `s`, it returns the empty string. -If the string contains characters outside the range \u0000-\uffff, it will return the first 16-bit value at that position in the string. See [`String.charAt`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/charAt) on MDN. - -```res example -Js.String2.charAt("Reason", 0) == "R" -Js.String2.charAt("Reason", 12) == "" -Js.String2.charAt(`Rẽasöń`, 5) == `ń` -``` - -## charCodeAt - -```res sig -let charCodeAt: (t, int) => float -``` - -`charCodeAt(s, n)` returns the character code at position `n` in string `s`; the result is in the range 0-65535, unlke `codePointAt`, so it will not work correctly for characters with code points greater than or equal to 0x10000. -The return type is `float` because this function returns NaN if `n` is less than zero or greater than the length of the string. See [`String.charCodeAt`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/charCodeAt) on MDN. - -```res example -Js.String2.charCodeAt(`😺`, 0) == 0xd83d->Belt.Int.toFloat -Js.String2.codePointAt(`😺`, 0) == Some(0x1f63a) -``` - -## codePointAt - -```res sig -let codePointAt: (t, int) => option -``` - -`codePointAt(s, n)` returns the code point at position `n` within string `s` as a `Some(value)`. -The return value handles code points greater than or equal to 0x10000. -If there is no code point at the given position, the function returns `None`. See [`String.codePointAt`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/codePointAt) on MDN. - -```res example -Js.String2.codePointAt(`¿😺?`, 1) == Some(0x1f63a) -Js.String2.codePointAt("abc", 5) == None -``` - -## concat - -```res sig -let concat: (t, t) => t -``` - -`concat(original, append)` returns a new `string` with `append` added after `original`. See [`String.concat`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/concat) on MDN. - -```res example -Js.String2.concat("cow", "bell") == "cowbell" -``` - -## concatMany - -```res sig -let concatMany: (t, array) => t -``` - -`concat(original, arr)` returns a new `string` consisting of each item of an array of strings added to the `original` string. See [`String.concat`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/concat) on MDN. - -```res example -Js.String2.concatMany("1st", ["2nd", "3rd", "4th"]) == "1st2nd3rd4th" -``` - -## endsWith - -```res sig -let endsWith: (t, t) => bool -``` - -ES2015: `endsWith(str, substr)` returns `true` if the `str` ends with `substr`, `false` otherwise. See [`String.endsWith`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith) on MDN. - -```res example -Js.String2.endsWith("BuckleScript", "Script") == true -Js.String2.endsWith("BuckleShoes", "Script") == false -``` - -## endsWithFrom - -```res sig -let endsWithFrom: (t, t, int) => bool -``` - -`endsWithFrom(str, ending, len)` returns `true` if the first len characters of `str` end with `ending`, `false` otherwise. -If `len` is greater than or equal to the length of `str`, then it works like `endsWith`. (Honestly, this should have been named endsWithAt, but oh well.) See [`String.endsWith`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith) on MDN. - -```res example -Js.String2.endsWithFrom("abcd", "cd", 4) == true -Js.String2.endsWithFrom("abcde", "cd", 3) == false -Js.String2.endsWithFrom("abcde", "cde", 99) == true -Js.String2.endsWithFrom("example.dat", "ple", 7) == true -``` - -## includes - -```res sig -let includes: (t, t) => bool -``` - -ES2015: `includes(str, searchValue)` returns `true` if `searchValue` is found anywhere within `str`, false otherwise. See [`String.includes`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes) on MDN. - -```res example -Js.String2.includes("programmer", "gram") == true -Js.String2.includes("programmer", "er") == true -Js.String2.includes("programmer", "pro") == true -Js.String2.includes("programmer.dat", "xyz") == false -``` - -## includesFrom - -```res sig -let includesFrom: (t, t, int) => bool -``` - -ES2015: `includes(str, searchValue start)` returns `true` if `searchValue` is found anywhere within `str` starting at character number `start` (where 0 is the first character), `false` otherwise. See [`String.includes`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes) on MDN. - -```res example -Js.String2.includesFrom("programmer", "gram", 1) == true -Js.String2.includesFrom("programmer", "gram", 4) == false -Js.String2.includesFrom(`대한민국`, `한`, 1) == true -``` - -## indexOf - -```res sig -let indexOf: (t, t) => int -``` - -ES2015: `indexOf(str, searchValue)` returns the position at which `searchValue` was first found within `str`, or -1 if `searchValue` is not in `str`. See [`String.indexOf`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/indexOf) on MDN. - -```res example -Js.String2.indexOf("bookseller", "ok") == 2 -Js.String2.indexOf("bookseller", "sell") == 4 -Js.String2.indexOf("beekeeper", "ee") == 1 -Js.String2.indexOf("bookseller", "xyz") == -1 -``` - -## indexOfFrom - -```res sig -let indexOfFrom: (t, t, int) => int -``` -`indexOfFrom(str, searchValue, start)` returns the position at which `searchValue` was found within `str` starting at character position `start`, or -1 if `searchValue` is not found in that portion of `str`. -The return value is relative to the beginning of the string, no matter where the search started from. See [`String.indexOf`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/indexOf) on MDN. - -```res example -Js.String2.indexOfFrom("bookseller", "ok", 1) == 2 -Js.String2.indexOfFrom("bookseller", "sell", 2) == 4 -Js.String2.indexOfFrom("bookseller", "sell", 5) == -1 -``` - -## lastIndexOf - -```res sig -let lastIndexOf: (t, t) => int -``` - -`lastIndexOf(str, searchValue)` returns the position of the last occurrence of `searchValue` within `str`, searching backwards from the end of the string. -Returns -1 if `searchValue` is not in `str`. The return value is always relative to the beginning of the string. See [`String.lastIndexOf`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/lastIndexOf) on MDN. - -```res example -Js.String2.lastIndexOf("bookseller", "ok") == 2 -Js.String2.lastIndexOf("beekeeper", "ee") == 4 -Js.String2.lastIndexOf("abcdefg", "xyz") == -1 -``` - -## lastIndexOfFrom - -```res sig -let lastIndexOfFrom: (t, t, int) => int -``` - -`lastIndexOfFrom(str, searchValue, start)` returns the position of the last occurrence of `searchValue` within `str`, searching backwards from the given start position. -Returns -1 if `searchValue` is not in `str`. The return value is always relative to the beginning of the string. See [`String.lastIndexOf`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/lastIndexOf) on MDN. - -```res example -Js.String2.lastIndexOfFrom("bookseller", "ok", 6) == 2 -Js.String2.lastIndexOfFrom("beekeeper", "ee", 8) == 4 -Js.String2.lastIndexOfFrom("beekeeper", "ee", 3) == 1 -Js.String2.lastIndexOfFrom("abcdefg", "xyz", 4) == -1 -``` - -## localeCompare - -```res sig -let localeCompare: (t, t) => float -``` - -`localeCompare(reference, comparison)` returns -- a negative value if reference comes before comparison in sort order -- zero if reference and comparison have the same sort order -- a positive value if reference comes after comparison in sort order - -See [`String.localeCompare`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/localeCompare) on MDN. - -```res example -Js.String2.localeCompare("zebra", "ant") > 0.0 -Js.String2.localeCompare("ant", "zebra") < 0.0 -Js.String2.localeCompare("cat", "cat") == 0.0 -Js.String2.localeCompare("CAT", "cat") > 0.0 -``` - -## match - -```res sig -let match_: (t, Js_re.t) => option>> -``` - -`match(str, regexp)` matches a `string` against the given `regexp`. If there is no match, it returns `None`. For regular expressions without the g modifier, if there is a match, the return value is `Some(array)` where the array contains: -- The entire matched string -- Any capture groups if the regexp had parentheses - -For regular expressions with the g modifier, a matched expression returns `Some(array)` with all the matched substrings and no capture groups. Javscript String.prototype.match can return `undefined` for optional capture groups that are not found, thus the element of the returned array is typed `option`. See [`String.match`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/match) on MDN. - -```res example -Js.String2.match_("The better bats", %re("/b[aeiou]t/")) == Some([Some("bet")]) -Js.String2.match_("The better bats", %re("/b[aeiou]t/g")) == Some([Some("bet"), Some("bat")]) -Js.String2.match_("Today is 2018-04-05.", %re("/(\d+)-(\d+)-(\d+)/")) == - Some([Some("2018-04-05"), Some("2018"), Some("04"), Some("05")]) -Js.String2.match_("The large container.", %re("/b[aeiou]g/")) == None -``` - -## normalize - -```res sig -let normalize: t => t -``` - -`normalize(str)` returns the normalized Unicode string using Normalization Form Canonical (NFC) Composition. -Consider the character ã, which can be represented as the single codepoint \u00e3 or the combination of a lower case letter A \u0061 and a combining tilde \u0303. -Normalization ensures that both can be stored in an equivalent binary representation. See [`String.normalize`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/normalize) on MDN. See also [Unicode technical report #15](https://unicode.org/reports/tr15/) for details. - -## normalizeByForm - -```res sig -let normalizeByForm: (t, t) => t -``` - -ES2015: `normalize(str, form)` returns the normalized Unicode string using the specified form of normalization, which may be one of: -- "NFC" — Normalization Form Canonical Composition. -- "NFD" — Normalization Form Canonical Decomposition. -- "NFKC" — Normalization Form Compatibility Composition. -- "NFKD" — Normalization Form Compatibility Decomposition. - -See [`String.normalize`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/normalize) on MDN. See also [Unicode technical report #15](https://unicode.org/reports/tr15/) for details.. - -## repeat - -```res sig -let repeat: (t, int) => t -``` - -`repeat(str, n)` returns a `string` that consists of `n` repetitions of `str`. Raises `RangeError` if `n` is negative. See [`String.repeat`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/repeat) on MDN. - -```res example -Js.String2.repeat("ha", 3) == "hahaha" -Js.String2.repeat("empty", 0) == "" -``` - -## replace - -```res sig -let replace: (t, t, t) => t -``` - -ES2015: `replace(str, substr, newSubstr)` returns a new `string` which is identical to `str` except with the first matching instance of `substr` replaced by `newSubstr`. -`substr` is treated as a verbatim string to match, not a regular expression. See [`String.replace`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace) on MDN. - -```res example -Js.String2.replace("old string", "old", "new") == "new string" -Js.String2.replace("the cat and the dog", "the", "this") == "this cat and the dog" -``` - -## replaceByRe - -```res sig -let replaceByRe: (t, Js_re.t, t) => t -``` - -`replaceByRe(str, regex, replacement)` returns a new `string` where occurrences matching regex have been replaced by `replacement`. See [`String.replace`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace) on MDN. - -```res example -Js.String2.replaceByRe("vowels be gone", %re("/[aeiou]/g"), "x") == "vxwxls bx gxnx" -Js.String2.replaceByRe("Juan Fulano", %re("/(\w+) (\w+)/"), "$2, $1") == "Fulano, Juan" -``` - -## unsafeReplaceBy0 - -```res sig -let unsafeReplaceBy0: (t, Js_re.t, (t, int, t) => t) => t -``` - -Returns a new `string` with some or all matches of a pattern with no capturing parentheses replaced by the value returned from the given function. -The function receives as its parameters the matched string, the offset at which the match begins, and the whole string being matched. See [`String.replace`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace) on MDN. - -```res example -let str = "beautiful vowels" -let re = %re("/[aeiou]/g") -let matchFn = (matchPart, _offset, _wholeString) => Js.String2.toUpperCase(matchPart) - -Js.String2.unsafeReplaceBy0(str, re, matchFn) == "bEAUtIfUl vOwEls" -``` - -## unsafeReplaceBy1 - -```res sig -let unsafeReplaceBy1: (t, Js_re.t, (t, t, int, t) => t) => t -``` - -Returns a new `string` with some or all matches of a pattern with one set of capturing parentheses replaced by the value returned from the given function. -The function receives as its parameters the matched string, the captured string, the offset at which the match begins, and the whole string being matched. See [`String.replace`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace) on MDN. - -```res example -let str = "Jony is 40" -let re = %re("/(Jony is )\d+/g") -let matchFn = (_match, part1, _offset, _wholeString) => { - part1 ++ "41" -} - -Js.String2.unsafeReplaceBy1(str, re, matchFn) == "Jony is 41" -``` - -## unsafeReplaceBy2 - -```res sig -let unsafeReplaceBy2: (t, Js_re.t, (t, t, t, int, t) => t) => t -``` - -Returns a new `string` with some or all matches of a pattern with two sets of capturing parentheses replaced by the value returned from the given function. -The function receives as its parameters the matched string, the captured strings, the offset at which the match begins, and the whole string being matched. See [`String.replace`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace) on MDN. - -```res example -let str = "7 times 6" -let re = %re("/(\d+) times (\d+)/") -let matchFn = (_match, p1, p2, _offset, _wholeString) => { - switch (Belt.Int.fromString(p1), Belt.Int.fromString(p2)) { - | (Some(x), Some(y)) => Belt.Int.toString(x * y) - | _ => "???" - } -} - -Js.String2.unsafeReplaceBy2(str, re, matchFn) == "42" -``` - -## unsafeReplaceBy3 - -```res sig -let unsafeReplaceBy3: (t, Js_re.t, (t, t, t, t, int, t) => t) => t -``` - -Returns a new `string` with some or all matches of a pattern with three sets of capturing parentheses replaced by the value returned from the given function. -The function receives as its parameters the matched string, the captured strings, the offset at which the match begins, and the whole string being matched. See [`String.replace`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace) on MDN. - -## search - -```res sig -let search: (t, Js_re.t) => int -``` - -`search(str, regexp)` returns the starting position of the first match of `regexp` in the given `str`, or -1 if there is no match. See [`String.search`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/search) on MDN. - -```res example -Js.String2.search("testing 1 2 3", %re("/\d+/")) == 8 -Js.String2.search("no numbers", %re("/\d+/")) == -1 -``` - -## slice - -```res sig -let slice: (t, ~from: int, ~to_: int) => t -``` - -`slice(str, from:n1, to_:n2)` returns the substring of `str` starting at character `n1` up to but not including `n2`. -- If either `n1` or `n2` is negative, then it is evaluated as `length(str - n1)` or `length(str - n2)`. -- If `n2` is greater than the length of `str`, then it is treated as `length(str)`. -- If `n1` is greater than `n2`, slice returns the empty string. - -See [`String.slice`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/slice) on MDN. - -```res example -Js.String2.slice("abcdefg", ~from=2, ~to_=5) == "cde" -Js.String2.slice("abcdefg", ~from=2, ~to_=9) == "cdefg" -Js.String2.slice("abcdefg", ~from=-4, ~to_=-2) == "de" -Js.String2.slice("abcdefg", ~from=5, ~to_=1) == "" -``` - -## sliceToEnd - -```res sig -let sliceToEnd: (t, ~from: int) => t -``` - -`sliceToEnd(str, from:n)` returns the substring of `str` starting at character `n` to the end of the string. -- If `n` is negative, then it is evaluated as `length(str - n)`. -- If `n` is greater than the length of `str`, then sliceToEnd returns the empty string. - -See [`String.slice`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/slice) on MDN. - -```res example -Js.String2.sliceToEnd("abcdefg", ~from=4) == "efg" -Js.String2.sliceToEnd("abcdefg", ~from=-2) == "fg" -Js.String2.sliceToEnd("abcdefg", ~from=7) == "" -``` - -## split - -```res sig -let split: (t, t) => array -``` - -`split(str, delimiter)` splits the given `str` at every occurrence of `delimiter` and returns an array of the resulting substrings. See [`String.split`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/split) on MDN. - -```res example -Js.String2.split("2018-01-02", "-") == ["2018", "01", "02"] -Js.String2.split("a,b,,c", ",") == ["a", "b", "", "c"] -Js.String2.split("good::bad as great::awful", "::") == ["good", "bad as great", "awful"] -Js.String2.split("has-no-delimiter", ";") == ["has-no-delimiter"] -``` - -## splitAtMost - -```res sig -let splitAtMost: (t, t, ~limit: int) => array -``` - -`splitAtMost(str, delimiter, ~limit:n)` splits the given `str` at every occurrence of `delimiter` and returns an array of the first `n` resulting substrings. -If `n` is negative or greater than the number of substrings, the array will contain all the substrings. See [`String.split`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/split) on MDN. - -```res example -Js.String2.splitAtMost("ant/bee/cat/dog/elk", "/", ~limit=3) == ["ant", "bee", "cat"] -Js.String2.splitAtMost("ant/bee/cat/dog/elk", "/", ~limit=0) == [] -Js.String2.splitAtMost("ant/bee/cat/dog/elk", "/", ~limit=9) == [ - "ant", - "bee", - "cat", - "dog", - "elk", - ] -``` - -## splitByRe - -```res sig -let splitByRe: (t, Js_re.t) => array> -``` - -`splitByRe(str, regex)` splits the given `str` at every occurrence of `regex` and returns an array of the resulting substrings. See [`String.split`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/split) on MDN. - -```res example -Js.String2.splitByRe("art; bed , cog ;dad", %re("/\s*[,;]\s*/")) == [ - Some("art"), - Some("bed"), - Some("cog"), - Some("dad"), - ] -``` - -## splitByReAtMost - -```res sig -let splitByReAtMost: (t, Js_re.t, ~limit: int) => array> -``` - -`splitByReAtMost(str, regex, ~limit:n)` splits the given `str` at every occurrence of `regex` and returns an array of the first `n` resulting substrings. -If `n` is negative or greater than the number of substrings, the array will contain all the substrings. See [`String.split`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/split) on MDN. - -```res example -Js.String2.splitByReAtMost("one: two: three: four", %re("/\s*:\s*/"), ~limit=3) == [ - Some("one"), - Some("two"), - Some("three"), - ] - -Js.String2.splitByReAtMost("one: two: three: four", %re("/\s*:\s*/"), ~limit=0) == [] - -Js.String2.splitByReAtMost("one: two: three: four", %re("/\s*:\s*/"), ~limit=8) == [ - Some("one"), - Some("two"), - Some("three"), - Some("four"), - ] -``` - -## startsWith - -```res sig -let startsWith: (t, t) => bool -``` - -ES2015: `startsWith(str, substr)` returns `true` if the `str` starts with `substr`, `false` otherwise. See [`String.startsWith`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith) on MDN. - -```res example -Js.String2.startsWith("BuckleScript", "Buckle") == true -Js.String2.startsWith("BuckleScript", "") == true -Js.String2.startsWith("JavaScript", "Buckle") == false -``` - -## startsWithFrom - -```res sig -let startsWithFrom: (t, t, int) => bool -``` - -ES2015: `startsWithFrom(str, substr, n)` returns `true` if the `str` starts with `substr` starting at position `n`, false otherwise. -If `n` is negative, the search starts at the beginning of `str`. See [`String.startsWith`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith) on MDN. - -```res example -Js.String2.startsWithFrom("BuckleScript", "kle", 3) == true -Js.String2.startsWithFrom("BuckleScript", "", 3) == true -Js.String2.startsWithFrom("JavaScript", "Buckle", 2) == false -``` - -## substr - -```res sig -let substr: (t, ~from: int) => t -``` - -`substr(str, ~from:n)` returns the substring of `str` from position `n` to the end of the string. -- If `n` is less than zero, the starting position is the length of `str - n`. -- If `n` is greater than or equal to the length of `str`, returns the empty string. - -JavaScript’s `String.substr()` is a legacy function. When possible, use `substring()` instead. See [`String.substr`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/substr) on MDN. - -```res example -Js.String2.substr("abcdefghij", ~from=3) == "defghij" -Js.String2.substr("abcdefghij", ~from=-3) == "hij" -Js.String2.substr("abcdefghij", ~from=12) == "" -``` - -## substrAtMost - -```res sig -let substrAtMost: (t, ~from: int, ~length: int) => t -``` - -`substrAtMost(str, ~from: pos, ~length: n)` returns the substring of `str` of length `n` starting at position `pos`. -- If `pos` is less than zero, the starting position is the length of `str - pos`. -- If `pos` is greater than or equal to the length of `str`, returns the empty string. -- If `n` is less than or equal to zero, returns the empty string. - -JavaScript’s `String.substr()` is a legacy function. When possible, use `substring()` instead. See [`String.substr`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/substr) on MDN. - -```res example -Js.String2.substrAtMost("abcdefghij", ~from=3, ~length=4) == "defg" -Js.String2.substrAtMost("abcdefghij", ~from=-3, ~length=4) == "hij" -Js.String2.substrAtMost("abcdefghij", ~from=12, ~length=2) == "" -``` - -## substring - -```res sig -let substring: (t, ~from: int, ~to_: int) => t -``` - -`substring(str, ~from: start, ~to_: finish)` returns characters `start` up to but not including finish from `str`. -- If `start` is less than zero, it is treated as zero. -- If `finish` is zero or negative, the empty string is returned. -- If `start` is greater than `finish`, the `start` and `finish` points are swapped. - -See [`String.substring`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/substring) on MDN. - -```res example -Js.String2.substring("playground", ~from=3, ~to_=6) == "ygr" -Js.String2.substring("playground", ~from=6, ~to_=3) == "ygr" -Js.String2.substring("playground", ~from=4, ~to_=12) == "ground" -``` - -## substringToEnd - -```res sig -let substringToEnd: (t, ~from: int) => t -``` - -`substringToEnd(str, ~from: start)` returns the substring of `str` from position `start` to the end. -- If `start` is less than or equal to zero, the entire string is returned. -- If `start` is greater than or equal to the length of `str`, the empty string is returned. - -See [`String.substring`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/substring) on MDN. - -```res example -Js.String2.substringToEnd("playground", ~from=4) == "ground" -Js.String2.substringToEnd("playground", ~from=-3) == "playground" -Js.String2.substringToEnd("playground", ~from=12) == "" -``` - -## toLowerCase - -```res sig -let toLowerCase: t => t -``` - -`toLowerCase(str)` converts `str` to lower case using the locale-insensitive case mappings in the Unicode Character Database. -Notice that the conversion can give different results depending upon context, for example with the Greek letter sigma, which has two different lower case forms; one when it is the last character in a string and another when it is not. See [`String.toLowerCase`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/toLowerCase) on MDN. - -```res example -Js.String2.toLowerCase("ABC") == "abc" -Js.String2.toLowerCase(`ΣΠ`) == `σπ` -Js.String2.toLowerCase(`ΠΣ`) == `πς` -``` - -## toLocaleLowerCase - -```res sig -let toLocaleLowerCase: t => t -``` - -`toLocaleLowerCase(str)` converts `str` to lower case using the current locale. See [`String.toLocaleLowerCase`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/toLocaleLowerCase) on MDN. - -## toUpperCase - -```res sig -let toUpperCase: t => t -``` - -`toUpperCase(str)` converts `str` to upper case using the locale-insensitive case mappings in the Unicode Character Database. -Notice that the conversion can expand the number of letters in the result; for example the German ß capitalizes to two Ses in a row. See [`String.toUpperCase`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/toUpperCase) on MDN. - -```res example -Js.String2.toUpperCase("abc") == "ABC" -Js.String2.toUpperCase(`Straße`) == `STRASSE` -Js.String2.toUpperCase(`πς`) == `ΠΣ` -``` - -## toLocaleUpperCase - -```res sig -let toLocaleUpperCase: t => t -``` - -`toLocaleUpperCase(str)` converts `str` to upper case using the current locale. See [`String.to:LocaleUpperCase`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/toLocaleUpperCase) on MDN. - -## trim - -```res sig -let trim: t => t -``` - -`trim(str)` returns a string that is `str` with whitespace stripped from both ends. Internal whitespace is not removed. See [`String.trim`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/trim) on MDN. - -```res example -Js.String2.trim(" abc def ") == "abc def" -Js.String2.trim("\n\r\t abc def \n\n\t\r ") == "abc def" -``` - -## anchor - -```res sig -let anchor: (t, t) => t -``` - -`anchor(anchorText, anchorName)` creates a string with an HTML `` element with name attribute of `anchorName` and `anchorText` as its content. Please do not use this method, as it has been removed from the relevant web standards. See [`String.anchor`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/anchor) on MDN. - -```res example -Js.String2.anchor("Page One", "page1") == "Page One" -``` - -## link - -```res sig -let link: (t, t) => t -``` - -ES2015: `link(linkText, urlText)` creates a string with an HTML `` element with href attribute of `urlText` and `linkText` as its content. Please do not use this method, as it has been removed from the relevant web standards. See [`String.link`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/link) on MDN. - -```res example -Js.String2.link("Go to page two", "page2.html") == "Go to page two" -``` - -## castToArrayLike - -```res sig -let castToArrayLike: t => Js_array2.array_like -``` - -Casts its argument to an `array_like` entity that can be processed by functions such as `Js.Array2.fromMap()` - -```res example -let s = "abcde" -let arr = Js.Array2.fromMap(Js.String2.castToArrayLike(s), x => x) -arr == ["a", "b", "c", "d", "e"] -``` diff --git a/pages/docs/manual/latest/api/js/string.mdx b/pages/docs/manual/latest/api/js/string.mdx deleted file mode 100644 index a41a65dde..000000000 --- a/pages/docs/manual/latest/api/js/string.mdx +++ /dev/null @@ -1,804 +0,0 @@ -# String - - - -Provide bindings to JS string. Optimized for pipe-last. - - - -## t - -```res prelude -type t = string -``` - -## make - -```res sig -let make: 'a => t -``` - -`make(value)` converts the given value to a `string`. - -```res example -Js.String2.make(3.5) == "3.5" -Js.String2.make([1, 2, 3]) == "1,2,3" -``` - -## fromCharCode - -```res sig -let fromCharCode: int => t -``` - -`fromCharCode(n)` creates a `string` containing the character corresponding to that number; `n` ranges from 0 to 65535. -If out of range, the lower 16 bits of the value are used. Thus, `fromCharCode(0x1F63A)` gives the same result as `fromCharCode(0xF63A)`. See [`String.fromCharCode`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/fromCharCode) on MDN. - -```res example -Js.String2.fromCharCode(65) == "A" -Js.String2.fromCharCode(0x3c8) == `ψ` -Js.String2.fromCharCode(0xd55c) == `한` -Js.String2.fromCharCode(-64568) == `ψ` -``` - -## fromCharCodeMany - -```res sig -let fromCharCodeMany: array => t -``` - -`fromCharCodeMany([n1, n2, n3])` creates a `string` from the characters corresponding to the given numbers, using the same rules as `fromCharCode`. See [`String.fromCharCode`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/fromCharCode) on MDN. - -## fromCodePoint - -```res sig -let fromCodePoint: int => t -``` - -`fromCodePoint(n)` creates a `string` containing the character corresponding to that numeric code point. -If the number is not a valid code point, it raises `RangeError`. -Thus, `fromCodePoint(0x1F63A)` will produce a correct value, unlike `fromCharCode(0x1F63A)`, and `fromCodePoint(-5)` will raise a `RangeError`. See [`String.fromCodePoint`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/fromCodePoint) on MDN. - -```res example -Js.String2.fromCodePoint(65) == "A" -Js.String2.fromCodePoint(0x3c8) == `ψ` -Js.String2.fromCodePoint(0xd55c) == `한` -Js.String2.fromCodePoint(0x1f63a) == `😺` -``` - -## fromCodePointMany - -```res sig -let fromCodePointMany: array => t -``` - -`fromCodePointMany([n1, n2, n3])` creates a `string` from the characters corresponding to the given code point numbers, using the same rules as `fromCodePoint`. See [`String.fromCodePoint`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/fromCodePoint) on MDN. - -```res example -Js.String2.fromCodePointMany([0xd55c, 0xae00, 0x1f63a]) == `한글😺` -``` - -## length - -```res sig -let length: t => int -``` - -`length(s)` returns the length of the given `string`. See [`String.length`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/length) on MDN. - -```res example -Js.String2.length("abcd") == 4 -``` - -## get - -```res sig -let get: (t, int) => t -``` - -`get(s, n)` returns as a `string` the character at the given index number. -If `n` is out of range, this function returns `undefined`, so at some point this function may be modified to return `option`. - -```res example -Js.String2.get("Reason", 0) == "R" -Js.String2.get("Reason", 4) == "o" -Js.String2.get(`Rẽasöń`, 5) == `ń` -``` - -## charAt - -```res sig -let charAt: (int, t) => t -``` - -`charAt(n, s)` gets the character at index `n` within string `s`. -If `n` is negative or greater than the length of `s`, it returns the empty string. -If the string contains characters outside the range \u0000-\uffff, it will return the first 16-bit value at that position in the string. See [`String.charAt`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/charAt) on MDN. - -```res example -Js.String.charAt(0, "Reason") == "R" -Js.String.charAt(12, "Reason") == "" -Js.String.charAt(5, `Rẽasöń`) == `ń` -``` - -## charCodeAt - -```res sig -let charCodeAt: (int, t) => float -``` - -`charCodeAt(n, s)` returns the character code at position `n` in string `s`; the result is in the range 0-65535, unlke `codePointAt`, so it will not work correctly for characters with code points greater than or equal to 0x10000. -The return type is `float` because this function returns NaN if `n` is less than zero or greater than the length of the string. See [`String.charCodeAt`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/charCodeAt) on MDN. - -```res example -Js.String.charCodeAt(0, `😺`) == 0xd83d->Belt.Int.toFloat -Js.String.codePointAt(0, `😺`) == Some(0x1f63a) -``` - -## codePointAt - -```res sig -let codePointAt: (int, t) => option -``` - -`codePointAt(n, s)` returns the code point at position `n` within string `s` as a `Some(value)`. -The return value handles code points greater than or equal to 0x10000. -If there is no code point at the given position, the function returns `None`. See [`String.codePointAt`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/codePointAt) on MDN. - -```res example -Js.String.codePointAt(1, `¿😺?`) == Some(0x1f63a) -Js.String.codePointAt(5, "abc") == None -``` - -## concat - -```res sig -let concat: (t, t) => t -``` - -`concat(append, original)` returns a new `string` with `append` added after `original`. See [`String.concat`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/concat) on MDN. - -```res example -Js.String.concat("bell", "cow") == "cowbell" -``` - -## concatMany - -```res sig -let concatMany: (array, t) => t -``` - -`concat(arr, original)` returns a new `string` consisting of each item of an array of strings added to the `original` string. See [`String.concat`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/concat) on MDN. - -```res example -Js.String.concatMany(["2nd", "3rd", "4th"], "1st") == "1st2nd3rd4th" -``` - -## endsWith - -```res sig -let endsWith: (t, t) => bool -``` - -ES2015: `endsWith(substr, str)` returns `true` if the `str` ends with `substr`, `false` otherwise. See [`String.endsWith`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith) on MDN. - -```res example -Js.String.endsWith("Script", "BuckleScript") == true -Js.String.endsWith("Script", "BuckleShoes") == false -``` - -## endsWithFrom - -```res sig -let endsWithFrom: (t, int, t) => bool -``` - -`endsWithFrom(ending, len, str)` returns `true` if the first len characters of `str` end with `ending`, `false` otherwise. -If `len` is greater than or equal to the length of `str`, then it works like `endsWith`. (Honestly, this should have been named endsWithAt, but oh well.) See [`String.endsWith`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith) on MDN. - -```res example -Js.String.endsWithFrom("cd", 4, "abcd") == true -Js.String.endsWithFrom("cd", 3, "abcde") == false -Js.String.endsWithFrom("cde", 99, "abcde") == true -Js.String.endsWithFrom("ple", 7, "example.dat") == true -``` - -## includes - -```res sig -let includes: (t, t) => bool -``` - -ES2015: `includes(searchValue, str)` returns `true` if `searchValue` is found anywhere within `str`, false otherwise. See [`String.includes`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes) on MDN. - -```res example -Js.String.includes("gram", "programmer") == true -Js.String.includes("er", "programmer") == true -Js.String.includes("pro", "programmer") == true -Js.String.includes("xyz", "programmer.dat") == false -``` - -## includesFrom - -```res sig -let includesFrom: (t, int, t) => bool -``` - -ES2015: `includes(searchValue start, str)` returns `true` if `searchValue` is found anywhere within `str` starting at character number `start` (where 0 is the first character), `false` otherwise. See [`String.includes`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes) on MDN. - -```res example -Js.String.includesFrom("gram", 1, "programmer") == true -Js.String.includesFrom("gram", 4, "programmer") == false -Js.String.includesFrom(`한`, 1, `대한민국`) == true -``` - -## indexOf - -```res sig -let indexOf: (t, t) => int -``` - -ES2015: `indexOf(searchValue, str)` returns the position at which `searchValue` was first found within `str`, or -1 if `searchValue` is not in `str`. See [`String.indexOf`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/indexOf) on MDN. - -```res example -Js.String.indexOf("ok", "bookseller") == 2 -Js.String.indexOf("sell", "bookseller") == 4 -Js.String.indexOf("ee", "beekeeper") == 1 -Js.String.indexOf("xyz", "bookseller") == -1 -``` - -## indexOfFrom - -```res sig -let indexOfFrom: (t, t, int) => int -``` -`indexOfFrom(searchValue, start, str)` returns the position at which `searchValue` was found within `str` starting at character position `start`, or -1 if `searchValue` is not found in that portion of `str`. -The return value is relative to the beginning of the string, no matter where the search started from. See [`String.indexOf`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/indexOf) on MDN. - -```res example -Js.String.indexOfFrom("ok", 1, "bookseller") == 2 -Js.String.indexOfFrom("sell", 2, "bookseller") == 4 -Js.String.indexOfFrom("sell", 5, "bookseller") == -1 -``` - -## lastIndexOf - -```res sig -let lastIndexOf: (t, t) => int -``` - -`lastIndexOf(searchValue, str)` returns the position of the last occurrence of `searchValue` within `str`, searching backwards from the end of the string. -Returns -1 if `searchValue` is not in `str`. The return value is always relative to the beginning of the string. See [`String.lastIndexOf`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/lastIndexOf) on MDN. - -```res example -Js.String.lastIndexOf("ok", "bookseller") == 2 -Js.String.lastIndexOf("ee", "beekeeper") == 4 -Js.String.lastIndexOf("xyz", "abcdefg") == -1 -``` - -## lastIndexOfFrom - -```res sig -let lastIndexOfFrom: (t, int, t) => int -``` - -`lastIndexOfFrom(searchValue, start, str)` returns the position of the last occurrence of `searchValue` within `str`, searching backwards from the given start position. -Returns -1 if `searchValue` is not in `str`. The return value is always relative to the beginning of the string. See [`String.lastIndexOf`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/lastIndexOf) on MDN. - -```res example -Js.String.lastIndexOfFrom("ok", 6, "bookseller") == 2 -Js.String.lastIndexOfFrom("ee", 8, "beekeeper") == 4 -Js.String.lastIndexOfFrom("ee", 3, "beekeeper") == 1 -Js.String.lastIndexOfFrom("xyz", 4, "abcdefg") == -1 -``` - -## localeCompare - -```res sig -let localeCompare: (t, t) => float -``` - -`localeCompare(comparison, reference)` returns -- a negative value if reference comes before comparison in sort order -- zero if reference and comparison have the same sort order -- a positive value if reference comes after comparison in sort order - -See [`String.localeCompare`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/localeCompare) on MDN. - -```res example -Js.String.localeCompare("ant", "zebra") > 0.0 -Js.String.localeCompare("zebra", "ant") < 0.0 -Js.String.localeCompare("cat", "cat") == 0.0 -Js.String.localeCompare("cat", "CAT") > 0.0 -``` - -## match - -```res sig -let match_: (Js_re.t, t) => option>> -``` - -`match(regexp, str)` matches a `string` against the given `regexp`. If there is no match, it returns `None`. For regular expressions without the g modifier, if there is a match, the return value is `Some(array)` where the array contains: -- The entire matched string -- Any capture groups if the regexp had parentheses - -For regular expressions with the g modifier, a matched expression returns `Some(array)` with all the matched substrings and no capture groups. Javscript String.prototype.match can return `undefined` for optional capture groups that are not found, thus the element of the returned array is typed `option`. See [`String.match`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/match) on MDN. - -```res example -Js.String.match_(%re("/b[aeiou]t/"), "The better bats") == Some([Some("bet")]) -Js.String.match_(%re("/b[aeiou]t/g"), "The better bats") == Some([Some("bet"), Some("bat")]) -Js.String.match_(%re("/(\d+)-(\d+)-(\d+)/"), "Today is 2018-04-05.") == - Some([Some("2018-04-05"), Some("2018"), Some("04"), Some("05")]) -Js.String.match_(%re("/b[aeiou]g/"), "The large container.") == None -``` - -## normalize - -```res sig -let normalize: t => t -``` - -`normalize(str)` returns the normalized Unicode string using Normalization Form Canonical (NFC) Composition. -Consider the character ã, which can be represented as the single codepoint \u00e3 or the combination of a lower case letter A \u0061 and a combining tilde \u0303. -Normalization ensures that both can be stored in an equivalent binary representation. See [`String.normalize`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/normalize) on MDN. See also [Unicode technical report #15](https://unicode.org/reports/tr15/) for details. - -## normalizeByForm - -```res sig -let normalizeByForm: (t, t) => t -``` - -ES2015: `normalize(form, str)` returns the normalized Unicode string using the specified form of normalization, which may be one of: -- "NFC" — Normalization Form Canonical Composition. -- "NFD" — Normalization Form Canonical Decomposition. -- "NFKC" — Normalization Form Compatibility Composition. -- "NFKD" — Normalization Form Compatibility Decomposition. - -See [`String.normalize`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/normalize) on MDN. See also [Unicode technical report #15](https://unicode.org/reports/tr15/) for details. - -## repeat - -```res sig -let repeat: (t, int) => t -``` - -`repeat(n, str)` returns a `string` that consists of `n` repetitions of `str`. Raises `RangeError` if `n` is negative. See [`String.repeat`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/repeat) on MDN. - -```res example -Js.String.repeat(3, "ha") == "hahaha" -Js.String.repeat(0, "empty") == "" -``` - -## replace - -```res sig -let replace: (t, t, t) => t -``` - -ES2015: `replace(substr, newSubstr, str)` returns a new `string` which is identical to `str` except with the first matching instance of `substr` replaced by `newSubstr`. -`substr` is treated as a verbatim string to match, not a regular expression. See [`String.replace`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace) on MDN. - -```res example -Js.String.replace("old", "new", "old string") == "new string" -Js.String.replace("the", "this", "the cat and the dog") == "this cat and the dog" -``` - -## replaceByRe - -```res sig -let replaceByRe: (Js_re.t, t, t) => t -``` - -`replaceByRe(regex, replacement, str)` returns a new `string` where occurrences matching regex have been replaced by `replacement`. See [`String.replace`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace) on MDN. - -```res example -Js.String.replaceByRe(%re("/[aeiou]/g"), "x", "vowels be gone") == "vxwxls bx gxnx" -Js.String.replaceByRe(%re("/(\w+) (\w+)/"), "$2, $1", "Juan Fulano") == "Fulano, Juan" -``` - -## unsafeReplaceBy0 - -```res sig -let unsafeReplaceBy0: (Js_re.t, (t, int, t) => t, t) => t -``` - -Returns a new `string` with some or all matches of a pattern with no capturing parentheses replaced by the value returned from the given function. -The function receives as its parameters the matched string, the offset at which the match begins, and the whole string being matched. See [`String.replace`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace) on MDN. - -```res example -let str = "beautiful vowels" -let re = %re("/[aeiou]/g") -let matchFn = (matchPart, _offset, _wholeString) => Js.String.toUpperCase(matchPart) - -Js.String.unsafeReplaceBy0(re, matchFn, str) == "bEAUtIfUl vOwEls" -``` - -## unsafeReplaceBy1 - -```res sig -let unsafeReplaceBy1: (Js_re.t, (t, t, int, t) => t, t) => t -``` - -Returns a new `string` with some or all matches of a pattern with one set of capturing parentheses replaced by the value returned from the given function. -The function receives as its parameters the matched string, the captured string, the offset at which the match begins, and the whole string being matched. See [`String.replace`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace) on MDN. - -```res example -let str = "Jony is 40" -let re = %re("/(Jony is )\d+/g") -let matchFn = (_match, part1, _offset, _wholeString) => { - part1 ++ "41" -} - -Js.String.unsafeReplaceBy1(re, matchFn, str) == "Jony is 41" -``` - -## unsafeReplaceBy2 - -```res sig -let unsafeReplaceBy2: (Js_re.t, (t, t, t, int, t) => t, t) => t -``` - -Returns a new `string` with some or all matches of a pattern with two sets of capturing parentheses replaced by the value returned from the given function. -The function receives as its parameters the matched string, the captured strings, the offset at which the match begins, and the whole string being matched. See [`String.replace`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace) on MDN. - -```res example -let str = "7 times 6" -let re = %re("/(\d+) times (\d+)/") -let matchFn = (_match, p1, p2, _offset, _wholeString) => { - switch (Belt.Int.fromString(p1), Belt.Int.fromString(p2)) { - | (Some(x), Some(y)) => Belt.Int.toString(x * y) - | _ => "???" - } -} - -Js.String.unsafeReplaceBy2(re, matchFn, str) == "42" -``` - -## unsafeReplaceBy3 - -```res sig -let unsafeReplaceBy3: (Js_re.t, (t, t, t, t, int, t) => t, t) => t -``` - -Returns a new `string` with some or all matches of a pattern with three sets of capturing parentheses replaced by the value returned from the given function. -The function receives as its parameters the matched string, the captured strings, the offset at which the match begins, and the whole string being matched. See [`String.replace`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace) on MDN. - -## search - -```res sig -let search: (Js_re.t, t) => int -``` - -`search(regexp, str)` returns the starting position of the first match of `regexp` in the given `str`, or -1 if there is no match. See [`String.search`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/search) on MDN. - -```res example -Js.String.search(%re("/\d+/"), "testing 1 2 3") == 8 -Js.String.search(%re("/\d+/"), "no numbers") == -1 -``` - -## slice - -```res sig -let slice: (~from: int, ~to_: int, t) => t -``` - -`slice(from:n1, to_:n2, str)` returns the substring of `str` starting at character `n1` up to but not including `n2`. -- If either `n1` or `n2` is negative, then it is evaluated as `length(str - n1)` or `length(str - n2)`. -- If `n2` is greater than the length of `str`, then it is treated as `length(str)`. -- If `n1` is greater than `n2`, slice returns the empty string. - -See [`String.slice`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/slice) on MDN. - -```res example -Js.String.slice(~from=2, ~to_=5, "abcdefg") == "cde" -Js.String.slice(~from=2, ~to_=9, "abcdefg") == "cdefg" -Js.String.slice(~from=-4, ~to_=-2, "abcdefg") == "de" -Js.String.slice(~from=5, ~to_=1, "abcdefg") == "" -``` - -## sliceToEnd - -```res sig -let sliceToEnd: (~from: int, t) => t -``` - -`sliceToEnd(str, from:n)` returns the substring of `str` starting at character `n` to the end of the string. -- If `n` is negative, then it is evaluated as `length(str - n)`. -- If `n` is greater than the length of `str`, then sliceToEnd returns the empty string. - -See [`String.slice`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/slice) on MDN. - -```res example -Js.String.sliceToEnd(~from=4, "abcdefg") == "efg" -Js.String.sliceToEnd(~from=-2, "abcdefg") == "fg" -Js.String.sliceToEnd(~from=7, "abcdefg") == "" -``` - -## split - -```res sig -let split: (t, t) => array -``` - -`split(delimiter, str)` splits the given `str` at every occurrence of `delimiter` and returns an array of the resulting substrings. See [`String.split`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/split) on MDN. - -```res example -Js.String.split("-", "2018-01-02") == ["2018", "01", "02"] -Js.String.split(",", "a,b,,c") == ["a", "b", "", "c"] -Js.String.split("::", "good::bad as great::awful") == ["good", "bad as great", "awful"] -Js.String.split(";", "has-no-delimiter") == ["has-no-delimiter"] -``` - -## splitAtMost - -```res sig -let splitAtMost: (t, ~limit: int, t) => array -``` - -`splitAtMost(delimiter, ~limit:n, str)` splits the given `str` at every occurrence of `delimiter` and returns an array of the first `n` resulting substrings. -If `n` is negative or greater than the number of substrings, the array will contain all the substrings. See [`String.split`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/split) on MDN. - -```res example -Js.String.splitAtMost("/", ~limit=3, "ant/bee/cat/dog/elk") == ["ant", "bee", "cat"] -Js.String.splitAtMost("/", ~limit=0, "ant/bee/cat/dog/elk") == [] -Js.String.splitAtMost("/", ~limit=9, "ant/bee/cat/dog/elk") == ["ant", "bee", "cat", "dog", "elk"] -``` - -## splitLimited - -```res sig -let splitLimited: (t, int, t) => array -``` - -Deprecated - Please use splitAtMost. - -## splitByRe - -```res sig -let splitByRe: (Js_re.t, t) => array> -``` - -`splitByRe(regex, str)` splits the given `str` at every occurrence of `regex` and returns an array of the resulting substrings. See [`String.split`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/split) on MDN. - -```res example -Js.String.splitByRe(%re("/\s*[,;]\s*/"), "art; bed , cog ;dad") == [ - Some("art"), - Some("bed"), - Some("cog"), - Some("dad"), - ] -``` - -## splitByReAtMost - -```res sig -let splitByReAtMost: (Js_re.t, ~limit: int, t) => array> -``` - -`splitByReAtMost(regex, ~limit:n, str)` splits the given `str` at every occurrence of `regex` and returns an array of the first `n` resulting substrings. -If `n` is negative or greater than the number of substrings, the array will contain all the substrings. See [`String.split`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/split) on MDN. - -```res example -Js.String.splitByReAtMost(%re("/\s*:\s*/"), ~limit=3, "one: two: three: four") == [ - Some("one"), - Some("two"), - Some("three"), - ] - -Js.String.splitByReAtMost(%re("/\s*:\s*/"), ~limit=0, "one: two: three: four") == [] - -Js.String.splitByReAtMost(%re("/\s*:\s*/"), ~limit=8, "one: two: three: four") == [ - Some("one"), - Some("two"), - Some("three"), - Some("four"), - ] -``` - -## splitRegexpLimited - -```res sig -let splitRegexpLimited: (Js_re.t, int, t) => array -``` - -Deprecated - Please use splitByReAtMost. - -## startsWith - -```res sig -let startsWith: (t, t) => bool -``` - -ES2015: `startsWith(substr, str)` returns `true` if the `str` starts with `substr`, `false` otherwise. See [`String.startsWith`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith) on MDN. - -```res example -Js.String.startsWith("Buckle", "BuckleScript") == true -Js.String.startsWith("", "BuckleScript") == true -Js.String.startsWith("Buckle", "JavaScript") == false -``` - -## startsWithFrom - -```res sig -let startsWithFrom: (t, int, t) => bool -``` - -ES2015: `startsWithFrom(substr, n, str)` returns `true` if the `str` starts with `substr` starting at position `n`, false otherwise. -If `n` is negative, the search starts at the beginning of `str`. See [`String.startsWith`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith) on MDN. - -```res example -Js.String.startsWithFrom("kle", 3, "BuckleScript") == true -Js.String.startsWithFrom("", 3, "BuckleScript") == true -Js.String.startsWithFrom("Buckle", 2, "JavaScript") == false -``` - -## substr - -```res sig -let substr: (~from: int, t) => t -``` - -`substr(~from:n, str)` returns the substring of `str` from position `n` to the end of the string. -- If `n` is less than zero, the starting position is the length of `str - n`. -- If `n` is greater than or equal to the length of `str`, returns the empty string. - -JavaScript’s `String.substr()` is a legacy function. When possible, use `substring()` instead. See [`String.substr`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/substr) on MDN. - -```res example -Js.String.substr(~from=3, "abcdefghij") == "defghij" -Js.String.substr(~from=-3, "abcdefghij") == "hij" -Js.String.substr(~from=12, "abcdefghij") == "" -``` - -## substrAtMost - -```res sig -let substrAtMost: (~from: int, ~length: int, t) => t -``` - -`substrAtMost(~from: pos, ~length: n, str)` returns the substring of `str` of length `n` starting at position `pos`. -- If `pos` is less than zero, the starting position is the length of `str - pos`. -- If `pos` is greater than or equal to the length of `str`, returns the empty string. -- If `n` is less than or equal to zero, returns the empty string. - -JavaScript’s `String.substr()` is a legacy function. When possible, use `substring()` instead. See [`String.substr`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/substr) on MDN. - -```res example -Js.String.substrAtMost(~from=3, ~length=4, "abcdefghij") == "defg" -Js.String.substrAtMost(~from=-3, ~length=4, "abcdefghij") == "hij" -Js.String.substrAtMost(~from=12, ~length=2, "abcdefghij") == "" -``` - -## substring - -```res sig -let substring: (~from: int, ~to_: int, t) => t -``` - -`substring(~from: start, ~to_: finish, str)` returns characters `start` up to but not including finish from `str`. -- If `start` is less than zero, it is treated as zero. -- If `finish` is zero or negative, the empty string is returned. -- If `start` is greater than `finish`, the `start` and `finish` points are swapped. - -See [`String.substring`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/substring) on MDN. - -```res example -Js.String.substring(~from=3, ~to_=6, "playground") == "ygr" -Js.String.substring(~from=6, ~to_=3, "playground") == "ygr" -Js.String.substring(~from=4, ~to_=12, "playground") == "ground" -``` - -## substringToEnd - -```res sig -let substringToEnd: (~from: int, t) => t -``` - -`substringToEnd(~from: start, str)` returns the substring of `str` from position `start` to the end. -- If `start` is less than or equal to zero, the entire string is returned. -- If `start` is greater than or equal to the length of `str`, the empty string is returned. - -See [`String.substring`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/substring) on MDN. - -```res example -Js.String.substringToEnd(~from=4, "playground") == "ground" -Js.String.substringToEnd(~from=-3, "playground") == "playground" -Js.String.substringToEnd(~from=12, "playground") == "" -``` - -## toLowerCase - -```res sig -let toLowerCase: t => t -``` - -`toLowerCase(str)` converts `str` to lower case using the locale-insensitive case mappings in the Unicode Character Database. -Notice that the conversion can give different results depending upon context, for example with the Greek letter sigma, which has two different lower case forms; one when it is the last character in a string and another when it is not. See [`String.toLowerCase`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/toLowerCase) on MDN. - -```res example -Js.String.toLowerCase("ABC") == "abc" -Js.String.toLowerCase(`ΣΠ`) == `σπ` -Js.String.toLowerCase(`ΠΣ`) == `πς` -``` - -## toLocaleLowerCase - -```res sig -let toLocaleLowerCase: t => t -``` - -`toLocaleLowerCase(str)` converts `str` to lower case using the current locale. See [`String.toLocaleLowerCase`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/toLocaleLowerCase) on MDN. - -## toUpperCase - -```res sig -let toUpperCase: t => t -``` - -`toUpperCase(str)` converts `str` to upper case using the locale-insensitive case mappings in the Unicode Character Database. -Notice that the conversion can expand the number of letters in the result; for example the German ß capitalizes to two Ses in a row. See [`String.toUpperCase`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/toUpperCase) on MDN. - -```res example -Js.String.toUpperCase("abc") == "ABC" -Js.String.toUpperCase(`Straße`) == `STRASSE` -Js.String.toUpperCase(`πς`) == `ΠΣ` -``` - -## toLocaleUpperCase - -```res sig -let toLocaleUpperCase: t => t -``` - -`toLocaleUpperCase(str)` converts `str` to upper case using the current locale. See [`String.to:LocaleUpperCase`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/toLocaleUpperCase) on MDN. - -## trim - -```res sig -let trim: t => t -``` - -`trim(str)` returns a string that is `str` with whitespace stripped from both ends. Internal whitespace is not removed. See [`String.trim`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/trim) on MDN. - -```res example -Js.String.trim(" abc def ") == "abc def" -Js.String.trim("\n\r\t abc def \n\n\t\r ") == "abc def" -``` - -## anchor - -```res sig -let anchor: (t, t) => t -``` - -`anchor(anchorName, anchorText)` creates a string with an HTML `` element with name attribute of `anchorName` and `anchorText` as its content. Please do not use this method, as it has been removed from the relevant web standards. See [`String.anchor`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/anchor) on MDN. - -```res example -Js.String.anchor("page1", "Page One") == "Page One" -``` - -## link - -```res sig -let link: (t, t) => t -``` - -ES2015: `link(urlText, linkText)` creates a string with an HTML `` element with href attribute of `urlText` and `linkText` as its content. Please do not use this method, as it has been removed from the relevant web standards. See [`String.link`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/link) on MDN. - -```res example -Js.String.link("page2.html", "Go to page two") == "Go to page two" -``` - -## castToArrayLike - -```res sig -let castToArrayLike: t => Js_array2.array_like -``` - -Casts its argument to an `array_like` entity that can be processed by functions such as `Js.Array2.fromMap()` - -```res example -let s = "abcde" -let arr = Js.Array2.fromMap(Js.String.castToArrayLike(s), x => x) -arr == ["a", "b", "c", "d", "e"] -``` diff --git a/pages/docs/manual/latest/api/js/typed-array-2.mdx b/pages/docs/manual/latest/api/js/typed-array-2.mdx deleted file mode 100644 index 617e9324d..000000000 --- a/pages/docs/manual/latest/api/js/typed-array-2.mdx +++ /dev/null @@ -1,31 +0,0 @@ -# TypedArray2 - - - -Provide bindings to JS typed array. - - - -## array_buffer - -```res sig -type array_buffer -``` - -## array_like - -```res sig -type array_like<'a> -``` - -## module ArrayBuffer -## module Int8Array -## module Uint8Array -## module Uint8ClampedArray -## module Int16Array -## module Uint16Array -## module Int32Array -## module Uint32Array -## module Float32Array -## module Float64Array -## module DataView diff --git a/pages/docs/manual/latest/api/js/typed-array-2_array-buffer.mdx b/pages/docs/manual/latest/api/js/typed-array-2_array-buffer.mdx deleted file mode 100644 index 5bef6f7e8..000000000 --- a/pages/docs/manual/latest/api/js/typed-array-2_array-buffer.mdx +++ /dev/null @@ -1,40 +0,0 @@ -# TypedArray2.ArrayBuffer - - - -Provide bindings to JS typed array ArrayBuffer. - - - -## t - -```res prelude -type t = Js_typed_array2.array_buffer -``` - -## make - -```res sig -let make: int => t -``` - -Takes length. initializes elements to 0. - - -## byteLength - -```res sig -let byteLength: t => int -``` - -## slice - -```res sig -let slice: (t, ~start: int, ~end_: int) => Js_typed_array2.array_buffer -``` - -## sliceFrom - -```res sig -let sliceFrom: (t, int) => Js_typed_array2.array_buffer -``` diff --git a/pages/docs/manual/latest/api/js/typed-array-2_data-view.mdx b/pages/docs/manual/latest/api/js/typed-array-2_data-view.mdx deleted file mode 100644 index 0b65c8da7..000000000 --- a/pages/docs/manual/latest/api/js/typed-array-2_data-view.mdx +++ /dev/null @@ -1,223 +0,0 @@ -# TypedArray2.DataView - - - -Provide bindings to JS typed array DataView. - - - -## t - -```res prelude -type t -``` - -## make - -```res sig -let make: Js_typed_array2.array_buffer => t -``` - -## fromBuffer - -```res sig -let fromBuffer: Js_typed_array2.array_buffer => t -``` - -## fromBufferOffset - -```res sig -let fromBufferOffset: (Js_typed_array2.array_buffer, int) => t -``` - -## fromBufferRange - -```res sig -let fromBufferRange: (Js_typed_array2.array_buffer, ~offset: int, ~length: int) => t -``` - -## buffer - -```res sig -let buffer: t => Js_typed_array2.array_buffer -``` - -## byteLength - -```res sig -let byteLength: t => int -``` - -## byteOffset - -```res sig -let byteOffset: t => int -``` - -## getInt8 - -```res sig -let getInt8: (t, int) => int -``` - -## getUint8 - -```res sig -let getUint8: (t, int) => int -``` - -## getInt16 - -```res sig -let getInt16: (t, int) => int -``` - -## getInt16LittleEndian - -```res sig -let getInt16LittleEndian: (t, int) => int -``` - -## getUint16 - -```res sig -let getUint16: (t, int) => int -``` - -## getUint16LittleEndian - -```res sig -let getUint16LittleEndian: (t, int) => int -``` - -## getInt32 - -```res sig -let getInt32: (t, int) => int -``` - -## getInt32LittleEndian - -```res sig -let getInt32LittleEndian: (t, int) => int -``` - -## getUint32 - -```res sig -let getUint32: (t, int) => int -``` - -## getUint32LittleEndian - -```res sig -let getUint32LittleEndian: (t, int) => int -``` - -## getFloat32 - -```res sig -let getFloat32: (t, int) => float -``` - -## getFloat32LittleEndian - -```res sig -let getFloat32LittleEndian: (t, int) => float -``` - -## getFloat64 - -```res sig -let getFloat64: (t, int) => float -``` - -## getFloat64LittleEndian - -```res sig -let getFloat64LittleEndian: (t, int) => float -``` - -## setInt8 - -```res sig -let setInt8: (t, int, int) => unit -``` - -## setUint8 - -```res sig -let setUint8: (t, int, int) => unit -``` - -## setInt16 - -```res sig -let setInt16: (t, int, int) => unit -``` - -## setInt16LittleEndian - -```res sig -let setInt16LittleEndian: (t, int, int) => unit -``` - -## setUint16 - -```res sig -let setUint16: (t, int, int) => unit -``` - -## setUint16LittleEndian - -```res sig -let setUint16LittleEndian: (t, int, int) => unit -``` - -## setInt32 - -```res sig -let setInt32: (t, int, int) => unit -``` - -## setInt32LittleEndian - -```res sig -let setInt32LittleEndian: (t, int, int) => unit -``` - -## setUint32 - -```res sig -let setUint32: (t, int, int) => unit -``` - -## setUint32LittleEndian - -```res sig -let setUint32LittleEndian: (t, int, int) => unit -``` - -## setFloat32 - -```res sig -let setFloat32: (t, int, float) => unit -``` - -## setFloat32LittleEndian - -```res sig -let setFloat32LittleEndian: (t, int, float) => unit -``` - -## setFloat64 - -```res sig -let setFloat64: (t, int, float) => unit -``` - -## setFloat64LittleEndian - -```res sig -let setFloat64LittleEndian: (t, int, float) => unit -``` diff --git a/pages/docs/manual/latest/api/js/typed-array-2_float-32-array.mdx b/pages/docs/manual/latest/api/js/typed-array-2_float-32-array.mdx deleted file mode 100644 index 2bfec4069..000000000 --- a/pages/docs/manual/latest/api/js/typed-array-2_float-32-array.mdx +++ /dev/null @@ -1,363 +0,0 @@ -# TypedArray2.Float32Array - - - -Provide bindings to JS typed array Float32Array. - - - -## t - -```res prelude -type elt = float -type typed_array<'a> -type t = typed_array -``` - -## unsafe_get - -```res sig -let unsafe_get: (t, int) => elt -``` - -## unsafe_set - -```res sig -let unsafe_set: (t, int, elt) => unit -``` - -## buffer - -```res sig -let buffer: t => Js_typed_array2.array_buffer -``` - -## byteLength - -```res sig -let byteLength: t => int -``` - -## byteOffset - -```res sig -let byteOffset: t => int -``` - -## setArray - -```res sig -let setArray: (array, t) => unit -``` - -## setArrayOffset - -```res sig -let setArrayOffset: (array, int, t) => unit -``` - -## length - -```res sig -let length: t => int -``` - -## copyWithin - -```res sig -let copyWithin: (~to_: int, t) => t -``` - -## copyWithinFrom - -```res sig -let copyWithinFrom: (~to_: int, ~from: int, t) => t -``` - -## copyWithinFromRange - -```res sig -let copyWithinFromRange: (~to_: int, ~start: int, ~end_: int, t) => t -``` - -## fillInPlace - -```res sig -let fillInPlace: (elt, t) => t -``` - -## fillFromInPlace - -```res sig -let fillFromInPlace: (elt, ~from: int, t) => t -``` - -## fillRangeInPlace - -```res sig -let fillRangeInPlace: (elt, ~start: int, ~end_: int, t) => t -``` - -## reverseInPlace - -```res sig -let reverseInPlace: t => t -``` - -## sortInPlace - -```res sig -let sortInPlace: t => t -``` - -## sortInPlaceWith - -```res sig -let sortInPlaceWith: ((. elt, elt) => int, t) => t -``` - -## includes - -```res sig -let includes: (elt, t) => bool -``` - -ES2016 - -## indexOf - -```res sig -let indexOf: (elt, t) => int -``` - -## indexOfFrom - -```res sig -let indexOfFrom: (elt, ~from: int, t) => int -``` - -## join - -```res sig -let join: t => string -``` - -## joinWith - -```res sig -let joinWith: (string, t) => string -``` - -## lastIndexOf - -```res sig -let lastIndexOf: (elt, t) => int -``` - -## lastIndexOfFrom - -```res sig -let lastIndexOfFrom: (elt, ~from: int, t) => int -``` - -## slice - -```res sig -let slice: (~start: int, ~end_: int, t) => t -``` - -`start` is inclusive, `end_` exclusive. - -## copy - -```res sig -let copy: t => t -``` - -## sliceFrom - -```res sig -let sliceFrom: (int, t) => t -``` - -## subarray - -```res sig -let subarray: (~start: int, ~end_: int, t) => t -``` - -`start` is inclusive, `end_` exclusive. - -## subarrayFrom - -```res sig -let subarrayFrom: (int, t) => t -``` - -## toString - -```res sig -let toString: t => string -``` - -## toLocaleString - -```res sig -let toLocaleString: t => string -``` - -## every - -```res sig -let every: ((. elt) => bool, t) => bool -``` - -## everyi - -```res sig -let everyi: ((. elt, int) => bool, t) => bool -``` - -## filter - -```res sig -let filter: ((. elt) => bool, t) => t -``` - -## filteri - -```res sig -let filteri: ((. elt, int) => bool, t) => t -``` - -## find - -```res sig -let find: ((. elt) => bool, t) => Js.undefined -``` - -## findi - -```res sig -let findi: ((. elt, int) => bool, t) => Js.undefined -``` - -## findIndex - -```res sig -let findIndex: ((. elt) => bool, t) => int -``` - -## findIndexi - -```res sig -let findIndexi: ((. elt, int) => bool, t) => int -``` - -## forEach - -```res sig -let forEach: ((. elt) => unit, t) => unit -``` - -## forEachi - -```res sig -let forEachi: ((. elt, int) => unit, t) => unit -``` - -## map - -```res sig -let map: ((. elt) => 'b, t) => typed_array<'b> -``` - -## mapi - -```res sig -let mapi: ((. elt, int) => 'b, t) => typed_array<'b> -``` - -## reduce - -```res sig -let reduce: ((. 'b, elt) => 'b, 'b, t) => 'b -``` - -## reducei - -```res sig -let reducei: ((. 'b, elt, int) => 'b, 'b, t) => 'b -``` - -## reduceRight - -```res sig -let reduceRight: ((. 'b, elt) => 'b, 'b, t) => 'b -``` - -## reduceRighti - -```res sig -let reduceRighti: ((. 'b, elt, int) => 'b, 'b, t) => 'b -``` - -## some - -```res sig -let some: ((. elt) => bool, t) => bool -``` - -## somei - -```res sig -let somei: ((. elt, int) => bool, t) => bool -``` - -## _BYTES_PER_ELEMENT - -```res sig -let _BYTES_PER_ELEMENT: int -``` - -## make - -```res sig -let make: array => t -``` - -## fromBuffer - -```res sig -let fromBuffer: Js_typed_array2.array_buffer => t -``` - -## fromBufferOffset - -```res sig -let fromBufferOffset: (Js_typed_array2.array_buffer, int) => t -``` - -Can throw an exception. - -## fromBufferRange - -```res sig -let fromBufferRange: (Js_typed_array2.array_buffer, ~offset: int, ~length: int) => t -``` - -Raises `Js.Exn.Error` raise Js exception. - -## fromLength - -```res sig -let fromLength: int => t -``` - -Raises `Js.Exn.Error` raise Js exception. - -## from - -```res sig -let from: Js_typed_array2.array_like => t -``` diff --git a/pages/docs/manual/latest/api/js/typed-array-2_float-64-array.mdx b/pages/docs/manual/latest/api/js/typed-array-2_float-64-array.mdx deleted file mode 100644 index 5cf59253b..000000000 --- a/pages/docs/manual/latest/api/js/typed-array-2_float-64-array.mdx +++ /dev/null @@ -1,363 +0,0 @@ -# TypedArray2.Float64Array - - - -Provide bindings to JS typed array Float64Array. - - - -## t - -```res prelude -type elt = float -type typed_array<'a> -type t = typed_array -``` - -## unsafe_get - -```res sig -let unsafe_get: (t, int) => elt -``` - -## unsafe_set - -```res sig -let unsafe_set: (t, int, elt) => unit -``` - -## buffer - -```res sig -let buffer: t => Js_typed_array2.array_buffer -``` - -## byteLength - -```res sig -let byteLength: t => int -``` - -## byteOffset - -```res sig -let byteOffset: t => int -``` - -## setArray - -```res sig -let setArray: (array, t) => unit -``` - -## setArrayOffset - -```res sig -let setArrayOffset: (array, int, t) => unit -``` - -## length - -```res sig -let length: t => int -``` - -## copyWithin - -```res sig -let copyWithin: (~to_: int, t) => t -``` - -## copyWithinFrom - -```res sig -let copyWithinFrom: (~to_: int, ~from: int, t) => t -``` - -## copyWithinFromRange - -```res sig -let copyWithinFromRange: (~to_: int, ~start: int, ~end_: int, t) => t -``` - -## fillInPlace - -```res sig -let fillInPlace: (elt, t) => t -``` - -## fillFromInPlace - -```res sig -let fillFromInPlace: (elt, ~from: int, t) => t -``` - -## fillRangeInPlace - -```res sig -let fillRangeInPlace: (elt, ~start: int, ~end_: int, t) => t -``` - -## reverseInPlace - -```res sig -let reverseInPlace: t => t -``` - -## sortInPlace - -```res sig -let sortInPlace: t => t -``` - -## sortInPlaceWith - -```res sig -let sortInPlaceWith: ((. elt, elt) => int, t) => t -``` - -## includes - -```res sig -let includes: (elt, t) => bool -``` - -ES2016 - -## indexOf - -```res sig -let indexOf: (elt, t) => int -``` - -## indexOfFrom - -```res sig -let indexOfFrom: (elt, ~from: int, t) => int -``` - -## join - -```res sig -let join: t => string -``` - -## joinWith - -```res sig -let joinWith: (string, t) => string -``` - -## lastIndexOf - -```res sig -let lastIndexOf: (elt, t) => int -``` - -## lastIndexOfFrom - -```res sig -let lastIndexOfFrom: (elt, ~from: int, t) => int -``` - -## slice - -```res sig -let slice: (~start: int, ~end_: int, t) => t -``` - -`start` is inclusive, `end_` exclusive. - -## copy - -```res sig -let copy: t => t -``` - -## sliceFrom - -```res sig -let sliceFrom: (int, t) => t -``` - -## subarray - -```res sig -let subarray: (~start: int, ~end_: int, t) => t -``` - -`start` is inclusive, `end_` exclusive. - -## subarrayFrom - -```res sig -let subarrayFrom: (int, t) => t -``` - -## toString - -```res sig -let toString: t => string -``` - -## toLocaleString - -```res sig -let toLocaleString: t => string -``` - -## every - -```res sig -let every: ((. elt) => bool, t) => bool -``` - -## everyi - -```res sig -let everyi: ((. elt, int) => bool, t) => bool -``` - -## filter - -```res sig -let filter: ((. elt) => bool, t) => t -``` - -## filteri - -```res sig -let filteri: ((. elt, int) => bool, t) => t -``` - -## find - -```res sig -let find: ((. elt) => bool, t) => Js.undefined -``` - -## findi - -```res sig -let findi: ((. elt, int) => bool, t) => Js.undefined -``` - -## findIndex - -```res sig -let findIndex: ((. elt) => bool, t) => int -``` - -## findIndexi - -```res sig -let findIndexi: ((. elt, int) => bool, t) => int -``` - -## forEach - -```res sig -let forEach: ((. elt) => unit, t) => unit -``` - -## forEachi - -```res sig -let forEachi: ((. elt, int) => unit, t) => unit -``` - -## map - -```res sig -let map: ((. elt) => 'b, t) => typed_array<'b> -``` - -## mapi - -```res sig -let mapi: ((. elt, int) => 'b, t) => typed_array<'b> -``` - -## reduce - -```res sig -let reduce: ((. 'b, elt) => 'b, 'b, t) => 'b -``` - -## reducei - -```res sig -let reducei: ((. 'b, elt, int) => 'b, 'b, t) => 'b -``` - -## reduceRight - -```res sig -let reduceRight: ((. 'b, elt) => 'b, 'b, t) => 'b -``` - -## reduceRighti - -```res sig -let reduceRighti: ((. 'b, elt, int) => 'b, 'b, t) => 'b -``` - -## some - -```res sig -let some: ((. elt) => bool, t) => bool -``` - -## somei - -```res sig -let somei: ((. elt, int) => bool, t) => bool -``` - -## _BYTES_PER_ELEMENT - -```res sig -let _BYTES_PER_ELEMENT: int -``` - -## make - -```res sig -let make: array => t -``` - -## fromBuffer - -```res sig -let fromBuffer: Js_typed_array2.array_buffer => t -``` - -## fromBufferOffset - -```res sig -let fromBufferOffset: (Js_typed_array2.array_buffer, int) => t -``` - -Can throw an exception. - -## fromBufferRange - -```res sig -let fromBufferRange: (Js_typed_array2.array_buffer, ~offset: int, ~length: int) => t -``` - -Raises `Js.Exn.Error` raise Js exception. - -## fromLength - -```res sig -let fromLength: int => t -``` - -Raises `Js.Exn.Error` raise Js exception. - -## from - -```res sig -let from: Js_typed_array2.array_like => t -``` diff --git a/pages/docs/manual/latest/api/js/typed-array-2_int-16-array.mdx b/pages/docs/manual/latest/api/js/typed-array-2_int-16-array.mdx deleted file mode 100644 index 6452ee5ef..000000000 --- a/pages/docs/manual/latest/api/js/typed-array-2_int-16-array.mdx +++ /dev/null @@ -1,363 +0,0 @@ -# TypedArray2.Int16Array - - - -Provide bindings to JS typed array Int16Array. - - - -## t - -```res prelude -type elt = int -type typed_array<'a> -type t = typed_array -``` - -## unsafe_get - -```res sig -let unsafe_get: (t, int) => elt -``` - -## unsafe_set - -```res sig -let unsafe_set: (t, int, elt) => unit -``` - -## buffer - -```res sig -let buffer: t => Js_typed_array2.array_buffer -``` - -## byteLength - -```res sig -let byteLength: t => int -``` - -## byteOffset - -```res sig -let byteOffset: t => int -``` - -## setArray - -```res sig -let setArray: (array, t) => unit -``` - -## setArrayOffset - -```res sig -let setArrayOffset: (array, int, t) => unit -``` - -## length - -```res sig -let length: t => int -``` - -## copyWithin - -```res sig -let copyWithin: (~to_: int, t) => t -``` - -## copyWithinFrom - -```res sig -let copyWithinFrom: (~to_: int, ~from: int, t) => t -``` - -## copyWithinFromRange - -```res sig -let copyWithinFromRange: (~to_: int, ~start: int, ~end_: int, t) => t -``` - -## fillInPlace - -```res sig -let fillInPlace: (elt, t) => t -``` - -## fillFromInPlace - -```res sig -let fillFromInPlace: (elt, ~from: int, t) => t -``` - -## fillRangeInPlace - -```res sig -let fillRangeInPlace: (elt, ~start: int, ~end_: int, t) => t -``` - -## reverseInPlace - -```res sig -let reverseInPlace: t => t -``` - -## sortInPlace - -```res sig -let sortInPlace: t => t -``` - -## sortInPlaceWith - -```res sig -let sortInPlaceWith: ((. elt, elt) => int, t) => t -``` - -## includes - -```res sig -let includes: (elt, t) => bool -``` - -ES2016 - -## indexOf - -```res sig -let indexOf: (elt, t) => int -``` - -## indexOfFrom - -```res sig -let indexOfFrom: (elt, ~from: int, t) => int -``` - -## join - -```res sig -let join: t => string -``` - -## joinWith - -```res sig -let joinWith: (string, t) => string -``` - -## lastIndexOf - -```res sig -let lastIndexOf: (elt, t) => int -``` - -## lastIndexOfFrom - -```res sig -let lastIndexOfFrom: (elt, ~from: int, t) => int -``` - -## slice - -```res sig -let slice: (~start: int, ~end_: int, t) => t -``` - -`start` is inclusive, `end_` exclusive. - -## copy - -```res sig -let copy: t => t -``` - -## sliceFrom - -```res sig -let sliceFrom: (int, t) => t -``` - -## subarray - -```res sig -let subarray: (~start: int, ~end_: int, t) => t -``` - -`start` is inclusive, `end_` exclusive. - -## subarrayFrom - -```res sig -let subarrayFrom: (int, t) => t -``` - -## toString - -```res sig -let toString: t => string -``` - -## toLocaleString - -```res sig -let toLocaleString: t => string -``` - -## every - -```res sig -let every: ((. elt) => bool, t) => bool -``` - -## everyi - -```res sig -let everyi: ((. elt, int) => bool, t) => bool -``` - -## filter - -```res sig -let filter: ((. elt) => bool, t) => t -``` - -## filteri - -```res sig -let filteri: ((. elt, int) => bool, t) => t -``` - -## find - -```res sig -let find: ((. elt) => bool, t) => Js.undefined -``` - -## findi - -```res sig -let findi: ((. elt, int) => bool, t) => Js.undefined -``` - -## findIndex - -```res sig -let findIndex: ((. elt) => bool, t) => int -``` - -## findIndexi - -```res sig -let findIndexi: ((. elt, int) => bool, t) => int -``` - -## forEach - -```res sig -let forEach: ((. elt) => unit, t) => unit -``` - -## forEachi - -```res sig -let forEachi: ((. elt, int) => unit, t) => unit -``` - -## map - -```res sig -let map: ((. elt) => 'b, t) => typed_array<'b> -``` - -## mapi - -```res sig -let mapi: ((. elt, int) => 'b, t) => typed_array<'b> -``` - -## reduce - -```res sig -let reduce: ((. 'b, elt) => 'b, 'b, t) => 'b -``` - -## reducei - -```res sig -let reducei: ((. 'b, elt, int) => 'b, 'b, t) => 'b -``` - -## reduceRight - -```res sig -let reduceRight: ((. 'b, elt) => 'b, 'b, t) => 'b -``` - -## reduceRighti - -```res sig -let reduceRighti: ((. 'b, elt, int) => 'b, 'b, t) => 'b -``` - -## some - -```res sig -let some: ((. elt) => bool, t) => bool -``` - -## somei - -```res sig -let somei: ((. elt, int) => bool, t) => bool -``` - -## _BYTES_PER_ELEMENT - -```res sig -let _BYTES_PER_ELEMENT: int -``` - -## make - -```res sig -let make: array => t -``` - -## fromBuffer - -```res sig -let fromBuffer: Js_typed_array2.array_buffer => t -``` - -## fromBufferOffset - -```res sig -let fromBufferOffset: (Js_typed_array2.array_buffer, int) => t -``` - -Can throw an exception. - -## fromBufferRange - -```res sig -let fromBufferRange: (Js_typed_array2.array_buffer, ~offset: int, ~length: int) => t -``` - -Raises `Js.Exn.Error` raise Js exception. - -## fromLength - -```res sig -let fromLength: int => t -``` - -Raises `Js.Exn.Error` raise Js exception. - -## from - -```res sig -let from: Js_typed_array2.array_like => t -``` diff --git a/pages/docs/manual/latest/api/js/typed-array-2_int-32-array.mdx b/pages/docs/manual/latest/api/js/typed-array-2_int-32-array.mdx deleted file mode 100644 index da230b64b..000000000 --- a/pages/docs/manual/latest/api/js/typed-array-2_int-32-array.mdx +++ /dev/null @@ -1,375 +0,0 @@ -# TypedArray2.Int32Array - - - -Provide bindings to JS typed array Int32Array. - - - -## t - -```res prelude -type elt = int32 -type typed_array<'a> -type t = typed_array -``` - -## unsafe_get - -```res sig -let unsafe_get: (t, int) => elt -``` - -## unsafe_set - -```res sig -let unsafe_set: (t, int, elt) => unit -``` - -## buffer - -```res sig -let buffer: t => Js_typed_array2.array_buffer -``` - -## byteLength - -```res sig -let byteLength: t => int -``` - -## byteOffset - -```res sig -let byteOffset: t => int -``` - -## setArray - -```res sig -let setArray: (array, t) => unit -``` - -## setArrayOffset - -```res sig -let setArrayOffset: (array, int, t) => unit -``` - -## length - -```res sig -let length: t => int -``` - -## copyWithin - -```res sig -let copyWithin: (~to_: int, t) => t -``` - -## copyWithinFrom - -```res sig -let copyWithinFrom: (~to_: int, ~from: int, t) => t -``` - -## copyWithinFromRange - -```res sig -let copyWithinFromRange: (~to_: int, ~start: int, ~end_: int, t) => t -``` - -## fillInPlace - -```res sig -let fillInPlace: (elt, t) => t -``` - -## fillFromInPlace - -```res sig -let fillFromInPlace: (elt, ~from: int, t) => t -``` - -## fillRangeInPlace - -```res sig -let fillRangeInPlace: (elt, ~start: int, ~end_: int, t) => t -``` - -## reverseInPlace - -```res sig -let reverseInPlace: t => t -``` - -## sortInPlace - -```res sig -let sortInPlace: t => t -``` - -## sortInPlaceWith - -```res sig -let sortInPlaceWith: ((. elt, elt) => int, t) => t -``` - -## includes - -```res sig -let includes: (elt, t) => bool -``` - -ES2016 - -## indexOf - -```res sig -let indexOf: (elt, t) => int -``` - -## indexOfFrom - -```res sig -let indexOfFrom: (elt, ~from: int, t) => int -``` - -## join - -```res sig -let join: t => string -``` - -## joinWith - -```res sig -let joinWith: (string, t) => string -``` - -## lastIndexOf - -```res sig -let lastIndexOf: (elt, t) => int -``` - -## lastIndexOfFrom - -```res sig -let lastIndexOfFrom: (elt, ~from: int, t) => int -``` - -## slice - -```res sig -let slice: (~start: int, ~end_: int, t) => t -``` - -`start` is inclusive, `end_` exclusive. - -## copy - -```res sig -let copy: t => t -``` - -## sliceFrom - -```res sig -let sliceFrom: (int, t) => t -``` - -## subarray - -```res sig -let subarray: (~start: int, ~end_: int, t) => t -``` - -`start` is inclusive, `end_` exclusive. - -## subarrayFrom - -```res sig -let subarrayFrom: (int, t) => t -``` - -## toString - -```res sig -let toString: t => string -``` - -## toLocaleString - -```res sig -let toLocaleString: t => string -``` - -## every - -```res sig -let every: ((. elt) => bool, t) => bool -``` - -## everyi - -```res sig -let everyi: ((. elt, int) => bool, t) => bool -``` - -## filter - -```res sig -let filter: ((. elt) => bool, t) => t -``` - -## filteri - -```res sig -let filteri: ((. elt, int) => bool, t) => t -``` - -## find - -```res sig -let find: ((. elt) => bool, t) => Js.undefined -``` - -## findi - -```res sig -let findi: ((. elt, int) => bool, t) => Js.undefined -``` - -## findIndex - -```res sig -let findIndex: ((. elt) => bool, t) => int -``` - -## findIndexi - -```res sig -let findIndexi: ((. elt, int) => bool, t) => int -``` - -## forEach - -```res sig -let forEach: ((. elt) => unit, t) => unit -``` - -## forEachi - -```res sig -let forEachi: ((. elt, int) => unit, t) => unit -``` - -## map - -```res sig -let map: ((. elt) => 'b, t) => typed_array<'b> -``` - -## mapi - -```res sig -let mapi: ((. elt, int) => 'b, t) => typed_array<'b> -``` - -## reduce - -```res sig -let reduce: ((. 'b, elt) => 'b, 'b, t) => 'b -``` - -## reducei - -```res sig -let reducei: ((. 'b, elt, int) => 'b, 'b, t) => 'b -``` - -## reduceRight - -```res sig -let reduceRight: ((. 'b, elt) => 'b, 'b, t) => 'b -``` - -## reduceRighti - -```res sig -let reduceRighti: ((. 'b, elt, int) => 'b, 'b, t) => 'b -``` - -## some - -```res sig -let some: ((. elt) => bool, t) => bool -``` - -## somei - -```res sig -let somei: ((. elt, int) => bool, t) => bool -``` - -## _BYTES_PER_ELEMENT - -```res sig -let _BYTES_PER_ELEMENT: int -``` - -## make - -```res sig -let make: array => t -``` - -## fromBuffer - -```res sig -let fromBuffer: Js_typed_array2.array_buffer => t -``` - -## fromBufferOffset - -```res sig -let fromBufferOffset: (Js_typed_array2.array_buffer, int) => t -``` - -Can throw an exception. - -## fromBufferRange - -```res sig -let fromBufferRange: (Js_typed_array2.array_buffer, ~offset: int, ~length: int) => t -``` - -Raises `Js.Exn.Error` raise Js exception. - -## fromLength - -```res sig -let fromLength: int => t -``` - -Raises `Js.Exn.Error` raise Js exception. - -## from - -```res sig -let from: Js_typed_array2.array_like => t -``` - -## create - -```res sig -let create: array => t -``` - -## of_buffer - -```res sig -let of_buffer: Js_typed_array2.array_buffer => t -``` diff --git a/pages/docs/manual/latest/api/js/typed-array-2_int-8-array.mdx b/pages/docs/manual/latest/api/js/typed-array-2_int-8-array.mdx deleted file mode 100644 index d0676dce3..000000000 --- a/pages/docs/manual/latest/api/js/typed-array-2_int-8-array.mdx +++ /dev/null @@ -1,363 +0,0 @@ -# TypedArray2.Int8Array - - - -Provide bindings to JS typed array Int8Array. - - - -## t - -```res prelude -type elt = int -type typed_array<'a> -type t = typed_array -``` - -## unsafe_get - -```res sig -let unsafe_get: (t, int) => elt -``` - -## unsafe_set - -```res sig -let unsafe_set: (t, int, elt) => unit -``` - -## buffer - -```res sig -let buffer: t => Js_typed_array2.array_buffer -``` - -## byteLength - -```res sig -let byteLength: t => int -``` - -## byteOffset - -```res sig -let byteOffset: t => int -``` - -## setArray - -```res sig -let setArray: (array, t) => unit -``` - -## setArrayOffset - -```res sig -let setArrayOffset: (array, int, t) => unit -``` - -## length - -```res sig -let length: t => int -``` - -## copyWithin - -```res sig -let copyWithin: (~to_: int, t) => t -``` - -## copyWithinFrom - -```res sig -let copyWithinFrom: (~to_: int, ~from: int, t) => t -``` - -## copyWithinFromRange - -```res sig -let copyWithinFromRange: (~to_: int, ~start: int, ~end_: int, t) => t -``` - -## fillInPlace - -```res sig -let fillInPlace: (elt, t) => t -``` - -## fillFromInPlace - -```res sig -let fillFromInPlace: (elt, ~from: int, t) => t -``` - -## fillRangeInPlace - -```res sig -let fillRangeInPlace: (elt, ~start: int, ~end_: int, t) => t -``` - -## reverseInPlace - -```res sig -let reverseInPlace: t => t -``` - -## sortInPlace - -```res sig -let sortInPlace: t => t -``` - -## sortInPlaceWith - -```res sig -let sortInPlaceWith: ((. elt, elt) => int, t) => t -``` - -## includes - -```res sig -let includes: (elt, t) => bool -``` - -ES2016 - -## indexOf - -```res sig -let indexOf: (elt, t) => int -``` - -## indexOfFrom - -```res sig -let indexOfFrom: (elt, ~from: int, t) => int -``` - -## join - -```res sig -let join: t => string -``` - -## joinWith - -```res sig -let joinWith: (string, t) => string -``` - -## lastIndexOf - -```res sig -let lastIndexOf: (elt, t) => int -``` - -## lastIndexOfFrom - -```res sig -let lastIndexOfFrom: (elt, ~from: int, t) => int -``` - -## slice - -```res sig -let slice: (~start: int, ~end_: int, t) => t -``` - -`start` is inclusive, `end_` exclusive. - -## copy - -```res sig -let copy: t => t -``` - -## sliceFrom - -```res sig -let sliceFrom: (int, t) => t -``` - -## subarray - -```res sig -let subarray: (~start: int, ~end_: int, t) => t -``` - -`start` is inclusive, `end_` exclusive. - -## subarrayFrom - -```res sig -let subarrayFrom: (int, t) => t -``` - -## toString - -```res sig -let toString: t => string -``` - -## toLocaleString - -```res sig -let toLocaleString: t => string -``` - -## every - -```res sig -let every: ((. elt) => bool, t) => bool -``` - -## everyi - -```res sig -let everyi: ((. elt, int) => bool, t) => bool -``` - -## filter - -```res sig -let filter: ((. elt) => bool, t) => t -``` - -## filteri - -```res sig -let filteri: ((. elt, int) => bool, t) => t -``` - -## find - -```res sig -let find: ((. elt) => bool, t) => Js.undefined -``` - -## findi - -```res sig -let findi: ((. elt, int) => bool, t) => Js.undefined -``` - -## findIndex - -```res sig -let findIndex: ((. elt) => bool, t) => int -``` - -## findIndexi - -```res sig -let findIndexi: ((. elt, int) => bool, t) => int -``` - -## forEach - -```res sig -let forEach: ((. elt) => unit, t) => unit -``` - -## forEachi - -```res sig -let forEachi: ((. elt, int) => unit, t) => unit -``` - -## map - -```res sig -let map: ((. elt) => 'b, t) => typed_array<'b> -``` - -## mapi - -```res sig -let mapi: ((. elt, int) => 'b, t) => typed_array<'b> -``` - -## reduce - -```res sig -let reduce: ((. 'b, elt) => 'b, 'b, t) => 'b -``` - -## reducei - -```res sig -let reducei: ((. 'b, elt, int) => 'b, 'b, t) => 'b -``` - -## reduceRight - -```res sig -let reduceRight: ((. 'b, elt) => 'b, 'b, t) => 'b -``` - -## reduceRighti - -```res sig -let reduceRighti: ((. 'b, elt, int) => 'b, 'b, t) => 'b -``` - -## some - -```res sig -let some: ((. elt) => bool, t) => bool -``` - -## somei - -```res sig -let somei: ((. elt, int) => bool, t) => bool -``` - -## _BYTES_PER_ELEMENT - -```res sig -let _BYTES_PER_ELEMENT: int -``` - -## make - -```res sig -let make: array => t -``` - -## fromBuffer - -```res sig -let fromBuffer: Js_typed_array2.array_buffer => t -``` - -## fromBufferOffset - -```res sig -let fromBufferOffset: (Js_typed_array2.array_buffer, int) => t -``` - -Can throw an exception. - -## fromBufferRange - -```res sig -let fromBufferRange: (Js_typed_array2.array_buffer, ~offset: int, ~length: int) => t -``` - -Raises `Js.Exn.Error` raise Js exception. - -## fromLength - -```res sig -let fromLength: int => t -``` - -Raises `Js.Exn.Error` raise Js exception. - -## from - -```res sig -let from: Js_typed_array2.array_like => t -``` diff --git a/pages/docs/manual/latest/api/js/typed-array-2_uint-16-array.mdx b/pages/docs/manual/latest/api/js/typed-array-2_uint-16-array.mdx deleted file mode 100644 index 67ad8e6db..000000000 --- a/pages/docs/manual/latest/api/js/typed-array-2_uint-16-array.mdx +++ /dev/null @@ -1,363 +0,0 @@ -# TypedArray2.Uint16Array - - - -Provide bindings to JS typed array Uint16Array. - - - -## t - -```res prelude -type elt = int -type typed_array<'a> -type t = typed_array -``` - -## unsafe_get - -```res sig -let unsafe_get: (t, int) => elt -``` - -## unsafe_set - -```res sig -let unsafe_set: (t, int, elt) => unit -``` - -## buffer - -```res sig -let buffer: t => Js_typed_array2.array_buffer -``` - -## byteLength - -```res sig -let byteLength: t => int -``` - -## byteOffset - -```res sig -let byteOffset: t => int -``` - -## setArray - -```res sig -let setArray: (array, t) => unit -``` - -## setArrayOffset - -```res sig -let setArrayOffset: (array, int, t) => unit -``` - -## length - -```res sig -let length: t => int -``` - -## copyWithin - -```res sig -let copyWithin: (~to_: int, t) => t -``` - -## copyWithinFrom - -```res sig -let copyWithinFrom: (~to_: int, ~from: int, t) => t -``` - -## copyWithinFromRange - -```res sig -let copyWithinFromRange: (~to_: int, ~start: int, ~end_: int, t) => t -``` - -## fillInPlace - -```res sig -let fillInPlace: (elt, t) => t -``` - -## fillFromInPlace - -```res sig -let fillFromInPlace: (elt, ~from: int, t) => t -``` - -## fillRangeInPlace - -```res sig -let fillRangeInPlace: (elt, ~start: int, ~end_: int, t) => t -``` - -## reverseInPlace - -```res sig -let reverseInPlace: t => t -``` - -## sortInPlace - -```res sig -let sortInPlace: t => t -``` - -## sortInPlaceWith - -```res sig -let sortInPlaceWith: ((. elt, elt) => int, t) => t -``` - -## includes - -```res sig -let includes: (elt, t) => bool -``` - -ES2016 - -## indexOf - -```res sig -let indexOf: (elt, t) => int -``` - -## indexOfFrom - -```res sig -let indexOfFrom: (elt, ~from: int, t) => int -``` - -## join - -```res sig -let join: t => string -``` - -## joinWith - -```res sig -let joinWith: (string, t) => string -``` - -## lastIndexOf - -```res sig -let lastIndexOf: (elt, t) => int -``` - -## lastIndexOfFrom - -```res sig -let lastIndexOfFrom: (elt, ~from: int, t) => int -``` - -## slice - -```res sig -let slice: (~start: int, ~end_: int, t) => t -``` - -`start` is inclusive, `end_` exclusive. - -## copy - -```res sig -let copy: t => t -``` - -## sliceFrom - -```res sig -let sliceFrom: (int, t) => t -``` - -## subarray - -```res sig -let subarray: (~start: int, ~end_: int, t) => t -``` - -`start` is inclusive, `end_` exclusive. - -## subarrayFrom - -```res sig -let subarrayFrom: (int, t) => t -``` - -## toString - -```res sig -let toString: t => string -``` - -## toLocaleString - -```res sig -let toLocaleString: t => string -``` - -## every - -```res sig -let every: ((. elt) => bool, t) => bool -``` - -## everyi - -```res sig -let everyi: ((. elt, int) => bool, t) => bool -``` - -## filter - -```res sig -let filter: ((. elt) => bool, t) => t -``` - -## filteri - -```res sig -let filteri: ((. elt, int) => bool, t) => t -``` - -## find - -```res sig -let find: ((. elt) => bool, t) => Js.undefined -``` - -## findi - -```res sig -let findi: ((. elt, int) => bool, t) => Js.undefined -``` - -## findIndex - -```res sig -let findIndex: ((. elt) => bool, t) => int -``` - -## findIndexi - -```res sig -let findIndexi: ((. elt, int) => bool, t) => int -``` - -## forEach - -```res sig -let forEach: ((. elt) => unit, t) => unit -``` - -## forEachi - -```res sig -let forEachi: ((. elt, int) => unit, t) => unit -``` - -## map - -```res sig -let map: ((. elt) => 'b, t) => typed_array<'b> -``` - -## mapi - -```res sig -let mapi: ((. elt, int) => 'b, t) => typed_array<'b> -``` - -## reduce - -```res sig -let reduce: ((. 'b, elt) => 'b, 'b, t) => 'b -``` - -## reducei - -```res sig -let reducei: ((. 'b, elt, int) => 'b, 'b, t) => 'b -``` - -## reduceRight - -```res sig -let reduceRight: ((. 'b, elt) => 'b, 'b, t) => 'b -``` - -## reduceRighti - -```res sig -let reduceRighti: ((. 'b, elt, int) => 'b, 'b, t) => 'b -``` - -## some - -```res sig -let some: ((. elt) => bool, t) => bool -``` - -## somei - -```res sig -let somei: ((. elt, int) => bool, t) => bool -``` - -## _BYTES_PER_ELEMENT - -```res sig -let _BYTES_PER_ELEMENT: int -``` - -## make - -```res sig -let make: array => t -``` - -## fromBuffer - -```res sig -let fromBuffer: Js_typed_array2.array_buffer => t -``` - -## fromBufferOffset - -```res sig -let fromBufferOffset: (Js_typed_array2.array_buffer, int) => t -``` - -Can throw an exception. - -## fromBufferRange - -```res sig -let fromBufferRange: (Js_typed_array2.array_buffer, ~offset: int, ~length: int) => t -``` - -Raises `Js.Exn.Error` raise Js exception. - -## fromLength - -```res sig -let fromLength: int => t -``` - -Raises `Js.Exn.Error` raise Js exception. - -## from - -```res sig -let from: Js_typed_array2.array_like => t -``` diff --git a/pages/docs/manual/latest/api/js/typed-array-2_uint-32-array.mdx b/pages/docs/manual/latest/api/js/typed-array-2_uint-32-array.mdx deleted file mode 100644 index e27f5075f..000000000 --- a/pages/docs/manual/latest/api/js/typed-array-2_uint-32-array.mdx +++ /dev/null @@ -1,363 +0,0 @@ -# TypedArray2.UInt32Array - - - -Provide bindings to JS typed array Uint32Array. - - - -## t - -```res prelude -type elt = int -type typed_array<'a> -type t = typed_array -``` - -## unsafe_get - -```res sig -let unsafe_get: (t, int) => elt -``` - -## unsafe_set - -```res sig -let unsafe_set: (t, int, elt) => unit -``` - -## buffer - -```res sig -let buffer: t => Js_typed_array2.array_buffer -``` - -## byteLength - -```res sig -let byteLength: t => int -``` - -## byteOffset - -```res sig -let byteOffset: t => int -``` - -## setArray - -```res sig -let setArray: (array, t) => unit -``` - -## setArrayOffset - -```res sig -let setArrayOffset: (array, int, t) => unit -``` - -## length - -```res sig -let length: t => int -``` - -## copyWithin - -```res sig -let copyWithin: (~to_: int, t) => t -``` - -## copyWithinFrom - -```res sig -let copyWithinFrom: (~to_: int, ~from: int, t) => t -``` - -## copyWithinFromRange - -```res sig -let copyWithinFromRange: (~to_: int, ~start: int, ~end_: int, t) => t -``` - -## fillInPlace - -```res sig -let fillInPlace: (elt, t) => t -``` - -## fillFromInPlace - -```res sig -let fillFromInPlace: (elt, ~from: int, t) => t -``` - -## fillRangeInPlace - -```res sig -let fillRangeInPlace: (elt, ~start: int, ~end_: int, t) => t -``` - -## reverseInPlace - -```res sig -let reverseInPlace: t => t -``` - -## sortInPlace - -```res sig -let sortInPlace: t => t -``` - -## sortInPlaceWith - -```res sig -let sortInPlaceWith: ((. elt, elt) => int, t) => t -``` - -## includes - -```res sig -let includes: (elt, t) => bool -``` - -ES2016 - -## indexOf - -```res sig -let indexOf: (elt, t) => int -``` - -## indexOfFrom - -```res sig -let indexOfFrom: (elt, ~from: int, t) => int -``` - -## join - -```res sig -let join: t => string -``` - -## joinWith - -```res sig -let joinWith: (string, t) => string -``` - -## lastIndexOf - -```res sig -let lastIndexOf: (elt, t) => int -``` - -## lastIndexOfFrom - -```res sig -let lastIndexOfFrom: (elt, ~from: int, t) => int -``` - -## slice - -```res sig -let slice: (~start: int, ~end_: int, t) => t -``` - -`start` is inclusive, `end_` exclusive. - -## copy - -```res sig -let copy: t => t -``` - -## sliceFrom - -```res sig -let sliceFrom: (int, t) => t -``` - -## subarray - -```res sig -let subarray: (~start: int, ~end_: int, t) => t -``` - -`start` is inclusive, `end_` exclusive. - -## subarrayFrom - -```res sig -let subarrayFrom: (int, t) => t -``` - -## toString - -```res sig -let toString: t => string -``` - -## toLocaleString - -```res sig -let toLocaleString: t => string -``` - -## every - -```res sig -let every: ((. elt) => bool, t) => bool -``` - -## everyi - -```res sig -let everyi: ((. elt, int) => bool, t) => bool -``` - -## filter - -```res sig -let filter: ((. elt) => bool, t) => t -``` - -## filteri - -```res sig -let filteri: ((. elt, int) => bool, t) => t -``` - -## find - -```res sig -let find: ((. elt) => bool, t) => Js.undefined -``` - -## findi - -```res sig -let findi: ((. elt, int) => bool, t) => Js.undefined -``` - -## findIndex - -```res sig -let findIndex: ((. elt) => bool, t) => int -``` - -## findIndexi - -```res sig -let findIndexi: ((. elt, int) => bool, t) => int -``` - -## forEach - -```res sig -let forEach: ((. elt) => unit, t) => unit -``` - -## forEachi - -```res sig -let forEachi: ((. elt, int) => unit, t) => unit -``` - -## map - -```res sig -let map: ((. elt) => 'b, t) => typed_array<'b> -``` - -## mapi - -```res sig -let mapi: ((. elt, int) => 'b, t) => typed_array<'b> -``` - -## reduce - -```res sig -let reduce: ((. 'b, elt) => 'b, 'b, t) => 'b -``` - -## reducei - -```res sig -let reducei: ((. 'b, elt, int) => 'b, 'b, t) => 'b -``` - -## reduceRight - -```res sig -let reduceRight: ((. 'b, elt) => 'b, 'b, t) => 'b -``` - -## reduceRighti - -```res sig -let reduceRighti: ((. 'b, elt, int) => 'b, 'b, t) => 'b -``` - -## some - -```res sig -let some: ((. elt) => bool, t) => bool -``` - -## somei - -```res sig -let somei: ((. elt, int) => bool, t) => bool -``` - -## _BYTES_PER_ELEMENT - -```res sig -let _BYTES_PER_ELEMENT: int -``` - -## make - -```res sig -let make: array => t -``` - -## fromBuffer - -```res sig -let fromBuffer: Js_typed_array2.array_buffer => t -``` - -## fromBufferOffset - -```res sig -let fromBufferOffset: (Js_typed_array2.array_buffer, int) => t -``` - -Can throw an exception. - -## fromBufferRange - -```res sig -let fromBufferRange: (Js_typed_array2.array_buffer, ~offset: int, ~length: int) => t -``` - -Raises `Js.Exn.Error` raise Js exception. - -## fromLength - -```res sig -let fromLength: int => t -``` - -Raises `Js.Exn.Error` raise Js exception. - -## from - -```res sig -let from: Js_typed_array2.array_like => t -``` diff --git a/pages/docs/manual/latest/api/js/typed-array-2_uint-8-array.mdx b/pages/docs/manual/latest/api/js/typed-array-2_uint-8-array.mdx deleted file mode 100644 index 3af6a295d..000000000 --- a/pages/docs/manual/latest/api/js/typed-array-2_uint-8-array.mdx +++ /dev/null @@ -1,363 +0,0 @@ -# TypedArray2.Uint8Array - - - -Provide bindings to JS typed array Uint8Array. - - - -## t - -```res prelude -type elt = int -type typed_array<'a> -type t = typed_array -``` - -## unsafe_get - -```res sig -let unsafe_get: (t, int) => elt -``` - -## unsafe_set - -```res sig -let unsafe_set: (t, int, elt) => unit -``` - -## buffer - -```res sig -let buffer: t => Js_typed_array2.array_buffer -``` - -## byteLength - -```res sig -let byteLength: t => int -``` - -## byteOffset - -```res sig -let byteOffset: t => int -``` - -## setArray - -```res sig -let setArray: (array, t) => unit -``` - -## setArrayOffset - -```res sig -let setArrayOffset: (array, int, t) => unit -``` - -## length - -```res sig -let length: t => int -``` - -## copyWithin - -```res sig -let copyWithin: (~to_: int, t) => t -``` - -## copyWithinFrom - -```res sig -let copyWithinFrom: (~to_: int, ~from: int, t) => t -``` - -## copyWithinFromRange - -```res sig -let copyWithinFromRange: (~to_: int, ~start: int, ~end_: int, t) => t -``` - -## fillInPlace - -```res sig -let fillInPlace: (elt, t) => t -``` - -## fillFromInPlace - -```res sig -let fillFromInPlace: (elt, ~from: int, t) => t -``` - -## fillRangeInPlace - -```res sig -let fillRangeInPlace: (elt, ~start: int, ~end_: int, t) => t -``` - -## reverseInPlace - -```res sig -let reverseInPlace: t => t -``` - -## sortInPlace - -```res sig -let sortInPlace: t => t -``` - -## sortInPlaceWith - -```res sig -let sortInPlaceWith: ((. elt, elt) => int, t) => t -``` - -## includes - -```res sig -let includes: (elt, t) => bool -``` - -ES2016 - -## indexOf - -```res sig -let indexOf: (elt, t) => int -``` - -## indexOfFrom - -```res sig -let indexOfFrom: (elt, ~from: int, t) => int -``` - -## join - -```res sig -let join: t => string -``` - -## joinWith - -```res sig -let joinWith: (string, t) => string -``` - -## lastIndexOf - -```res sig -let lastIndexOf: (elt, t) => int -``` - -## lastIndexOfFrom - -```res sig -let lastIndexOfFrom: (elt, ~from: int, t) => int -``` - -## slice - -```res sig -let slice: (~start: int, ~end_: int, t) => t -``` - -`start` is inclusive, `end_` exclusive. - -## copy - -```res sig -let copy: t => t -``` - -## sliceFrom - -```res sig -let sliceFrom: (int, t) => t -``` - -## subarray - -```res sig -let subarray: (~start: int, ~end_: int, t) => t -``` - -`start` is inclusive, `end_` exclusive. - -## subarrayFrom - -```res sig -let subarrayFrom: (int, t) => t -``` - -## toString - -```res sig -let toString: t => string -``` - -## toLocaleString - -```res sig -let toLocaleString: t => string -``` - -## every - -```res sig -let every: ((. elt) => bool, t) => bool -``` - -## everyi - -```res sig -let everyi: ((. elt, int) => bool, t) => bool -``` - -## filter - -```res sig -let filter: ((. elt) => bool, t) => t -``` - -## filteri - -```res sig -let filteri: ((. elt, int) => bool, t) => t -``` - -## find - -```res sig -let find: ((. elt) => bool, t) => Js.undefined -``` - -## findi - -```res sig -let findi: ((. elt, int) => bool, t) => Js.undefined -``` - -## findIndex - -```res sig -let findIndex: ((. elt) => bool, t) => int -``` - -## findIndexi - -```res sig -let findIndexi: ((. elt, int) => bool, t) => int -``` - -## forEach - -```res sig -let forEach: ((. elt) => unit, t) => unit -``` - -## forEachi - -```res sig -let forEachi: ((. elt, int) => unit, t) => unit -``` - -## map - -```res sig -let map: ((. elt) => 'b, t) => typed_array<'b> -``` - -## mapi - -```res sig -let mapi: ((. elt, int) => 'b, t) => typed_array<'b> -``` - -## reduce - -```res sig -let reduce: ((. 'b, elt) => 'b, 'b, t) => 'b -``` - -## reducei - -```res sig -let reducei: ((. 'b, elt, int) => 'b, 'b, t) => 'b -``` - -## reduceRight - -```res sig -let reduceRight: ((. 'b, elt) => 'b, 'b, t) => 'b -``` - -## reduceRighti - -```res sig -let reduceRighti: ((. 'b, elt, int) => 'b, 'b, t) => 'b -``` - -## some - -```res sig -let some: ((. elt) => bool, t) => bool -``` - -## somei - -```res sig -let somei: ((. elt, int) => bool, t) => bool -``` - -## _BYTES_PER_ELEMENT - -```res sig -let _BYTES_PER_ELEMENT: int -``` - -## make - -```res sig -let make: array => t -``` - -## fromBuffer - -```res sig -let fromBuffer: Js_typed_array2.array_buffer => t -``` - -## fromBufferOffset - -```res sig -let fromBufferOffset: (Js_typed_array2.array_buffer, int) => t -``` - -Can throw an exception. - -## fromBufferRange - -```res sig -let fromBufferRange: (Js_typed_array2.array_buffer, ~offset: int, ~length: int) => t -``` - -Raises `Js.Exn.Error` raise Js exception. - -## fromLength - -```res sig -let fromLength: int => t -``` - -Raises `Js.Exn.Error` raise Js exception. - -## from - -```res sig -let from: Js_typed_array2.array_like => t -``` diff --git a/pages/docs/manual/latest/api/js/typed-array-2_uint-8-clamped-array.mdx b/pages/docs/manual/latest/api/js/typed-array-2_uint-8-clamped-array.mdx deleted file mode 100644 index 4a015d3ba..000000000 --- a/pages/docs/manual/latest/api/js/typed-array-2_uint-8-clamped-array.mdx +++ /dev/null @@ -1,363 +0,0 @@ -# TypedArray2.Uint8ClampedArray - - - -Provide bindings to JS typed array Uint8ClampedArray. - - - -## t - -```res prelude -type elt = int -type typed_array<'a> -type t = typed_array -``` - -## unsafe_get - -```res sig -let unsafe_get: (t, int) => elt -``` - -## unsafe_set - -```res sig -let unsafe_set: (t, int, elt) => unit -``` - -## buffer - -```res sig -let buffer: t => Js_typed_array2.array_buffer -``` - -## byteLength - -```res sig -let byteLength: t => int -``` - -## byteOffset - -```res sig -let byteOffset: t => int -``` - -## setArray - -```res sig -let setArray: (array, t) => unit -``` - -## setArrayOffset - -```res sig -let setArrayOffset: (array, int, t) => unit -``` - -## length - -```res sig -let length: t => int -``` - -## copyWithin - -```res sig -let copyWithin: (~to_: int, t) => t -``` - -## copyWithinFrom - -```res sig -let copyWithinFrom: (~to_: int, ~from: int, t) => t -``` - -## copyWithinFromRange - -```res sig -let copyWithinFromRange: (~to_: int, ~start: int, ~end_: int, t) => t -``` - -## fillInPlace - -```res sig -let fillInPlace: (elt, t) => t -``` - -## fillFromInPlace - -```res sig -let fillFromInPlace: (elt, ~from: int, t) => t -``` - -## fillRangeInPlace - -```res sig -let fillRangeInPlace: (elt, ~start: int, ~end_: int, t) => t -``` - -## reverseInPlace - -```res sig -let reverseInPlace: t => t -``` - -## sortInPlace - -```res sig -let sortInPlace: t => t -``` - -## sortInPlaceWith - -```res sig -let sortInPlaceWith: ((. elt, elt) => int, t) => t -``` - -## includes - -```res sig -let includes: (elt, t) => bool -``` - -ES2016 - -## indexOf - -```res sig -let indexOf: (elt, t) => int -``` - -## indexOfFrom - -```res sig -let indexOfFrom: (elt, ~from: int, t) => int -``` - -## join - -```res sig -let join: t => string -``` - -## joinWith - -```res sig -let joinWith: (string, t) => string -``` - -## lastIndexOf - -```res sig -let lastIndexOf: (elt, t) => int -``` - -## lastIndexOfFrom - -```res sig -let lastIndexOfFrom: (elt, ~from: int, t) => int -``` - -## slice - -```res sig -let slice: (~start: int, ~end_: int, t) => t -``` - -`start` is inclusive, `end_` exclusive. - -## copy - -```res sig -let copy: t => t -``` - -## sliceFrom - -```res sig -let sliceFrom: (int, t) => t -``` - -## subarray - -```res sig -let subarray: (~start: int, ~end_: int, t) => t -``` - -`start` is inclusive, `end_` exclusive. - -## subarrayFrom - -```res sig -let subarrayFrom: (int, t) => t -``` - -## toString - -```res sig -let toString: t => string -``` - -## toLocaleString - -```res sig -let toLocaleString: t => string -``` - -## every - -```res sig -let every: ((. elt) => bool, t) => bool -``` - -## everyi - -```res sig -let everyi: ((. elt, int) => bool, t) => bool -``` - -## filter - -```res sig -let filter: ((. elt) => bool, t) => t -``` - -## filteri - -```res sig -let filteri: ((. elt, int) => bool, t) => t -``` - -## find - -```res sig -let find: ((. elt) => bool, t) => Js.undefined -``` - -## findi - -```res sig -let findi: ((. elt, int) => bool, t) => Js.undefined -``` - -## findIndex - -```res sig -let findIndex: ((. elt) => bool, t) => int -``` - -## findIndexi - -```res sig -let findIndexi: ((. elt, int) => bool, t) => int -``` - -## forEach - -```res sig -let forEach: ((. elt) => unit, t) => unit -``` - -## forEachi - -```res sig -let forEachi: ((. elt, int) => unit, t) => unit -``` - -## map - -```res sig -let map: ((. elt) => 'b, t) => typed_array<'b> -``` - -## mapi - -```res sig -let mapi: ((. elt, int) => 'b, t) => typed_array<'b> -``` - -## reduce - -```res sig -let reduce: ((. 'b, elt) => 'b, 'b, t) => 'b -``` - -## reducei - -```res sig -let reducei: ((. 'b, elt, int) => 'b, 'b, t) => 'b -``` - -## reduceRight - -```res sig -let reduceRight: ((. 'b, elt) => 'b, 'b, t) => 'b -``` - -## reduceRighti - -```res sig -let reduceRighti: ((. 'b, elt, int) => 'b, 'b, t) => 'b -``` - -## some - -```res sig -let some: ((. elt) => bool, t) => bool -``` - -## somei - -```res sig -let somei: ((. elt, int) => bool, t) => bool -``` - -## _BYTES_PER_ELEMENT - -```res sig -let _BYTES_PER_ELEMENT: int -``` - -## make - -```res sig -let make: array => t -``` - -## fromBuffer - -```res sig -let fromBuffer: Js_typed_array2.array_buffer => t -``` - -## fromBufferOffset - -```res sig -let fromBufferOffset: (Js_typed_array2.array_buffer, int) => t -``` - -Can throw an exception. - -## fromBufferRange - -```res sig -let fromBufferRange: (Js_typed_array2.array_buffer, ~offset: int, ~length: int) => t -``` - -Raises `Js.Exn.Error` raise Js exception. - -## fromLength - -```res sig -let fromLength: int => t -``` - -Raises `Js.Exn.Error` raise Js exception. - -## from - -```res sig -let from: Js_typed_array2.array_like => t -``` diff --git a/pages/docs/manual/latest/api/js/typed-array.mdx b/pages/docs/manual/latest/api/js/typed-array.mdx deleted file mode 100644 index b62f9e668..000000000 --- a/pages/docs/manual/latest/api/js/typed-array.mdx +++ /dev/null @@ -1,40 +0,0 @@ -# TypedArray - - - -Provide bindings to JS typed array. - - - -## array_buffer - -```res sig -type array_buffer -``` - -## array_like - -```res sig -type array_like<'a> -``` - -## module type Type - -```res sig -module type Type = { - type t -} -``` - -## module ArrayBuffer -## module type S -## module Int8Array -## module Uint8Array -## module Uint8ClampedArray -## module Int16Array -## module Uint16Array -## module Int32Array -## module Uint32Array -## module Float32Array -## module Float64Array -## module DataView diff --git a/pages/docs/manual/latest/api/js/typed-array_array-buffer.mdx b/pages/docs/manual/latest/api/js/typed-array_array-buffer.mdx deleted file mode 100644 index f5dbd3860..000000000 --- a/pages/docs/manual/latest/api/js/typed-array_array-buffer.mdx +++ /dev/null @@ -1,39 +0,0 @@ -# TypedArray.ArrayBuffer - - - -Provide bindings to JS typed array ArrayBuffer. - - - -## t - -```res prelude -type t = Js_typed_array.array_buffer -``` - -## make - -```res sig -let make: int => t -``` - -Takes length. initializes elements to 0. - -## byteLength - -```res sig -let byteLength: t => int -``` - -## slice - -```res sig -let slice: (~start: int, ~end_: int, t) => Js_typed_array.array_buffer -``` - -## sliceFrom - -```res sig -let sliceFrom: (int, t) => Js_typed_array.array_buffer -``` diff --git a/pages/docs/manual/latest/api/js/typed-array_data-view.mdx b/pages/docs/manual/latest/api/js/typed-array_data-view.mdx deleted file mode 100644 index 6a02034ff..000000000 --- a/pages/docs/manual/latest/api/js/typed-array_data-view.mdx +++ /dev/null @@ -1,223 +0,0 @@ -# TypedArray.DataView - - - -Provide bindings to JS typed array DataView. - - - -## t - -```res prelude -type t = Js_typed_array2.DataView.t -``` - -## make - -```res sig -let make: Js_typed_array.array_buffer => t -``` - -## fromBuffer - -```res sig -let fromBuffer: Js_typed_array.array_buffer => t -``` - -## fromBufferOffset - -```res sig -let fromBufferOffset: (Js_typed_array.array_buffer, int) => t -``` - -## fromBufferRange - -```res sig -let fromBufferRange: (Js_typed_array.array_buffer, ~offset: int, ~length: int) => t -``` - -## buffer - -```res sig -let buffer: t => Js_typed_array.array_buffer -``` - -## byteLength - -```res sig -let byteLength: t => int -``` - -## byteOffset - -```res sig -let byteOffset: t => int -``` - -## getInt8 - -```res sig -let getInt8: (t, int) => int -``` - -## getUint8 - -```res sig -let getUint8: (t, int) => int -``` - -## getInt16 - -```res sig -let getInt16: (t, int) => int -``` - -## getInt16LittleEndian - -```res sig -let getInt16LittleEndian: (t, int) => int -``` - -## getUint16 - -```res sig -let getUint16: (t, int) => int -``` - -## getUint16LittleEndian - -```res sig -let getUint16LittleEndian: (t, int) => int -``` - -## getInt32 - -```res sig -let getInt32: (t, int) => int -``` - -## getInt32LittleEndian - -```res sig -let getInt32LittleEndian: (t, int) => int -``` - -## getUint32 - -```res sig -let getUint32: (t, int) => int -``` - -## getUint32LittleEndian - -```res sig -let getUint32LittleEndian: (t, int) => int -``` - -## getFloat32 - -```res sig -let getFloat32: (t, int) => float -``` - -## getFloat32LittleEndian - -```res sig -let getFloat32LittleEndian: (t, int) => float -``` - -## getFloat64 - -```res sig -let getFloat64: (t, int) => float -``` - -## getFloat64LittleEndian - -```res sig -let getFloat64LittleEndian: (t, int) => float -``` - -## setInt8 - -```res sig -let setInt8: (t, int, int) => unit -``` - -## setUint8 - -```res sig -let setUint8: (t, int, int) => unit -``` - -## setInt16 - -```res sig -let setInt16: (t, int, int) => unit -``` - -## setInt16LittleEndian - -```res sig -let setInt16LittleEndian: (t, int, int) => unit -``` - -## setUint16 - -```res sig -let setUint16: (t, int, int) => unit -``` - -## setUint16LittleEndian - -```res sig -let setUint16LittleEndian: (t, int, int) => unit -``` - -## setInt32 - -```res sig -let setInt32: (t, int, int) => unit -``` - -## setInt32LittleEndian - -```res sig -let setInt32LittleEndian: (t, int, int) => unit -``` - -## setUint32 - -```res sig -let setUint32: (t, int, int) => unit -``` - -## setUint32LittleEndian - -```res sig -let setUint32LittleEndian: (t, int, int) => unit -``` - -## setFloat32 - -```res sig -let setFloat32: (t, int, float) => unit -``` - -## setFloat32LittleEndian - -```res sig -let setFloat32LittleEndian: (t, int, float) => unit -``` - -## setFloat64 - -```res sig -let setFloat64: (t, int, float) => unit -``` - -## setFloat64LittleEndian - -```res sig -let setFloat64LittleEndian: (t, int, float) => unit -``` diff --git a/pages/docs/manual/latest/api/js/typed-array_float-32-array.mdx b/pages/docs/manual/latest/api/js/typed-array_float-32-array.mdx deleted file mode 100644 index c10ae364d..000000000 --- a/pages/docs/manual/latest/api/js/typed-array_float-32-array.mdx +++ /dev/null @@ -1,375 +0,0 @@ -# TypedArray.Float32Array - - - -Provide bindings to JS typed array Float32Array. - - - -## t - -```res prelude -type elt = float -type typed_array<'a> = Js_typed_array2.Float32Array.typed_array<'a> -type t = typed_array -``` - -## unsafe_get - -```res sig -let unsafe_get: (t, int) => elt -``` - -## unsafe_set - -```res sig -let unsafe_set: (t, int, elt) => unit -``` - -## buffer - -```res sig -let buffer: t => Js_typed_array.array_buffer -``` - -## byteLength - -```res sig -let byteLength: t => int -``` - -## byteOffset - -```res sig -let byteOffset: t => int -``` - -## setArray - -```res sig -let setArray: (array, t) => unit -``` - -## setArrayOffset - -```res sig -let setArrayOffset: (array, int, t) => unit -``` - -## length - -```res sig -let length: t => int -``` - -## copyWithin - -```res sig -let copyWithin: (~to_: int, t) => t -``` - -## copyWithinFrom - -```res sig -let copyWithinFrom: (~to_: int, ~from: int, t) => t -``` - -## copyWithinFromRange - -```res sig -let copyWithinFromRange: (~to_: int, ~start: int, ~end_: int, t) => t -``` - -## fillInPlace - -```res sig -let fillInPlace: (elt, t) => t -``` - -## fillFromInPlace - -```res sig -let fillFromInPlace: (elt, ~from: int, t) => t -``` - -## fillRangeInPlace - -```res sig -let fillRangeInPlace: (elt, ~start: int, ~end_: int, t) => t -``` - -## reverseInPlace - -```res sig -let reverseInPlace: t => t -``` - -## sortInPlace - -```res sig -let sortInPlace: t => t -``` - -## sortInPlaceWith - -```res sig -let sortInPlaceWith: ((. elt, elt) => int, t) => t -``` - -## includes - -```res sig -let includes: (elt, t) => bool -``` - -ES2016 - -## indexOf - -```res sig -let indexOf: (elt, t) => int -``` - -## indexOfFrom - -```res sig -let indexOfFrom: (elt, ~from: int, t) => int -``` - -## join - -```res sig -let join: t => string -``` - -## joinWith - -```res sig -let joinWith: (string, t) => string -``` - -## lastIndexOf - -```res sig -let lastIndexOf: (elt, t) => int -``` - -## lastIndexOfFrom - -```res sig -let lastIndexOfFrom: (elt, ~from: int, t) => int -``` - -## slice - -```res sig -let slice: (~start: int, ~end_: int, t) => t -``` - -`start` is inclusive, `end_` exclusive. - -## copy - -```res sig -let copy: t => t -``` - -## sliceFrom - -```res sig -let sliceFrom: (int, t) => t -``` - -## subarray - -```res sig -let subarray: (~start: int, ~end_: int, t) => t -``` - -`start` is inclusive, `end_` exclusive. - -## subarrayFrom - -```res sig -let subarrayFrom: (int, t) => t -``` - -## toString - -```res sig -let toString: t => string -``` - -## toLocaleString - -```res sig -let toLocaleString: t => string -``` - -## every - -```res sig -let every: ((. elt) => bool, t) => bool -``` - -## everyi - -```res sig -let everyi: ((. elt, int) => bool, t) => bool -``` - -## filter - -```res sig -let filter: ((. elt) => bool, t) => t -``` - -## filteri - -```res sig -let filteri: ((. elt, int) => bool, t) => t -``` - -## find - -```res sig -let find: ((. elt) => bool, t) => Js.undefined -``` - -## findi - -```res sig -let findi: ((. elt, int) => bool, t) => Js.undefined -``` - -## findIndex - -```res sig -let findIndex: ((. elt) => bool, t) => int -``` - -## findIndexi - -```res sig -let findIndexi: ((. elt, int) => bool, t) => int -``` - -## forEach - -```res sig -let forEach: ((. elt) => unit, t) => unit -``` - -## forEachi - -```res sig -let forEachi: ((. elt, int) => unit, t) => unit -``` - -## map - -```res sig -let map: ((. elt) => 'b, t) => typed_array<'b> -``` - -## mapi - -```res sig -let mapi: ((. elt, int) => 'b, t) => typed_array<'b> -``` - -## reduce - -```res sig -let reduce: ((. 'b, elt) => 'b, 'b, t) => 'b -``` - -## reducei - -```res sig -let reducei: ((. 'b, elt, int) => 'b, 'b, t) => 'b -``` - -## reduceRight - -```res sig -let reduceRight: ((. 'b, elt) => 'b, 'b, t) => 'b -``` - -## reduceRighti - -```res sig -let reduceRighti: ((. 'b, elt, int) => 'b, 'b, t) => 'b -``` - -## some - -```res sig -let some: ((. elt) => bool, t) => bool -``` - -## somei - -```res sig -let somei: ((. elt, int) => bool, t) => bool -``` - -## _BYTES_PER_ELEMENT - -```res sig -let _BYTES_PER_ELEMENT: int -``` - -## make - -```res sig -let make: array => t -``` - -## fromBuffer - -```res sig -let fromBuffer: Js_typed_array.array_buffer => t -``` - -## fromBufferOffset - -```res sig -let fromBufferOffset: (Js_typed_array.array_buffer, int) => t -``` - -Can throw an exception. - -## fromBufferRange - -```res sig -let fromBufferRange: (Js_typed_array.array_buffer, ~offset: int, ~length: int) => t -``` - -Raises `Js.Exn.Error` raise Js exception. - -## fromLength - -```res sig -let fromLength: int => t -``` - -Raises `Js.Exn.Error` raise Js exception. - -## from - -```res sig -let from: Js_typed_array.array_like => t -``` - -## create - -```res sig -let create: array => t -``` - -## of_buffer - -```res sig -let of_buffer: Js_typed_array.array_buffer => t -``` diff --git a/pages/docs/manual/latest/api/js/typed-array_float-64-array.mdx b/pages/docs/manual/latest/api/js/typed-array_float-64-array.mdx deleted file mode 100644 index d7222de99..000000000 --- a/pages/docs/manual/latest/api/js/typed-array_float-64-array.mdx +++ /dev/null @@ -1,375 +0,0 @@ -# TypedArray.Float64Array - - - -Provide bindings to JS typed array Float64Array. - - - -## t - -```res prelude -type elt = float -type typed_array<'a> = Js_typed_array2.Float64Array.typed_array<'a> -type t = typed_array -``` - -## unsafe_get - -```res sig -let unsafe_get: (t, int) => elt -``` - -## unsafe_set - -```res sig -let unsafe_set: (t, int, elt) => unit -``` - -## buffer - -```res sig -let buffer: t => Js_typed_array.array_buffer -``` - -## byteLength - -```res sig -let byteLength: t => int -``` - -## byteOffset - -```res sig -let byteOffset: t => int -``` - -## setArray - -```res sig -let setArray: (array, t) => unit -``` - -## setArrayOffset - -```res sig -let setArrayOffset: (array, int, t) => unit -``` - -## length - -```res sig -let length: t => int -``` - -## copyWithin - -```res sig -let copyWithin: (~to_: int, t) => t -``` - -## copyWithinFrom - -```res sig -let copyWithinFrom: (~to_: int, ~from: int, t) => t -``` - -## copyWithinFromRange - -```res sig -let copyWithinFromRange: (~to_: int, ~start: int, ~end_: int, t) => t -``` - -## fillInPlace - -```res sig -let fillInPlace: (elt, t) => t -``` - -## fillFromInPlace - -```res sig -let fillFromInPlace: (elt, ~from: int, t) => t -``` - -## fillRangeInPlace - -```res sig -let fillRangeInPlace: (elt, ~start: int, ~end_: int, t) => t -``` - -## reverseInPlace - -```res sig -let reverseInPlace: t => t -``` - -## sortInPlace - -```res sig -let sortInPlace: t => t -``` - -## sortInPlaceWith - -```res sig -let sortInPlaceWith: ((. elt, elt) => int, t) => t -``` - -## includes - -```res sig -let includes: (elt, t) => bool -``` - -ES2016 - -## indexOf - -```res sig -let indexOf: (elt, t) => int -``` - -## indexOfFrom - -```res sig -let indexOfFrom: (elt, ~from: int, t) => int -``` - -## join - -```res sig -let join: t => string -``` - -## joinWith - -```res sig -let joinWith: (string, t) => string -``` - -## lastIndexOf - -```res sig -let lastIndexOf: (elt, t) => int -``` - -## lastIndexOfFrom - -```res sig -let lastIndexOfFrom: (elt, ~from: int, t) => int -``` - -## slice - -```res sig -let slice: (~start: int, ~end_: int, t) => t -``` - -`start` is inclusive, `end_` exclusive. - -## copy - -```res sig -let copy: t => t -``` - -## sliceFrom - -```res sig -let sliceFrom: (int, t) => t -``` - -## subarray - -```res sig -let subarray: (~start: int, ~end_: int, t) => t -``` - -`start` is inclusive, `end_` exclusive. - -## subarrayFrom - -```res sig -let subarrayFrom: (int, t) => t -``` - -## toString - -```res sig -let toString: t => string -``` - -## toLocaleString - -```res sig -let toLocaleString: t => string -``` - -## every - -```res sig -let every: ((. elt) => bool, t) => bool -``` - -## everyi - -```res sig -let everyi: ((. elt, int) => bool, t) => bool -``` - -## filter - -```res sig -let filter: ((. elt) => bool, t) => t -``` - -## filteri - -```res sig -let filteri: ((. elt, int) => bool, t) => t -``` - -## find - -```res sig -let find: ((. elt) => bool, t) => Js.undefined -``` - -## findi - -```res sig -let findi: ((. elt, int) => bool, t) => Js.undefined -``` - -## findIndex - -```res sig -let findIndex: ((. elt) => bool, t) => int -``` - -## findIndexi - -```res sig -let findIndexi: ((. elt, int) => bool, t) => int -``` - -## forEach - -```res sig -let forEach: ((. elt) => unit, t) => unit -``` - -## forEachi - -```res sig -let forEachi: ((. elt, int) => unit, t) => unit -``` - -## map - -```res sig -let map: ((. elt) => 'b, t) => typed_array<'b> -``` - -## mapi - -```res sig -let mapi: ((. elt, int) => 'b, t) => typed_array<'b> -``` - -## reduce - -```res sig -let reduce: ((. 'b, elt) => 'b, 'b, t) => 'b -``` - -## reducei - -```res sig -let reducei: ((. 'b, elt, int) => 'b, 'b, t) => 'b -``` - -## reduceRight - -```res sig -let reduceRight: ((. 'b, elt) => 'b, 'b, t) => 'b -``` - -## reduceRighti - -```res sig -let reduceRighti: ((. 'b, elt, int) => 'b, 'b, t) => 'b -``` - -## some - -```res sig -let some: ((. elt) => bool, t) => bool -``` - -## somei - -```res sig -let somei: ((. elt, int) => bool, t) => bool -``` - -## _BYTES_PER_ELEMENT - -```res sig -let _BYTES_PER_ELEMENT: int -``` - -## make - -```res sig -let make: array => t -``` - -## fromBuffer - -```res sig -let fromBuffer: Js_typed_array.array_buffer => t -``` - -## fromBufferOffset - -```res sig -let fromBufferOffset: (Js_typed_array.array_buffer, int) => t -``` - -Can throw an exception. - -## fromBufferRange - -```res sig -let fromBufferRange: (Js_typed_array.array_buffer, ~offset: int, ~length: int) => t -``` - -Raises `Js.Exn.Error` raise Js exception. - -## fromLength - -```res sig -let fromLength: int => t -``` - -Raises `Js.Exn.Error` raise Js exception. - -## from - -```res sig -let from: Js_typed_array.array_like => t -``` - -## create - -```res sig -let create: array => t -``` - -## of_buffer - -```res sig -let of_buffer: Js_typed_array.array_buffer => t -``` diff --git a/pages/docs/manual/latest/api/js/typed-array_int-16-array.mdx b/pages/docs/manual/latest/api/js/typed-array_int-16-array.mdx deleted file mode 100644 index f49f8162a..000000000 --- a/pages/docs/manual/latest/api/js/typed-array_int-16-array.mdx +++ /dev/null @@ -1,363 +0,0 @@ -# TypedArray.Int16Array - - - -Provide bindings to JS typed array Int16Array. - - - -## t - -```res prelude -type elt = int -type typed_array<'a> = Js_typed_array2.Int16Array.typed_array<'a> -type t = typed_array -``` - -## unsafe_get - -```res sig -let unsafe_get: (t, int) => elt -``` - -## unsafe_set - -```res sig -let unsafe_set: (t, int, elt) => unit -``` - -## buffer - -```res sig -let buffer: t => Js_typed_array.array_buffer -``` - -## byteLength - -```res sig -let byteLength: t => int -``` - -## byteOffset - -```res sig -let byteOffset: t => int -``` - -## setArray - -```res sig -let setArray: (array, t) => unit -``` - -## setArrayOffset - -```res sig -let setArrayOffset: (array, int, t) => unit -``` - -## length - -```res sig -let length: t => int -``` - -## copyWithin - -```res sig -let copyWithin: (~to_: int, t) => t -``` - -## copyWithinFrom - -```res sig -let copyWithinFrom: (~to_: int, ~from: int, t) => t -``` - -## copyWithinFromRange - -```res sig -let copyWithinFromRange: (~to_: int, ~start: int, ~end_: int, t) => t -``` - -## fillInPlace - -```res sig -let fillInPlace: (elt, t) => t -``` - -## fillFromInPlace - -```res sig -let fillFromInPlace: (elt, ~from: int, t) => t -``` - -## fillRangeInPlace - -```res sig -let fillRangeInPlace: (elt, ~start: int, ~end_: int, t) => t -``` - -## reverseInPlace - -```res sig -let reverseInPlace: t => t -``` - -## sortInPlace - -```res sig -let sortInPlace: t => t -``` - -## sortInPlaceWith - -```res sig -let sortInPlaceWith: ((. elt, elt) => int, t) => t -``` - -## includes - -```res sig -let includes: (elt, t) => bool -``` - -ES2016 - -## indexOf - -```res sig -let indexOf: (elt, t) => int -``` - -## indexOfFrom - -```res sig -let indexOfFrom: (elt, ~from: int, t) => int -``` - -## join - -```res sig -let join: t => string -``` - -## joinWith - -```res sig -let joinWith: (string, t) => string -``` - -## lastIndexOf - -```res sig -let lastIndexOf: (elt, t) => int -``` - -## lastIndexOfFrom - -```res sig -let lastIndexOfFrom: (elt, ~from: int, t) => int -``` - -## slice - -```res sig -let slice: (~start: int, ~end_: int, t) => t -``` - -`start` is inclusive, `end_` exclusive. - -## copy - -```res sig -let copy: t => t -``` - -## sliceFrom - -```res sig -let sliceFrom: (int, t) => t -``` - -## subarray - -```res sig -let subarray: (~start: int, ~end_: int, t) => t -``` - -`start` is inclusive, `end_` exclusive. - -## subarrayFrom - -```res sig -let subarrayFrom: (int, t) => t -``` - -## toString - -```res sig -let toString: t => string -``` - -## toLocaleString - -```res sig -let toLocaleString: t => string -``` - -## every - -```res sig -let every: ((. elt) => bool, t) => bool -``` - -## everyi - -```res sig -let everyi: ((. elt, int) => bool, t) => bool -``` - -## filter - -```res sig -let filter: ((. elt) => bool, t) => t -``` - -## filteri - -```res sig -let filteri: ((. elt, int) => bool, t) => t -``` - -## find - -```res sig -let find: ((. elt) => bool, t) => Js.undefined -``` - -## findi - -```res sig -let findi: ((. elt, int) => bool, t) => Js.undefined -``` - -## findIndex - -```res sig -let findIndex: ((. elt) => bool, t) => int -``` - -## findIndexi - -```res sig -let findIndexi: ((. elt, int) => bool, t) => int -``` - -## forEach - -```res sig -let forEach: ((. elt) => unit, t) => unit -``` - -## forEachi - -```res sig -let forEachi: ((. elt, int) => unit, t) => unit -``` - -## map - -```res sig -let map: ((. elt) => 'b, t) => typed_array<'b> -``` - -## mapi - -```res sig -let mapi: ((. elt, int) => 'b, t) => typed_array<'b> -``` - -## reduce - -```res sig -let reduce: ((. 'b, elt) => 'b, 'b, t) => 'b -``` - -## reducei - -```res sig -let reducei: ((. 'b, elt, int) => 'b, 'b, t) => 'b -``` - -## reduceRight - -```res sig -let reduceRight: ((. 'b, elt) => 'b, 'b, t) => 'b -``` - -## reduceRighti - -```res sig -let reduceRighti: ((. 'b, elt, int) => 'b, 'b, t) => 'b -``` - -## some - -```res sig -let some: ((. elt) => bool, t) => bool -``` - -## somei - -```res sig -let somei: ((. elt, int) => bool, t) => bool -``` - -## _BYTES_PER_ELEMENT - -```res sig -let _BYTES_PER_ELEMENT: int -``` - -## make - -```res sig -let make: array => t -``` - -## fromBuffer - -```res sig -let fromBuffer: Js_typed_array.array_buffer => t -``` - -## fromBufferOffset - -```res sig -let fromBufferOffset: (Js_typed_array.array_buffer, int) => t -``` - -Can throw an exception. - -## fromBufferRange - -```res sig -let fromBufferRange: (Js_typed_array.array_buffer, ~offset: int, ~length: int) => t -``` - -Raises `Js.Exn.Error` raise Js exception. - -## fromLength - -```res sig -let fromLength: int => t -``` - -Raises `Js.Exn.Error` raise Js exception. - -## from - -```res sig -let from: Js_typed_array.array_like => t -``` diff --git a/pages/docs/manual/latest/api/js/typed-array_int-32-array.mdx b/pages/docs/manual/latest/api/js/typed-array_int-32-array.mdx deleted file mode 100644 index 7147de119..000000000 --- a/pages/docs/manual/latest/api/js/typed-array_int-32-array.mdx +++ /dev/null @@ -1,375 +0,0 @@ -# TypedArray.Int32Array - - - -Provide bindings to JS typed array Int32Array. - - - -## t - -```res prelude -type elt = int32 -type typed_array<'a> = Js_typed_array2.Int32Array.typed_array<'a> -type t = typed_array -``` - -## unsafe_get - -```res sig -let unsafe_get: (t, int) => elt -``` - -## unsafe_set - -```res sig -let unsafe_set: (t, int, elt) => unit -``` - -## buffer - -```res sig -let buffer: t => Js_typed_array.array_buffer -``` - -## byteLength - -```res sig -let byteLength: t => int -``` - -## byteOffset - -```res sig -let byteOffset: t => int -``` - -## setArray - -```res sig -let setArray: (array, t) => unit -``` - -## setArrayOffset - -```res sig -let setArrayOffset: (array, int, t) => unit -``` - -## length - -```res sig -let length: t => int -``` - -## copyWithin - -```res sig -let copyWithin: (~to_: int, t) => t -``` - -## copyWithinFrom - -```res sig -let copyWithinFrom: (~to_: int, ~from: int, t) => t -``` - -## copyWithinFromRange - -```res sig -let copyWithinFromRange: (~to_: int, ~start: int, ~end_: int, t) => t -``` - -## fillInPlace - -```res sig -let fillInPlace: (elt, t) => t -``` - -## fillFromInPlace - -```res sig -let fillFromInPlace: (elt, ~from: int, t) => t -``` - -## fillRangeInPlace - -```res sig -let fillRangeInPlace: (elt, ~start: int, ~end_: int, t) => t -``` - -## reverseInPlace - -```res sig -let reverseInPlace: t => t -``` - -## sortInPlace - -```res sig -let sortInPlace: t => t -``` - -## sortInPlaceWith - -```res sig -let sortInPlaceWith: ((. elt, elt) => int, t) => t -``` - -## includes - -```res sig -let includes: (elt, t) => bool -``` - -ES2016 - -## indexOf - -```res sig -let indexOf: (elt, t) => int -``` - -## indexOfFrom - -```res sig -let indexOfFrom: (elt, ~from: int, t) => int -``` - -## join - -```res sig -let join: t => string -``` - -## joinWith - -```res sig -let joinWith: (string, t) => string -``` - -## lastIndexOf - -```res sig -let lastIndexOf: (elt, t) => int -``` - -## lastIndexOfFrom - -```res sig -let lastIndexOfFrom: (elt, ~from: int, t) => int -``` - -## slice - -```res sig -let slice: (~start: int, ~end_: int, t) => t -``` - -`start` is inclusive, `end_` exclusive. - -## copy - -```res sig -let copy: t => t -``` - -## sliceFrom - -```res sig -let sliceFrom: (int, t) => t -``` - -## subarray - -```res sig -let subarray: (~start: int, ~end_: int, t) => t -``` - -`start` is inclusive, `end_` exclusive. - -## subarrayFrom - -```res sig -let subarrayFrom: (int, t) => t -``` - -## toString - -```res sig -let toString: t => string -``` - -## toLocaleString - -```res sig -let toLocaleString: t => string -``` - -## every - -```res sig -let every: ((. elt) => bool, t) => bool -``` - -## everyi - -```res sig -let everyi: ((. elt, int) => bool, t) => bool -``` - -## filter - -```res sig -let filter: ((. elt) => bool, t) => t -``` - -## filteri - -```res sig -let filteri: ((. elt, int) => bool, t) => t -``` - -## find - -```res sig -let find: ((. elt) => bool, t) => Js.undefined -``` - -## findi - -```res sig -let findi: ((. elt, int) => bool, t) => Js.undefined -``` - -## findIndex - -```res sig -let findIndex: ((. elt) => bool, t) => int -``` - -## findIndexi - -```res sig -let findIndexi: ((. elt, int) => bool, t) => int -``` - -## forEach - -```res sig -let forEach: ((. elt) => unit, t) => unit -``` - -## forEachi - -```res sig -let forEachi: ((. elt, int) => unit, t) => unit -``` - -## map - -```res sig -let map: ((. elt) => 'b, t) => typed_array<'b> -``` - -## mapi - -```res sig -let mapi: ((. elt, int) => 'b, t) => typed_array<'b> -``` - -## reduce - -```res sig -let reduce: ((. 'b, elt) => 'b, 'b, t) => 'b -``` - -## reducei - -```res sig -let reducei: ((. 'b, elt, int) => 'b, 'b, t) => 'b -``` - -## reduceRight - -```res sig -let reduceRight: ((. 'b, elt) => 'b, 'b, t) => 'b -``` - -## reduceRighti - -```res sig -let reduceRighti: ((. 'b, elt, int) => 'b, 'b, t) => 'b -``` - -## some - -```res sig -let some: ((. elt) => bool, t) => bool -``` - -## somei - -```res sig -let somei: ((. elt, int) => bool, t) => bool -``` - -## _BYTES_PER_ELEMENT - -```res sig -let _BYTES_PER_ELEMENT: int -``` - -## make - -```res sig -let make: array => t -``` - -## fromBuffer - -```res sig -let fromBuffer: Js_typed_array.array_buffer => t -``` - -## fromBufferOffset - -```res sig -let fromBufferOffset: (Js_typed_array.array_buffer, int) => t -``` - -Can throw an exception. - -## fromBufferRange - -```res sig -let fromBufferRange: (Js_typed_array.array_buffer, ~offset: int, ~length: int) => t -``` - -Raises `Js.Exn.Error` raise Js exception. - -## fromLength - -```res sig -let fromLength: int => t -``` - -Raises `Js.Exn.Error` raise Js exception. - -## from - -```res sig -let from: Js_typed_array.array_like => t -``` - -## create - -```res sig -let create: array => t -``` - -## of_buffer - -```res sig -let of_buffer: Js_typed_array.array_buffer => t -``` diff --git a/pages/docs/manual/latest/api/js/typed-array_int-8-array.mdx b/pages/docs/manual/latest/api/js/typed-array_int-8-array.mdx deleted file mode 100644 index 5336025ae..000000000 --- a/pages/docs/manual/latest/api/js/typed-array_int-8-array.mdx +++ /dev/null @@ -1,363 +0,0 @@ -# TypedArray.Int8Array - - - -Provide bindings to JS typed array Int8Array. - - - -## t - -```res prelude -type elt = int -type typed_array<'a> = Js_typed_array2.Int8Array.typed_array<'a> -type t = typed_array -``` - -## unsafe_get - -```res sig -let unsafe_get: (t, int) => elt -``` - -## unsafe_set - -```res sig -let unsafe_set: (t, int, elt) => unit -``` - -## buffer - -```res sig -let buffer: t => Js_typed_array.array_buffer -``` - -## byteLength - -```res sig -let byteLength: t => int -``` - -## byteOffset - -```res sig -let byteOffset: t => int -``` - -## setArray - -```res sig -let setArray: (array, t) => unit -``` - -## setArrayOffset - -```res sig -let setArrayOffset: (array, int, t) => unit -``` - -## length - -```res sig -let length: t => int -``` - -## copyWithin - -```res sig -let copyWithin: (~to_: int, t) => t -``` - -## copyWithinFrom - -```res sig -let copyWithinFrom: (~to_: int, ~from: int, t) => t -``` - -## copyWithinFromRange - -```res sig -let copyWithinFromRange: (~to_: int, ~start: int, ~end_: int, t) => t -``` - -## fillInPlace - -```res sig -let fillInPlace: (elt, t) => t -``` - -## fillFromInPlace - -```res sig -let fillFromInPlace: (elt, ~from: int, t) => t -``` - -## fillRangeInPlace - -```res sig -let fillRangeInPlace: (elt, ~start: int, ~end_: int, t) => t -``` - -## reverseInPlace - -```res sig -let reverseInPlace: t => t -``` - -## sortInPlace - -```res sig -let sortInPlace: t => t -``` - -## sortInPlaceWith - -```res sig -let sortInPlaceWith: ((. elt, elt) => int, t) => t -``` - -## includes - -```res sig -let includes: (elt, t) => bool -``` - -ES2016 - -## indexOf - -```res sig -let indexOf: (elt, t) => int -``` - -## indexOfFrom - -```res sig -let indexOfFrom: (elt, ~from: int, t) => int -``` - -## join - -```res sig -let join: t => string -``` - -## joinWith - -```res sig -let joinWith: (string, t) => string -``` - -## lastIndexOf - -```res sig -let lastIndexOf: (elt, t) => int -``` - -## lastIndexOfFrom - -```res sig -let lastIndexOfFrom: (elt, ~from: int, t) => int -``` - -## slice - -```res sig -let slice: (~start: int, ~end_: int, t) => t -``` - -`start` is inclusive, `end_` exclusive. - -## copy - -```res sig -let copy: t => t -``` - -## sliceFrom - -```res sig -let sliceFrom: (int, t) => t -``` - -## subarray - -```res sig -let subarray: (~start: int, ~end_: int, t) => t -``` - -`start` is inclusive, `end_` exclusive. - -## subarrayFrom - -```res sig -let subarrayFrom: (int, t) => t -``` - -## toString - -```res sig -let toString: t => string -``` - -## toLocaleString - -```res sig -let toLocaleString: t => string -``` - -## every - -```res sig -let every: ((. elt) => bool, t) => bool -``` - -## everyi - -```res sig -let everyi: ((. elt, int) => bool, t) => bool -``` - -## filter - -```res sig -let filter: ((. elt) => bool, t) => t -``` - -## filteri - -```res sig -let filteri: ((. elt, int) => bool, t) => t -``` - -## find - -```res sig -let find: ((. elt) => bool, t) => Js.undefined -``` - -## findi - -```res sig -let findi: ((. elt, int) => bool, t) => Js.undefined -``` - -## findIndex - -```res sig -let findIndex: ((. elt) => bool, t) => int -``` - -## findIndexi - -```res sig -let findIndexi: ((. elt, int) => bool, t) => int -``` - -## forEach - -```res sig -let forEach: ((. elt) => unit, t) => unit -``` - -## forEachi - -```res sig -let forEachi: ((. elt, int) => unit, t) => unit -``` - -## map - -```res sig -let map: ((. elt) => 'b, t) => typed_array<'b> -``` - -## mapi - -```res sig -let mapi: ((. elt, int) => 'b, t) => typed_array<'b> -``` - -## reduce - -```res sig -let reduce: ((. 'b, elt) => 'b, 'b, t) => 'b -``` - -## reducei - -```res sig -let reducei: ((. 'b, elt, int) => 'b, 'b, t) => 'b -``` - -## reduceRight - -```res sig -let reduceRight: ((. 'b, elt) => 'b, 'b, t) => 'b -``` - -## reduceRighti - -```res sig -let reduceRighti: ((. 'b, elt, int) => 'b, 'b, t) => 'b -``` - -## some - -```res sig -let some: ((. elt) => bool, t) => bool -``` - -## somei - -```res sig -let somei: ((. elt, int) => bool, t) => bool -``` - -## _BYTES_PER_ELEMENT - -```res sig -let _BYTES_PER_ELEMENT: int -``` - -## make - -```res sig -let make: array => t -``` - -## fromBuffer - -```res sig -let fromBuffer: Js_typed_array.array_buffer => t -``` - -## fromBufferOffset - -```res sig -let fromBufferOffset: (Js_typed_array.array_buffer, int) => t -``` - -Can throw an exception. - -## fromBufferRange - -```res sig -let fromBufferRange: (Js_typed_array.array_buffer, ~offset: int, ~length: int) => t -``` - -Raises `Js.Exn.Error` raise Js exception. - -## fromLength - -```res sig -let fromLength: int => t -``` - -Raises `Js.Exn.Error` raise Js exception. - -## from - -```res sig -let from: Js_typed_array.array_like => t -``` diff --git a/pages/docs/manual/latest/api/js/typed-array_type-s.mdx b/pages/docs/manual/latest/api/js/typed-array_type-s.mdx deleted file mode 100644 index d71e5dcd7..000000000 --- a/pages/docs/manual/latest/api/js/typed-array_type-s.mdx +++ /dev/null @@ -1,309 +0,0 @@ -# TypedArray type S - - - -TODO - - - -## t - -```res prelude -type elt -type typed_array<'a> -type t = typed_array -``` - -## unsafe_get - -```res sig -let unsafe_get: (t, int) => elt -``` - -## unsafe_set - -```res sig -let unsafe_set: (t, int, elt) => unit -``` - -## buffer - -```res sig -let buffer: t => Js_typed_array.array_buffer -``` - -## byteLength - -```res sig -let byteLength: t => int -``` - -## byteOffset - -```res sig -let byteOffset: t => int -``` - -## setArray - -```res sig -let setArray: (array, t) => unit -``` - -## setArrayOffset - -```res sig -let setArrayOffset: (array, int, t) => unit -``` - -## length - -```res sig -let length: t => int -``` - -## copyWithin - -```res sig -let copyWithin: (~to_: int, t) => t -``` - -## copyWithinFrom - -```res sig -let copyWithinFrom: (~to_: int, ~from: int, t) => t -``` - -## copyWithinFromRange - -```res sig -let copyWithinFromRange: (~to_: int, ~start: int, ~end_: int, t) => t -``` - -## fillInPlace - -```res sig -let fillInPlace: (elt, t) => t -``` - -## fillFromInPlace - -```res sig -let fillFromInPlace: (elt, ~from: int, t) => t -``` - -## fillRangeInPlace - -```res sig -let fillRangeInPlace: (elt, ~start: int, ~end_: int, t) => t -``` - -## reverseInPlace - -```res sig -let reverseInPlace: t => t -``` - -## sortInPlace - -```res sig -let sortInPlace: t => t -``` - -## sortInPlaceWith - -```res sig -let sortInPlaceWith: ((. elt, elt) => int, t) => t -``` - -## includes - -```res sig -let includes: (elt, t) => bool -``` - -## indexOf - -```res sig -let indexOf: (elt, t) => int -``` - -## indexOfFrom - -```res sig -let indexOfFrom: (elt, ~from: int, t) => int -``` - -## join - -```res sig -let join: t => string -``` - -## joinWith - -```res sig -let joinWith: (string, t) => string -``` - -## lastIndexOf - -```res sig -let lastIndexOf: (elt, t) => int -``` - -## lastIndexOfFrom - -```res sig -let lastIndexOfFrom: (elt, ~from: int, t) => int -``` - -## slice - -```res sig -let slice: (~start: int, ~end_: int, t) => t -``` - -## copy - -```res sig -let copy: t => t -``` - -## sliceFrom - -```res sig -let sliceFrom: (int, t) => t -``` - -## subarray - -```res sig -let subarray: (~start: int, ~end_: int, t) => t -``` - -## subarrayFrom - -```res sig -let subarrayFrom: (int, t) => t -``` - -## toString - -```res sig -let toString: t => string -``` - -## toLocaleString - -```res sig -let toLocaleString: t => string -``` - -## every - -```res sig -let every: ((. elt) => bool, t) => bool -``` - -## everyi - -```res sig -let everyi: ((. elt, int) => bool, t) => bool -``` - -## filter - -```res sig -let filter: ((. elt) => bool, t) => t -``` - -## filteri - -```res sig -let filteri: ((. elt, int) => bool, t) => t -``` - -## find - -```res sig -let find: ((. elt) => bool, t) => Js.undefined -``` - -## findi - -```res sig -let findi: ((. elt, int) => bool, t) => Js.undefined -``` - -## findIndex - -```res sig -let findIndex: ((. elt) => bool, t) => int -``` - -## findIndexi - -```res sig -let findIndexi: ((. elt, int) => bool, t) => int -``` - -## forEach - -```res sig -let forEach: ((. elt) => unit, t) => unit -``` - -## forEachi - -```res sig -let forEachi: ((. elt, int) => unit, t) => unit -``` - -## map - -```res sig -let map: ((. elt) => 'b, t) => typed_array<'b> -``` - -## mapi - -```res sig -let mapi: ((. elt, int) => 'b, t) => typed_array<'b> -``` - -## reduce - -```res sig -let reduce: ((. 'b, elt) => 'b, 'b, t) => 'b -``` - -## reducei - -```res sig -let reducei: ((. 'b, elt, int) => 'b, 'b, t) => 'b -``` - -## reduceRight - -```res sig -let reduceRight: ((. 'b, elt) => 'b, 'b, t) => 'b -``` - -## reduceRighti - -```res sig -let reduceRighti: ((. 'b, elt, int) => 'b, 'b, t) => 'b -``` - -## some - -```res sig -let some: ((. elt) => bool, t) => bool -``` - -## somei - -```res sig -let somei: ((. elt, int) => bool, t) => bool -``` diff --git a/pages/docs/manual/latest/api/js/typed-array_uint-16-array.mdx b/pages/docs/manual/latest/api/js/typed-array_uint-16-array.mdx deleted file mode 100644 index 6ac15af3c..000000000 --- a/pages/docs/manual/latest/api/js/typed-array_uint-16-array.mdx +++ /dev/null @@ -1,363 +0,0 @@ -# TypedArray.Uint16Array - - - -Provide bindings to JS typed array Uint16Array. - - - -## t - -```res prelude -type elt = int -type typed_array<'a> = Js_typed_array2.Uint16Array.typed_array<'a> -type t = typed_array -``` - -## unsafe_get - -```res sig -let unsafe_get: (t, int) => elt -``` - -## unsafe_set - -```res sig -let unsafe_set: (t, int, elt) => unit -``` - -## buffer - -```res sig -let buffer: t => Js_typed_array.array_buffer -``` - -## byteLength - -```res sig -let byteLength: t => int -``` - -## byteOffset - -```res sig -let byteOffset: t => int -``` - -## setArray - -```res sig -let setArray: (array, t) => unit -``` - -## setArrayOffset - -```res sig -let setArrayOffset: (array, int, t) => unit -``` - -## length - -```res sig -let length: t => int -``` - -## copyWithin - -```res sig -let copyWithin: (~to_: int, t) => t -``` - -## copyWithinFrom - -```res sig -let copyWithinFrom: (~to_: int, ~from: int, t) => t -``` - -## copyWithinFromRange - -```res sig -let copyWithinFromRange: (~to_: int, ~start: int, ~end_: int, t) => t -``` - -## fillInPlace - -```res sig -let fillInPlace: (elt, t) => t -``` - -## fillFromInPlace - -```res sig -let fillFromInPlace: (elt, ~from: int, t) => t -``` - -## fillRangeInPlace - -```res sig -let fillRangeInPlace: (elt, ~start: int, ~end_: int, t) => t -``` - -## reverseInPlace - -```res sig -let reverseInPlace: t => t -``` - -## sortInPlace - -```res sig -let sortInPlace: t => t -``` - -## sortInPlaceWith - -```res sig -let sortInPlaceWith: ((. elt, elt) => int, t) => t -``` - -## includes - -```res sig -let includes: (elt, t) => bool -``` - -ES2016 - -## indexOf - -```res sig -let indexOf: (elt, t) => int -``` - -## indexOfFrom - -```res sig -let indexOfFrom: (elt, ~from: int, t) => int -``` - -## join - -```res sig -let join: t => string -``` - -## joinWith - -```res sig -let joinWith: (string, t) => string -``` - -## lastIndexOf - -```res sig -let lastIndexOf: (elt, t) => int -``` - -## lastIndexOfFrom - -```res sig -let lastIndexOfFrom: (elt, ~from: int, t) => int -``` - -## slice - -```res sig -let slice: (~start: int, ~end_: int, t) => t -``` - -`start` is inclusive, `end_` exclusive. - -## copy - -```res sig -let copy: t => t -``` - -## sliceFrom - -```res sig -let sliceFrom: (int, t) => t -``` - -## subarray - -```res sig -let subarray: (~start: int, ~end_: int, t) => t -``` - -`start` is inclusive, `end_` exclusive. - -## subarrayFrom - -```res sig -let subarrayFrom: (int, t) => t -``` - -## toString - -```res sig -let toString: t => string -``` - -## toLocaleString - -```res sig -let toLocaleString: t => string -``` - -## every - -```res sig -let every: ((. elt) => bool, t) => bool -``` - -## everyi - -```res sig -let everyi: ((. elt, int) => bool, t) => bool -``` - -## filter - -```res sig -let filter: ((. elt) => bool, t) => t -``` - -## filteri - -```res sig -let filteri: ((. elt, int) => bool, t) => t -``` - -## find - -```res sig -let find: ((. elt) => bool, t) => Js.undefined -``` - -## findi - -```res sig -let findi: ((. elt, int) => bool, t) => Js.undefined -``` - -## findIndex - -```res sig -let findIndex: ((. elt) => bool, t) => int -``` - -## findIndexi - -```res sig -let findIndexi: ((. elt, int) => bool, t) => int -``` - -## forEach - -```res sig -let forEach: ((. elt) => unit, t) => unit -``` - -## forEachi - -```res sig -let forEachi: ((. elt, int) => unit, t) => unit -``` - -## map - -```res sig -let map: ((. elt) => 'b, t) => typed_array<'b> -``` - -## mapi - -```res sig -let mapi: ((. elt, int) => 'b, t) => typed_array<'b> -``` - -## reduce - -```res sig -let reduce: ((. 'b, elt) => 'b, 'b, t) => 'b -``` - -## reducei - -```res sig -let reducei: ((. 'b, elt, int) => 'b, 'b, t) => 'b -``` - -## reduceRight - -```res sig -let reduceRight: ((. 'b, elt) => 'b, 'b, t) => 'b -``` - -## reduceRighti - -```res sig -let reduceRighti: ((. 'b, elt, int) => 'b, 'b, t) => 'b -``` - -## some - -```res sig -let some: ((. elt) => bool, t) => bool -``` - -## somei - -```res sig -let somei: ((. elt, int) => bool, t) => bool -``` - -## _BYTES_PER_ELEMENT - -```res sig -let _BYTES_PER_ELEMENT: int -``` - -## make - -```res sig -let make: array => t -``` - -## fromBuffer - -```res sig -let fromBuffer: Js_typed_array.array_buffer => t -``` - -## fromBufferOffset - -```res sig -let fromBufferOffset: (Js_typed_array.array_buffer, int) => t -``` - -Can throw an exception. - -## fromBufferRange - -```res sig -let fromBufferRange: (Js_typed_array.array_buffer, ~offset: int, ~length: int) => t -``` - -Raises `Js.Exn.Error` raise Js exception. - -## fromLength - -```res sig -let fromLength: int => t -``` - -Raises `Js.Exn.Error` raise Js exception. - -## from - -```res sig -let from: Js_typed_array.array_like => t -``` diff --git a/pages/docs/manual/latest/api/js/typed-array_uint-32-array.mdx b/pages/docs/manual/latest/api/js/typed-array_uint-32-array.mdx deleted file mode 100644 index fbd25e7fa..000000000 --- a/pages/docs/manual/latest/api/js/typed-array_uint-32-array.mdx +++ /dev/null @@ -1,363 +0,0 @@ -# TypedArray.UInt32Array - - - -Provide bindings to JS typed array Uint32Array. - - - -## t - -```res prelude -type elt = int -type typed_array<'a> = Js_typed_array2.Uint32Array.typed_array<'a> -type t = typed_array -``` - -## unsafe_get - -```res sig -let unsafe_get: (t, int) => elt -``` - -## unsafe_set - -```res sig -let unsafe_set: (t, int, elt) => unit -``` - -## buffer - -```res sig -let buffer: t => Js_typed_array.array_buffer -``` - -## byteLength - -```res sig -let byteLength: t => int -``` - -## byteOffset - -```res sig -let byteOffset: t => int -``` - -## setArray - -```res sig -let setArray: (array, t) => unit -``` - -## setArrayOffset - -```res sig -let setArrayOffset: (array, int, t) => unit -``` - -## length - -```res sig -let length: t => int -``` - -## copyWithin - -```res sig -let copyWithin: (~to_: int, t) => t -``` - -## copyWithinFrom - -```res sig -let copyWithinFrom: (~to_: int, ~from: int, t) => t -``` - -## copyWithinFromRange - -```res sig -let copyWithinFromRange: (~to_: int, ~start: int, ~end_: int, t) => t -``` - -## fillInPlace - -```res sig -let fillInPlace: (elt, t) => t -``` - -## fillFromInPlace - -```res sig -let fillFromInPlace: (elt, ~from: int, t) => t -``` - -## fillRangeInPlace - -```res sig -let fillRangeInPlace: (elt, ~start: int, ~end_: int, t) => t -``` - -## reverseInPlace - -```res sig -let reverseInPlace: t => t -``` - -## sortInPlace - -```res sig -let sortInPlace: t => t -``` - -## sortInPlaceWith - -```res sig -let sortInPlaceWith: ((. elt, elt) => int, t) => t -``` - -## includes - -```res sig -let includes: (elt, t) => bool -``` - -ES2016 - -## indexOf - -```res sig -let indexOf: (elt, t) => int -``` - -## indexOfFrom - -```res sig -let indexOfFrom: (elt, ~from: int, t) => int -``` - -## join - -```res sig -let join: t => string -``` - -## joinWith - -```res sig -let joinWith: (string, t) => string -``` - -## lastIndexOf - -```res sig -let lastIndexOf: (elt, t) => int -``` - -## lastIndexOfFrom - -```res sig -let lastIndexOfFrom: (elt, ~from: int, t) => int -``` - -## slice - -```res sig -let slice: (~start: int, ~end_: int, t) => t -``` - -`start` is inclusive, `end_` exclusive. - -## copy - -```res sig -let copy: t => t -``` - -## sliceFrom - -```res sig -let sliceFrom: (int, t) => t -``` - -## subarray - -```res sig -let subarray: (~start: int, ~end_: int, t) => t -``` - -`start` is inclusive, `end_` exclusive. - -## subarrayFrom - -```res sig -let subarrayFrom: (int, t) => t -``` - -## toString - -```res sig -let toString: t => string -``` - -## toLocaleString - -```res sig -let toLocaleString: t => string -``` - -## every - -```res sig -let every: ((. elt) => bool, t) => bool -``` - -## everyi - -```res sig -let everyi: ((. elt, int) => bool, t) => bool -``` - -## filter - -```res sig -let filter: ((. elt) => bool, t) => t -``` - -## filteri - -```res sig -let filteri: ((. elt, int) => bool, t) => t -``` - -## find - -```res sig -let find: ((. elt) => bool, t) => Js.undefined -``` - -## findi - -```res sig -let findi: ((. elt, int) => bool, t) => Js.undefined -``` - -## findIndex - -```res sig -let findIndex: ((. elt) => bool, t) => int -``` - -## findIndexi - -```res sig -let findIndexi: ((. elt, int) => bool, t) => int -``` - -## forEach - -```res sig -let forEach: ((. elt) => unit, t) => unit -``` - -## forEachi - -```res sig -let forEachi: ((. elt, int) => unit, t) => unit -``` - -## map - -```res sig -let map: ((. elt) => 'b, t) => typed_array<'b> -``` - -## mapi - -```res sig -let mapi: ((. elt, int) => 'b, t) => typed_array<'b> -``` - -## reduce - -```res sig -let reduce: ((. 'b, elt) => 'b, 'b, t) => 'b -``` - -## reducei - -```res sig -let reducei: ((. 'b, elt, int) => 'b, 'b, t) => 'b -``` - -## reduceRight - -```res sig -let reduceRight: ((. 'b, elt) => 'b, 'b, t) => 'b -``` - -## reduceRighti - -```res sig -let reduceRighti: ((. 'b, elt, int) => 'b, 'b, t) => 'b -``` - -## some - -```res sig -let some: ((. elt) => bool, t) => bool -``` - -## somei - -```res sig -let somei: ((. elt, int) => bool, t) => bool -``` - -## _BYTES_PER_ELEMENT - -```res sig -let _BYTES_PER_ELEMENT: int -``` - -## make - -```res sig -let make: array => t -``` - -## fromBuffer - -```res sig -let fromBuffer: Js_typed_array.array_buffer => t -``` - -## fromBufferOffset - -```res sig -let fromBufferOffset: (Js_typed_array.array_buffer, int) => t -``` - -Can throw an exception. - -## fromBufferRange - -```res sig -let fromBufferRange: (Js_typed_array.array_buffer, ~offset: int, ~length: int) => t -``` - -Raises `Js.Exn.Error` raise Js exception. - -## fromLength - -```res sig -let fromLength: int => t -``` - -Raises `Js.Exn.Error` raise Js exception. - -## from - -```res sig -let from: Js_typed_array.array_like => t -``` diff --git a/pages/docs/manual/latest/api/js/typed-array_uint-8-array.mdx b/pages/docs/manual/latest/api/js/typed-array_uint-8-array.mdx deleted file mode 100644 index 75bf7449a..000000000 --- a/pages/docs/manual/latest/api/js/typed-array_uint-8-array.mdx +++ /dev/null @@ -1,363 +0,0 @@ -# TypedArray.Uint8Array - - - -Provide bindings to JS typed array Uint8Array. - - - -## t - -```res prelude -type elt = int -type typed_array<'a> = Js_typed_array2.Uint8Array.typed_array<'a> -type t = typed_array -``` - -## unsafe_get - -```res sig -let unsafe_get: (t, int) => elt -``` - -## unsafe_set - -```res sig -let unsafe_set: (t, int, elt) => unit -``` - -## buffer - -```res sig -let buffer: t => Js_typed_array.array_buffer -``` - -## byteLength - -```res sig -let byteLength: t => int -``` - -## byteOffset - -```res sig -let byteOffset: t => int -``` - -## setArray - -```res sig -let setArray: (array, t) => unit -``` - -## setArrayOffset - -```res sig -let setArrayOffset: (array, int, t) => unit -``` - -## length - -```res sig -let length: t => int -``` - -## copyWithin - -```res sig -let copyWithin: (~to_: int, t) => t -``` - -## copyWithinFrom - -```res sig -let copyWithinFrom: (~to_: int, ~from: int, t) => t -``` - -## copyWithinFromRange - -```res sig -let copyWithinFromRange: (~to_: int, ~start: int, ~end_: int, t) => t -``` - -## fillInPlace - -```res sig -let fillInPlace: (elt, t) => t -``` - -## fillFromInPlace - -```res sig -let fillFromInPlace: (elt, ~from: int, t) => t -``` - -## fillRangeInPlace - -```res sig -let fillRangeInPlace: (elt, ~start: int, ~end_: int, t) => t -``` - -## reverseInPlace - -```res sig -let reverseInPlace: t => t -``` - -## sortInPlace - -```res sig -let sortInPlace: t => t -``` - -## sortInPlaceWith - -```res sig -let sortInPlaceWith: ((. elt, elt) => int, t) => t -``` - -## includes - -```res sig -let includes: (elt, t) => bool -``` - -ES2016 - -## indexOf - -```res sig -let indexOf: (elt, t) => int -``` - -## indexOfFrom - -```res sig -let indexOfFrom: (elt, ~from: int, t) => int -``` - -## join - -```res sig -let join: t => string -``` - -## joinWith - -```res sig -let joinWith: (string, t) => string -``` - -## lastIndexOf - -```res sig -let lastIndexOf: (elt, t) => int -``` - -## lastIndexOfFrom - -```res sig -let lastIndexOfFrom: (elt, ~from: int, t) => int -``` - -## slice - -```res sig -let slice: (~start: int, ~end_: int, t) => t -``` - -`start` is inclusive, `end_` exclusive. - -## copy - -```res sig -let copy: t => t -``` - -## sliceFrom - -```res sig -let sliceFrom: (int, t) => t -``` - -## subarray - -```res sig -let subarray: (~start: int, ~end_: int, t) => t -``` - -`start` is inclusive, `end_` exclusive. - -## subarrayFrom - -```res sig -let subarrayFrom: (int, t) => t -``` - -## toString - -```res sig -let toString: t => string -``` - -## toLocaleString - -```res sig -let toLocaleString: t => string -``` - -## every - -```res sig -let every: ((. elt) => bool, t) => bool -``` - -## everyi - -```res sig -let everyi: ((. elt, int) => bool, t) => bool -``` - -## filter - -```res sig -let filter: ((. elt) => bool, t) => t -``` - -## filteri - -```res sig -let filteri: ((. elt, int) => bool, t) => t -``` - -## find - -```res sig -let find: ((. elt) => bool, t) => Js.undefined -``` - -## findi - -```res sig -let findi: ((. elt, int) => bool, t) => Js.undefined -``` - -## findIndex - -```res sig -let findIndex: ((. elt) => bool, t) => int -``` - -## findIndexi - -```res sig -let findIndexi: ((. elt, int) => bool, t) => int -``` - -## forEach - -```res sig -let forEach: ((. elt) => unit, t) => unit -``` - -## forEachi - -```res sig -let forEachi: ((. elt, int) => unit, t) => unit -``` - -## map - -```res sig -let map: ((. elt) => 'b, t) => typed_array<'b> -``` - -## mapi - -```res sig -let mapi: ((. elt, int) => 'b, t) => typed_array<'b> -``` - -## reduce - -```res sig -let reduce: ((. 'b, elt) => 'b, 'b, t) => 'b -``` - -## reducei - -```res sig -let reducei: ((. 'b, elt, int) => 'b, 'b, t) => 'b -``` - -## reduceRight - -```res sig -let reduceRight: ((. 'b, elt) => 'b, 'b, t) => 'b -``` - -## reduceRighti - -```res sig -let reduceRighti: ((. 'b, elt, int) => 'b, 'b, t) => 'b -``` - -## some - -```res sig -let some: ((. elt) => bool, t) => bool -``` - -## somei - -```res sig -let somei: ((. elt, int) => bool, t) => bool -``` - -## _BYTES_PER_ELEMENT - -```res sig -let _BYTES_PER_ELEMENT: int -``` - -## make - -```res sig -let make: array => t -``` - -## fromBuffer - -```res sig -let fromBuffer: Js_typed_array.array_buffer => t -``` - -## fromBufferOffset - -```res sig -let fromBufferOffset: (Js_typed_array.array_buffer, int) => t -``` - -Can throw an exception. - -## fromBufferRange - -```res sig -let fromBufferRange: (Js_typed_array.array_buffer, ~offset: int, ~length: int) => t -``` - -Raises `Js.Exn.Error` raise Js exception. - -## fromLength - -```res sig -let fromLength: int => t -``` - -Raises `Js.Exn.Error` raise Js exception. - -## from - -```res sig -let from: Js_typed_array.array_like => t -``` diff --git a/pages/docs/manual/latest/api/js/typed-array_uint-8-clamped-array.mdx b/pages/docs/manual/latest/api/js/typed-array_uint-8-clamped-array.mdx deleted file mode 100644 index 57f4a5288..000000000 --- a/pages/docs/manual/latest/api/js/typed-array_uint-8-clamped-array.mdx +++ /dev/null @@ -1,363 +0,0 @@ -# TypedArray.Uint8ClampedArray - - - -Provide bindings to JS typed array Uint8ClampedArray. - - - -## t - -```res prelude -type elt = int -type typed_array<'a> = Js_typed_array2.Uint8ClampedArray.typed_array<'a> -type t = typed_array -``` - -## unsafe_get - -```res sig -let unsafe_get: (t, int) => elt -``` - -## unsafe_set - -```res sig -let unsafe_set: (t, int, elt) => unit -``` - -## buffer - -```res sig -let buffer: t => Js_typed_array.array_buffer -``` - -## byteLength - -```res sig -let byteLength: t => int -``` - -## byteOffset - -```res sig -let byteOffset: t => int -``` - -## setArray - -```res sig -let setArray: (array, t) => unit -``` - -## setArrayOffset - -```res sig -let setArrayOffset: (array, int, t) => unit -``` - -## length - -```res sig -let length: t => int -``` - -## copyWithin - -```res sig -let copyWithin: (~to_: int, t) => t -``` - -## copyWithinFrom - -```res sig -let copyWithinFrom: (~to_: int, ~from: int, t) => t -``` - -## copyWithinFromRange - -```res sig -let copyWithinFromRange: (~to_: int, ~start: int, ~end_: int, t) => t -``` - -## fillInPlace - -```res sig -let fillInPlace: (elt, t) => t -``` - -## fillFromInPlace - -```res sig -let fillFromInPlace: (elt, ~from: int, t) => t -``` - -## fillRangeInPlace - -```res sig -let fillRangeInPlace: (elt, ~start: int, ~end_: int, t) => t -``` - -## reverseInPlace - -```res sig -let reverseInPlace: t => t -``` - -## sortInPlace - -```res sig -let sortInPlace: t => t -``` - -## sortInPlaceWith - -```res sig -let sortInPlaceWith: ((. elt, elt) => int, t) => t -``` - -## includes - -```res sig -let includes: (elt, t) => bool -``` - -ES2016 - -## indexOf - -```res sig -let indexOf: (elt, t) => int -``` - -## indexOfFrom - -```res sig -let indexOfFrom: (elt, ~from: int, t) => int -``` - -## join - -```res sig -let join: t => string -``` - -## joinWith - -```res sig -let joinWith: (string, t) => string -``` - -## lastIndexOf - -```res sig -let lastIndexOf: (elt, t) => int -``` - -## lastIndexOfFrom - -```res sig -let lastIndexOfFrom: (elt, ~from: int, t) => int -``` - -## slice - -```res sig -let slice: (~start: int, ~end_: int, t) => t -``` - -`start` is inclusive, `end_` exclusive. - -## copy - -```res sig -let copy: t => t -``` - -## sliceFrom - -```res sig -let sliceFrom: (int, t) => t -``` - -## subarray - -```res sig -let subarray: (~start: int, ~end_: int, t) => t -``` - -`start` is inclusive, `end_` exclusive. - -## subarrayFrom - -```res sig -let subarrayFrom: (int, t) => t -``` - -## toString - -```res sig -let toString: t => string -``` - -## toLocaleString - -```res sig -let toLocaleString: t => string -``` - -## every - -```res sig -let every: ((. elt) => bool, t) => bool -``` - -## everyi - -```res sig -let everyi: ((. elt, int) => bool, t) => bool -``` - -## filter - -```res sig -let filter: ((. elt) => bool, t) => t -``` - -## filteri - -```res sig -let filteri: ((. elt, int) => bool, t) => t -``` - -## find - -```res sig -let find: ((. elt) => bool, t) => Js.undefined -``` - -## findi - -```res sig -let findi: ((. elt, int) => bool, t) => Js.undefined -``` - -## findIndex - -```res sig -let findIndex: ((. elt) => bool, t) => int -``` - -## findIndexi - -```res sig -let findIndexi: ((. elt, int) => bool, t) => int -``` - -## forEach - -```res sig -let forEach: ((. elt) => unit, t) => unit -``` - -## forEachi - -```res sig -let forEachi: ((. elt, int) => unit, t) => unit -``` - -## map - -```res sig -let map: ((. elt) => 'b, t) => typed_array<'b> -``` - -## mapi - -```res sig -let mapi: ((. elt, int) => 'b, t) => typed_array<'b> -``` - -## reduce - -```res sig -let reduce: ((. 'b, elt) => 'b, 'b, t) => 'b -``` - -## reducei - -```res sig -let reducei: ((. 'b, elt, int) => 'b, 'b, t) => 'b -``` - -## reduceRight - -```res sig -let reduceRight: ((. 'b, elt) => 'b, 'b, t) => 'b -``` - -## reduceRighti - -```res sig -let reduceRighti: ((. 'b, elt, int) => 'b, 'b, t) => 'b -``` - -## some - -```res sig -let some: ((. elt) => bool, t) => bool -``` - -## somei - -```res sig -let somei: ((. elt, int) => bool, t) => bool -``` - -## _BYTES_PER_ELEMENT - -```res sig -let _BYTES_PER_ELEMENT: int -``` - -## make - -```res sig -let make: array => t -``` - -## fromBuffer - -```res sig -let fromBuffer: Js_typed_array.array_buffer => t -``` - -## fromBufferOffset - -```res sig -let fromBufferOffset: (Js_typed_array.array_buffer, int) => t -``` - -Can throw an exception. - -## fromBufferRange - -```res sig -let fromBufferRange: (Js_typed_array.array_buffer, ~offset: int, ~length: int) => t -``` - -Raises `Js.Exn.Error` raise Js exception. - -## fromLength - -```res sig -let fromLength: int => t -``` - -Raises `Js.Exn.Error` raise Js exception. - -## from - -```res sig -let from: Js_typed_array.array_like => t -``` diff --git a/pages/docs/manual/latest/api/js/types.mdx b/pages/docs/manual/latest/api/js/types.mdx deleted file mode 100644 index bf19e7d0b..000000000 --- a/pages/docs/manual/latest/api/js/types.mdx +++ /dev/null @@ -1,78 +0,0 @@ -# Types - - - -Provide utilities for manipulating JS types. - - - -## symbol - -```res prelude -type symbol -``` - -## obj_val - -```res prelude -type obj_val -``` - -## undefined_val - -```res prelude -type undefined_val -``` - -## null_val - -```res prelude -type null_val -``` - -## function_val - -```res prelude -type function_val -``` - -## t - -```res prelude -type rec t<'a> = - | Undefined: t - | Null: t - | Boolean: t - | Number: t - | String: t - | Function: t - | Object: t - | Symbol: t -``` - -## test - -```res sig -let test: ('a, t<'b>) => bool -``` - -## tagged_t - -```res prelude -type tagged_t = - | JSFalse - | JSTrue - | JSNull - | JSUndefined - | JSNumber(float) - | JSString(string) - | JSFunction(function_val) - | JSObject(obj_val) - | JSSymbol(symbol) -``` - -## classify - -```res sig -let classify: 'a => tagged_t -``` diff --git a/pages/docs/manual/latest/api/js/undefined.mdx b/pages/docs/manual/latest/api/js/undefined.mdx deleted file mode 100644 index 9f318ed12..000000000 --- a/pages/docs/manual/latest/api/js/undefined.mdx +++ /dev/null @@ -1,119 +0,0 @@ -# Undefined - - - -Provide utilities around `Js.undefined`. - - - -## t - -```res prelude -type t<'a> = Js.undefined<'a> -``` - -Local alias for 'a Js.undefined. - -## return - -```res sig -let return: 'a => t<'a> -``` - -Constructs a value of `Js.undefined<'a>` containing a value of `'a`. - -## test - -```res sig -let test: t<'a> => bool -``` - -Returns `true` if the given value is empty (undefined), `false` otherwise. - -## testAny - -```res sig -let testAny: 'a => bool -``` - -Since 1.6.1 Returns `true` if the given value is empty (undefined). - -## empty - -```res sig -let empty: t<'a> -``` - -The empty value, `undefined`. - -## getUnsafe - -```res sig -let getUnsafe: t<'a> => 'a -``` - -## getExn - -```res sig -let getExn: t<'a> => 'a -``` - -## bind - -```res sig -let bind: (t<'a>, (. 'a) => 'b) => t<'b> -``` - -Maps the contained value using the given function. -If `Js.undefined<'a>` contains a value, that value is unwrapped, mapped to a `'b` using the given function `a' => 'b`, then wrapped back up and returned as `Js.undefined<'b>`. - -```res example -let maybeGreetWorld = (maybeGreeting: Js.undefined) => - Js.Undefined.bind(maybeGreeting, (. greeting) => greeting ++ " world!") -``` - -## iter - -```res sig -let iter: (t<'a>, (. 'a) => unit) => unit -``` - -Iterates over the contained value with the given function. -If `Js.undefined<'a>` contains a value, that value is unwrapped and applied to the given function. - -```res example -let maybeSay = (maybeMessage: Js.undefined) => - Js.Undefined.iter(maybeMessage, (. message) => Js.log(message)) -``` - -## fromOption - -```res sig -let fromOption: option<'a> => t<'a> -``` - -Maps `option<'a>` to `Js.undefined<'a>`. -`Some(a)` => `a` -`None` => `empty` - -## from_opt - -```res sig -let from_opt: option<'a> => t<'a> -``` - -## toOption - -```res sig -let toOption: t<'a> => option<'a> -``` - -Maps `Js.undefined<'a>` to `option<'a>` -`a` => `Some(a)` -`empty` => `None` - -## to_opt - -```res sig -let to_opt: t<'a> => option<'a> -``` diff --git a/pages/docs/manual/latest/api/js/vector.mdx b/pages/docs/manual/latest/api/js/vector.mdx deleted file mode 100644 index cefea9a87..000000000 --- a/pages/docs/manual/latest/api/js/vector.mdx +++ /dev/null @@ -1,157 +0,0 @@ -# Vector - - - -Provide vector utilities. - - - -## t - -```res prelude -type t<'a> = array<'a> -``` - -## filterInPlace - -```res sig -let filterInPlace: ((. 'a) => bool, t<'a>) => unit -``` - -p : predicate -a : array - -## empty - -```res sig -let empty: t<'a> => unit -``` - -## pushBack - -```res sig -let pushBack: ('a, t<'a>) => unit -``` - -## copy - -```res sig -let copy: t<'a> => t<'a> -``` - -Create a shallow copy of a vector. - -## memByRef - -```res sig -let memByRef: ('a, t<'a>) => bool -``` - -Find by JS (===) equality. - -## iter - -```res sig -let iter: ((. 'a) => unit, t<'a>) => unit -``` - -## iteri - -```res sig -let iteri: ((. int, 'a) => unit, t<'a>) => unit -``` - -## toList - -```res sig -let toList: t<'a> => list<'a> -``` - -## map - -```res sig -let map: ((. 'a) => 'b, t<'a>) => t<'b> -``` - -## mapi - -```res sig -let mapi: ((. int, 'a) => 'b, t<'a>) => t<'b> -``` - -## foldLeft - -```res sig -let foldLeft: ((. 'a, 'b) => 'a, 'a, t<'b>) => 'a -``` - -## foldRight - -```res sig -let foldRight: ((. 'b, 'a) => 'a, t<'b>, 'a) => 'a -``` - -## length - -```res sig -let length: t<'a> => int -``` - -Return the length (number of elements) of the given array. - -## get - -```res sig -let get: (t<'a>, int) => 'a -``` - -`Vector.get(a, n)` returns the element number `n` of vector `a`. The first element has number 0. The last element has number `Vector.length(a) - 1`. You can also write `a[n]` instead of `Vector.get(a, n)`. -Raise `Invalid_argument "index out of bounds"` if `n` is outside the range 0 to (`Array.length(a) - 1`). - -## set - -```res sig -let set: (t<'a>, int, 'a) => unit -``` - -`Vector.set(a, n, x)` modifies vector `a` in place, replacing element number `n` with `x`. -Raise `Invalid_argument "index out of bounds"` if `n` is outside the range 0 to `Array.length(a) - 1`. - -## make - -```res sig -let make: (int, 'a) => t<'a> -``` - -`Vector.make(n, x)` returns a fresh vector of length `n`, initialized with `x`. All the elements of this new vector are initially physically equal to `x` (in the sense of the `==` predicate). -Consequently, if `x` is mutable, it is shared among all elements of the array, and modifying `x` through one of the array entries will modify all other entries at the same time. -Raise `Invalid_argument` if `n < 0` or `n > Sys.max_array_length`. If the value of `x` is a floating-point number, then the maximum size is only `Sys.max_array_length / 2`. - -## init - -```res sig -let init: (int, (. int) => 'a) => t<'a> -``` - -Raises `RangeError` when n is negative. -n : size - -## append - -```res sig -let append: ('a, t<'a>) => t<'a> -``` - -`append(x, a)` returns a fresh vector with `x` appended to `a`. - -## unsafe_get - -```res sig -let unsafe_get: (t<'a>, int) => 'a -``` - -## unsafe_set - -```res sig -let unsafe_set: (t<'a>, int, 'a) => unit -``` diff --git a/rescript.json b/rescript.json index a6495f63e..dc31fef2f 100644 --- a/rescript.json +++ b/rescript.json @@ -5,7 +5,8 @@ "version": 4 }, "bs-dependencies": [ - "@rescript/react" + "@rescript/react", + "@rescript/tools" ], "uncurried": true, "ppx-flags": [], diff --git a/scripts/extract-indices.mjs b/scripts/extract-indices.mjs index 4776aa880..b70665c41 100644 --- a/scripts/extract-indices.mjs +++ b/scripts/extract-indices.mjs @@ -154,7 +154,7 @@ const extractApiIndex = version => { fs.writeFileSync(DOM_INDEX_FILE, JSON.stringify(domIndex), "utf8"); }; -extractApiIndex("latest"); +// extractApiIndex("latest"); extractApiIndex("v10.0.0"); extractApiIndex("v9.0.0"); extractApiIndex("v8.0.0"); diff --git a/scripts/gendocs.res b/scripts/gendocs.res new file mode 100644 index 000000000..590e6ac3f --- /dev/null +++ b/scripts/gendocs.res @@ -0,0 +1,187 @@ +/*** +Generate docs from ReScript Compiler + +## Run + +```bash +node scripts/gendocs.mjs path/to/projects/rescript-compiler +``` +*/ +let args = Node.Process.argv + +let argsLen = args->Js.Array2.length + +let compilerPath = args->Belt.Array.getExn(argsLen - 1) +let libPath = Node.Path.join([compilerPath, "lib", "ocaml"]) + +let entryPointLibs = ["js.ml", "belt.res", "dom.res"] + +module Docgen = RescriptTools.Docgen + +type mod = { + id: string, + docstrings: array, + name: string, + items: array, +} + +type section = { + name: string, + docstrings: array, + deprecated: option, + topLevelItems: array, + submodules: array, +} + +let env = Node.Process.env + +let docsDecoded = entryPointLibs->Js.Array2.map(libFile => { + let entryPointFile = Node.Path.join2(libPath, libFile) + + Js.Dict.set(env, "FROM_COMPILER", "true") + + let output = + Node.ChildProcess.execSync(`./node_modules/.bin/rescript-tools doc ${entryPointFile}`) + ->Node.Buffer.toString + ->Js.String2.trim + + output->Js.Json.parseExn->Docgen.decodeFromJson +}) + +let docs = docsDecoded->Js.Array2.map(doc => { + let topLevelItems = doc.items->Belt.Array.keepMap(item => { + switch item { + | Value(payload) => Docgen.Value(payload)->Some + | Type(payload) => Docgen.Type(payload)->Some + | _ => None + } + }) + + let rec getModules = (lst: list, moduleNames: list) => + switch lst { + | list{ + Module({id, items, name, docstrings}) | ModuleAlias({id, items, name, docstrings}), + ...rest, + } => + getModules( + list{...rest, ...Belt.List.fromArray(items)}, + list{{id, items, name, docstrings}, ...moduleNames}, + ) + | list{Type(_) | Value(_), ...rest} => getModules(rest, moduleNames) + | list{} => moduleNames + } + + let top = {id: doc.name, name: doc.name, docstrings: doc.docstrings, items: topLevelItems} + let submodules = getModules(doc.items->Belt.List.fromArray, list{})->Belt.List.toArray + let result = [top]->Js.Array2.concat(submodules) + + (doc.name, result) +}) + +let allModules = { + open Js.Json + let encodeItem = (docItem: Docgen.item) => { + switch docItem { + | Value({id, name, docstrings, signature}) => { + let dict = Js.Dict.fromArray([ + ("id", id->string), + ("kind", "value"->string), + ("name", name->string), + ("docstrings", docstrings->stringArray), + ("signature", signature->string), + ]) + dict->object_->Some + } + + | Type({id, name, docstrings, signature}) => + let dict = Js.Dict.fromArray([ + ("id", id->string), + ("kind", "type"->string), + ("name", name->string), + ("docstrings", docstrings->stringArray), + ("signature", signature->string), + ]) + object_(dict)->Some + + | _ => None + } + } + + docs->Js.Array2.map(((topLevelName, modules)) => { + let submodules = + modules + ->Js.Array2.map(mod => { + let items = mod.items->Belt.Array.keepMap(item => encodeItem(item))->array + let rest = Js.Dict.fromArray([ + ("id", mod.id->string), + ("name", mod.name->string), + ("docstrings", mod.docstrings->stringArray), + ("items", items), + ]) + ( + mod.id->Js.String2.split(".")->Js.Array2.joinWith("/")->Js.String2.toLowerCase, + rest->object_, + ) + }) + ->Js.Dict.fromArray + + (topLevelName, submodules) + }) +} + +let () = { + allModules->Js.Array2.forEach(((topLevelName, mod)) => { + let json = Js.Json.object_(mod) + + Node.Fs.writeFileSync( + `data/${topLevelName->Js.String2.toLowerCase}.json`, + json->Js.Json.stringify, + ) + }) +} + +type rec toctree = { + name: string, + path: array, + children: array, +} + +// Generate TOC modules +let () = { + let joinPath = (~path: array, ~name: string) => { + Js.Array2.concat(path, [name])->Js.Array2.map(path => path->Js.String2.toLowerCase) + } + let rec getModules = (lst: list, moduleNames, path) => { + switch lst { + | list{Module({items, name}) | ModuleAlias({items, name}), ...rest} => + let itemsList = items->Belt.List.fromArray + let children = getModules(itemsList, [], joinPath(~path, ~name)) + + getModules( + rest, + Js.Array2.concat([{name, path: joinPath(~path, ~name), children}], moduleNames), + path, + ) + | list{Type(_) | Value(_), ...rest} => getModules(rest, moduleNames, path) + | list{} => moduleNames + } + } + + let tocTree = docsDecoded->Js.Array2.map(({name, items}) => { + let path = [name->Js.String2.toLowerCase] + { + name, + path, + children: items + ->Belt.List.fromArray + ->getModules([], path), + } + }) + + Node.Fs.writeFileSync( + `data/api_toc_tree.json`, + tocTree + ->Js.Json.stringifyAny + ->Belt.Option.getExn, + ) +} diff --git a/src/ApiDocs.res b/src/ApiDocs.res new file mode 100644 index 000000000..58d140d4b --- /dev/null +++ b/src/ApiDocs.res @@ -0,0 +1,412 @@ +module Docgen = RescriptTools.Docgen + +type apiIndex = Js.Dict.t + +type rec toctree = { + name: string, + path: array, + children: array, +} + +@module("data/js.json") external apiJs: apiIndex = "default" +@module("data/belt.json") external apiBelt: apiIndex = "default" +@module("data/dom.json") external apiDom: apiIndex = "default" +@module("data/api_toc_tree") external apiTocTree: array = "default" + +module SidebarTree = { + @react.component + let make = (~tree: array) => { + let summaryClassName = "truncate font-medium cursor-pointer py-1 md:h-auto tracking-tight text-gray-60 rounded-sm hover:bg-gray-20 hover:-ml-2 hover:py-1 hover:pl-2 " + let router = Next.Router.useRouter() + + let onClick = path => { + let href = path->Js.Array2.joinWith("/") + Next.Router.push(router, href) + } + + let rec renderTree = (tree: toctree, level: int) => { + let wrappUl = tree.children->Js.Array2.length > 0 + + let main = + tree.children + ->Js.Array2.sortInPlaceWith((v1, v2) => { + if v1.name > v2.name { + 1 + } else { + -1 + } + }) + ->Js.Array2.map(item => { + let content = + <> + onClick(item.path)} className={summaryClassName}> + {item.name->React.string} + + {if item.children->Js.Array2.length > 0 { + renderTree(item, level + 1) + } else { + React.null + }} + + + if item.children->Js.Array2.length > 0 { +
  • +
    content
    +
  • + } else { +
  • content
  • + } + }) + ->React.array + + if wrappUl { +
      Belt.Int.toString} + style={ReactDOM.Style.make(~marginLeft=`9%`, ())}> + main +
    + } else { + main + } + } + +
    + +
    + } +} + +type params = {slug: array} + +type field = { + name: string, + docstrings: array, + signature: string, + optional: bool, + deprecated: Js.Null.t, +} +type constructor = { + name: string, + docstrings: array, + signature: string, + deprecated: Js.Null.t, +} + +type detail = + | Record({items: array}) + | Variant({items: array}) + +type item = + | Value({ + id: string, + docstrings: array, + signature: string, + name: string, + deprecated: Js.Null.t, + }) + | Type({ + id: string, + docstrings: array, + signature: string, + name: string, + deprecated: Js.Null.t, + detail: Js.Null.t, + }) + +type mod = { + id: string, + docstrings: array, + deprecated: Js.Null.t, + name: string, + items: array, +} + +type props = result + +external asMarkdownH2: 'a => Markdown.H2.props => React.element = "%identity" + +external asMdxPlugin: 'a => MdxRemote.mdxPlugin = "%identity" + +let default = (props: props) => { + let overlayState = React.useState(() => false) + + open Markdown + + let docstringsMarkdown = (~docstrings, ~slugPrefix) => { + let components = { + ...MarkdownComponents.default, + h2: MarkdownComponents.default.h3->asMarkdownH2, + } + + let options = {"prefix": slugPrefix ++ "-"}->asMdxPlugin + docstrings + ->Js.Array2.map(doc => + asMdxPlugin]}> + doc + + ) + ->React.array + } + + let item = switch props { + | Ok({id, docstrings, items}) => + let valuesAndType = items->Js.Array2.map(item => { + switch item { + | Value({name, signature, docstrings}) => + let code = Js.String2.replaceByRe(signature, %re("/\\n/g"), "\n") + <> +

    {name->React.string}

    + + {docstringsMarkdown(~docstrings, ~slugPrefix=name)} + + | Type({name, signature, docstrings}) => + let code = Js.String2.replaceByRe(signature, %re("/\\n/g"), "\n") + <> +

    {name->React.string}

    + + {docstringsMarkdown(~docstrings, ~slugPrefix=name)} + + } + }) + + <> +

    {id->React.string}

    + {docstringsMarkdown(~docstrings, ~slugPrefix=id)} + {valuesAndType->React.array} + + | _ => React.null + } + + let valuesAndTypes = switch props { + | Ok({items}) if Js.Array2.length(items) > 0 => + let valuesAndTypes = items->Belt.Array.keepMap(item => { + switch item { + | Value({name}) as kind | Type({name}) as kind => + let icon = switch kind { + | Type(_) => "T" + | Value(_) => "V" + } + let (textColor, bgColor) = switch kind { + | Type(_) => ("text-fire-30", "bg-fire-5") + | Value(_) => ("text-sky-30", "bg-sky-5") + } + let result = +
  • + +
    + + {icon->React.string} + +
    + {React.string(name)} +
    +
  • + Some(result) + } + }) + valuesAndTypes->Some + | _ => None + } + + <> + +
    +
    + +
    +
    + // + +
    + item +
    + {switch valuesAndTypes { + | Some(elemets) => +
    + +
    + | None => React.null + }} +
    +
    +
    +
    +
    + +} + +let getStaticProps: Next.GetStaticProps.t = async ctx => { + let {params} = ctx + + let slug = params.slug + + let moduleId = slug->Js.Array2.joinWith("/") + + let content = switch slug->Belt.Array.get(0) { + | Some(topLevelModule) => + let apiContent = switch topLevelModule { + | "js" => apiJs->Some + | "belt" => apiBelt->Some + | "dom" => apiDom->Some + | _ => None + } + + switch apiContent { + | Some(content) => content->Js.Dict.get(moduleId) + | None => None + } + | None => None + } + + let docItem = switch content { + | Some(json) => + switch json->Js.Json.decodeObject { + | Some(obj) => Docgen.decodeModule(obj)->Some + | None => None + } + | None => None + } + + let props = switch docItem { + | Some(Docgen.Module({id, name, docstrings, items, ?deprecated})) => + let items = items->Js.Array2.map(item => + switch item { + | Docgen.Value({id, docstrings, signature, name, ?deprecated}) => + Value({ + id, + docstrings, + signature, + name, + deprecated: deprecated->Js.Null.fromOption, + }) + | Type({id, docstrings, signature, name, ?deprecated, ?detail}) => + let detail = switch detail { + | Some(kind) => + switch kind { + | Docgen.Record({items}) => + let items = items->Js.Array2.map(({ + name, + docstrings, + signature, + optional, + ?deprecated, + }) => { + { + name, + docstrings, + signature, + optional, + deprecated: deprecated->Js.Null.fromOption, + } + }) + Record({items: items})->Js.Null.return + | Variant({items}) => + let items = items->Js.Array2.map(({name, docstrings, signature, ?deprecated}) => { + { + name, + docstrings, + signature, + deprecated: deprecated->Js.Null.fromOption, + } + }) + + Variant({items: items})->Js.Null.return + } + | None => Js.Null.empty + } + Type({ + id, + docstrings, + signature, + name, + deprecated: deprecated->Js.Null.fromOption, + detail, + }) + | _ => assert(false) + } + ) + { + id, + name, + docstrings, + deprecated: deprecated->Js.Null.fromOption, + items, + }->Ok + | _ => Error(`Failed to find module ${moduleId}`) + } + + {"props": props} +} + +let getStaticPaths: Next.GetStaticPaths.t = async () => { + open Next.GetStaticPaths + + let modulePaths = [apiJs, apiDom, apiBelt]->Js.Array2.reduce((acc, cur) => { + let paths = cur->Js.Dict.keys + Js.Array2.concat(paths, acc) + }, []) + + let paths = modulePaths->Js.Array2.map(slug => { + params: { + slug: slug->Js.String2.split("/"), + }, + }) + + {paths, fallback: false} +} + +module Overview = { + module Sidebar = SidebarLayout.Sidebar + + let categories: array = [ + // { + // name: "Introduction"->Some, + // items: [{name: "Overview", href: "/docs/manual/next/api"}], + // }, + { + name: "Modules", + items: [ + {name: "Js Module", href: "/docs/manual/latest/api/js"}, + {name: "Belt Stdlib", href: "/docs/manual/latest/api/belt"}, + {name: "Dom Module", href: "/docs/manual/latest/api/dom"}, + ], + }, + ] + + /* Used for API docs (structured data) */ + @react.component + let make = (~components=ApiMarkdown.default, ~children) => { + let title = "API" + let version = "next" + + children + } +} diff --git a/src/ApiDocs.resi b/src/ApiDocs.resi new file mode 100644 index 000000000..ec86a2eab --- /dev/null +++ b/src/ApiDocs.resi @@ -0,0 +1,13 @@ +type params +type props + +let default: props => React.element + +let getStaticProps: Next.GetStaticProps.t + +let getStaticPaths: Next.GetStaticPaths.t + +module Overview: { + @react.component + let make: (~components: MarkdownComponents.t=?, ~children: React.element) => React.element +} diff --git a/src/bindings/Node.res b/src/bindings/Node.res index d31a1a530..fba76cc1a 100644 --- a/src/bindings/Node.res +++ b/src/bindings/Node.res @@ -1,5 +1,6 @@ module Path = { @module("path") external join2: (string, string) => string = "join" + @module("path") @variadic external join: array => string = "join" @module("path") external basename: string => string = "basename" @module("path") external resolve: (string, string) => string = "resolve" @module("path") external extname: string => string = "extname" @@ -8,9 +9,22 @@ module Path = { module Process = { @scope("process") external cwd: unit => string = "cwd" @scope("process") external env: Js.Dict.t = "env" + @scope("process") @val external argv: array = "argv" } module Fs = { @module("fs") external readFileSync: string => string = "readFileSync" @module("fs") external readdirSync: string => array = "readdirSync" + @module("fs") external writeFileSync: (string, string) => unit = "writeFileSync" +} + +module Buffer = { + type t + @send external toString: t => string = "toString" +} + +module ChildProcess = { + type t + @module("child_process") + external execSync: string => Buffer.t = "execSync" } diff --git a/src/bindings/ReactMarkdown.res b/src/bindings/ReactMarkdown.res new file mode 100644 index 000000000..dec6564f8 --- /dev/null +++ b/src/bindings/ReactMarkdown.res @@ -0,0 +1,6 @@ +@module("react-markdown") @react.component +external make: ( + ~children: string, + ~components: MarkdownComponents.t=?, + ~rehypePlugins: array=?, +) => React.element = "default" diff --git a/src/common/App.res b/src/common/App.res index 4f23c8073..89d4d16af 100644 --- a/src/common/App.res +++ b/src/common/App.res @@ -49,7 +49,6 @@ let make = (props: props): React.element => { let content = React.createElement(component, pageProps) let url = router.route->Url.parse - switch url { // landing page | {base: [], pagepath: []} => content @@ -61,13 +60,8 @@ let make = (props: props): React.element => { switch version { | Latest => switch (Belt.Array.length(pagepath), Belt.Array.get(pagepath, 1)) { - | (1, _) => content - | (2, Some("js")) => content - | (2, Some("belt")) => content - | (_, Some("js")) => content - | (_, Some("belt")) => content - | (_, Some("dom")) => content - | _ => React.null + | (1, _) => content + | _ => content } | Version("v8.0.0") => switch (Belt.Array.length(pagepath), Belt.Array.get(pagepath, 1)) { diff --git a/src/components/CodeExample.res b/src/components/CodeExample.res index 5afda49f0..498372e1c 100644 --- a/src/components/CodeExample.res +++ b/src/components/CodeExample.res @@ -140,7 +140,7 @@ let make = (~highlightedLines=[], ~code: string, ~showLabel=true, ~lang="text") //normal code-text without tabs className="relative w-full flex-col rounded-none xs:rounded border-t border-b xs:border border-gray-20 bg-gray-10 py-2 text-gray-80"> label -
    children
    +
    children
    }