catch-match 3.0.1 → 3.0.2

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.
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,440 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import $try from '../main';
11
+ describe('sync version', () => {
12
+ test('should be return result from `finally` branch', () => {
13
+ let matchReferenceError = jest.fn();
14
+ let matchArrayOfErrors = jest.fn();
15
+ let matchOther = jest.fn();
16
+ let matchFinally = jest.fn();
17
+ const result = $try(() => {
18
+ return [1, 2, 3];
19
+ }).catch(ReferenceError, () => {
20
+ matchReferenceError();
21
+ }).catch([TypeError, SyntaxError], (error) => {
22
+ matchArrayOfErrors(error);
23
+ }).other((error) => {
24
+ matchOther(error);
25
+ }).finally(({ value, error }) => {
26
+ matchFinally({ value, error });
27
+ });
28
+ expect(matchReferenceError).not.toBeCalled();
29
+ expect(matchArrayOfErrors).not.toBeCalled();
30
+ expect(matchOther).not.toBeCalled();
31
+ expect(matchFinally).toBeCalled();
32
+ expect(result).toMatchObject({ error: undefined, value: [1, 2, 3] });
33
+ });
34
+ test('should be match single exception', () => {
35
+ let matchReferenceError = jest.fn();
36
+ let matchArrayOfErrors = jest.fn();
37
+ let matchOther = jest.fn();
38
+ let matchFinally = jest.fn();
39
+ const result = $try(() => {
40
+ throw ReferenceError;
41
+ }).catch(ReferenceError, () => {
42
+ matchReferenceError();
43
+ }).catch([TypeError, SyntaxError], (error) => {
44
+ matchArrayOfErrors(error);
45
+ }).other((error) => {
46
+ matchOther(error);
47
+ }).finally(({ value, error }) => {
48
+ matchFinally({ value, error });
49
+ return value; // ?
50
+ });
51
+ expect(matchReferenceError).toBeCalled();
52
+ expect(matchArrayOfErrors).not.toBeCalled();
53
+ expect(matchOther).not.toBeCalled();
54
+ expect(matchFinally).toBeCalled();
55
+ expect(result).toMatchObject({ error: ReferenceError, value: undefined });
56
+ });
57
+ test('should be match array of exceptions', () => {
58
+ let matchReferenceError = jest.fn();
59
+ let matchArrayOfErrors = jest.fn();
60
+ let matchOther = jest.fn();
61
+ let matchFinally = jest.fn();
62
+ const result = $try(() => {
63
+ throw SyntaxError;
64
+ }).catch(ReferenceError, () => {
65
+ matchReferenceError();
66
+ }).catch([TypeError, SyntaxError], (error) => {
67
+ matchArrayOfErrors(error);
68
+ }).other((error) => {
69
+ matchOther(error);
70
+ }).finally(({ value, error }) => {
71
+ matchFinally({ value, error });
72
+ return value; // ?
73
+ });
74
+ expect(matchReferenceError).not.toBeCalled();
75
+ expect(matchArrayOfErrors).toBeCalledWith(SyntaxError);
76
+ expect(matchOther).not.toBeCalled();
77
+ expect(matchFinally).toBeCalled();
78
+ expect(result).toMatchObject({ error: SyntaxError, value: undefined });
79
+ });
80
+ test('should be match any type of exception', () => {
81
+ let matchReferenceError = jest.fn();
82
+ let matchArrayOfErrors = jest.fn();
83
+ let matchOther = jest.fn();
84
+ let matchFinally = jest.fn();
85
+ const result = $try(() => {
86
+ throw 'error';
87
+ }).catch(ReferenceError, () => {
88
+ matchReferenceError();
89
+ }).catch([TypeError, SyntaxError], (error) => {
90
+ matchArrayOfErrors(error);
91
+ }).other((error) => {
92
+ matchOther(error);
93
+ }).finally(({ value, error }) => {
94
+ matchFinally({ value, error });
95
+ return value; // ?
96
+ });
97
+ expect(matchReferenceError).not.toBeCalled();
98
+ expect(matchArrayOfErrors).not.toBeCalled();
99
+ expect(matchOther).toBeCalled();
100
+ expect(matchFinally).toBeCalled();
101
+ expect(result).toMatchObject({ error: 'error', value: undefined });
102
+ });
103
+ test('should be match custom exceptions', () => {
104
+ let matchCustomError = jest.fn();
105
+ let matchArrayOfErrors = jest.fn();
106
+ let matchOther = jest.fn();
107
+ let matchFinally = jest.fn();
108
+ class CustomError extends Error {
109
+ }
110
+ const result = $try(() => {
111
+ throw CustomError;
112
+ }).catch(CustomError, () => {
113
+ matchCustomError();
114
+ }).catch([TypeError, SyntaxError], (error) => {
115
+ matchArrayOfErrors(error);
116
+ }).other((error) => {
117
+ matchOther(error);
118
+ }).finally(({ value, error }) => {
119
+ matchFinally({ value, error });
120
+ });
121
+ expect(matchCustomError).toBeCalled();
122
+ expect(matchArrayOfErrors).not.toBeCalled();
123
+ expect(matchOther).not.toBeCalled();
124
+ expect(matchFinally).toBeCalled();
125
+ expect(result).toMatchObject({ error: CustomError, value: undefined });
126
+ });
127
+ test('should be return result from `finally` branch without `other`', () => {
128
+ let matchCustomError = jest.fn();
129
+ let matchArrayOfErrors = jest.fn();
130
+ let matchOther = jest.fn();
131
+ let matchFinally = jest.fn();
132
+ class CustomError extends Error {
133
+ }
134
+ const result = $try(() => {
135
+ throw CustomError;
136
+ }).catch([TypeError, SyntaxError], (error) => {
137
+ matchArrayOfErrors(error);
138
+ }).finally(({ value, error }) => {
139
+ matchFinally({ value, error });
140
+ return value; // ?
141
+ });
142
+ expect(matchCustomError).not.toBeCalled();
143
+ expect(matchArrayOfErrors).not.toBeCalled();
144
+ expect(matchOther).not.toBeCalled();
145
+ expect(matchFinally).toBeCalled();
146
+ expect(result).toMatchObject({ error: CustomError, value: undefined });
147
+ });
148
+ test('should be return result from `catch` branch', () => {
149
+ let matchCustomError = jest.fn();
150
+ let matchArrayOfErrors = jest.fn();
151
+ let matchOther = jest.fn();
152
+ let matchFinally = jest.fn();
153
+ class CustomError extends Error {
154
+ }
155
+ const result = $try(() => {
156
+ throw CustomError;
157
+ }).catch([TypeError, SyntaxError], (error) => {
158
+ matchArrayOfErrors(error);
159
+ });
160
+ expect(matchCustomError).not.toBeCalled();
161
+ expect(matchArrayOfErrors).not.toBeCalled();
162
+ expect(matchOther).not.toBeCalled();
163
+ expect(matchFinally).not.toBeCalled();
164
+ expect(result).toMatchObject({ error: CustomError, value: undefined });
165
+ });
166
+ test('should be return result from `other` branch', () => {
167
+ let matchCustomError = jest.fn();
168
+ let matchArrayOfErrors = jest.fn();
169
+ let matchOther = jest.fn();
170
+ let matchFinally = jest.fn();
171
+ class CustomError extends Error {
172
+ }
173
+ const result = $try(() => {
174
+ throw CustomError;
175
+ }).other((error) => {
176
+ matchOther(error);
177
+ });
178
+ expect(matchCustomError).not.toBeCalled();
179
+ expect(matchArrayOfErrors).not.toBeCalled();
180
+ expect(matchOther).toBeCalledWith(CustomError);
181
+ expect(matchFinally).not.toBeCalled();
182
+ expect(result).toMatchObject({ error: CustomError, value: undefined });
183
+ });
184
+ test('should be return result without branches', () => {
185
+ let matchCustomError = jest.fn();
186
+ let matchArrayOfErrors = jest.fn();
187
+ let matchOther = jest.fn();
188
+ let matchFinally = jest.fn();
189
+ const result = $try(() => {
190
+ throw SyntaxError;
191
+ });
192
+ expect(matchCustomError).not.toBeCalled();
193
+ expect(matchArrayOfErrors).not.toBeCalled();
194
+ expect(matchOther).not.toBeCalled();
195
+ expect(matchFinally).not.toBeCalled();
196
+ expect(result).toMatchObject({ error: SyntaxError, value: undefined });
197
+ });
198
+ });
199
+ /**
200
+ * async tests
201
+ */
202
+ describe('promised version', () => {
203
+ test('resolve try', () => __awaiter(void 0, void 0, void 0, function* () {
204
+ let matchCustomError = jest.fn();
205
+ let matchArrayOfErrors = jest.fn();
206
+ let matchOther = jest.fn();
207
+ let matchFinally = jest.fn();
208
+ const result = $try(() => {
209
+ return Promise.resolve(42);
210
+ });
211
+ yield result;
212
+ expect(matchCustomError).not.toBeCalled();
213
+ expect(matchArrayOfErrors).not.toBeCalled();
214
+ expect(matchOther).not.toBeCalled();
215
+ expect(matchFinally).not.toBeCalled();
216
+ expect(result).toBeInstanceOf(Promise);
217
+ expect(yield result).toEqual({
218
+ value: 42,
219
+ error: undefined,
220
+ });
221
+ }));
222
+ test('reject try', () => __awaiter(void 0, void 0, void 0, function* () {
223
+ let matchCustomError = jest.fn();
224
+ let matchArrayOfErrors = jest.fn();
225
+ let matchOther = jest.fn();
226
+ let matchFinally = jest.fn();
227
+ const result = $try(() => {
228
+ return Promise.reject(42);
229
+ });
230
+ expect(matchCustomError).not.toBeCalled();
231
+ expect(matchArrayOfErrors).not.toBeCalled();
232
+ expect(matchOther).not.toBeCalled();
233
+ expect(matchFinally).not.toBeCalled();
234
+ expect(result).toBeInstanceOf(Promise);
235
+ expect(yield result).toEqual({
236
+ value: undefined,
237
+ error: 42,
238
+ });
239
+ }));
240
+ test('throw try', () => __awaiter(void 0, void 0, void 0, function* () {
241
+ const result = $try(() => {
242
+ return new Promise(() => {
243
+ throw new Error('error');
244
+ });
245
+ });
246
+ expect(result).toBeInstanceOf(Promise);
247
+ expect(yield result).toEqual({
248
+ value: undefined,
249
+ error: Error('error'),
250
+ });
251
+ }));
252
+ test('resolve try.catch', () => __awaiter(void 0, void 0, void 0, function* () {
253
+ let matchError = jest.fn();
254
+ let matchSyntaxError = jest.fn();
255
+ let matchOther = jest.fn();
256
+ const result = $try(() => {
257
+ return Promise.resolve(42);
258
+ }).catch(Error, () => {
259
+ matchError();
260
+ }).catch(SyntaxError, () => {
261
+ matchSyntaxError();
262
+ }).other((error) => {
263
+ matchOther(error);
264
+ });
265
+ expect(matchError).not.toBeCalled();
266
+ expect(matchSyntaxError).not.toBeCalled();
267
+ expect(matchOther).not.toBeCalled();
268
+ expect(result).toBeInstanceOf(Promise);
269
+ expect(yield result).toEqual({
270
+ value: 42,
271
+ error: undefined,
272
+ });
273
+ }));
274
+ test('reject try.catch', () => __awaiter(void 0, void 0, void 0, function* () {
275
+ let matchError = jest.fn();
276
+ let matchOther = jest.fn();
277
+ const result = $try(() => {
278
+ return Promise.reject(123);
279
+ }).catch(Error, () => {
280
+ matchOther();
281
+ }).catch(123, () => {
282
+ matchError();
283
+ }).catch('error', () => {
284
+ matchOther();
285
+ });
286
+ yield result; //?
287
+ expect(matchOther).not.toBeCalled();
288
+ expect(matchError).toBeCalled();
289
+ expect(result).toBeInstanceOf(Promise);
290
+ expect(yield result).toEqual({
291
+ value: undefined,
292
+ error: 123,
293
+ });
294
+ }));
295
+ test('throw try.catch', () => __awaiter(void 0, void 0, void 0, function* () {
296
+ let matchError = jest.fn();
297
+ let matchOther = jest.fn();
298
+ const result = $try(() => {
299
+ return new Promise(() => {
300
+ throw 'error';
301
+ });
302
+ }).catch(Error, () => {
303
+ matchOther();
304
+ }).catch(123, () => {
305
+ matchError();
306
+ }).catch('error', () => {
307
+ matchOther();
308
+ });
309
+ expect(result).toBeInstanceOf(Promise);
310
+ expect(yield result).toEqual({
311
+ value: undefined,
312
+ error: 'error',
313
+ });
314
+ expect(matchOther).toBeCalledTimes(1);
315
+ expect(matchError).not.toBeCalled();
316
+ }));
317
+ test('resolve try.other', () => __awaiter(void 0, void 0, void 0, function* () {
318
+ let matchCustomError = jest.fn();
319
+ let matchArrayOfErrors = jest.fn();
320
+ let matchOther = jest.fn();
321
+ let matchFinally = jest.fn();
322
+ const result = $try(() => {
323
+ return Promise.resolve('ok');
324
+ }).other(({ value, error }) => {
325
+ matchOther({ value, error });
326
+ });
327
+ expect(result).toBeInstanceOf(Promise);
328
+ expect(yield result).toEqual({
329
+ value: 'ok',
330
+ error: undefined,
331
+ });
332
+ expect(matchCustomError).not.toBeCalled();
333
+ expect(matchArrayOfErrors).not.toBeCalled();
334
+ expect(matchOther).not.toBeCalled();
335
+ expect(matchFinally).not.toBeCalled();
336
+ }));
337
+ test('reject try.other', () => __awaiter(void 0, void 0, void 0, function* () {
338
+ let matchError = jest.fn();
339
+ let matchOther = jest.fn();
340
+ const result = $try(() => {
341
+ return Promise.reject('error');
342
+ }).catch('error1', () => {
343
+ matchError();
344
+ }).catch('error2', () => {
345
+ matchError();
346
+ }).other((error) => {
347
+ matchOther(error);
348
+ });
349
+ expect(result).toBeInstanceOf(Promise);
350
+ expect(yield result).toEqual({
351
+ value: undefined,
352
+ error: 'error',
353
+ });
354
+ expect(matchError).not.toBeCalled();
355
+ expect(matchOther).toBeCalledWith('error');
356
+ }));
357
+ test('throw try.other', () => __awaiter(void 0, void 0, void 0, function* () {
358
+ let matchError = jest.fn();
359
+ let matchOther = jest.fn();
360
+ const result = $try(() => {
361
+ return new Promise(() => {
362
+ throw 'error';
363
+ });
364
+ }).catch('error1', () => {
365
+ matchError();
366
+ }).catch('error2', () => {
367
+ matchError();
368
+ }).other((error) => {
369
+ matchOther(error);
370
+ });
371
+ expect(result).toBeInstanceOf(Promise);
372
+ expect(yield result).toEqual({
373
+ value: undefined,
374
+ error: 'error',
375
+ });
376
+ expect(matchError).not.toBeCalled();
377
+ expect(matchOther).toBeCalledWith('error');
378
+ }));
379
+ test('when throw should be match array or exception', () => __awaiter(void 0, void 0, void 0, function* () {
380
+ let matchSingleError = jest.fn();
381
+ let matchArrayError = jest.fn();
382
+ let matchOther = jest.fn();
383
+ let matchFinally = jest.fn();
384
+ const attach = (ctx) => {
385
+ return ctx.catch(SyntaxError, () => {
386
+ matchSingleError(SyntaxError);
387
+ }).catch([ReferenceError, SyntaxError], (error) => {
388
+ matchArrayError(error);
389
+ }).other((error) => {
390
+ matchOther(error);
391
+ }).finally(({ value, error }) => {
392
+ matchFinally({ value, error });
393
+ });
394
+ };
395
+ const testSingle = $try(() => new Promise(() => {
396
+ throw SyntaxError;
397
+ }));
398
+ const testArray = $try(() => new Promise(() => {
399
+ throw ReferenceError;
400
+ }));
401
+ const testOther = $try(() => new Promise(() => {
402
+ throw TypeError;
403
+ }));
404
+ const testResolve = $try(() => new Promise((resolve) => {
405
+ resolve('ok');
406
+ }));
407
+ const testReject = $try(() => new Promise((_, reject) => {
408
+ reject('reject');
409
+ }));
410
+ const resultSingle = attach(testSingle);
411
+ const resultArray = attach(testArray);
412
+ const resultOther = attach(testOther);
413
+ const resultResolve = attach(testResolve);
414
+ const resultReject = attach(testReject);
415
+ expect(resultSingle).toBeInstanceOf(Promise);
416
+ expect(resultArray).toBeInstanceOf(Promise);
417
+ expect(resultOther).toBeInstanceOf(Promise);
418
+ expect(resultResolve).toBeInstanceOf(Promise);
419
+ expect(resultReject).toBeInstanceOf(Promise);
420
+ expect(yield resultSingle).toEqual({
421
+ value: undefined,
422
+ error: SyntaxError,
423
+ });
424
+ expect(yield resultArray).toEqual({
425
+ value: undefined,
426
+ error: ReferenceError,
427
+ });
428
+ expect(yield resultOther).toEqual({
429
+ value: undefined,
430
+ error: TypeError,
431
+ });
432
+ expect(yield resultResolve).toEqual({
433
+ value: 'ok',
434
+ });
435
+ expect(yield resultReject).toEqual({
436
+ error: 'reject',
437
+ });
438
+ }));
439
+ });
440
+ //# sourceMappingURL=main.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.test.js","sourceRoot":"","sources":["../../src/__tests__/main.test.ts"],"names":[],"mappings":"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"}
package/dist/main.d.ts CHANGED
@@ -1,13 +1,18 @@
1
- declare type InternalData<T> = {
2
- value?: T;
3
- error?: any;
4
- context?: any;
1
+ export declare type ErrrorHandler<ErrorType> = (error?: ErrorType) => void;
2
+ export declare type FinallyCallback<Result, ErrorType = any> = (params: ResultType<Result, ErrorType>) => void;
3
+ export declare type TryBody<Result> = () => Result | Promise<Result> | never;
4
+ export declare type ResultType<Result, ErrorType = any> = {
5
+ value?: Result;
6
+ error?: ErrorType;
5
7
  };
6
- export declare function _try<T>(body: (context: any) => T): {
7
- catch: (err: any, handler: (context: any) => void) => any;
8
- other: (handler: (error: any, context: any) => void) => {
9
- finally: (callback: (params: InternalData<T>) => T) => InternalData<T>;
10
- };
11
- finally: (callback: (params: InternalData<T>) => T) => InternalData<T>;
8
+ export declare type FinallyReturn<Return, ErrorType = any> = ResultType<Return, ErrorType>;
9
+ export declare type OtherReturn<Return, ErrorType = any> = FinallyReturn<Return, ErrorType> & {
10
+ finally: (callback: FinallyCallback<Return, ErrorType>) => ResultType<Return, ErrorType>;
12
11
  };
13
- export default _try;
12
+ export declare type CatchReturn<Return, ErrorType = any> = FinallyReturn<Return, ErrorType> & OtherReturn<Return, ErrorType> & {
13
+ catch: (error: ErrorType | ErrorType[], handler: ErrrorHandler<ErrorType>) => PromisedTryReturn<Return>;
14
+ other: (handler: ErrrorHandler<ErrorType>) => Pick<PromisedTryReturn<Return>, 'finally' | 'value' | 'error'>;
15
+ };
16
+ export declare type PromisedTryReturn<Return> = CatchReturn<Return> | (Promise<ResultType<Return>> & CatchReturn<Return>);
17
+ export declare function $try<Return>(body: TryBody<Return>): PromisedTryReturn<Return>;
18
+ export default $try;
package/dist/main.js CHANGED
@@ -1,44 +1,98 @@
1
- export function _try(body) {
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ export function $try(body) {
11
+ let caught = false;
2
12
  let error;
13
+ let bodyResponse;
3
14
  let result;
4
- let context = {};
5
- const isSameInstance = (e1) => e1 === error || e1 === (error === null || error === void 0 ? void 0 : error.constructor);
6
- try {
7
- result = body(context);
15
+ const isSameError = (e1, error) => e1 === error || e1 === (error === null || error === void 0 ? void 0 : error.constructor);
16
+ function handleErrors(err, err2, handler) {
17
+ if (isSameError(err, err2) || (Array.isArray(err) && err.some(e => isSameError(e, err2)))) {
18
+ handler(err2);
19
+ caught = true;
20
+ }
8
21
  }
9
- catch (e) {
10
- error = e;
22
+ function buildResult(br) {
23
+ if (br instanceof Promise) {
24
+ const bodyPromise = br;
25
+ return new Promise((resolve) => __awaiter(this, void 0, void 0, function* () {
26
+ bodyPromise.then((response) => {
27
+ resolve({
28
+ value: response,
29
+ error: undefined,
30
+ });
31
+ }).catch((e) => {
32
+ resolve({
33
+ value: undefined,
34
+ error: e,
35
+ });
36
+ });
37
+ }));
38
+ }
39
+ else {
40
+ return {
41
+ value: br,
42
+ error: undefined,
43
+ };
44
+ }
11
45
  }
12
46
  const chain = {
13
47
  catch: (err, handler) => {
14
- if (!err || !handler) {
15
- return chain;
48
+ if (result instanceof Promise) {
49
+ result.then((response) => {
50
+ typeof response.error !== 'undefined' && !caught && handleErrors(err, response.error, handler);
51
+ });
16
52
  }
17
- if (isSameInstance(err)) {
18
- handler && handler(context);
53
+ else {
54
+ error && !caught && handleErrors(err, error, handler);
19
55
  }
20
- else if (Array.isArray(err)) {
21
- err.some(isSameInstance) && handler(context);
22
- }
23
- return chain;
56
+ return result;
24
57
  },
25
- other: (handler) => {
26
- if (error) {
27
- handler && handler(error, context);
58
+ other: (callback) => {
59
+ if (result instanceof Promise) {
60
+ result.then((response) => {
61
+ typeof response.error !== 'undefined' && !caught && callback(response.error);
62
+ });
28
63
  }
29
- return {
30
- finally: chain.finally
31
- };
64
+ else {
65
+ typeof result.error !== 'undefined' && !caught && callback && callback(result.error);
66
+ }
67
+ return result;
32
68
  },
33
69
  finally: (callback) => {
34
- return {
35
- value: callback ? callback({ value: result, error, context }) : result,
36
- error,
37
- context,
38
- };
70
+ if (result instanceof Promise) {
71
+ result.then((response) => {
72
+ callback(response);
73
+ });
74
+ }
75
+ else {
76
+ callback({
77
+ value: result.value,
78
+ error: result.error,
79
+ });
80
+ }
81
+ return result;
39
82
  },
40
83
  };
41
- return chain;
84
+ try {
85
+ bodyResponse = body();
86
+ result = Object.assign(buildResult(bodyResponse), chain);
87
+ }
88
+ catch (e) {
89
+ error = e;
90
+ result = Object.assign(chain, {
91
+ value: undefined,
92
+ error: e,
93
+ });
94
+ }
95
+ return result;
42
96
  }
43
- export default _try;
97
+ export default $try;
44
98
  //# sourceMappingURL=main.js.map
package/dist/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAMA,MAAM,UAAU,IAAI,CAAI,IAAyB;IAC/C,IAAI,KAAU,CAAC;IACf,IAAI,MAAS,CAAC;IACd,IAAI,OAAO,GAAQ,EAAE,CAAC;IACtB,MAAM,cAAc,GAAG,CAAC,EAAO,EAAE,EAAE,CAAC,EAAE,KAAK,KAAK,IAAI,EAAE,MAAK,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,WAAW,CAAA,CAAC;IAE9E,IAAI;QACF,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;KACxB;IAAC,OAAO,CAAC,EAAE;QACV,KAAK,GAAG,CAAC,CAAC;KACX;IAED,MAAM,KAAK,GAAG;QACZ,KAAK,EAAE,CAAC,GAAQ,EAAE,OAA+B,EAAE,EAAE;YACnD,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE;gBACpB,OAAO,KAAK,CAAC;aACd;YACD,IAAI,cAAc,CAAC,GAAG,CAAC,EAAE;gBACvB,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;aAC7B;iBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBAC7B,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;aAC9C;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QACD,KAAK,EAAE,CAAC,OAA2C,EAAE,EAAE;YACrD,IAAI,KAAK,EAAE;gBACT,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;aACpC;YACD,OAAO;gBACL,OAAO,EAAE,KAAK,CAAC,OAAO;aACvB,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,CAAC,QAAwC,EAAmB,EAAE;YACrE,OAAO;gBACL,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAC,CAAC,CAAC,CAAC,CAAC,MAAM;gBACpE,KAAK;gBACL,OAAO;aACR,CAAC;QACJ,CAAC;KACF,CAAC;IAEF,OAAO,KAAK,CAAC;AACf,CAAC;AAED,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "catch-match",
3
- "version": "3.0.1",
3
+ "version": "3.0.2",
4
4
  "repository": {
5
5
  "url": "https://github.com/kobzarvs/catch-match"
6
6
  },