catch-match 3.0.1 → 3.0.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -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
  },