@oscarpalmer/atoms 0.209.0 → 0.211.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -53,7 +53,7 @@ export type ArrayValueSorter<Item> = {
53
53
  /**
54
54
  * Value to sort by
55
55
  */
56
- value: (item: Item) => unknown;
56
+ value(item: Item): unknown;
57
57
  };
58
58
  /**
59
59
  * Comparator to use when comparing items and values
@@ -187,16 +187,16 @@ export type Color = {
187
187
  unsubscribe(): void;
188
188
  };
189
189
  export type ColorChanges = {
190
- "*": (value: Color) => void;
191
- alpha: (value: number) => void;
192
- hex: (value: string) => void;
193
- hexa: (value: string) => void;
194
- hsl: (value: HSLColor) => void;
195
- hsla: (value: HSLAColor) => void;
196
- hwb: (value: HWBColor) => void;
197
- hwba: (value: HWBAColor) => void;
198
- rgb: (value: RGBColor) => void;
199
- rgba: (value: RGBAColor) => void;
190
+ "*"(value: Color): void;
191
+ alpha(value: number): void;
192
+ hex(value: string): void;
193
+ hexa(value: string): void;
194
+ hsl(value: HSLColor): void;
195
+ hsla(value: HSLAColor): void;
196
+ hwb(value: HWBColor): void;
197
+ hwba(value: HWBAColor): void;
198
+ rgb(value: RGBColor): void;
199
+ rgba(value: RGBAColor): void;
200
200
  };
201
201
  export type ColorDefaults = {
202
202
  alpha: Alpha;
package/dist/index.d.mts CHANGED
@@ -90,7 +90,7 @@ export type OnceAsync<Callback extends GenericAsyncCallback> = {
90
90
  * @param parameters Callback parameters
91
91
  * @returns Call result
92
92
  */
93
- run: (...parameters: Parameters<Callback>) => ReturnType<Callback>;
93
+ run(...parameters: Parameters<Callback>): ReturnType<Callback>;
94
94
  } & OnceProperties;
95
95
  /**
96
96
  * A callback function that can only be called once, returning the same value on subsequent calls
@@ -102,7 +102,7 @@ export type Once<Callback extends GenericCallback> = {
102
102
  * @param parameters Callback parameters
103
103
  * @returns Call result
104
104
  */
105
- run: (...parameters: Parameters<Callback>) => ReturnType<Callback>;
105
+ run(...parameters: Parameters<Callback>): ReturnType<Callback>;
106
106
  } & OnceProperties;
107
107
  type OnceProperties = {
108
108
  /**
@@ -116,7 +116,7 @@ type OnceProperties = {
116
116
  /**
117
117
  * Clear the callback's cached value
118
118
  */
119
- clear: () => void;
119
+ clear(): void;
120
120
  };
121
121
  /**
122
122
  * A generic object
@@ -2615,7 +2615,7 @@ export type ArrayValueSorter<Item> = {
2615
2615
  /**
2616
2616
  * Value to sort by
2617
2617
  */
2618
- value: (item: Item) => unknown;
2618
+ value(item: Item): unknown;
2619
2619
  };
2620
2620
  /**
2621
2621
  * Comparator to use when comparing items and values
@@ -3711,14 +3711,14 @@ export type ResultMatch<Value, Returned, E = Error> = {
3711
3711
  * @param original Original error, if available
3712
3712
  * @returns Value to return
3713
3713
  */
3714
- error: (error: E, original?: Error) => Returned;
3714
+ error(error: E, original?: Error): Returned;
3715
3715
  /**
3716
3716
  * Callback for ok result
3717
3717
  *
3718
3718
  * @param value Ok value
3719
3719
  * @returns Value to return
3720
3720
  */
3721
- ok: (value: Value) => Returned;
3721
+ ok(value: Value): Returned;
3722
3722
  };
3723
3723
  /**
3724
3724
  * Unwrap a result value
@@ -4257,9 +4257,9 @@ type BaseHandler = {
4257
4257
  handlers: WeakMap<WeakKey, string | GenericCallback>;
4258
4258
  options: BaseHandlerOptions;
4259
4259
  owner: GenericCallback;
4260
- deregister: (constructor: Constructor) => void;
4261
- get: (first: unknown, second: unknown) => string | GenericCallback | undefined;
4262
- register: (constructor: Constructor, handler?: string | GenericCallback) => void;
4260
+ deregister(constructor: Constructor): void;
4261
+ get(first: unknown, second: unknown): string | GenericCallback | undefined;
4262
+ register(constructor: Constructor, handler?: string | GenericCallback): void;
4263
4263
  };
4264
4264
  type BaseHandlerOptions = {
4265
4265
  callback: GenericCallback;
@@ -4591,67 +4591,157 @@ export declare function setValue<Data extends PlainObject>(data: Data, path: str
4591
4591
  /**
4592
4592
  * An asynchronous plan of execution that can yield intermediate results and eventually return a result
4593
4593
  */
