@fgv/ts-utils 5.0.1 → 5.0.2-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.
@@ -106,14 +106,7 @@ export const number = new BaseConverter((from) => {
106
106
  }
107
107
  return succeed(from);
108
108
  });
109
- /**
110
- * A {@link Converter | Converter} which converts `unknown` to `boolean`.
111
- * @remarks
112
- * Boolean values or the case-insensitive strings `'true'` and `'false'` succeed.
113
- * Anything else fails.
114
- * @public
115
- */
116
- export const boolean = new BaseConverter((from) => {
109
+ const booleanConverter = new BaseConverter((from) => {
117
110
  if (typeof from === 'boolean') {
118
111
  return succeed(from);
119
112
  }
@@ -127,6 +120,14 @@ export const boolean = new BaseConverter((from) => {
127
120
  }
128
121
  return fail(`Not a boolean: ${JSON.stringify(from)}`);
129
122
  });
123
+ /**
124
+ * A {@link Converter | Converter} which converts `unknown` to `boolean`.
125
+ * @remarks
126
+ * Boolean values or the case-insensitive strings `'true'` and `'false'` succeed.
127
+ * Anything else fails.
128
+ * @public
129
+ */
130
+ export const boolean = booleanConverter;
130
131
  /**
131
132
  * A {@link Converter | Converter} which converts an optional `string` value. Values of type
132
133
  * `string` are returned. Anything else returns {@link Success | Success} with value `undefined`.
@@ -207,7 +208,7 @@ export const optionalNumber = number.optional();
207
208
  * with value `undefined`.
208
209
  * @public
209
210
  */
210
- export const optionalBoolean = boolean.optional();
211
+ export const optionalBoolean = booleanConverter.optional();
211
212
  /**
212
213
  * A helper function to create a {@link Converter | Converter} for polymorphic values.
213
214
  * Returns a converter which invokes the wrapped converters in sequence, returning the
@@ -1060,7 +1060,7 @@ declare class Collectible<TKEY extends string = string, TINDEX extends number =
1060
1060
  * failure details in addition to the error message.
1061
1061
  * @public
1062
1062
  */
1063
- export declare class DetailedFailure<T, TD> extends Failure<T> {
1063
+ export declare class DetailedFailure<out T, out TD> extends Failure<T> {
1064
1064
  /**
1065
1065
  * @internal
1066
1066
  */
@@ -1154,7 +1154,7 @@ declare class Collectible<TKEY extends string = string, TINDEX extends number =
1154
1154
  * details in addition to the error message.
1155
1155
  * @public
1156
1156
  */
1157
- export declare class DetailedSuccess<T, TD> extends Success<T> {
1157
+ export declare class DetailedSuccess<out T, out TD> extends Success<T> {
1158
1158
  /**
1159
1159
  * @internal
1160
1160
  */
@@ -1323,7 +1323,7 @@ declare class Collectible<TKEY extends string = string, TINDEX extends number =
1323
1323
  * Reports a failed {@link IResult | result} from some operation, with an error message.
1324
1324
  * @public
1325
1325
  */
1326
- export declare class Failure<T> implements IResult<T> {
1326
+ export declare class Failure<out T> implements IResult<T> {
1327
1327
  /**
1328
1328
  * {@inheritdoc IResult.success}
1329
1329
  */
@@ -4161,7 +4161,7 @@ declare class Collectible<TKEY extends string = string, TINDEX extends number =
4161
4161
  * corresponding value.
4162
4162
  * @public
4163
4163
  */
4164
- export declare class Success<T> implements IResult<T> {
4164
+ export declare class Success<out T> implements IResult<T> {
4165
4165
  /**
4166
4166
  * {@inheritdoc IResult.success}
4167
4167
  */
@@ -298,7 +298,7 @@ export interface IResult<T> {
298
298
  * corresponding value.
299
299
  * @public
300
300
  */
301
- export declare class Success<T> implements IResult<T> {
301
+ export declare class Success<out T> implements IResult<T> {
302
302
  /**
303
303
  * {@inheritdoc IResult.success}
304
304
  */
@@ -394,7 +394,7 @@ export declare class Success<T> implements IResult<T> {
394
394
  * Reports a failed {@link IResult | result} from some operation, with an error message.
395
395
  * @public
396
396
  */
397
- export declare class Failure<T> implements IResult<T> {
397
+ export declare class Failure<out T> implements IResult<T> {
398
398
  /**
399
399
  * {@inheritdoc IResult.success}
400
400
  */
@@ -551,7 +551,7 @@ export type DetailedFailureContinuation<T, TD> = (message: string, detail?: TD)
551
551
  * details in addition to the error message.
552
552
  * @public
553
553
  */
554
- export declare class DetailedSuccess<T, TD> extends Success<T> {
554
+ export declare class DetailedSuccess<out T, out TD> extends Success<T> {
555
555
  /**
556
556
  * @internal
557
557
  */
@@ -619,7 +619,7 @@ export declare class DetailedSuccess<T, TD> extends Success<T> {
619
619
  * failure details in addition to the error message.
620
620
  * @public
621
621
  */
622
- export declare class DetailedFailure<T, TD> extends Failure<T> {
622
+ export declare class DetailedFailure<out T, out TD> extends Failure<T> {
623
623
  /**
624
624
  * @internal
625
625
  */
@@ -130,14 +130,7 @@ exports.number = new baseConverter_1.BaseConverter((from) => {
130
130
  }
131
131
  return (0, base_1.succeed)(from);
132
132
  });
133
- /**
134
- * A {@link Converter | Converter} which converts `unknown` to `boolean`.
135
- * @remarks
136
- * Boolean values or the case-insensitive strings `'true'` and `'false'` succeed.
137
- * Anything else fails.
138
- * @public
139
- */
140
- exports.boolean = new baseConverter_1.BaseConverter((from) => {
133
+ const booleanConverter = new baseConverter_1.BaseConverter((from) => {
141
134
  if (typeof from === 'boolean') {
142
135
  return (0, base_1.succeed)(from);
143
136
  }
@@ -151,6 +144,14 @@ exports.boolean = new baseConverter_1.BaseConverter((from) => {
151
144
  }
152
145
  return (0, base_1.fail)(`Not a boolean: ${JSON.stringify(from)}`);
153
146
  });
147
+ /**
148
+ * A {@link Converter | Converter} which converts `unknown` to `boolean`.
149
+ * @remarks
150
+ * Boolean values or the case-insensitive strings `'true'` and `'false'` succeed.
151
+ * Anything else fails.
152
+ * @public
153
+ */
154
+ exports.boolean = booleanConverter;
154
155
  /**
155
156
  * A {@link Converter | Converter} which converts an optional `string` value. Values of type
156
157
  * `string` are returned. Anything else returns {@link Success | Success} with value `undefined`.
@@ -231,7 +232,7 @@ exports.optionalNumber = exports.number.optional();
231
232
  * with value `undefined`.
232
233
  * @public
233
234
  */
234
- exports.optionalBoolean = exports.boolean.optional();
235
+ exports.optionalBoolean = booleanConverter.optional();
235
236
  /**
236
237
  * A helper function to create a {@link Converter | Converter} for polymorphic values.
237
238
  * Returns a converter which invokes the wrapped converters in sequence, returning the
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fgv/ts-utils",
3
- "version": "5.0.1",
3
+ "version": "5.0.2-0",
4
4
  "description": "Assorted Typescript Utilities",
5
5
  "main": "lib/index.js",
6
6
  "module": "dist/index.js",
@@ -55,6 +55,10 @@
55
55
  "eslint-plugin-tsdoc": "~0.4.0",
56
56
  "@fgv/heft-dual-rig": "0.1.0"
57
57
  },
58
+ "repository": {
59
+ "type": "git",
60
+ "url": "https://github.com/ErikFortune/fgv.git"
61
+ },
58
62
  "scripts": {
59
63
  "build": "heft build --clean",
60
64
  "clean": "heft clean",