diff --git a/Content/minimal/.gitignore b/Content/minimal/.gitignore
index bcc62c93..7902b816 100644
--- a/Content/minimal/.gitignore
+++ b/Content/minimal/.gitignore
@@ -1,4 +1,5 @@
.fable/
+fable_modules/
.fake/
.farmer/
.idea/
diff --git a/Content/minimal/src/Client/fable_modules/Fable.Fetch.2.4.0/Fable.Fetch.fableproj b/Content/minimal/src/Client/fable_modules/Fable.Fetch.2.4.0/Fable.Fetch.fableproj
deleted file mode 100644
index 10adcccf..00000000
--- a/Content/minimal/src/Client/fable_modules/Fable.Fetch.2.4.0/Fable.Fetch.fableproj
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
- 2.4.0
- 2.4.0
- netstandard2.0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/Content/minimal/src/Client/fable_modules/Fable.Fetch.2.4.0/Fetch.fs b/Content/minimal/src/Client/fable_modules/Fable.Fetch.2.4.0/Fetch.fs
deleted file mode 100644
index 59709ec2..00000000
--- a/Content/minimal/src/Client/fable_modules/Fable.Fetch.2.4.0/Fetch.fs
+++ /dev/null
@@ -1,390 +0,0 @@
-/// The Fetch API provides a JavaScript interface for accessing and manipulating parts of the HTTP pipeline, such as requests and responses.
-/// It also provides a global fetch() method that provides an easy, logical way to fetch resources asynchronously across the network.
-module Fetch
-
-#nowarn "1182" // Unused values
-
-open System
-open Fable.Core
-open Fable.Core.JsInterop
-open Browser.Types
-
-[]
-module Types =
-
- type Body =
- abstract bodyUsed: bool with get, set
- abstract arrayBuffer: unit -> JS.Promise
- abstract blob: unit -> JS.Promise
- abstract formData: unit -> JS.Promise
- abstract json : unit -> JS.Promise
- abstract json<'T> : unit -> JS.Promise<'T>
- abstract text : unit -> JS.Promise
-
- and Request = //(input: U2, ?init: RequestInit) =
- inherit Body
- abstract ``method`` : string with get
- abstract url: string with get
- abstract headers: Headers with get
- abstract referrer: string with get
- abstract mode: U2 with get
- abstract credentials: U2 with get
- abstract cache: U2 with get
- abstract clone: unit -> unit
-
- and RequestInit =
- abstract ``method``: string option with get, set
- abstract headers: HeaderInit option with get, set
- abstract body: BodyInit option with get, set
- abstract mode: RequestMode option with get, set
- abstract credentials: RequestCredentials option with get, set
- abstract cache: RequestCache option with get, set
-
- and [] RequestContext =
- | Audio | Beacon | Cspreport | Download | Embed | Eventsource | Favicon | Fetch | Font
- | Form | Frame | Hyperlink | Iframe | Image | Imageset | Import | Internal | Location
- | Manifest | Object | Ping | Plugin | Prefetch | Script | Serviceworker | Sharedworker
- | Subresource | Style | Track | Video | Worker | Xmlhttprequest | Xslt
-
- and [] RequestMode =
- | []Sameorigin | []Nocors | Cors
-
- and [] RequestCredentials =
- Omit | []Sameorigin | Include
-
- and [] RequestCache =
- | Default
- | []Nostore
- | Reload
- | []Nocache
- | []Forcecache
- | []Onlyifcached
-
- and [] RedirectMode =
- | Follow | Error | Manual
-
- and [] ReferrerPolicy =
- | []NoReferrer
- | []NoReferrerWhenDowngrade
- | Origin
- | []OriginWhenCrossOrigin
- | []UnsafeUrl
-
- and Headers =
- abstract append : string * string -> unit
- abstract delete : string -> unit
- abstract get : string -> string
- abstract getAll : string -> string[]
- abstract has : string -> bool
- abstract set : string * string -> unit
-
- /// Specifying which web sites can participate in cross-origin resource sharing
- [] abstract AccessControlAllowOrigin: string option
-
- /// Specifies which patch document formats this server supports
- [] abstract AcceptPatch: string option
-
- /// What partial content range types this server supports via byte serving
- [] abstract AcceptRanges: string option
-
- /// The age the object has been in a proxy cache in seconds
- [] abstract Age: string option
-
- /// Valid actions for a specified resource. To be used for a 405 Method not allowed
- [] abstract Allow: string option
-
- /// A server uses "Alt-Svc" header (meaning Alternative Services) to indicate that its resources can also be accessed at a different network location (host or port) or using a different protocol
- [] abstract AltSvc: string option
-
- /// Tells all caching mechanisms from server to client whether they may cache this object. It is measured in seconds
- [] abstract CacheControl: string option
-
- /// Control options for the current connection and list of hop-by-hop response fields
- [] abstract Connection: string option
-
- /// An opportunity to raise a "File Download" dialogue box for a known MIME type with binary format or suggest a filename for dynamic content. Quotes are necessary with special characters.
- [] abstract ContentDisposition: string option
-
- /// The type of encoding used on the data
- [] abstract ContentEncoding: string option
-
- /// The natural language or languages of the intended audience for the enclosed content
- [] abstract ContentLanguage: string option
-
- /// The length of the response body in octets (8-bit bytes)
- [] abstract ContentLength: string option
-
- /// An alternate location for the returned data
- [] abstract ContentLocation: string option
-
- /// A Base64-encoded binary MD5 sum of the content of the response
- [] abstract ContentMD5: string option
-
- /// Where in a full body message this partial message belongs
- [] abstract ContentRange: string option
-
- /// The MIME type of this content
- [] abstract ContentType: string option
-
- /// The date and time that the message was sent (in "HTTP-date" format as defined by RFC 7231)
- [] abstract Date: string option
-
- /// An identifier for a specific version of a resource, often a message digest
- [] abstract ETag: string option
-
- /// Gives the date/time after which the response is considered stale (in "HTTP-date" format as defined by RFC 7231)
- [] abstract Expires: string option
-
- /// The last modified date for the requested object (in "HTTP-date" format as defined by RFC 7231)
- [] abstract LastModified: string option
-
- /// Used to express a typed relationship with another resource, where the relation type is defined by RFC 5988
- [] abstract Link: string option
-
- /// Used in redirection, or when a new resource has been created.
- [] abstract Location: string option
-
- /// This field is supposed to set P3P policy, in the form of P3P:CP="your_compact_policy".
- [] abstract P3P: string option
-
- /// Implementation-specific fields that may have various effects anywhere along the request-response chain.
- [] abstract Pragma: string option
-
- /// Request authentication to access the proxy.
- [] abstract ProxyAuthenticate: string option
-
- /// HTTP Public Key Pinning, announces hash of website's authentic TLS certificate
- [] abstract PublicKeyPins: string option
-
- /// Used in redirection, or when a new resource has been created. This refresh redirects after 5 seconds.
- [] abstract Refresh: string option
-
- /// If an entity is temporarily unavailable, this instructs the client to try again later. Value could be a specified period of time (in seconds) or a HTTP-date.
- [] abstract RetryAfter: string option
-
- /// A name for the server
- [] abstract Server: string option
-
- /// An HTTP cookie
- [] abstract SetCookie: string option
-
- /// CGI header field specifying the status of the HTTP response. Normal HTTP responses use a separate "Status-Line" instead, defined by RFC 7230
- [] abstract Status: string option
-
- /// A HSTS Policy informing the HTTP client how long to cache the HTTPS only policy and whether this applies to subdomains.
- [] abstract StrictTransportSecurity: string option
-
- /// The Trailer general field value indicates that the given set of header fields is present in the trailer of a message encoded with chunked transfer coding.
- [] abstract Trailer: string option
-
- /// The form of encoding used to safely transfer the entity to the user. Currently defined methods are: chunked, compress, deflate, gzip, identity.
- [] abstract TransferEncoding: string option
-
- /// Tracking Status Value, value suggested to be sent in response to a DNT(do-not-track)
- [] abstract TSV: string option
-
- /// Ask the client to upgrade to another protocol.
- [] abstract Upgrade: string option
-
- /// Tells downstream proxies how to match future request headers to decide whether the cached response can be used rather than requesting a fresh one from the origin server.
- [] abstract Vary: string option
-
- /// Informs the client of proxies through which the response was sent.
- [] abstract Via: string option
-
- /// A general warning about possible problems with the entity body.
- [] abstract Warning: string option
-
- /// Indicates the authentication scheme that should be used to access the requested entity.
- [] abstract WWWAuthenticate: string option
-
- /// Clickjacking protection: deny - no rendering within a frame, sameorigin - no rendering if origin mismatch, allow-from - allow from specified location, allowall - non-standard, allow from any location
- [] abstract XFrameOptions: string option
-
- /// Cross-site scripting (XSS) filter
- [] abstract XXSSProtection: string option
-
- /// Content Security Policy definition.
- [] abstract ContentSecurityPolicy: string option
-
- /// The only defined value, "nosniff", prevents Internet Explorer from MIME-sniffing a response away from the declared content-type. This also applies to Google Chrome, when downloading extensions
- [] abstract XContentTypeOptions: string option
-
- /// Specifies the technology (e.g. ASP.NET, PHP, JBoss) supporting the web application (version details are often in X-Runtime, X-Version, or X-AspNet-Version)
- [] abstract XPoweredBy: string option
-
- /// Recommends the preferred rendering engine (often a backward-compatibility mode) to use to display the content. Also used to activate Chrome Frame in Internet Explorer.
- [] abstract XUACompatible: string option
-
- /// Provide the duration of the audio or video in seconds; only supported by Gecko browsers
- [] abstract XContentDuration: string option
-
- /// Tells a server which (presumably in the middle of a HTTP -> HTTPS migration) hosts mixed content that the client would prefer redirection to HTTPS and can handle Content-Security-Policy: upgrade-insecure-requests
- [] abstract UpgradeInsecureRequests: string option
-
- /// Correlates HTTP requests between a client and server.
- [] abstract XRequestID: string option
-
- /// Correlates HTTP requests between a client and server.
- [] abstract XCorrelationID: string option
-
-
- and Response = //(?body: BodyInit, ?init: ResponseInit) =
- inherit Body
-
- /// Verifies that the fetch was successful
- [] abstract Ok: bool
-
- /// Returns the HTTP status code
- [] abstract Status: int
-
- /// Returns the HTTP status message
- [] abstract StatusText: string
-
- /// Returns the response URL
- [] abstract Url: string
-
- /// Returns the headers objct
- [] abstract Headers : Headers
-
- and [] ResponseType =
- | Basic | Cors | Default | Error | Opaque
-
- and ResponseInit =
- abstract status: float with get, set
- abstract statusText: string option with get, set
- abstract headers: HeaderInit option with get, set
-
- and HeaderInit =
- U2
-
- and BodyInit =
- U3
-
- []
- type RequestInfo =
- /// Uses a simple Url as string to create the request info
- | Url of string
- /// Uses a Request object as request info
- | Req of Request
-
- type [] GlobalFetch =
- []static member fetch (req: RequestInfo, ?init: RequestInit) = jsNative :JS.Promise
-
- []
- type HttpMethod =
- | [] CONNECT
- | [] DELETE
- | [] GET
- | [] HEAD
- | [] OPTIONS
- | [] PATCH
- | [] POST
- | [] PUT
- | [] TRACE
-
- type IHttpRequestHeaders =
- interface end
-
- type HttpRequestHeaders =
- | Accept of string
- | [] AcceptCharset of string
- | [] AcceptEncoding of string
- | [] AcceptLanguage of string
- | [] AcceptDatetime of string
- | Authorization of string
- | [] CacheControl of string
- | Connection of string
- | Cookie of string
- | [] ContentLength of string
- | [] ContentMD5 of string
- | [] ContentType of string
- | Date of string
- | Expect of string
- | Forwarded of string
- | From of string
- | Host of string
- | [] IfMatch of string
- | [] IfModifiedSince of string
- | [] IfNoneMatch of string
- | [] IfRange of string
- | [] IfUnmodifiedSince of string
- | [] MaxForwards of int
- | Origin of string
- | Pragma of string
- | [] ProxyAuthorization of string
- | Range of string
- | Referer of string
- | [] SOAPAction of string
- | [] TE of string
- | [] UserAgent of string
- | Upgrade of string
- | Via of string
- | Warning of string
- | [] XRequestedWith of string
- | [] DNT of string
- | [] XForwardedFor of string
- | [] XForwardedHost of string
- | [] XForwardedProto of string
- | [] FrontEndHttps of string
- | [] XHttpMethodOverride of string
- | [] XATTDeviceId of string
- | [] XWapProfile of string
- | [] ProxyConnection of string
- | [] XUIDH of string
- | [] XCsrfToken of string
- | [] Custom of key:string * value:obj
-
- type AbortSignal =
- abstract aborted : bool with get
- abstract onabort : (unit -> unit) with get, set
-
- type AbortController =
- abstract signal : AbortSignal with get
- abstract abort : (unit -> unit) with get
-
- []
- type RequestProperties =
- | Method of HttpMethod
- | Headers of IHttpRequestHeaders
- | Body of BodyInit
- | Mode of RequestMode
- | Credentials of RequestCredentials
- | Cache of RequestCache
- | Redirect of RedirectMode
- | Referrer of string
- | ReferrerPolicy of ReferrerPolicy
- | Integrity of string
- | KeepAlive of bool
- | Signal of AbortSignal
-
-[]
-let newAbortController () : AbortController = jsNative
-
-let inline requestHeaders (headers: HttpRequestHeaders list) =
- RequestProperties.Headers(keyValueList CaseRules.None headers :?> IHttpRequestHeaders)
-
-let inline requestProps (props: RequestProperties list) =
- keyValueList CaseRules.LowerFirst props :?> RequestInit
-
-let private errorString (response: Response) =
- string response.Status + " " + response.StatusText + " for URL " + response.Url
-
-/// Retrieves data from the specified resource. Fails if `response.Ok` evals to false.
-let fetch (url: string) (init: RequestProperties list) : JS.Promise =
- GlobalFetch.fetch(RequestInfo.Url url, requestProps init)
- |> Promise.map (fun response ->
- if response.Ok
- then response
- else errorString response |> failwith)
-
-/// Retrieves data from the specified resource without check for 2xx status.
-let fetchUnsafe (url: string) (init: RequestProperties list) : JS.Promise =
- GlobalFetch.fetch(RequestInfo.Url url, requestProps init)
-
-let tryFetch (url: string) (init: RequestProperties list) : JS.Promise> =
- fetch url init |> Promise.result
-
-/// Sends a HTTP OPTIONS request.
-let tryOptionsRequest (url:string) : JS.Promise> =
- fetch url [RequestProperties.Method HttpMethod.OPTIONS] |> Promise.result
diff --git a/Content/minimal/src/Client/fable_modules/Fable.Promise.2.2.2/Fable.Promise.fableproj b/Content/minimal/src/Client/fable_modules/Fable.Promise.2.2.2/Fable.Promise.fableproj
deleted file mode 100644
index 5e117374..00000000
--- a/Content/minimal/src/Client/fable_modules/Fable.Promise.2.2.2/Fable.Promise.fableproj
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
- 2.2.2
- 2.2.2
- netstandard2.0
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/Content/minimal/src/Client/fable_modules/Fable.Promise.2.2.2/Promise.fs b/Content/minimal/src/Client/fable_modules/Fable.Promise.2.2.2/Promise.fs
deleted file mode 100644
index c20f7680..00000000
--- a/Content/minimal/src/Client/fable_modules/Fable.Promise.2.2.2/Promise.fs
+++ /dev/null
@@ -1,176 +0,0 @@
-
-[]
-module Promise
-
-#nowarn "1182" // Unused values
-
-open System
-open Fable.Core
-open Fable.Core.JsInterop
-
-let inline private (!!) (x:obj): 'T = unbox x
-
-[]
-/// The promise function receives two other function parameters: success and fail
-let create (f: ('T->unit)->(Exception->unit)->unit): JS.Promise<'T> = jsNative
-
-[ setTimeout(resolve, $0))")>]
-let sleep (ms: int): JS.Promise = jsNative
-
-[]
-let lift<'T> (a: 'T): JS.Promise<'T> = jsNative
-
-/// Creates promise (in rejected state) with supplied reason.
-let reject<'T> reason : JS.Promise<'T> = JS.Constructors.Promise.reject<'T> reason
-
-[]
-let bind (a: 'T->JS.Promise<'R>) (pr: JS.Promise<'T>): JS.Promise<'R> = jsNative
-
-[]
-let map (a: 'T->'R) (pr: JS.Promise<'T>): JS.Promise<'R> = jsNative
-
-[]
-let iter (a: 'T->unit) (pr: JS.Promise<'T>): unit = jsNative
-
-[]
-/// This version of `catch` fakes a function returning just 'T, as opposed to `Promise<'T>`. If you need to return `Promise<'T>`, use `catchBind`.
-let catch (fail: Exception->'T) (pr: JS.Promise<'T>): JS.Promise<'T> = jsNative
-
-[]
-/// This is a version of `catch` that fakes a function returning Promise<'T> as opposed to just 'T. If you need to return just 'T, use `catch`.
-let catchBind (fail: Exception->JS.Promise<'T>) (pr: JS.Promise<'T>): JS.Promise<'T> = jsNative
-
-[]
-/// Used to catch errors at the end of a promise chain.
-let catchEnd (fail: Exception->unit) (pr: JS.Promise<'T>): unit = jsNative
-
-[]
-/// A combination of `map/bind` and `catch/catchBind`, this function applies the `success` continuation when the input promise resolves successfully, or `fail` continuation when the input promise fails. Both continuations may return either naked value `'R` or another promise `Promise<'R>`. Use the erased-cast operator `!^` to cast values when returning, for example:
-/// ```
-/// somePromise |> Promise.either (fun x -> !^(string x)) (fun err -> ^!(Promise.lift err.Message))
-/// ```
-let either (success: 'T->U2<'R, JS.Promise<'R>>) (fail: 'E->U2<'R, JS.Promise<'R>>) (pr: JS.Promise<'T>): JS.Promise<'R> = jsNative
-
-[]
-let eitherEnd (success: 'T->unit) (fail: 'E->unit) (pr: JS.Promise<'T>): unit = jsNative
-
-[]
-let start (pr: JS.Promise<'T>): unit = jsNative
-
-[]
-let tryStart (fail: Exception->unit) (pr: JS.Promise<'T>): unit = jsNative
-
-[]
-let Parallel (pr: seq>): JS.Promise<'T[]> = jsNative
-
-[]
-let all (pr: seq>): JS.Promise<'T[]> = jsNative
-
-let result (a: JS.Promise<'A>): JS.Promise> =
- either (U2.Case1 << Ok) (U2.Case1 << Error) a
-
-let mapResult (fn: 'A -> 'B) (a: JS.Promise>): JS.Promise> =
- a |> map (Result.map fn)
-
-let bindResult (fn: 'A -> JS.Promise<'B>) (a: JS.Promise>): JS.Promise> =
- a |> bind (fun a ->
- match a with
- | Ok a ->
- result (fn a)
- | Error e ->
- lift (Error e))
-
-let mapResultError (fn: 'B -> 'C) (a: JS.Promise>): JS.Promise> =
- a |> map (Result.mapError fn)
-
-let tap (fn: 'A -> unit) (a: JS.Promise<'A>): JS.Promise<'A> =
- a |> map (fun x -> fn x; x)
-
-type PromiseBuilder() =
- []
- member x.Bind(p: JS.Promise<'T>, f: 'T->JS.Promise<'R>): JS.Promise<'R> = jsNative
-
- [ $2)")>]
- member x.Combine(p1: JS.Promise, p2: JS.Promise<'T>): JS.Promise<'T> = jsNative
-
- member x.For(seq: seq<'T>, body: 'T->JS.Promise): JS.Promise =
- // (lift (), seq)
- // ||> Seq.fold (fun p a ->
- // bind (fun () -> body a) p)
- let mutable p = lift ()
- for a in seq do
- p <- !!p?``then``(fun () -> body a)
- p
-
- []
- member x.For(p: JS.Promise<'T>, f: 'T->JS.Promise<'R>): JS.Promise<'R> = jsNative
-
- member x.While(guard, p): JS.Promise =
- if guard()
- then bind (fun () -> x.While(guard, p)) p
- else lift()
-
- []
- member x.Return(a: 'T): JS.Promise<'T> = jsNative
-
- []
- member x.ReturnFrom(p: JS.Promise<'T>): JS.Promise<'T> = jsNative
-
- []
- member x.Zero(): JS.Promise = jsNative
-
- member x.TryFinally(p: JS.Promise<'T>, compensation: unit->unit): JS.Promise<'T> =
- either (fun (x: 'T) -> compensation(); U2.Case1 x) (fun er -> compensation(); raise !!er) p
-
- []
- member x.TryWith(p: JS.Promise<'T>, catchHandler: Exception->JS.Promise<'T>): JS.Promise<'T> = jsNative
-
- member x.Delay(generator: unit->JS.Promise<'T>): JS.Promise<'T> =
- !!createObj[
- "then" ==> fun f1 f2 ->
- try generator()?``then``(f1,f2)
- with er ->
- if box f2 = null
- then !!JS.Constructors.Promise.reject(er)
- else
- try !!JS.Constructors.Promise.resolve(f2(er))
- with er -> !!JS.Constructors.Promise.reject(er)
- "catch" ==> fun f ->
- try generator()?catch(f)
- with er ->
- try !!JS.Constructors.Promise.resolve(f(er))
- with er -> !!JS.Constructors.Promise.reject(er)
- ]
-
- member x.Run(p:JS.Promise<'T>): JS.Promise<'T> =
- create (fun success fail ->
- try
- let p : JS.Promise<'T> = !!JS.Constructors.Promise.resolve(p)
- p?``then``(success, fail)
- with
- er -> fail(er)
- )
-
- member x.Using<'T, 'R when 'T :> IDisposable>(resource: 'T, binder: 'T->JS.Promise<'R>): JS.Promise<'R> =
- x.TryFinally(binder(resource), fun () -> resource.Dispose())
-
- []
- member x.MergeSources(a: JS.Promise<'T1>, b: JS.Promise<'T2>): JS.Promise<'T1 * 'T2>= jsNative
-
- []
- member x.MergeSources3(a: JS.Promise<'T1>, b: JS.Promise<'T2>, c: JS.Promise<'T3>): JS.Promise<'T1 * 'T2 * 'T3>= jsNative
-
- []
- member x.MergeSources4(a: JS.Promise<'T1>, b: JS.Promise<'T2>, c: JS.Promise<'T3>, d: JS.Promise<'T4>): JS.Promise<'T1 * 'T2 * 'T3 * 'T4>= jsNative
-
- []
- member x.MergeSources5(a: JS.Promise<'T1>, b: JS.Promise<'T2>, c: JS.Promise<'T3>, d: JS.Promise<'T4>, e: JS.Promise<'T5>): JS.Promise<'T1 * 'T2 * 'T3 * 'T4 * 'T5>= jsNative
-
- []
- member x.MergeSources6(a: JS.Promise<'T1>, b: JS.Promise<'T2>, c: JS.Promise<'T3>, d: JS.Promise<'T4>, e: JS.Promise<'T5>, f: JS.Promise<'T6>): JS.Promise<'T1 * 'T2 * 'T3 * 'T4 * 'T5 * 'T6>= jsNative
-
-// member x.BindReturn(y: JS.Promise<'T1>, f) = map f y
-
- [ $3(a,b))")>]
- []
- member x.Merge(a: JS.Promise<'T1>, b: JS.Promise<'T2>, [] resultSelector : 'T1 -> 'T2 -> 'R): JS.Promise<'R> = jsNative
diff --git a/Content/minimal/src/Client/fable_modules/Fable.Promise.2.2.2/PromiseImpl.fs b/Content/minimal/src/Client/fable_modules/Fable.Promise.2.2.2/PromiseImpl.fs
deleted file mode 100644
index 1844aa70..00000000
--- a/Content/minimal/src/Client/fable_modules/Fable.Promise.2.2.2/PromiseImpl.fs
+++ /dev/null
@@ -1,4 +0,0 @@
-[]
-module PromiseImpl
-
-let promise = Promise.PromiseBuilder()
\ No newline at end of file
diff --git a/Content/minimal/src/Client/fable_modules/fable-library.4.9.0/Array.d.ts b/Content/minimal/src/Client/fable_modules/fable-library.4.9.0/Array.d.ts
deleted file mode 100644
index 91eeb24b..00000000
--- a/Content/minimal/src/Client/fable_modules/fable-library.4.9.0/Array.d.ts
+++ /dev/null
@@ -1,120 +0,0 @@
-import { int32 } from "./Int32.js";
-import { Option } from "./Option.js";
-import { IComparer, IEqualityComparer } from "./Util.js";
-export declare function append(array1: T[], array2: T[], cons?: any): T[];
-export declare function filter(predicate: ((arg0: T) => boolean), array: T[]): T[];
-export declare function fill(target: T[], targetIndex: int32, count: int32, value: T): T[];
-export declare function getSubArray(array: T[], start: int32, count: int32): T[];
-export declare function last(array: T[]): T;
-export declare function tryLast(array: T[]): Option;
-export declare function mapIndexed(f: ((arg0: int32, arg1: T) => U), source: T[], cons?: any): U[];
-export declare function map(f: ((arg0: T) => U), source: T[], cons?: any): U[];
-export declare function mapIndexed2(f: ((arg0: int32, arg1: T1, arg2: T2) => U), source1: T1[], source2: T2[], cons?: any): U[];
-export declare function map2(f: ((arg0: T1, arg1: T2) => U), source1: T1[], source2: T2[], cons?: any): U[];
-export declare function mapIndexed3(f: ((arg0: int32, arg1: T1, arg2: T2, arg3: T3) => U), source1: T1[], source2: T2[], source3: T3[], cons?: any): U[];
-export declare function map3(f: ((arg0: T1, arg1: T2, arg2: T3) => U), source1: T1[], source2: T2[], source3: T3[], cons?: any): U[];
-export declare function mapFold(mapping: ((arg0: State, arg1: T) => [Result, State]), state: State, array: T[], cons?: any): [Result[], State];
-export declare function mapFoldBack(mapping: ((arg0: T, arg1: State) => [Result, State]), array: T[], state: State, cons?: any): [Result[], State];
-export declare function indexed(source: T[]): [int32, T][];
-export declare function truncate(count: int32, array: T[]): T[];
-export declare function concat(arrays: Iterable, cons?: any): T[];
-export declare function collect(mapping: ((arg0: T) => U[]), array: T[], cons?: any): U[];
-export declare function where<$a>(predicate: ((arg0: $a) => boolean), array: $a[]): $a[];
-export declare function indexOf(array: T[], item_1: T, start: Option, count: Option, eq: IEqualityComparer): int32;
-export declare function contains(value: T, array: T[], eq: IEqualityComparer): boolean;
-export declare function empty<$a>(cons: any): $a[];
-export declare function singleton(value: T, cons?: any): T[];
-export declare function initialize(count: int32, initializer: ((arg0: int32) => T), cons?: any): T[];
-export declare function pairwise(array: T[]): [T, T][];
-export declare function replicate(count: int32, initial: T, cons?: any): T[];
-export declare function copy(array: T[]): T[];
-export declare function copyTo(source: T[], sourceIndex: int32, target: T[], targetIndex: int32, count: int32): void;
-export declare function reverse(array: T[]): T[];
-export declare function scan(folder: ((arg0: State, arg1: T) => State), state: State, array: T[], cons?: any): State[];
-export declare function scanBack(folder: ((arg0: T, arg1: State) => State), array: T[], state: State, cons?: any): State[];
-export declare function skip(count: int32, array: T[], cons?: any): T[];
-export declare function skipWhile(predicate: ((arg0: T) => boolean), array: T[], cons?: any): T[];
-export declare function take(count: int32, array: T[], cons?: any): T[];
-export declare function takeWhile(predicate: ((arg0: T) => boolean), array: T[], cons?: any): T[];
-export declare function addInPlace(x: T, array: T[]): void;
-export declare function addRangeInPlace(range: Iterable, array: T[]): void;
-export declare function insertRangeInPlace(index: int32, range: Iterable, array: T[]): void;
-export declare function removeInPlace(item_1: T, array: T[], eq: IEqualityComparer): boolean;
-export declare function removeAllInPlace(predicate: ((arg0: T) => boolean), array: T[]): int32;
-export declare function partition(f: ((arg0: T) => boolean), source: T[], cons?: any): [T[], T[]];
-export declare function find(predicate: ((arg0: T) => boolean), array: T[]): T;
-export declare function tryFind(predicate: ((arg0: T) => boolean), array: T[]): Option;
-export declare function findIndex(predicate: ((arg0: T) => boolean), array: T[]): int32;
-export declare function tryFindIndex(predicate: ((arg0: T) => boolean), array: T[]): Option;
-export declare function pick<$a, $b>(chooser: ((arg0: $a) => Option<$b>), array: $a[]): $b;
-export declare function tryPick<$a, $b>(chooser: ((arg0: $a) => Option<$b>), array: $a[]): Option<$b>;
-export declare function findBack<$a>(predicate: ((arg0: $a) => boolean), array: $a[]): $a;
-export declare function tryFindBack<$a>(predicate: ((arg0: $a) => boolean), array: $a[]): Option<$a>;
-export declare function findLastIndex<$a>(predicate: ((arg0: $a) => boolean), array: $a[]): int32;
-export declare function findIndexBack<$a>(predicate: ((arg0: $a) => boolean), array: $a[]): int32;
-export declare function tryFindIndexBack<$a>(predicate: ((arg0: $a) => boolean), array: $a[]): Option;
-export declare function choose(chooser: ((arg0: T) => Option), array: T[], cons?: any): U[];
-export declare function foldIndexed(folder: ((arg0: int32, arg1: State, arg2: T) => State), state: State, array: T[]): State;
-export declare function fold(folder: ((arg0: State, arg1: T) => State), state: State, array: T[]): State;
-export declare function iterate(action: ((arg0: T) => void), array: T[]): void;
-export declare function iterateIndexed(action: ((arg0: int32, arg1: T) => void), array: T[]): void;
-export declare function iterate2(action: ((arg0: T1, arg1: T2) => void), array1: T1[], array2: T2[]): void;
-export declare function iterateIndexed2(action: ((arg0: int32, arg1: T1, arg2: T2) => void), array1: T1[], array2: T2[]): void;
-export declare function isEmpty(array: T[]): boolean;
-export declare function forAll(predicate: ((arg0: T) => boolean), array: T[]): boolean;
-export declare function permute(f: ((arg0: int32) => int32), array: T[]): T[];
-export declare function setSlice(target: T[], lower: Option, upper: Option, source: T[]): void;
-export declare function sortInPlaceBy(projection: ((arg0: a) => b), xs: a[], comparer: IComparer): void;
-export declare function sortInPlace