diff --git a/.tool-versions b/.tool-versions index 834f6cb..8622c01 100644 --- a/.tool-versions +++ b/.tool-versions @@ -1,4 +1,4 @@ -gleam 1.6.1 -erlang 27.0 -nodejs 20.17.0 -deno 2.0.0 +gleam 1.6.2 +erlang 27.1.2 +nodejs 22.11.0 +deno 2.1.1 diff --git a/dist/delay.d.mts b/dist/delay.d.mts index 27dc43a..70b67e7 100644 --- a/dist/delay.d.mts +++ b/dist/delay.d.mts @@ -2,65 +2,65 @@ /** * Type representing a delayed effect to be lazily evaluated */ -export type Delay$ = Continue | Stop +export type Delay$ = Continue | Stop /** * Stores an effect to be run later, short circuiting on errors */ -export function delay_effect(func: () => Result): Delay$ +export function delay_effect(func: () => Result): Delay$ /** * Chains an operation onto an existing delay. The result of the current delay will be lazily passed to `func` * `func` will not be called if the delay has already returned an error */ -export function map(delayed: Delay$, func: (x0: MMR) => Result): Delay$ +export function map(delayed: Delay$, func: (x0: MKP) => Result): Delay$ /** * flatten a nested Delay */ -export function flatten(delayed: Delay$, MNK>): Delay$ +export function flatten(delayed: Delay$, MLI>): Delay$ /** * Map and then flatten `delayed` */ -export function flat_map( - delayed: Delay$, - func: (x0: MNR) => Result, MNS> -): Delay$ +export function flat_map( + delayed: Delay$, + func: (x0: MLP) => Result, MLQ> +): Delay$ /** * Run a delayed effect and get the result * short-circuiting if any in delay in the chain returns an Error */ -export function run(delayed: Delay$): Result +export function run(delayed: Delay$): Result /** * returns a delay, that joins two delays. If `left` fails `right` will not be run, if either fails the result will be an Error */ -export function join( - left: Delay$, - right: Delay$ -): Delay$<[MOC, MOG], [Option$, Option$]> +export function join( + left: Delay$, + right: Delay$ +): Delay$<[MMA, MME], [Option$, Option$]> /** * Returns a new Delay that will be re-attempted `retries` times with `delay` ms in-between * Note: JS uses busy waiting */ -export function retry(delayed: Delay$, retries: number, delay: number): Delay$ +export function retry(delayed: Delay$, retries: number, delay: number): Delay$ /** * Returns a new Delay that will be re-attempted `retries` times with `delay` ms in-between * Note: JS uses busy waiting */ -export function retry_with_backoff(delayed: Delay$, retries: number): Delay$ +export function retry_with_backoff(delayed: Delay$, retries: number): Delay$ /** @@ -73,13 +73,13 @@ export function drain(delayed: Delay$): undefined /** * Run every effect in sequence and get their results */ -export function every(effects: List>): List> +export function every(effects: List>): List> /** * Repeat a Delay and return the results in a list */ -export function repeat(delayed: Delay$, repetition: number): List> +export function repeat(delayed: Delay$, repetition: number): List> /** @@ -100,16 +100,16 @@ export function any(effects: List>): boolean * Attempt multiple Delays until one returns an Ok * unlike `any/1` this will short circuit on the first Ok */ -export function fallthrough(effects: List>): Result +export function fallthrough(effects: List>): Result -export class Continue extends CustomType { +export class Continue extends CustomType { constructor(effect: () => Result) effect(): Result } -export class Stop extends CustomType { - constructor(err: MMK) - err: MMK +export class Stop extends CustomType { + constructor(err: MKI) + err: MKI } export class Result extends CustomType { @@ -117,7 +117,7 @@ export class Result extends CustomType { isOk(): boolean } -export type Option$ = Some | None +export type Option$ = Some | None export class List implements any { head: T @@ -136,9 +136,9 @@ export class CustomType { }): this } -export class Some extends CustomType { - constructor(argument$0: FV) - 0: FV +export class Some extends CustomType { + constructor(argument$0: FQ) + 0: FQ } export class None extends CustomType {} diff --git a/dist/delay.mjs b/dist/delay.mjs index f6686f8..d33d1d5 100644 --- a/dist/delay.mjs +++ b/dist/delay.mjs @@ -76,6 +76,9 @@ var unicode_whitespaces = [ "\u2029" // Paragraph separator ].join("") +var trim_start_regex = new RegExp(`^[${unicode_whitespaces}]*`) +var trim_end_regex = new RegExp(`[${unicode_whitespaces}]*$`) +var trim_regex = new RegExp(`^[${unicode_whitespaces}]*(.*?)[${unicode_whitespaces}]*$`) function length_loop(loop$list, loop$count) { while (true) { diff --git a/manifest.toml b/manifest.toml index 9eaf807..4309eea 100644 --- a/manifest.toml +++ b/manifest.toml @@ -7,12 +7,12 @@ packages = [ { name = "filepath", version = "1.1.0", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "filepath", source = "hex", outer_checksum = "67A6D15FB39EEB69DD31F8C145BB5A421790581BD6AA14B33D64D5A55DBD6587" }, { name = "gleam_hexpm", version = "1.1.0", build_tools = ["gleam"], requirements = ["birl", "gleam_stdlib"], otp_app = "gleam_hexpm", source = "hex", outer_checksum = "D32439FD6AD683FE1094922737904EC2091E2D7B1F236AD23815935694A5221A" }, { name = "gleam_json", version = "2.1.0", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "gleam_json", source = "hex", outer_checksum = "0A57FB5666E695FD2BEE74C0428A98B0FC11A395D2C7B4CDF5E22C5DD32C74C6" }, - { name = "gleam_stdlib", version = "0.43.0", build_tools = ["gleam"], requirements = [], otp_app = "gleam_stdlib", source = "hex", outer_checksum = "69EF22E78FDCA9097CBE7DF91C05B2A8B5436826D9F66680D879182C0860A747" }, + { name = "gleam_stdlib", version = "0.45.0", build_tools = ["gleam"], requirements = [], otp_app = "gleam_stdlib", source = "hex", outer_checksum = "206FCE1A76974AECFC55AEBCD0217D59EDE4E408C016E2CFCCC8FF51278F186E" }, { name = "gleamsver", version = "1.0.1", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "gleamsver", source = "hex", outer_checksum = "EA74FDC66BF15CB2CF4F8FF9B6FA01D511712EE2B1F4BE0371076ED3F685EEAE" }, { name = "gleeunit", version = "1.2.0", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "gleeunit", source = "hex", outer_checksum = "F7A7228925D3EE7D0813C922E062BFD6D7E9310F0BEE585D3A42F3307E3CFD13" }, { name = "gleither", version = "2.1.0", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "gleither", source = "hex", outer_checksum = "86606790899097D8588C0F70C654D9626C634AF14E18F618F4C351FEC6FDA773" }, { name = "go_over", version = "2.2.1", build_tools = ["gleam"], requirements = ["birl", "filepath", "gleam_hexpm", "gleam_json", "gleam_stdlib", "gleamsver", "shellout", "simplifile", "tom", "yamerl"], otp_app = "go_over", source = "hex", outer_checksum = "54912703439B30EF8769EA7B5912B9A1405D5D745EACAA7C06305901C6F43CE8" }, - { name = "ranger", version = "1.2.0", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "ranger", source = "hex", outer_checksum = "1566C272B1D141B3BBA38B25CB761EF56E312E79EC0E2DFD4D3C19FB0CC1F98C" }, + { name = "ranger", version = "1.3.0", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "ranger", source = "hex", outer_checksum = "B8F3AFF23A3A5B5D9526B8D18E7C43A7DFD3902B151B97EC65397FE29192B695" }, { name = "shellout", version = "1.6.0", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "shellout", source = "hex", outer_checksum = "E2FCD18957F0E9F67E1F497FC9FF57393392F8A9BAEAEA4779541DE7A68DD7E0" }, { name = "simplifile", version = "2.2.0", build_tools = ["gleam"], requirements = ["filepath", "gleam_stdlib"], otp_app = "simplifile", source = "hex", outer_checksum = "0DFABEF7DC7A9E2FF4BB27B108034E60C81BEBFCB7AB816B9E7E18ED4503ACD8" }, { name = "tom", version = "1.1.0", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "tom", source = "hex", outer_checksum = "228E667239504B57AD05EC3C332C930391592F6C974D0EFECF32FFD0F3629A27" }, diff --git a/yarn.lock b/yarn.lock index 385c407..16c5e48 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3,9 +3,9 @@ "@cross/test@npm:@jsr/cross__test": - version "0.0.9" - resolved "https://npm.jsr.io/~/11/@jsr/cross__test/0.0.9.tgz#93F4D173201B1BE0B5632FE89545E9E0D7062EE1" - integrity sha512-zwDSXQHw8n6k/gBj1Q67Td34Lb1PfkzLTggXnNZzcRO9SxcdAlzyOKFCF62kTFM7ZjVPqYvqu2gHzMLtj6cayw== + version "0.0.10" + resolved "https://npm.jsr.io/~/11/@jsr/cross__test/0.0.10.tgz#19705E86199028D116259EE7C9C19A5CF822931F" + integrity sha512-FjyJN1OxI6lPZGOYK3/iGuDzljPYUZN2Cm2eHaAHIvGPEYYBYLH4VI5ww0LDjM9GdXymitPh6PLhP8dwbNJGFw== dependencies: "@jsr/cross__runtime" "^1.0.0" @@ -845,9 +845,9 @@ type-fest@^0.20.2: integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== typescript@^5.3.3: - version "5.6.3" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.6.3.tgz#5f3449e31c9d94febb17de03cc081dd56d81db5b" - integrity sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw== + version "5.7.2" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.7.2.tgz#3169cf8c4c8a828cde53ba9ecb3d2b1d5dd67be6" + integrity sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg== uri-js@^4.2.2: version "4.4.1"