4594
- type AsyncPlan<Value, Error = unknown> = {
4594
+ type AsyncPlan<Yielded, Returned, Parameters extends unknown[]> = {
4595
4595
  /**
4596
4596
  * Get the asynchronous generator for the plan
4597
4597
  *
4598
4598
  * @returns Asynchronous generator
4599
4599
  */
4600
- [Symbol.asyncIterator]: () => AsyncGenerator<unknown, Value, unknown>;
4600
+ [Symbol.asyncIterator]: () => AsyncGenerator<Yielded, Returned, unknown>;
4601
+ /**
4602
+ * Attempt to run the plan to completion
4603
+ *
4604
+ * _Returns a promised {@link Result} instead of a raw value or throwing an error_
4605
+ *
4606
+ * @returns Promised result
4607
+ */
4608
+ attempt(...parameters: Parameters): Promise<Result<PlanResult<Returned>, PlanError<Yielded, Returned>>>;
4601
4609
  /**
4602
4610
  * Run the plan to completion
4603
4611
  *
4612
+ * @throws {PlanError<Yielded, Returned>}
4604
4613
  * @returns Result
4605
4614
  */
4606
- run: () => Promise<Result<Value, Error>>;
4615
+ run(...parameters: Parameters): Promise<PlanResult<Returned>>;
4607
4616
  };
4608
4617
  /**
4609
4618
  * A plan of execution that can yield intermediate results and eventually return a result
4610
4619
  */
4611
- type Plan<Value, Error = unknown> = {
4620
+ type Plan<Yielded, Returned, Parameters extends unknown[]> = {
4612
4621
  /**
4613
4622
  * Get the generator for the plan
4614
4623
  *
4615
4624
  * @returns Generator
4616
4625
  */
4617
- [Symbol.iterator]: () => Generator<unknown, Value, unknown>;
4626
+ [Symbol.iterator]: () => Generator<Yielded, Returned, unknown>;
4627
+ /**
4628
+ * Attempt to run the plan to completion
4629
+ *
4630
+ * _Returns a {@link Result} instead of a raw value or throwing an error_
4631
+ *
4632
+ * @returns Result
4633
+ */
4634
+ attempt(...parameters: Parameters): Result<PlanResult<Returned>, PlanError<Yielded, Returned>>;
4618
4635
  /**
4619
4636
  * Run the plan to completion
4620
4637
  *
4638
+ * @throws {PlanError<Yielded, Returned>}
4621
4639
  * @returns Result
4622
4640
  */
4623
- run: () => Result<Value, Error>;
4641
+ run(...parameters: Parameters): PlanResult<Returned>;
4624
4642
  };
4643
+ type PlanErrorValues<Original> = Original extends Error ? Original : Original extends Err<infer Error> ? Error : Original extends Result<infer _, infer Error> ? Error : never;
4644
+ type PlanError<Yielded, Returned> = PlanErrorValues<Yielded> | PlanErrorValues<Returned> | Error;
4645
+ type PlanResult<Returned> = Returned extends Error ? never : Returned extends Err<infer _> ? never : Returned extends Ok<infer Value> ? Value : Returned extends Result<infer Value, infer _> ? Value : Returned;
4625
4646
  //#endregion
4626
- //#region src/plan/index.d.ts
4647
+ //#region src/plan/result.d.ts
4627
4648
  /**
4628
- * Create a plan for an asynchronous generator function
4649
+ * Attempt to run the generator to completion
4629
4650
  *
4630
- * @param generator Generator to plan for
4631
- * @returns Generator plan
4651
+ * _Returns a promised {@link Result} instead of a raw value or throwing an error_
4652
+ *
4653
+ * @returns Promised result
4654
+ */
4655
+ export declare function asyncAttemptRun<Yielded, Returned, Parameters extends unknown[]>(generator: (...parameters: Parameters) => AsyncGenerator<Yielded, Returned, unknown>, ...parameters: Parameters): Promise<Result<PlanResult<Returned>, PlanError<Yielded, Returned>>>;
4656
+ /**
4657
+ * Attempt to run the plan to completion
4658
+ *
4659
+ * _Returns a promised {@link Result} instead of a raw value or throwing an error_
4660
+ *
4661
+ * @returns Promised result
4662
+ */
4663
+ export declare function asyncAttemptRun<Yielded, Returned, Parameters extends unknown[]>(plan: AsyncPlan<Yielded, Returned, Parameters>, ...parameters: Parameters): Promise<Result<PlanResult<Returned>, PlanError<Yielded, Returned>>>;
4664
+ /**
4665
+ * Attempt to run the generator to completion
4666
+ *
4667
+ * _Returns a {@link Result} instead of a raw value or throwing an error_
4668
+ *
4669
+ * @returns Result
4670
+ */
4671
+ export declare function attemptRun<Yielded, Returned>(generator: () => Generator<Yielded, Returned, unknown>, ...parameters: Parameters<typeof generator>): Result<PlanResult<Returned>, PlanError<Yielded, Returned>>;
4672
+ /**
4673
+ * Attempt to run the plan to completion
4674
+ *
4675
+ * _Returns a {@link Result} instead of a raw value or throwing an error_
4676
+ *
4677
+ * @returns Result
4632
4678
  */
4633
- export declare function asyncPlan<Value = unknown, Error = unknown>(generator: () => AsyncGenerator<unknown, Value, unknown>): AsyncPlan<Value, Error>;
4679
+ export declare function attemptRun<Yielded, Returned, Parameters extends unknown[]>(plan: Plan<Yielded, Returned, Parameters>, ...parameters: Parameters): Result<PlanResult<Returned>, PlanError<Yielded, Returned>>;
4680
+ export declare namespace attemptRun {
4681
+ export var async: typeof asyncAttemptRun;
4682
+ }
4683
+ //#endregion
4684
+ //#region src/plan/run.d.ts
4634
4685
  /**
4635
4686
  * Run an asynchronous generator to completion
4636
4687
  *
4637
4688
  * @param generator Generator to run
4638
4689
  * @returns Result
4639
4690
  */
4640
- export declare function asyncRun<Value = unknown, Error = unknown>(generator: () => AsyncGenerator<unknown, Value, unknown>): Promise<Result<Value, Error>>;
4691
+ export declare function asyncRun<Yielded, Returned, Parameters extends unknown[]>(generator: (...parameters: Parameters) => AsyncGenerator<Yielded, Returned, unknown>, ...parameters: Parameters): Promise<PlanResult<Returned>>;
4641
4692
  /**
4642
4693
  * Run an asynchronous plan to completion
4643
4694
  *
4644
4695
  * @param plan Plan to run
4645
4696
  * @returns Result
4646
4697
  */
4647
- export declare function asyncRun<Value = unknown, Error = unknown>(plan: AsyncPlan<Value, Error>): Promise<Result<Value, Error>>;
4698
+ export declare function asyncRun<Yielded, Returned, Parameters extends unknown[]>(plan: AsyncPlan<Yielded, Returned, Parameters>, ...parameters: Parameters): Promise<PlanResult<Returned>>;
4648
4699
  /**
4649
- * Is the value an asynchronous plan?
4700
+ * Run a generator to completion
4650
4701
  *
4651
- * @param value Value to check
4652
- * @returns `true` if the value is an asynchronous plan, otherwise `false`
4702
+ * @param generator Generator to run
4703
+ * @returns Result
4704
+ */
4705
+ export declare function run<Yielded, Returned, Parameters extends unknown[]>(generator: (...parameters: Parameters) => Generator<Yielded, Returned, unknown>, ...parameters: Parameters): PlanResult<Returned> | PlanError<Yielded, Returned>;
4706
+ /**
4707
+ * Run a plan to completion
4708
+ *
4709
+ * @param plan Plan to run
4710
+ * @returns Result
4711
+ */
4712
+ export declare function run<Yielded, Returned, Parameters extends unknown[]>(plan: Plan<Yielded, Returned, Parameters>, ...parameters: Parameters): PlanResult<Returned> | PlanError<Yielded, Returned>;
4713
+ export declare namespace asyncRun {
4714
+ export var attempt: typeof asyncAttemptRun;
4715
+ }
4716
+ export declare namespace run {
4717
+ export var async: typeof asyncRun;
4718
+ export var attempt: typeof attemptRun;
4719
+ }
4720
+ //#endregion
4721
+ //#region src/plan/index.d.ts
4722
+ /**
4723
+ * Create a plan for an asynchronous generator function
4724
+ *
4725
+ * @param generator Generator to plan for
4726
+ * @returns Generator plan
4727
+ */
4728
+ export declare function plan<Yielded, Returned, Parameters extends unknown[]>(generator: (...parameters: Parameters) => AsyncGenerator<Yielded, Returned>): AsyncPlan<Yielded, Returned, Parameters>;
4729
+ /**
4730
+ * Create a plan for a generator function
4731
+ *
4732
+ * @param generator Generator to plan for
4733
+ * @returns Generator plan
4734
+ */
4735
+ export declare function plan<Yielded, Returned, Parameters extends unknown[]>(generator: (...parameters: Parameters) => Generator<Yielded, Returned>): Plan<Yielded, Returned, Parameters>;
4736
+ //#endregion
4737
+ //#region src/internal/plan.d.ts
4738
+ /**
4739
+ * Create an immediately failing generator
4740
+ *
4741
+ * @param reason Failure reason
4742
+ * @returns Failing generator
4653
4743
  */
4654
- export declare function isAsyncPlan<Value = unknown, Error = unknown>(value: unknown): value is AsyncPlan<Value, Error>;
4744
+ export declare function fail<Reason>(reason: Reason): Generator<unknown, never>;
4655
4745
  /**
4656
4746
  * Is the value an asynchronous generator function?
4657
4747
  *
@@ -4659,6 +4749,13 @@ export declare function isAsyncPlan<Value = unknown, Error = unknown>(value: unk
4659
4749
  * @returns `true` if the value is an asynchronous generator function, otherwise `false`
4660
4750
  */
4661
4751
  export declare function isAsyncGenerator(value: unknown): value is () => AsyncGenerator;
4752
+ /**
4753
+ * Is the value an asynchronous plan?
4754
+ *
4755
+ * @param value Value to check
4756
+ * @returns `true` if the value is an asynchronous plan, otherwise `false`
4757
+ */
4758
+ export declare function isAsyncPlan<Yielded = unknown, Returned = unknown, Parameters extends unknown[] = unknown[]>(value: unknown): value is AsyncPlan<Yielded, Returned, Parameters>;
4662
4759
  /**
4663
4760
  * Is the value a generator function?
4664
4761
  *
@@ -4672,40 +4769,20 @@ export declare function isGenerator(value: unknown): value is () => Generator;
4672
4769
  * @param value Value to check
4673
4770
  * @returns `true` if the value is a plan, otherwise `false`
4674
4771
  */
4675
- export declare function isPlan<Value = unknown, Error = unknown>(value: unknown): value is Plan<Value, Error>;
4676
- /**
4677
- * Create a plan for a generator function
4678
- *
4679
- * @param generator Generator to plan for
4680
- * @returns Generator plan
4681
- */
4682
- export declare function plan<Value = unknown, Error = unknown>(generator: () => Generator<unknown, Value, Error>): Plan<Value, Error>;
4683
- /**
4684
- * Run a generator to completion
4685
- *
4686
- * @param generator Generator to run
4687
- * @returns Result
4688
- */
4689
- export declare function run<Value = unknown, Error = unknown>(generator: () => Generator<unknown, Value, unknown>): Result<Value, Error>;
4772
+ export declare function isPlan<Yielded = unknown, Returned = unknown, Parameters extends unknown[] = unknown[]>(value: unknown): value is Plan<Yielded, Returned, Parameters>;
4690
4773
  /**
4691
- * Run a plan to completion
4774
+ * Create an immediately succeeding generator
4692
4775
  *
4693
- * @param plan Plan to run
4694
- * @returns Result
4776
+ * @param value Success value
4777
+ * @returns Succeeding generator
4695
4778
  */
4696
- export declare function run<Value = unknown, Error = unknown>(plan: Plan<Value, Error>): Result<Value, Error>;
4697
- export declare namespace plan {
4698
- export var async: typeof asyncPlan;
4699
- }
4700
- export declare namespace run {
4701
- export var async: typeof asyncRun;
4702
- }
4779
+ export declare function succeed<Value>(value: Value): Generator<unknown, Value>;
4703
4780
  //#endregion
4704
4781
  //#region src/internal/aborter.d.ts
4705
4782
  type Aborter = {
4706
4783
  callback: GenericCallback;
4784
+ cancel(): void;
4707
4785
  signal: AbortSignal;
4708
- cancel: () => void;
4709
4786
  };
4710
4787
  //#endregion
4711
4788
  //#region src/promise/constants.d.ts
@@ -4744,8 +4821,8 @@ export type PromiseData = {
4744
4821
  result: ArrayOrPlainObject;
4745
4822
  };
4746
4823
  export type PromiseHandlers = {
4747
- resolve: (value: unknown[]) => void;
4748
- reject: (reason: unknown) => void;
4824
+ resolve(value: unknown[]): void;
4825
+ reject(reason: unknown): void;
4749
4826
  };
4750
4827
  /**
4751
4828
  * Options for a _Promise_-handling function
@@ -6541,14 +6618,14 @@ type Subscriptions<Value = unknown> = {
6541
6618
  /**
6542
6619
  * Clear all subscriptions
6543
6620
  */
6544
- clear: () => void;
6621
+ clear(): void;
6545
6622
  /**
6546
6623
  * Create _(or retrieve)_ a subscription
6547
6624
  *
6548
6625
  * @param parameters Subscription parameters
6549
6626
  * @returns Tuple holding subsccription and existing boolean
6550
6627
  */
6551
- create: (parameters: SubscriptionParameters) => [Subscription, boolean];
6628
+ create(parameters: SubscriptionParameters): [Subscription, boolean];
6552
6629
  };
6553
6630
  /**
6554
6631
  * Parameters for creating a subscription store
@@ -6968,16 +7045,16 @@ type Color = {
6968
7045
  unsubscribe(): void;
6969
7046
  };
6970
7047
  type ColorChanges = {
6971
- "*": (value: Color) => void;
6972
- alpha: (value: number) => void;
6973
- hex: (value: string) => void;
6974
- hexa: (value: string) => void;
6975
- hsl: (value: HSLColor) => void;
6976
- hsla: (value: HSLAColor) => void;
6977
- hwb: (value: HWBColor) => void;
6978
- hwba: (value: HWBAColor) => void;
6979
- rgb: (value: RGBColor) => void;
6980
- rgba: (value: RGBAColor) => void;
7048
+ "*"(value: Color): void;
7049
+ alpha(value: number): void;
7050
+ hex(value: string): void;
7051
+ hexa(value: string): void;
7052
+ hsl(value: HSLColor): void;
7053
+ hsla(value: HSLAColor): void;
7054
+ hwb(value: HWBColor): void;
7055
+ hwba(value: HWBAColor): void;
7056
+ rgb(value: RGBColor): void;
7057
+ rgba(value: RGBAColor): void;
6981
7058
  };
6982
7059
  type ColorWithAlpha = {
6983
7060
  /**
@@ -8431,4 +8508,4 @@ export declare class SizedSet<Value = unknown> extends Set<Value> {
8431
8508
  get(value: Value, update?: boolean): Value | undefined;
8432
8509
  }
8433
8510
  //#endregion
8434
- export { type AsyncLimiter, type Color, type ColorType, type ColorTypeExtended, type ColorValue, type ColorValueExtended, type HSLAColor, type HSLColor, type HWBAColor, type HWBColor, Key$1 as Key, type Limiter, Logger, type Plan, type RGBAColor, type RGBColor, type Shaken, type Smushed, type Subscription, type SubscriptionParameters, type SubscriptionProperty, type Subscriptions, type SubscriptionsParameters, type TimeLogger, type Unsmushed, push as append, filterAndMap as select, toPromise as fromResult, getRandomFloatingNumber as getRandomFloat, isLogger, isTimeLogger, mapAndFilter as reverseSelect };
8511
+ export { type AsyncLimiter, type AsyncPlan, type Color, type ColorType, type ColorTypeExtended, type ColorValue, type ColorValueExtended, type HSLAColor, type HSLColor, type HWBAColor, type HWBColor, Key$1 as Key, type Limiter, Logger, type Plan, type RGBAColor, type RGBColor, type Shaken, type Smushed, type Subscription, type SubscriptionParameters, type SubscriptionProperty, type Subscriptions, type SubscriptionsParameters, type TimeLogger, type Unsmushed, push as append, filterAndMap as select, toPromise as fromResult, getRandomFloatingNumber as getRandomFloat, isLogger, isTimeLogger, mapAndFilter as reverseSelect };