@fgv/ts-utils-jest 4.5.0 → 5.0.0-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.
package/CHANGELOG.json CHANGED
@@ -1,6 +1,39 @@
1
1
  {
2
2
  "name": "@fgv/ts-utils-jest",
3
3
  "entries": [
4
+ {
5
+ "version": "5.0.0",
6
+ "tag": "@fgv/ts-utils-jest_v5.0.0",
7
+ "date": "Thu, 17 Jul 2025 00:13:24 GMT",
8
+ "comments": {
9
+ "none": [
10
+ {
11
+ "comment": "minor fixes"
12
+ },
13
+ {
14
+ "comment": "bump version"
15
+ }
16
+ ]
17
+ }
18
+ },
19
+ {
20
+ "version": "4.6.0",
21
+ "tag": "@fgv/ts-utils-jest_v4.6.0",
22
+ "date": "Wed, 02 Jul 2025 05:48:16 GMT",
23
+ "comments": {}
24
+ },
25
+ {
26
+ "version": "4.5.1",
27
+ "tag": "@fgv/ts-utils-jest_v4.5.1",
28
+ "date": "Wed, 02 Jul 2025 05:47:11 GMT",
29
+ "comments": {
30
+ "none": [
31
+ {
32
+ "comment": "update rushstack"
33
+ }
34
+ ]
35
+ }
36
+ },
4
37
  {
5
38
  "version": "4.5.0",
6
39
  "tag": "@fgv/ts-utils-jest_v4.5.0",
package/CHANGELOG.md CHANGED
@@ -1,6 +1,26 @@
1
1
  # Change Log - @fgv/ts-utils-jest
2
2
 
3
- This log was last generated on Tue, 01 Jul 2025 03:26:11 GMT and should not be manually modified.
3
+ This log was last generated on Thu, 17 Jul 2025 00:13:24 GMT and should not be manually modified.
4
+
5
+ ## 5.0.0
6
+ Thu, 17 Jul 2025 00:13:24 GMT
7
+
8
+ ### Updates
9
+
10
+ - minor fixes
11
+ - bump version
12
+
13
+ ## 4.6.0
14
+ Wed, 02 Jul 2025 05:48:16 GMT
15
+
16
+ _Version update only_
17
+
18
+ ## 4.5.1
19
+ Wed, 02 Jul 2025 05:47:11 GMT
20
+
21
+ ### Updates
22
+
23
+ - update rushstack
4
24
 
5
25
  ## 4.5.0
6
26
  Tue, 01 Jul 2025 03:26:11 GMT
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/matchers/index.ts"],"names":[],"mappings":";8OA6B23B,KAAM,mBAAmB;sJAAxd,KAAM,mBAAmB;mCAA+c,KAAM,cAAc,sFAAsE,KAAM,mBAAmB;yCAPphC,KAAM,cACF,kDACL,KAAG,mBAAmB;+CAKA,KAAM,cAAc,gFAAgE,KAAM,mBAAmB;mEAAnE,KAAM,mBAAmB;sDAAyzD,KAAM,IAAI,wBAA4B,KAAM,mBAAmB;sNAAvnC,KAAM,mBAAmB;2GAA9gB,KAAM,mBAAmB;iFAA8S,KAAM,mBAAmB;0CAV/rB,KAAM,cACH,qBACE,KAAM,mBAAmB;uCAQ2D,KAAM,mBAAmB;gFAAjB,KAAM,mBAAmB;;AAflI,wBAcE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/matchers/index.ts"],"names":[],"mappings":";8OA6B81B,KAAM,mBAAmB;sJAAxd,KAAM,mBAAmB;mCAA+c,KAAM,cAAc,sFAAsE,KAAM,mBAAmB;yCARx+B,KAAM,cAAc,kDAE9B,KAAM,mBAAmB;+CAAhB,KAAM,cAAc,gFAGhC,KAAM,mBACD;mEAE2B,KAAM,mBAAmB;sDAAyzD,KAAM,IAAI,wBAA4B,KAAM,mBAAmB;sNAAvnC,KAAM,mBAAmB;2GAA9gB,KAAM,mBAAmB;iFAA8S,KAAM,mBAAmB;0CAXxqB,KAAI,cAAc,qBAEb,KAAM,mBACJ;uCAQ2D,KAAM,mBAAmB;gFAAjB,KAAM,mBAAmB;;AAfrG,wBAcE"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/matchers/toFail/index.ts"],"names":[],"mappings":";;AAAA,+DAAsF;AACtF,2CAAqD;AAGrD,2DAAiD;AAejD,SAAS,WAAW,CAA4B,QAAW;IACzD,OAAO,GAAG,EAAE,CACV;QACE,IAAA,gCAAW,EAAC,QAAQ,uBAAW,EAAE,CAAC;QAClC,IAAA,oCAAmB,EAAC,SAAS,EAAE,KAAK,CAAC;QACrC,IAAA,oCAAmB,EAAC,QAAQ,CAAC;KAC9B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjB,CAAC;AAED,SAAS,WAAW,CAA4B,QAAW;IACzD,OAAO,GAAG,EAAE,CACV,CAAC,IAAA,gCAAW,EAAC,GAAG,uBAAW,EAAE,CAAC,EAAE,IAAA,oCAAmB,EAAC,SAAS,EAAE,IAAI,CAAC,EAAE,IAAA,oCAAmB,EAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CACvG,IAAI,CACL,CAAC;AACN,CAAC;AAED,kBAAe;IACb,MAAM,EAAE,UAAqC,QAAW;QACtD,MAAM,IAAI,GAAG,IAAA,qBAAS,EAAC,QAAQ,CAAC,CAAC;QACjC,IAAI,IAAI,EAAE,CAAC;YACT,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxD,CAAC;QAED,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;IACzD,CAAC;CACF,CAAC","sourcesContent":["import { printExpectedResult, printReceivedResult } from '../../utils/matcherHelpers';\nimport { matcherName, predicate } from './predicate';\n\nimport { Result } from '@fgv/ts-utils';\nimport { matcherHint } from 'jest-matcher-utils';\n\ndeclare global {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace jest {\n // eslint-disable-next-line no-unused-vars, @typescript-eslint/no-unused-vars, @typescript-eslint/ban-types, @typescript-eslint/naming-convention\n interface Matchers<R, T> {\n /**\n * Use .toFail to verify that a Result<T> is a failure\n */\n toFail(): R;\n }\n }\n}\n\nfunction passMessage<T extends Result<unknown>>(received: T): () => string {\n return () =>\n [\n matcherHint(`.not.${matcherName}`),\n printExpectedResult('failure', false),\n printReceivedResult(received)\n ].join('\\n');\n}\n\nfunction failMessage<T extends Result<unknown>>(received: T): () => string {\n return () =>\n [matcherHint(`${matcherName}`), printExpectedResult('failure', true), printReceivedResult(received)].join(\n '\\n'\n );\n}\n\nexport default {\n toFail: function <T extends Result<unknown>>(received: T): jest.CustomMatcherResult {\n const pass = predicate(received);\n if (pass) {\n return { pass: true, message: passMessage(received) };\n }\n\n return { pass: false, message: failMessage(received) };\n }\n};\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/matchers/toFail/index.ts"],"names":[],"mappings":";;AAAA,+DAAsF;AACtF,2CAAqD;AAGrD,2DAAiD;AAejD,SAAS,WAAW,CAA4B,QAAW;IACzD,OAAO,GAAG,EAAE,CACV;QACE,IAAA,gCAAW,EAAC,QAAQ,uBAAW,EAAE,CAAC;QAClC,IAAA,oCAAmB,EAAC,SAAS,EAAE,KAAK,CAAC;QACrC,IAAA,oCAAmB,EAAC,QAAQ,CAAC;KAC9B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjB,CAAC;AAED,SAAS,WAAW,CAA4B,QAAW;IACzD,OAAO,GAAG,EAAE,CACV,CAAC,IAAA,gCAAW,EAAC,GAAG,uBAAW,EAAE,CAAC,EAAE,IAAA,oCAAmB,EAAC,SAAS,EAAE,IAAI,CAAC,EAAE,IAAA,oCAAmB,EAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CACvG,IAAI,CACL,CAAC;AACN,CAAC;AAED,kBAAe;IACb,MAAM,EAAE,UAAqC,QAAW;QACtD,MAAM,IAAI,GAAG,IAAA,qBAAS,EAAC,QAAQ,CAAC,CAAC;QACjC,IAAI,IAAI,EAAE,CAAC;YACT,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxD,CAAC;QAED,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;IACzD,CAAC;CACF,CAAC","sourcesContent":["import { printExpectedResult, printReceivedResult } from '../../utils/matcherHelpers';\nimport { matcherName, predicate } from './predicate';\n\nimport { Result } from '@fgv/ts-utils';\nimport { matcherHint } from 'jest-matcher-utils';\n\ndeclare global {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace jest {\n // eslint-disable-next-line no-unused-vars, @typescript-eslint/no-unused-vars, @typescript-eslint/naming-convention\n interface Matchers<R, T> {\n /**\n * Use .toFail to verify that a Result<T> is a failure\n */\n toFail(): R;\n }\n }\n}\n\nfunction passMessage<T extends Result<unknown>>(received: T): () => string {\n return () =>\n [\n matcherHint(`.not.${matcherName}`),\n printExpectedResult('failure', false),\n printReceivedResult(received)\n ].join('\\n');\n}\n\nfunction failMessage<T extends Result<unknown>>(received: T): () => string {\n return () =>\n [matcherHint(`${matcherName}`), printExpectedResult('failure', true), printReceivedResult(received)].join(\n '\\n'\n );\n}\n\nexport default {\n toFail: function <T extends Result<unknown>>(received: T): jest.CustomMatcherResult {\n const pass = predicate(received);\n if (pass) {\n return { pass: true, message: passMessage(received) };\n }\n\n return { pass: false, message: failMessage(received) };\n }\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/matchers/toFailTest/index.ts"],"names":[],"mappings":";;AAAA,qEAAqE;AACrE,2CAAqD;AAErD,2DAAiD;AACjD,+DAAiE;AAgBjE,SAAS,WAAW;IAClB,OAAO,GAAG,EAAE,CACV;QACE,IAAA,gCAAW,EAAC,QAAQ,uBAAW,EAAE,EAAE,UAAU,CAAC;QAC9C,IAAA,oCAAmB,EAAC,SAAS,EAAE,KAAK,CAAC;QACrC,yBAAyB;KAC1B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjB,CAAC;AAED,SAAS,WAAW;IAClB,OAAO,GAAG,EAAE,CACV;QACE,IAAA,gCAAW,EAAC,GAAG,uBAAW,EAAE,EAAE,UAAU,CAAC;QACzC,IAAA,oCAAmB,EAAC,SAAS,EAAE,IAAI,CAAC;QACpC,yBAAyB;KAC1B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjB,CAAC;AAED,kBAAe;IACb,UAAU,EAAE,UAAa,EAAc;QACrC,MAAM,IAAI,GAAG,IAAA,qBAAS,EAAC,EAAE,CAAC,CAAC;QAC3B,IAAI,IAAI,EAAE,CAAC;YACT,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,CAAC;QAChD,CAAC;QAED,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,CAAC;IACjD,CAAC;CACF,CAAC","sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars,no-unused-vars */\nimport { matcherName, predicate } from './predicate';\n\nimport { matcherHint } from 'jest-matcher-utils';\nimport { printExpectedResult } from '../../utils/matcherHelpers';\n\ndeclare global {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace jest {\n // eslint-disable-next-line no-unused-vars, @typescript-eslint/no-unused-vars, @typescript-eslint/ban-types, @typescript-eslint/naming-convention\n interface Matchers<R, T> {\n /**\n * Use .toFailTest to test a custom matcher by\n * verifying that a test case fails.\n */\n toFailTest<T>(): R;\n }\n }\n}\n\nfunction passMessage<T>(): () => string {\n return () =>\n [\n matcherHint(`.not.${matcherName}`, 'callback'),\n printExpectedResult('failure', false),\n ' Received: Test failed'\n ].join('\\n');\n}\n\nfunction failMessage<T>(): () => string {\n return () =>\n [\n matcherHint(`${matcherName}`, 'callback'),\n printExpectedResult('failure', true),\n ' Received: Test passed'\n ].join('\\n');\n}\n\nexport default {\n toFailTest: function <T>(cb: () => void): jest.CustomMatcherResult {\n const pass = predicate(cb);\n if (pass) {\n return { pass: true, message: passMessage() };\n }\n\n return { pass: false, message: failMessage() };\n }\n};\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/matchers/toFailTest/index.ts"],"names":[],"mappings":";;AAAA,qEAAqE;AACrE,2CAAqD;AAErD,2DAAiD;AACjD,+DAAiE;AAgBjE,SAAS,WAAW;IAClB,OAAO,GAAG,EAAE,CACV;QACE,IAAA,gCAAW,EAAC,QAAQ,uBAAW,EAAE,EAAE,UAAU,CAAC;QAC9C,IAAA,oCAAmB,EAAC,SAAS,EAAE,KAAK,CAAC;QACrC,yBAAyB;KAC1B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjB,CAAC;AAED,SAAS,WAAW;IAClB,OAAO,GAAG,EAAE,CACV;QACE,IAAA,gCAAW,EAAC,GAAG,uBAAW,EAAE,EAAE,UAAU,CAAC;QACzC,IAAA,oCAAmB,EAAC,SAAS,EAAE,IAAI,CAAC;QACpC,yBAAyB;KAC1B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjB,CAAC;AAED,kBAAe;IACb,UAAU,EAAE,UAAa,EAAc;QACrC,MAAM,IAAI,GAAG,IAAA,qBAAS,EAAC,EAAE,CAAC,CAAC;QAC3B,IAAI,IAAI,EAAE,CAAC;YACT,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,CAAC;QAChD,CAAC;QAED,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,CAAC;IACjD,CAAC;CACF,CAAC","sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars,no-unused-vars */\nimport { matcherName, predicate } from './predicate';\n\nimport { matcherHint } from 'jest-matcher-utils';\nimport { printExpectedResult } from '../../utils/matcherHelpers';\n\ndeclare global {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace jest {\n // eslint-disable-next-line no-unused-vars, @typescript-eslint/no-unused-vars, @typescript-eslint/naming-convention\n interface Matchers<R, T> {\n /**\n * Use .toFailTest to test a custom matcher by\n * verifying that a test case fails.\n */\n toFailTest<T>(): R;\n }\n }\n}\n\nfunction passMessage<T>(): () => string {\n return () =>\n [\n matcherHint(`.not.${matcherName}`, 'callback'),\n printExpectedResult('failure', false),\n ' Received: Test failed'\n ].join('\\n');\n}\n\nfunction failMessage<T>(): () => string {\n return () =>\n [\n matcherHint(`${matcherName}`, 'callback'),\n printExpectedResult('failure', true),\n ' Received: Test passed'\n ].join('\\n');\n}\n\nexport default {\n toFailTest: function <T>(cb: () => void): jest.CustomMatcherResult {\n const pass = predicate(cb);\n if (pass) {\n return { pass: true, message: passMessage() };\n }\n\n return { pass: false, message: failMessage() };\n }\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/matchers/toFailTestAndMatchSnapshot/index.ts"],"names":[],"mappings":";;AAAA,qEAAqE;AACrE,iDAAyD;AACzD,2CAAqD;AAErD,2DAAiD;AAiBjD,kBAAe;IACb,0BAA0B,EAAE,UAE1B,EAAc;QAEd,MAAM,OAAO,GAAG,IAA0B,CAAC;QAC3C,MAAM,QAAQ,GAAG,IAAA,qBAAS,EAAC,EAAE,CAAC,CAAC;QAC/B,IAAI,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC;YACzB,OAAO;gBACL,IAAI,EAAE,KAAK;gBACX,OAAO,EAAE,GAAW,EAAE;oBACpB,OAAO;wBACL,IAAA,gCAAW,EAAC,GAAG,uBAAW,EAAE,EAAE,UAAU,CAAC;wBACzC,kEAAkE;wBAClE,gCAAgC;qBACjC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACf,CAAC;aACF,CAAC;QACJ,CAAC;QACD,OAAO,+BAAe,CAAC,IAAI,CACzB,OAAO,EACP,QAAQ,CAAC,KAAK,EACd,4BAA4B,CACD,CAAC;IAChC,CAAC;CACF,CAAC","sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars,no-unused-vars */\nimport { Context, toMatchSnapshot } from 'jest-snapshot';\nimport { matcherName, predicate } from './predicate';\n\nimport { matcherHint } from 'jest-matcher-utils';\n\ndeclare global {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace jest {\n // eslint-disable-next-line no-unused-vars, @typescript-eslint/no-unused-vars, @typescript-eslint/ban-types, @typescript-eslint/naming-convention\n interface Matchers<R, T> {\n /**\n * Use .toFailTestWith to test a custom matcher by\n * verifying that a test case fails as expected and\n * reports an error matching a stored snapshot.\n */\n toFailTestAndMatchSnapshot<T>(): R;\n }\n }\n}\n\nexport default {\n toFailTestAndMatchSnapshot: function <T>(\n this: jest.MatcherContext,\n cb: () => void\n ): jest.CustomMatcherResult {\n const context = this as unknown as Context;\n const cbResult = predicate(cb);\n if (cbResult.isFailure()) {\n return {\n pass: false,\n message: (): string => {\n return [\n matcherHint(`${matcherName}`, 'callback'),\n ' Expected: Callback to fail with an error that matches snapshot',\n ' Received: Callback succeeded'\n ].join('\\n');\n }\n };\n }\n return toMatchSnapshot.call(\n context,\n cbResult.value,\n 'toFailTestAndMatchSnapshot'\n ) as jest.CustomMatcherResult;\n }\n};\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/matchers/toFailTestAndMatchSnapshot/index.ts"],"names":[],"mappings":";;AAAA,qEAAqE;AACrE,iDAAyD;AACzD,2CAAqD;AAErD,2DAAiD;AAiBjD,kBAAe;IACb,0BAA0B,EAAE,UAE1B,EAAc;QAEd,MAAM,OAAO,GAAG,IAA0B,CAAC;QAC3C,MAAM,QAAQ,GAAG,IAAA,qBAAS,EAAC,EAAE,CAAC,CAAC;QAC/B,IAAI,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC;YACzB,OAAO;gBACL,IAAI,EAAE,KAAK;gBACX,OAAO,EAAE,GAAW,EAAE;oBACpB,OAAO;wBACL,IAAA,gCAAW,EAAC,GAAG,uBAAW,EAAE,EAAE,UAAU,CAAC;wBACzC,kEAAkE;wBAClE,gCAAgC;qBACjC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACf,CAAC;aACF,CAAC;QACJ,CAAC;QACD,OAAO,+BAAe,CAAC,IAAI,CACzB,OAAO,EACP,QAAQ,CAAC,KAAK,EACd,4BAA4B,CACD,CAAC;IAChC,CAAC;CACF,CAAC","sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars,no-unused-vars */\nimport { Context, toMatchSnapshot } from 'jest-snapshot';\nimport { matcherName, predicate } from './predicate';\n\nimport { matcherHint } from 'jest-matcher-utils';\n\ndeclare global {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace jest {\n // eslint-disable-next-line no-unused-vars, @typescript-eslint/no-unused-vars, @typescript-eslint/naming-convention\n interface Matchers<R, T> {\n /**\n * Use .toFailTestWith to test a custom matcher by\n * verifying that a test case fails as expected and\n * reports an error matching a stored snapshot.\n */\n toFailTestAndMatchSnapshot<T>(): R;\n }\n }\n}\n\nexport default {\n toFailTestAndMatchSnapshot: function <T>(\n this: jest.MatcherContext,\n cb: () => void\n ): jest.CustomMatcherResult {\n const context = this as unknown as Context;\n const cbResult = predicate(cb);\n if (cbResult.isFailure()) {\n return {\n pass: false,\n message: (): string => {\n return [\n matcherHint(`${matcherName}`, 'callback'),\n ' Expected: Callback to fail with an error that matches snapshot',\n ' Received: Callback succeeded'\n ].join('\\n');\n }\n };\n }\n return toMatchSnapshot.call(\n context,\n cbResult.value,\n 'toFailTestAndMatchSnapshot'\n ) as jest.CustomMatcherResult;\n }\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/matchers/toFailTestWith/index.ts"],"names":[],"mappings":";;AAEA,2CAAqD;AAErD,2DAAiD;AACjD,+DAAiE;AAkBjE,SAAS,WAAW,CAAI,QAAyB,EAAE,QAAoC;IACrF,OAAO,GAAG,EAAE,CACV;QACE,IAAA,gCAAW,EAAC,QAAQ,uBAAW,EAAE,EAAE,UAAU,EAAE,iBAAiB,CAAC;QACjE,IAAA,oCAAmB,EAAC,SAAS,EAAE,KAAK,EAAE,QAAQ,CAAC;QAC/C,4CAA4C,QAAQ,CAAC,KAAK,QAAQ;KACnE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjB,CAAC;AAED,SAAS,WAAW,CAAI,QAAyB,EAAE,QAAoC;IACrF,OAAO,GAAG,EAAE,CACV;QACE,IAAA,gCAAW,EAAC,GAAG,uBAAW,EAAE,EAAE,UAAU,EAAE,iBAAiB,CAAC;QAC5D,IAAA,oCAAmB,EAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC;QAC9C,QAAQ,CAAC,OAAO,KAAK,EAAE;YACrB,CAAC,CAAC,gCAAgC;YAClC,CAAC,CAAC,4CAA4C,QAAQ,CAAC,OAAO,QAAQ;KACzE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjB,CAAC;AAED,kBAAe;IACb,cAAc,EAAE,UACd,EAAc,EACd,QAAoC;QAEpC,MAAM,QAAQ,GAAG,IAAA,qBAAS,EAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QACzC,IAAI,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC;YACzB,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC;QAClE,CAAC;QAED,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC;IACnE,CAAC;CACF,CAAC","sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars,no-unused-vars */\nimport { Failure, Success } from '../../ts-utils';\nimport { matcherName, predicate } from './predicate';\n\nimport { matcherHint } from 'jest-matcher-utils';\nimport { printExpectedResult } from '../../utils/matcherHelpers';\n\ndeclare global {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace jest {\n // eslint-disable-next-line no-unused-vars, @typescript-eslint/no-unused-vars, @typescript-eslint/ban-types, @typescript-eslint/naming-convention\n interface Matchers<R, T> {\n /**\n * Use .toFailTestWith to test a custom matcher by\n * verifying that a test case fails as expected and\n * reports an error matching a supplied value.\n * @param expected -\n */\n toFailTestWith<T>(expected: string | string[] | RegExp): R;\n }\n }\n}\n\nfunction passMessage<T>(cbResult: Success<string>, expected: RegExp | string | string[]): () => string {\n return () =>\n [\n matcherHint(`.not.${matcherName}`, 'callback', 'expectedMessage'),\n printExpectedResult('failure', false, expected),\n ` Received: Callback failed with:\\n>>>>\\n${cbResult.value}\\n<<<<`\n ].join('\\n');\n}\n\nfunction failMessage<T>(cbResult: Failure<string>, expected: RegExp | string | string[]): () => string {\n return () =>\n [\n matcherHint(`${matcherName}`, 'callback', 'expectedMessage'),\n printExpectedResult('failure', true, expected),\n cbResult.message === ''\n ? ' Received: Callback succeeded'\n : ` Received: Callback failed with:\\n>>>>\\n${cbResult.message}\\n<<<<`\n ].join('\\n');\n}\n\nexport default {\n toFailTestWith: function <T>(\n cb: () => void,\n expected: RegExp | string | string[]\n ): jest.CustomMatcherResult {\n const cbResult = predicate(cb, expected);\n if (cbResult.isSuccess()) {\n return { pass: true, message: passMessage(cbResult, expected) };\n }\n\n return { pass: false, message: failMessage(cbResult, expected) };\n }\n};\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/matchers/toFailTestWith/index.ts"],"names":[],"mappings":";;AAEA,2CAAqD;AAErD,2DAAiD;AACjD,+DAAiE;AAkBjE,SAAS,WAAW,CAAI,QAAyB,EAAE,QAAoC;IACrF,OAAO,GAAG,EAAE,CACV;QACE,IAAA,gCAAW,EAAC,QAAQ,uBAAW,EAAE,EAAE,UAAU,EAAE,iBAAiB,CAAC;QACjE,IAAA,oCAAmB,EAAC,SAAS,EAAE,KAAK,EAAE,QAAQ,CAAC;QAC/C,4CAA4C,QAAQ,CAAC,KAAK,QAAQ;KACnE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjB,CAAC;AAED,SAAS,WAAW,CAAI,QAAyB,EAAE,QAAoC;IACrF,OAAO,GAAG,EAAE,CACV;QACE,IAAA,gCAAW,EAAC,GAAG,uBAAW,EAAE,EAAE,UAAU,EAAE,iBAAiB,CAAC;QAC5D,IAAA,oCAAmB,EAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC;QAC9C,QAAQ,CAAC,OAAO,KAAK,EAAE;YACrB,CAAC,CAAC,gCAAgC;YAClC,CAAC,CAAC,4CAA4C,QAAQ,CAAC,OAAO,QAAQ;KACzE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjB,CAAC;AAED,kBAAe;IACb,cAAc,EAAE,UACd,EAAc,EACd,QAAoC;QAEpC,MAAM,QAAQ,GAAG,IAAA,qBAAS,EAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QACzC,IAAI,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC;YACzB,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC;QAClE,CAAC;QAED,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC;IACnE,CAAC;CACF,CAAC","sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars,no-unused-vars */\nimport { Failure, Success } from '../../ts-utils';\nimport { matcherName, predicate } from './predicate';\n\nimport { matcherHint } from 'jest-matcher-utils';\nimport { printExpectedResult } from '../../utils/matcherHelpers';\n\ndeclare global {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace jest {\n // eslint-disable-next-line no-unused-vars, @typescript-eslint/no-unused-vars, @typescript-eslint/naming-convention\n interface Matchers<R, T> {\n /**\n * Use .toFailTestWith to test a custom matcher by\n * verifying that a test case fails as expected and\n * reports an error matching a supplied value.\n * @param expected -\n */\n toFailTestWith<T>(expected: string | string[] | RegExp): R;\n }\n }\n}\n\nfunction passMessage<T>(cbResult: Success<string>, expected: RegExp | string | string[]): () => string {\n return () =>\n [\n matcherHint(`.not.${matcherName}`, 'callback', 'expectedMessage'),\n printExpectedResult('failure', false, expected),\n ` Received: Callback failed with:\\n>>>>\\n${cbResult.value}\\n<<<<`\n ].join('\\n');\n}\n\nfunction failMessage<T>(cbResult: Failure<string>, expected: RegExp | string | string[]): () => string {\n return () =>\n [\n matcherHint(`${matcherName}`, 'callback', 'expectedMessage'),\n printExpectedResult('failure', true, expected),\n cbResult.message === ''\n ? ' Received: Callback succeeded'\n : ` Received: Callback failed with:\\n>>>>\\n${cbResult.message}\\n<<<<`\n ].join('\\n');\n}\n\nexport default {\n toFailTestWith: function <T>(\n cb: () => void,\n expected: RegExp | string | string[]\n ): jest.CustomMatcherResult {\n const cbResult = predicate(cb, expected);\n if (cbResult.isSuccess()) {\n return { pass: true, message: passMessage(cbResult, expected) };\n }\n\n return { pass: false, message: failMessage(cbResult, expected) };\n }\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/matchers/toFailWith/index.ts"],"names":[],"mappings":";;AAAA,+DAAsF;AACtF,2CAAqD;AAGrD,2DAAiD;AAiBjD,SAAS,WAAW,CAAI,QAAmB,EAAE,QAAqC;IAChF,OAAO,GAAG,EAAE,CACV;QACE,IAAA,gCAAW,EAAC,QAAQ,uBAAW,EAAE,CAAC;QAClC,IAAA,oCAAmB,EAAC,SAAS,EAAE,KAAK,EAAE,QAAQ,CAAC;QAC/C,IAAA,oCAAmB,EAAC,QAAQ,CAAC;KAC9B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjB,CAAC;AAED,SAAS,WAAW,CAAI,QAAmB,EAAE,QAAqC;IAChF,OAAO,GAAG,EAAE,CACV;QACE,IAAA,gCAAW,EAAC,GAAG,uBAAW,EAAE,CAAC;QAC7B,IAAA,oCAAmB,EAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC;QAC9C,IAAA,oCAAmB,EAAC,QAAQ,CAAC;KAC9B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjB,CAAC;AAED,kBAAe;IACb,UAAU,EAAE,UACV,QAAmB,EACnB,QAAqC;QAErC,MAAM,IAAI,GAAG,IAAA,qBAAS,EAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC3C,IAAI,IAAI,EAAE,CAAC;YACT,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC;QAClE,CAAC;QAED,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC;IACnE,CAAC;CACF,CAAC","sourcesContent":["import { printExpectedResult, printReceivedResult } from '../../utils/matcherHelpers';\nimport { matcherName, predicate } from './predicate';\n\nimport { Result } from '@fgv/ts-utils';\nimport { matcherHint } from 'jest-matcher-utils';\n\ndeclare global {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace jest {\n // eslint-disable-next-line no-unused-vars, @typescript-eslint/no-unused-vars, @typescript-eslint/ban-types, @typescript-eslint/naming-convention\n interface Matchers<R, T> {\n /**\n * Use .toFailWith to verify that a Result<T> is a failure\n * that matches a supplied string, RegExp or undefined value\n * @param message -\n */\n toFailWith(message: string | RegExp | undefined): R;\n }\n }\n}\n\nfunction passMessage<T>(received: Result<T>, expected: string | RegExp | undefined): () => string {\n return () =>\n [\n matcherHint(`.not.${matcherName}`),\n printExpectedResult('failure', false, expected),\n printReceivedResult(received)\n ].join('\\n');\n}\n\nfunction failMessage<T>(received: Result<T>, expected: string | RegExp | undefined): () => string {\n return () =>\n [\n matcherHint(`${matcherName}`),\n printExpectedResult('failure', true, expected),\n printReceivedResult(received)\n ].join('\\n');\n}\n\nexport default {\n toFailWith: function <T>(\n received: Result<T>,\n expected: string | RegExp | undefined\n ): jest.CustomMatcherResult {\n const pass = predicate(received, expected);\n if (pass) {\n return { pass: true, message: passMessage(received, expected) };\n }\n\n return { pass: false, message: failMessage(received, expected) };\n }\n};\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/matchers/toFailWith/index.ts"],"names":[],"mappings":";;AAAA,+DAAsF;AACtF,2CAAqD;AAGrD,2DAAiD;AAiBjD,SAAS,WAAW,CAAI,QAAmB,EAAE,QAAqC;IAChF,OAAO,GAAG,EAAE,CACV;QACE,IAAA,gCAAW,EAAC,QAAQ,uBAAW,EAAE,CAAC;QAClC,IAAA,oCAAmB,EAAC,SAAS,EAAE,KAAK,EAAE,QAAQ,CAAC;QAC/C,IAAA,oCAAmB,EAAC,QAAQ,CAAC;KAC9B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjB,CAAC;AAED,SAAS,WAAW,CAAI,QAAmB,EAAE,QAAqC;IAChF,OAAO,GAAG,EAAE,CACV;QACE,IAAA,gCAAW,EAAC,GAAG,uBAAW,EAAE,CAAC;QAC7B,IAAA,oCAAmB,EAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC;QAC9C,IAAA,oCAAmB,EAAC,QAAQ,CAAC;KAC9B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjB,CAAC;AAED,kBAAe;IACb,UAAU,EAAE,UACV,QAAmB,EACnB,QAAqC;QAErC,MAAM,IAAI,GAAG,IAAA,qBAAS,EAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC3C,IAAI,IAAI,EAAE,CAAC;YACT,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC;QAClE,CAAC;QAED,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC;IACnE,CAAC;CACF,CAAC","sourcesContent":["import { printExpectedResult, printReceivedResult } from '../../utils/matcherHelpers';\nimport { matcherName, predicate } from './predicate';\n\nimport { Result } from '@fgv/ts-utils';\nimport { matcherHint } from 'jest-matcher-utils';\n\ndeclare global {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace jest {\n // eslint-disable-next-line no-unused-vars, @typescript-eslint/no-unused-vars, @typescript-eslint/naming-convention\n interface Matchers<R, T> {\n /**\n * Use .toFailWith to verify that a Result<T> is a failure\n * that matches a supplied string, RegExp or undefined value\n * @param message -\n */\n toFailWith(message: string | RegExp | undefined): R;\n }\n }\n}\n\nfunction passMessage<T>(received: Result<T>, expected: string | RegExp | undefined): () => string {\n return () =>\n [\n matcherHint(`.not.${matcherName}`),\n printExpectedResult('failure', false, expected),\n printReceivedResult(received)\n ].join('\\n');\n}\n\nfunction failMessage<T>(received: Result<T>, expected: string | RegExp | undefined): () => string {\n return () =>\n [\n matcherHint(`${matcherName}`),\n printExpectedResult('failure', true, expected),\n printReceivedResult(received)\n ].join('\\n');\n}\n\nexport default {\n toFailWith: function <T>(\n received: Result<T>,\n expected: string | RegExp | undefined\n ): jest.CustomMatcherResult {\n const pass = predicate(received, expected);\n if (pass) {\n return { pass: true, message: passMessage(received, expected) };\n }\n\n return { pass: false, message: failMessage(received, expected) };\n }\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/matchers/toFailWithDetail/index.ts"],"names":[],"mappings":";;AACA,+DAAsG;AACtG,2CAAqD;AAErD,2DAAiD;AAmBjD,SAAS,WAAW,CAClB,QAA+B,EAC/B,eAA4C,EAC5C,cAAkB;IAElB,OAAO,GAAG,EAAE,CACV;QACE,IAAA,gCAAW,EAAC,QAAQ,uBAAW,EAAE,CAAC;QAClC,IAAA,4CAA2B,EAAC,SAAS,EAAE,KAAK,EAAE,eAAe,EAAE,cAAc,CAAC;QAC9E,IAAA,4CAA2B,EAAC,QAAQ,CAAC;KACtC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjB,CAAC;AAED,SAAS,WAAW,CAClB,QAA+B,EAC/B,eAA4C,EAC5C,cAAkB;IAElB,OAAO,GAAG,EAAE,CACV;QACE,IAAA,gCAAW,EAAC,GAAG,uBAAW,EAAE,CAAC;QAC7B,IAAA,4CAA2B,EAAC,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,cAAc,CAAC;QAC7E,IAAA,4CAA2B,EAAC,QAAQ,CAAC;KACtC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjB,CAAC;AAED,kBAAe;IACb,gBAAgB,EAAE,UAChB,QAAW,EACX,eAA4C,EAC5C,cAAmC;QAEnC,MAAM,IAAI,GAAG,IAAA,qBAAS,EAAC,QAAQ,EAAE,eAAe,EAAE,cAAc,CAAC,CAAC;QAClE,IAAI,IAAI,EAAE,CAAC;YACT,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,CAAC,QAAQ,EAAE,eAAe,EAAE,cAAc,CAAC,EAAE,CAAC;QACzF,CAAC;QAED,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,CAAC,QAAQ,EAAE,eAAe,EAAE,cAAc,CAAC,EAAE,CAAC;IAC1F,CAAC;CACF,CAAC","sourcesContent":["import { DetailedResult, ResultDetailType } from '@fgv/ts-utils';\nimport { printExpectedDetailedResult, printReceivedDetailedResult } from '../../utils/matcherHelpers';\nimport { matcherName, predicate } from './predicate';\n\nimport { matcherHint } from 'jest-matcher-utils';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars,no-unused-vars\ndeclare global {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace jest {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, no-unused-vars, @typescript-eslint/ban-types, @typescript-eslint/naming-convention\n interface Matchers<R, T> {\n /**\n * Use .toFailWithDetail to verify that a DetailedResult<T> is\n * a failure that matches both a supplied expected failure message\n * (string, RegExp or undefined) and a supplied failure detail.\n * @param message -\n */\n toFailWithDetail(message: string | RegExp | undefined, detail: ResultDetailType<T>): R;\n }\n }\n}\n\nfunction passMessage<T, TD>(\n received: DetailedResult<T, TD>,\n expectedMessage: string | RegExp | undefined,\n expectedDetail: TD\n): () => string {\n return () =>\n [\n matcherHint(`.not.${matcherName}`),\n printExpectedDetailedResult('failure', false, expectedMessage, expectedDetail),\n printReceivedDetailedResult(received)\n ].join('\\n');\n}\n\nfunction failMessage<T, TD>(\n received: DetailedResult<T, TD>,\n expectedMessage: string | RegExp | undefined,\n expectedDetail: TD\n): () => string {\n return () =>\n [\n matcherHint(`${matcherName}`),\n printExpectedDetailedResult('failure', true, expectedMessage, expectedDetail),\n printReceivedDetailedResult(received)\n ].join('\\n');\n}\n\nexport default {\n toFailWithDetail: function <T extends DetailedResult<unknown, unknown>>(\n received: T,\n expectedMessage: string | RegExp | undefined,\n expectedDetail: ResultDetailType<T>\n ): jest.CustomMatcherResult {\n const pass = predicate(received, expectedMessage, expectedDetail);\n if (pass) {\n return { pass: true, message: passMessage(received, expectedMessage, expectedDetail) };\n }\n\n return { pass: false, message: failMessage(received, expectedMessage, expectedDetail) };\n }\n};\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/matchers/toFailWithDetail/index.ts"],"names":[],"mappings":";;AACA,+DAAsG;AACtG,2CAAqD;AAErD,2DAAiD;AAmBjD,SAAS,WAAW,CAClB,QAA+B,EAC/B,eAA4C,EAC5C,cAAkB;IAElB,OAAO,GAAG,EAAE,CACV;QACE,IAAA,gCAAW,EAAC,QAAQ,uBAAW,EAAE,CAAC;QAClC,IAAA,4CAA2B,EAAC,SAAS,EAAE,KAAK,EAAE,eAAe,EAAE,cAAc,CAAC;QAC9E,IAAA,4CAA2B,EAAC,QAAQ,CAAC;KACtC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjB,CAAC;AAED,SAAS,WAAW,CAClB,QAA+B,EAC/B,eAA4C,EAC5C,cAAkB;IAElB,OAAO,GAAG,EAAE,CACV;QACE,IAAA,gCAAW,EAAC,GAAG,uBAAW,EAAE,CAAC;QAC7B,IAAA,4CAA2B,EAAC,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,cAAc,CAAC;QAC7E,IAAA,4CAA2B,EAAC,QAAQ,CAAC;KACtC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjB,CAAC;AAED,kBAAe;IACb,gBAAgB,EAAE,UAChB,QAAW,EACX,eAA4C,EAC5C,cAAmC;QAEnC,MAAM,IAAI,GAAG,IAAA,qBAAS,EAAC,QAAQ,EAAE,eAAe,EAAE,cAAc,CAAC,CAAC;QAClE,IAAI,IAAI,EAAE,CAAC;YACT,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,CAAC,QAAQ,EAAE,eAAe,EAAE,cAAc,CAAC,EAAE,CAAC;QACzF,CAAC;QAED,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,CAAC,QAAQ,EAAE,eAAe,EAAE,cAAc,CAAC,EAAE,CAAC;IAC1F,CAAC;CACF,CAAC","sourcesContent":["import { DetailedResult, ResultDetailType } from '@fgv/ts-utils';\nimport { printExpectedDetailedResult, printReceivedDetailedResult } from '../../utils/matcherHelpers';\nimport { matcherName, predicate } from './predicate';\n\nimport { matcherHint } from 'jest-matcher-utils';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars,no-unused-vars\ndeclare global {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace jest {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, no-unused-vars, @typescript-eslint/naming-convention\n interface Matchers<R, T> {\n /**\n * Use .toFailWithDetail to verify that a DetailedResult<T> is\n * a failure that matches both a supplied expected failure message\n * (string, RegExp or undefined) and a supplied failure detail.\n * @param message -\n */\n toFailWithDetail(message: string | RegExp | undefined, detail: ResultDetailType<T>): R;\n }\n }\n}\n\nfunction passMessage<T, TD>(\n received: DetailedResult<T, TD>,\n expectedMessage: string | RegExp | undefined,\n expectedDetail: TD\n): () => string {\n return () =>\n [\n matcherHint(`.not.${matcherName}`),\n printExpectedDetailedResult('failure', false, expectedMessage, expectedDetail),\n printReceivedDetailedResult(received)\n ].join('\\n');\n}\n\nfunction failMessage<T, TD>(\n received: DetailedResult<T, TD>,\n expectedMessage: string | RegExp | undefined,\n expectedDetail: TD\n): () => string {\n return () =>\n [\n matcherHint(`${matcherName}`),\n printExpectedDetailedResult('failure', true, expectedMessage, expectedDetail),\n printReceivedDetailedResult(received)\n ].join('\\n');\n}\n\nexport default {\n toFailWithDetail: function <T extends DetailedResult<unknown, unknown>>(\n received: T,\n expectedMessage: string | RegExp | undefined,\n expectedDetail: ResultDetailType<T>\n ): jest.CustomMatcherResult {\n const pass = predicate(received, expectedMessage, expectedDetail);\n if (pass) {\n return { pass: true, message: passMessage(received, expectedMessage, expectedDetail) };\n }\n\n return { pass: false, message: failMessage(received, expectedMessage, expectedDetail) };\n }\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/matchers/toHaveBeenCalledWithArgumentsMatching/index.ts"],"names":[],"mappings":";;AAAA,4CAA+E;AAC/E,2DAA+E;AAC/E,2CAAmE;AAiBnE,SAAS,QAAQ,CAAC,MAAc,EAAE,MAAc;IAC9C,gCAAgC;IAChC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;QACf,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC;IACnC,CAAC;IAED,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;QACjB,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;IAC9B,CAAC;SAAM,IAAI,MAAM,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC;IAC5C,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,EAAE,CAAC;AAChD,CAAC;AAED,SAAS,aAAa,CAAC,KAAa,EAAE,QAAiB,EAAE,MAAe;IACtE,MAAM,WAAW,GAAG,KAAK,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,qBAAqB,EAAE,CAAC,EAAE,oBAAoB,EAAE,CAAC,EAAE,CAAC,CAAC;IACpG,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;IACxC,OAAO,GAAG,YAAY,GAAG,WAAW,KAAK,IAAA,kCAAa,EAAC,QAAQ,CAAC,EAAE,CAAC;AACrE,CAAC;AAED,SAAS,iBAAiB,CAAC,QAAmB,EAAE,MAAe;IAC7D,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;IAElC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,wCAAwC;QACxC,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAChG,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC5C,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,EAAE,KAAK,GAAG,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC;IACtF,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,WAAW,CAAC,QAAmB,EAAE,QAAiB,EAAE,OAAqB;IAChF,OAAO,GAAG,EAAE,CACV;QACE,IAAA,gCAAW,EAAC,QAAQ,uBAAW,EAAE,CAAC;QAClC,2CAA2C;QAC3C,SAAS,IAAA,kCAAa,EAAC,QAAQ,CAAC,EAAE;QAClC,aAAa,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,UAAU;QACjD,GAAG,iBAAiB,CAAC,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC;KAC9C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjB,CAAC;AAED,SAAS,WAAW,CAAC,QAAmB,EAAE,QAAiB;IACzD,OAAO,GAAG,EAAE,CACV;QACE,IAAA,gCAAW,EAAC,GAAG,uBAAW,EAAE,CAAC;QAC7B,wCAAwC;QACxC,SAAS,IAAA,kCAAa,EAAC,QAAQ,CAAC,EAAE;QAClC,aAAa,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,UAAU;QACjD,GAAG,iBAAiB,CAAC,QAAQ,CAAC;KAC/B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjB,CAAC;AAED,SAAS,MAAM,CAAC,QAAiB;IAC/B,IAAI,QAAQ,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAClD,OAAO,CACL,IAAA,sCAA2B,EAAC,iBAAiB,EAAE,QAAkB,CAAC,KAAK,IAAI;YAC3E,IAAA,4BAAiB,EAAC,MAAM,EAAE,QAAkB,CAAC,KAAK,QAAQ,CAC3D,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,kBAAe;IACb,qCAAqC,EAAE,UACrC,QAAmB,EACnB,QAAiB;QAEjB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,oFAAoF,CAAC,CAAC;QACxG,CAAC;QAED,MAAM,OAAO,GAAG,IAAA,qBAAS,EAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC9C,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC;QAC3E,CAAC;QAED,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC;IACnE,CAAC;CACF,CAAC","sourcesContent":["import { getTypeOfProperty, getValueOfPropertyOrDefault } from '@fgv/ts-utils';\nimport { matcherHint, printExpected, printReceived } from 'jest-matcher-utils';\nimport { IMatchedCall, matcherName, predicate } from './predicate';\n\ndeclare global {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace jest {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, no-unused-vars, @typescript-eslint/ban-types, @typescript-eslint/naming-convention\n interface Matchers<R> {\n /**\n * Use .toSucceedWith to verify that a Result<T> is a success\n * and that the result value matches the supplied value\n * @param expected -\n */\n toHaveBeenCalledWithArgumentsMatching(expected: unknown): R;\n }\n }\n}\n\nfunction getRange(length: number, cursor: number): { start: number; end: number } {\n // less than 3 return everything\n if (length < 3) {\n return { start: 0, end: length };\n }\n\n if (cursor === 0) {\n return { start: 0, end: 3 };\n } else if (cursor >= length - 1) {\n return { start: length - 3, end: length };\n }\n return { start: cursor - 1, end: cursor + 2 };\n}\n\nfunction formatOneCall(index: number, received: unknown, cursor: boolean): string {\n const indexString = index.toLocaleString([], { maximumFractionDigits: 0, minimumIntegerDigits: 3 });\n const cursorString = cursor ? '*' : ' ';\n return `${cursorString}${indexString}: ${printReceived(received)}`;\n}\n\nfunction formatArgsMessage(received: jest.Mock, cursor?: number): string[] {\n const calls = received.mock.calls;\n\n if (calls.length > 0) {\n // if there's no cursor, show the last 3\n const { start, end } = getRange(calls.length, cursor !== undefined ? cursor : calls.length - 1);\n const callsToShow = calls.slice(start, end);\n return callsToShow.map((c, i) => formatOneCall(start + i, c, start + i === cursor));\n }\n return [];\n}\n\nfunction passMessage(received: jest.Mock, expected: unknown, matched: IMatchedCall): () => string {\n return () =>\n [\n matcherHint(`.not.${matcherName}`),\n 'Expected no call with arguments matching:',\n ` ${printExpected(expected)}`,\n `Received (${received.mock.calls.length} total):`,\n ...formatArgsMessage(received, matched.index)\n ].join('\\n');\n}\n\nfunction failMessage(received: jest.Mock, expected: unknown): () => string {\n return () =>\n [\n matcherHint(`${matcherName}`),\n 'Expected call with arguments matching:',\n ` ${printExpected(expected)}`,\n `Received (${received.mock.calls.length} total):`,\n ...formatArgsMessage(received)\n ].join('\\n');\n}\n\nfunction isMock(received: unknown): received is jest.Mock {\n if (received !== null && !Array.isArray(received)) {\n return (\n getValueOfPropertyOrDefault('_isMockFunction', received as object) === true &&\n getTypeOfProperty('mock', received as object) === 'object'\n );\n }\n return false;\n}\n\nexport default {\n toHaveBeenCalledWithArgumentsMatching: function (\n received: jest.Mock,\n expected: unknown\n ): jest.CustomMatcherResult {\n if (!isMock(received)) {\n throw new Error('Test error: toHaveBeenCalledWithArgumentsMatching called with other than jest.Mock');\n }\n\n const matched = predicate(received, expected);\n if (matched !== undefined) {\n return { pass: true, message: passMessage(received, expected, matched) };\n }\n\n return { pass: false, message: failMessage(received, expected) };\n }\n};\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/matchers/toHaveBeenCalledWithArgumentsMatching/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { getTypeOfProperty, getValueOfPropertyOrDefault } from '@fgv/ts-utils';\nimport { matcherHint, printExpected, printReceived } from 'jest-matcher-utils';\nimport { IMatchedCall, matcherName, predicate } from './predicate';\n\ndeclare global {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace jest {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, no-unused-vars, @typescript-eslint/naming-convention\n interface Matchers<R> {\n /**\n * Use .toSucceedWith to verify that a Result<T> is a success\n * and that the result value matches the supplied value\n * @param expected -\n */\n toHaveBeenCalledWithArgumentsMatching(expected: unknown): R;\n }\n }\n}\n\nfunction getRange(length: number, cursor: number): { start: number; end: number } {\n // less than 3 return everything\n if (length < 3) {\n return { start: 0, end: length };\n }\n\n if (cursor === 0) {\n return { start: 0, end: 3 };\n } else if (cursor >= length - 1) {\n return { start: length - 3, end: length };\n }\n return { start: cursor - 1, end: cursor + 2 };\n}\n\nfunction formatOneCall(index: number, received: unknown, cursor: boolean): string {\n const indexString = index.toLocaleString([], { maximumFractionDigits: 0, minimumIntegerDigits: 3 });\n const cursorString = cursor ? '*' : ' ';\n return `${cursorString}${indexString}: ${printReceived(received)}`;\n}\n\nfunction formatArgsMessage(received: jest.Mock, cursor?: number): string[] {\n const calls = received.mock.calls;\n\n if (calls.length > 0) {\n // if there's no cursor, show the last 3\n const { start, end } = getRange(calls.length, cursor !== undefined ? cursor : calls.length - 1);\n const callsToShow = calls.slice(start, end);\n return callsToShow.map((c, i) => formatOneCall(start + i, c, start + i === cursor));\n }\n return [];\n}\n\nfunction passMessage(received: jest.Mock, expected: unknown, matched: IMatchedCall): () => string {\n return () =>\n [\n matcherHint(`.not.${matcherName}`),\n 'Expected no call with arguments matching:',\n ` ${printExpected(expected)}`,\n `Received (${received.mock.calls.length} total):`,\n ...formatArgsMessage(received, matched.index)\n ].join('\\n');\n}\n\nfunction failMessage(received: jest.Mock, expected: unknown): () => string {\n return () =>\n [\n matcherHint(`${matcherName}`),\n 'Expected call with arguments matching:',\n ` ${printExpected(expected)}`,\n `Received (${received.mock.calls.length} total):`,\n ...formatArgsMessage(received)\n ].join('\\n');\n}\n\nfunction isMock(received: unknown): received is jest.Mock {\n if (received !== null && !Array.isArray(received)) {\n return (\n getValueOfPropertyOrDefault('_isMockFunction', received as object) === true &&\n getTypeOfProperty('mock', received as object) === 'object'\n );\n }\n return false;\n}\n\nexport default {\n toHaveBeenCalledWithArgumentsMatching: function (\n received: jest.Mock,\n expected: unknown\n ): jest.CustomMatcherResult {\n if (!isMock(received)) {\n throw new Error('Test error: toHaveBeenCalledWithArgumentsMatching called with other than jest.Mock');\n }\n\n const matched = predicate(received, expected);\n if (matched !== undefined) {\n return { pass: true, message: passMessage(received, expected, matched) };\n }\n\n return { pass: false, message: failMessage(received, expected) };\n }\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/matchers/toSucceed/index.ts"],"names":[],"mappings":";;AAAA,+DAAsF;AACtF,2CAAqD;AAGrD,2DAAiD;AAejD,SAAS,WAAW,CAAI,QAAmB;IACzC,OAAO,GAAG,EAAE,CACV;QACE,IAAA,gCAAW,EAAC,QAAQ,uBAAW,EAAE,CAAC;QAClC,IAAA,oCAAmB,EAAC,SAAS,EAAE,KAAK,CAAC;QACrC,IAAA,oCAAmB,EAAC,QAAQ,CAAC;KAC9B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjB,CAAC;AAED,SAAS,WAAW,CAAI,QAAmB;IACzC,OAAO,GAAG,EAAE,CACV,CAAC,IAAA,gCAAW,EAAC,GAAG,uBAAW,EAAE,CAAC,EAAE,IAAA,oCAAmB,EAAC,SAAS,EAAE,IAAI,CAAC,EAAE,IAAA,oCAAmB,EAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CACvG,IAAI,CACL,CAAC;AACN,CAAC;AAED,kBAAe;IACb,SAAS,EAAE,UAAa,QAAmB;QACzC,MAAM,IAAI,GAAG,IAAA,qBAAS,EAAC,QAAQ,CAAC,CAAC;QACjC,IAAI,IAAI,EAAE,CAAC;YACT,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxD,CAAC;QAED,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;IACzD,CAAC;CACF,CAAC","sourcesContent":["import { printExpectedResult, printReceivedResult } from '../../utils/matcherHelpers';\nimport { matcherName, predicate } from './predicate';\n\nimport { Result } from '@fgv/ts-utils';\nimport { matcherHint } from 'jest-matcher-utils';\n\ndeclare global {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace jest {\n // eslint-disable-next-line no-unused-vars, @typescript-eslint/no-unused-vars, @typescript-eslint/ban-types, @typescript-eslint/naming-convention\n interface Matchers<R, T> {\n /**\n * Use .toSucceed to verify that a Result<T> is a success\n */\n toSucceed(): R;\n }\n }\n}\n\nfunction passMessage<T>(received: Result<T>): () => string {\n return () =>\n [\n matcherHint(`.not.${matcherName}`),\n printExpectedResult('success', false),\n printReceivedResult(received)\n ].join('\\n');\n}\n\nfunction failMessage<T>(received: Result<T>): () => string {\n return () =>\n [matcherHint(`${matcherName}`), printExpectedResult('success', true), printReceivedResult(received)].join(\n '\\n'\n );\n}\n\nexport default {\n toSucceed: function <T>(received: Result<T>): jest.CustomMatcherResult {\n const pass = predicate(received);\n if (pass) {\n return { pass: true, message: passMessage(received) };\n }\n\n return { pass: false, message: failMessage(received) };\n }\n};\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/matchers/toSucceed/index.ts"],"names":[],"mappings":";;AAAA,+DAAsF;AACtF,2CAAqD;AAGrD,2DAAiD;AAejD,SAAS,WAAW,CAAI,QAAmB;IACzC,OAAO,GAAG,EAAE,CACV;QACE,IAAA,gCAAW,EAAC,QAAQ,uBAAW,EAAE,CAAC;QAClC,IAAA,oCAAmB,EAAC,SAAS,EAAE,KAAK,CAAC;QACrC,IAAA,oCAAmB,EAAC,QAAQ,CAAC;KAC9B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjB,CAAC;AAED,SAAS,WAAW,CAAI,QAAmB;IACzC,OAAO,GAAG,EAAE,CACV,CAAC,IAAA,gCAAW,EAAC,GAAG,uBAAW,EAAE,CAAC,EAAE,IAAA,oCAAmB,EAAC,SAAS,EAAE,IAAI,CAAC,EAAE,IAAA,oCAAmB,EAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CACvG,IAAI,CACL,CAAC;AACN,CAAC;AAED,kBAAe;IACb,SAAS,EAAE,UAAa,QAAmB;QACzC,MAAM,IAAI,GAAG,IAAA,qBAAS,EAAC,QAAQ,CAAC,CAAC;QACjC,IAAI,IAAI,EAAE,CAAC;YACT,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxD,CAAC;QAED,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;IACzD,CAAC;CACF,CAAC","sourcesContent":["import { printExpectedResult, printReceivedResult } from '../../utils/matcherHelpers';\nimport { matcherName, predicate } from './predicate';\n\nimport { Result } from '@fgv/ts-utils';\nimport { matcherHint } from 'jest-matcher-utils';\n\ndeclare global {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace jest {\n // eslint-disable-next-line no-unused-vars, @typescript-eslint/no-unused-vars, @typescript-eslint/naming-convention\n interface Matchers<R, T> {\n /**\n * Use .toSucceed to verify that a Result<T> is a success\n */\n toSucceed(): R;\n }\n }\n}\n\nfunction passMessage<T>(received: Result<T>): () => string {\n return () =>\n [\n matcherHint(`.not.${matcherName}`),\n printExpectedResult('success', false),\n printReceivedResult(received)\n ].join('\\n');\n}\n\nfunction failMessage<T>(received: Result<T>): () => string {\n return () =>\n [matcherHint(`${matcherName}`), printExpectedResult('success', true), printReceivedResult(received)].join(\n '\\n'\n );\n}\n\nexport default {\n toSucceed: function <T>(received: Result<T>): jest.CustomMatcherResult {\n const pass = predicate(received);\n if (pass) {\n return { pass: true, message: passMessage(received) };\n }\n\n return { pass: false, message: failMessage(received) };\n }\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/matchers/toSucceedAndMatchInlineSnapshot/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAKvC,OAAO,CAAC,MAAM,CAAC;IAEb,UAAU,IAAI,CAAC;QAEb,UAAU,QAAQ,CAAC,CAAC,EAAE,CAAC;YACrB;;;eAGG;YAEH,+BAA+B,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,CAAC,CAAC;SACrE;KACF;CACF;;sCAM4C,CAAC,QACpC,IAAI,CAAC,cAAc,YACf,MAAM,CAAC,CAAC,CAAC,YACT,MAAM,GAAG,SAAS,KAC3B,IAAI,CAAC,mBAAmB;;AAN7B,wBAsBE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/matchers/toSucceedAndMatchInlineSnapshot/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAKvC,OAAO,CAAC,MAAM,CAAC;IAEb,UAAU,IAAI,CAAC;QAEb,UAAU,QAAQ,CAAC,CAAC,EAAE,CAAC;YACrB;;;eAGG;YACH,+BAA+B,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,CAAC,CAAC;SACrE;KACF;CACF;;sCAK4C,CAAC,QACpC,IAAI,CAAC,cAAc,YACf,MAAM,CAAC,CAAC,CAAC,YACT,MAAM,GAAG,SAAS,KAC3B,IAAI,CAAC,mBAAmB;;AAL7B,wBAqBE"}
@@ -5,7 +5,6 @@ const jest_snapshot_1 = require("jest-snapshot");
5
5
  const matcherHelpers_1 = require("../../utils/matcherHelpers");
6
6
  const matcherName = 'toSucceedAndMatchInlineSnapshot';
7
7
  exports.default = {
8
- // eslint-disable-next-line @typescript-eslint/ban-types
9
8
  toSucceedAndMatchInlineSnapshot: function (received, snapshot) {
10
9
  const context = this;
11
10
  if (received.isFailure()) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/matchers/toSucceedAndMatchInlineSnapshot/index.ts"],"names":[],"mappings":";;AAEA,2DAAiD;AACjD,iDAA+D;AAC/D,+DAAiE;AAiBjE,MAAM,WAAW,GAAW,iCAAiC,CAAC;AAE9D,kBAAe;IACb,wDAAwD;IACxD,+BAA+B,EAAE,UAE/B,QAAmB,EACnB,QAA4B;QAE5B,MAAM,OAAO,GAAG,IAA0B,CAAC;QAC3C,IAAI,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC;YACzB,OAAO;gBACL,IAAI,EAAE,KAAK;gBACX,OAAO,EAAE,GAAW,EAAE;oBACpB,OAAO;wBACL,IAAA,gCAAW,EAAC,GAAG,WAAW,EAAE,EAAE,UAAU,CAAC;wBACzC,0EAA0E;wBAC1E,IAAA,oCAAmB,EAAC,QAAQ,CAAC;qBAC9B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACf,CAAC;aACF,CAAC;QACJ,CAAC;QACD,OAAO,qCAAqB,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,KAAK,EAAE,EAAE,EAAE,QAAQ,CAA6B,CAAC;IACvG,CAAC;CACF,CAAC","sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars,no-unused-vars */\nimport { Result } from '@fgv/ts-utils';\nimport { matcherHint } from 'jest-matcher-utils';\nimport { Context, toMatchInlineSnapshot } from 'jest-snapshot';\nimport { printReceivedResult } from '../../utils/matcherHelpers';\n\ndeclare global {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace jest {\n // eslint-disable-next-line no-unused-vars, @typescript-eslint/no-unused-vars, @typescript-eslint/ban-types, @typescript-eslint/naming-convention\n interface Matchers<R, T> {\n /**\n * Use .toSucceedAndMatchInlineSnapshot to verify that a Result<T> is a success\n * and that the result value matches an inline snapshot\n */\n // eslint-disable-next-line @typescript-eslint/ban-types\n toSucceedAndMatchInlineSnapshot<T>(snapshot: string | undefined): R;\n }\n }\n}\n\nconst matcherName: string = 'toSucceedAndMatchInlineSnapshot';\n\nexport default {\n // eslint-disable-next-line @typescript-eslint/ban-types\n toSucceedAndMatchInlineSnapshot: function <T>(\n this: jest.MatcherContext,\n received: Result<T>,\n snapshot: string | undefined\n ): jest.CustomMatcherResult {\n const context = this as unknown as Context;\n if (received.isFailure()) {\n return {\n pass: false,\n message: (): string => {\n return [\n matcherHint(`${matcherName}`, 'callback'),\n 'Expected:\\n Callback to succeed with a result that matches the snapshot',\n printReceivedResult(received)\n ].join('\\n');\n }\n };\n }\n return toMatchInlineSnapshot.call(context, received.value, {}, snapshot) as jest.CustomMatcherResult;\n }\n};\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/matchers/toSucceedAndMatchInlineSnapshot/index.ts"],"names":[],"mappings":";;AAEA,2DAAiD;AACjD,iDAA+D;AAC/D,+DAAiE;AAgBjE,MAAM,WAAW,GAAW,iCAAiC,CAAC;AAE9D,kBAAe;IACb,+BAA+B,EAAE,UAE/B,QAAmB,EACnB,QAA4B;QAE5B,MAAM,OAAO,GAAG,IAA0B,CAAC;QAC3C,IAAI,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC;YACzB,OAAO;gBACL,IAAI,EAAE,KAAK;gBACX,OAAO,EAAE,GAAW,EAAE;oBACpB,OAAO;wBACL,IAAA,gCAAW,EAAC,GAAG,WAAW,EAAE,EAAE,UAAU,CAAC;wBACzC,0EAA0E;wBAC1E,IAAA,oCAAmB,EAAC,QAAQ,CAAC;qBAC9B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACf,CAAC;aACF,CAAC;QACJ,CAAC;QACD,OAAO,qCAAqB,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,KAAK,EAAE,EAAE,EAAE,QAAQ,CAA6B,CAAC;IACvG,CAAC;CACF,CAAC","sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars,no-unused-vars */\nimport { Result } from '@fgv/ts-utils';\nimport { matcherHint } from 'jest-matcher-utils';\nimport { Context, toMatchInlineSnapshot } from 'jest-snapshot';\nimport { printReceivedResult } from '../../utils/matcherHelpers';\n\ndeclare global {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace jest {\n // eslint-disable-next-line no-unused-vars, @typescript-eslint/no-unused-vars, @typescript-eslint/naming-convention\n interface Matchers<R, T> {\n /**\n * Use .toSucceedAndMatchInlineSnapshot to verify that a Result<T> is a success\n * and that the result value matches an inline snapshot\n */\n toSucceedAndMatchInlineSnapshot<T>(snapshot: string | undefined): R;\n }\n }\n}\n\nconst matcherName: string = 'toSucceedAndMatchInlineSnapshot';\n\nexport default {\n toSucceedAndMatchInlineSnapshot: function <T>(\n this: jest.MatcherContext,\n received: Result<T>,\n snapshot: string | undefined\n ): jest.CustomMatcherResult {\n const context = this as unknown as Context;\n if (received.isFailure()) {\n return {\n pass: false,\n message: (): string => {\n return [\n matcherHint(`${matcherName}`, 'callback'),\n 'Expected:\\n Callback to succeed with a result that matches the snapshot',\n printReceivedResult(received)\n ].join('\\n');\n }\n };\n }\n return toMatchInlineSnapshot.call(context, received.value, {}, snapshot) as jest.CustomMatcherResult;\n }\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/matchers/toSucceedAndMatchSnapshot/index.ts"],"names":[],"mappings":";;AAEA,2DAAiD;AACjD,iDAAyD;AACzD,+DAAiE;AAgBjE,MAAM,WAAW,GAAW,2BAA2B,CAAC;AAExD,kBAAe;IACb,yBAAyB,EAAE,UAEzB,QAAmB;QAEnB,MAAM,OAAO,GAAG,IAA0B,CAAC;QAC3C,IAAI,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC;YACzB,OAAO;gBACL,IAAI,EAAE,KAAK;gBACX,OAAO,EAAE,GAAW,EAAE;oBACpB,OAAO;wBACL,IAAA,gCAAW,EAAC,GAAG,WAAW,EAAE,EAAE,UAAU,CAAC;wBACzC,0EAA0E;wBAC1E,IAAA,oCAAmB,EAAC,QAAQ,CAAC;qBAC9B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACf,CAAC;aACF,CAAC;QACJ,CAAC;QACD,OAAO,+BAAe,CAAC,IAAI,CACzB,OAAO,EACP,QAAQ,CAAC,KAAK,EACd,2BAA2B,CACA,CAAC;IAChC,CAAC;CACF,CAAC","sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars,no-unused-vars */\nimport { Result } from '@fgv/ts-utils';\nimport { matcherHint } from 'jest-matcher-utils';\nimport { Context, toMatchSnapshot } from 'jest-snapshot';\nimport { printReceivedResult } from '../../utils/matcherHelpers';\n\ndeclare global {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace jest {\n // eslint-disable-next-line no-unused-vars, @typescript-eslint/no-unused-vars, @typescript-eslint/ban-types, @typescript-eslint/naming-convention\n interface Matchers<R, T> {\n /**\n * Use .toSucceedAndMatchSnapshot to verify that a Result<T> is a success\n * and that the result value matches a stored snapshot\n */\n toSucceedAndMatchSnapshot<T>(): R;\n }\n }\n}\n\nconst matcherName: string = 'toSucceedAndMatchSnapshot';\n\nexport default {\n toSucceedAndMatchSnapshot: function <T>(\n this: jest.MatcherContext,\n received: Result<T>\n ): jest.CustomMatcherResult {\n const context = this as unknown as Context;\n if (received.isFailure()) {\n return {\n pass: false,\n message: (): string => {\n return [\n matcherHint(`${matcherName}`, 'callback'),\n 'Expected:\\n Callback to succeed with a result that matches the snapshot',\n printReceivedResult(received)\n ].join('\\n');\n }\n };\n }\n return toMatchSnapshot.call(\n context,\n received.value,\n 'toSucceedAndMatchSnapshot'\n ) as jest.CustomMatcherResult;\n }\n};\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/matchers/toSucceedAndMatchSnapshot/index.ts"],"names":[],"mappings":";;AAEA,2DAAiD;AACjD,iDAAyD;AACzD,+DAAiE;AAgBjE,MAAM,WAAW,GAAW,2BAA2B,CAAC;AAExD,kBAAe;IACb,yBAAyB,EAAE,UAEzB,QAAmB;QAEnB,MAAM,OAAO,GAAG,IAA0B,CAAC;QAC3C,IAAI,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC;YACzB,OAAO;gBACL,IAAI,EAAE,KAAK;gBACX,OAAO,EAAE,GAAW,EAAE;oBACpB,OAAO;wBACL,IAAA,gCAAW,EAAC,GAAG,WAAW,EAAE,EAAE,UAAU,CAAC;wBACzC,0EAA0E;wBAC1E,IAAA,oCAAmB,EAAC,QAAQ,CAAC;qBAC9B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACf,CAAC;aACF,CAAC;QACJ,CAAC;QACD,OAAO,+BAAe,CAAC,IAAI,CACzB,OAAO,EACP,QAAQ,CAAC,KAAK,EACd,2BAA2B,CACA,CAAC;IAChC,CAAC;CACF,CAAC","sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars,no-unused-vars */\nimport { Result } from '@fgv/ts-utils';\nimport { matcherHint } from 'jest-matcher-utils';\nimport { Context, toMatchSnapshot } from 'jest-snapshot';\nimport { printReceivedResult } from '../../utils/matcherHelpers';\n\ndeclare global {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace jest {\n // eslint-disable-next-line no-unused-vars, @typescript-eslint/no-unused-vars, @typescript-eslint/naming-convention\n interface Matchers<R, T> {\n /**\n * Use .toSucceedAndMatchSnapshot to verify that a Result<T> is a success\n * and that the result value matches a stored snapshot\n */\n toSucceedAndMatchSnapshot<T>(): R;\n }\n }\n}\n\nconst matcherName: string = 'toSucceedAndMatchSnapshot';\n\nexport default {\n toSucceedAndMatchSnapshot: function <T>(\n this: jest.MatcherContext,\n received: Result<T>\n ): jest.CustomMatcherResult {\n const context = this as unknown as Context;\n if (received.isFailure()) {\n return {\n pass: false,\n message: (): string => {\n return [\n matcherHint(`${matcherName}`, 'callback'),\n 'Expected:\\n Callback to succeed with a result that matches the snapshot',\n printReceivedResult(received)\n ].join('\\n');\n }\n };\n }\n return toMatchSnapshot.call(\n context,\n received.value,\n 'toSucceedAndMatchSnapshot'\n ) as jest.CustomMatcherResult;\n }\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/matchers/toSucceedAndSatisfy/index.ts"],"names":[],"mappings":";;AACA,+DAAsF;AACtF,2CAAqD;AAErD,2DAAiD;AAkBjD,SAAS,WAAW,CAAI,QAAmB;IACzC,MAAM,QAAQ,GAAG,qBAAqB,CAAC;IACvC,MAAM,GAAG,GAAG,CAAC,IAAA,oCAAmB,EAAC,QAAQ,CAAC,CAAC,CAAC;IAC5C,GAAG,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IAErC,OAAO,GAAG,EAAE,CACV;QACE,IAAA,gCAAW,EAAC,QAAQ,uBAAW,EAAE,EAAE,QAAQ,EAAE,UAAU,CAAC;QACxD,IAAA,oCAAmB,EAAC,SAAS,EAAE,KAAK,EAAE,QAAQ,CAAC;QAC/C,GAAG,GAAG;KACP,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjB,CAAC;AAED,SAAS,WAAW,CAAI,QAAmB,EAAE,QAAgC;IAC3E,MAAM,QAAQ,GAAG,qBAAqB,CAAC;IACvC,MAAM,GAAG,GAAG,CAAC,IAAA,oCAAmB,EAAC,QAAQ,CAAC,CAAC,CAAC;IAE5C,oBAAoB;IACpB,IAAI,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC;QACzB,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;SAAM,IAAI,QAAQ,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;QACpC,GAAG,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;IACxC,CAAC;SAAM,IAAI,QAAQ,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QACxC,GAAG,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;IACzC,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CAAC,0EAA0E,CAAC,CAAC;IAC9F,CAAC;IAED,OAAO,GAAG,EAAE,CACV;QACE,IAAA,gCAAW,EAAC,GAAG,uBAAW,EAAE,EAAE,QAAQ,EAAE,UAAU,CAAC;QACnD,IAAA,oCAAmB,EAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC;QAC9C,GAAG,GAAG;KACP,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjB,CAAC;AAED,kBAAe;IACb,mBAAmB,EAAE,UAEnB,QAAmB,EACnB,IAAkC;QAElC,yEAAyE;QACzE,0EAA0E;QAC1E,4EAA4E;QAC5E,iDAAiD;QACjD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC;QAC3B,MAAM,QAAQ,GAAG,IAAA,qBAAS,EAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;QACtD,MAAM,IAAI,GAAG,QAAQ,CAAC,SAAS,EAAE,IAAI,QAAQ,CAAC,KAAK,KAAK,IAAI,CAAC;QAC7D,IAAI,IAAI,EAAE,CAAC;YACT,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxD,CAAC;QAED,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC;IACnE,CAAC;CACF,CAAC","sourcesContent":["import { Result, ResultValueType } from '@fgv/ts-utils';\nimport { printExpectedResult, printReceivedResult } from '../../utils/matcherHelpers';\nimport { matcherName, predicate } from './predicate';\n\nimport { matcherHint } from 'jest-matcher-utils';\n\ndeclare global {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace jest {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, no-unused-vars, @typescript-eslint/ban-types, @typescript-eslint/naming-convention\n interface Matchers<R, T> {\n /**\n * Use .toSucceedAndSatisfy to verify that a Result<T> is a success\n * and that the supplied test function returns true (or void)\n * for the resulting value\n * @param test -\n */\n toSucceedAndSatisfy(test: (value: ResultValueType<T>) => boolean | void): R;\n }\n }\n}\n\nfunction passMessage<T>(received: Result<T>): () => string {\n const expected = 'successful callback';\n const got = [printReceivedResult(received)];\n got.push(' Callback returned true');\n\n return () =>\n [\n matcherHint(`.not.${matcherName}`, 'result', 'callback'),\n printExpectedResult('success', false, expected),\n ...got\n ].join('\\n');\n}\n\nfunction failMessage<T>(received: Result<T>, cbResult: Result<boolean | void>): () => string {\n const expected = 'successful callback';\n const got = [printReceivedResult(received)];\n\n /* c8 ignore else */\n if (cbResult.isFailure()) {\n got.push(cbResult.message);\n } else if (cbResult.value === false) {\n got.push(' Callback returned false');\n } else if (cbResult.value === undefined) {\n got.push(' Callback was not invoked');\n } else {\n throw new Error('Internal error: toSucceedAndSatisfy.failMessage passed success with true');\n }\n\n return () =>\n [\n matcherHint(`${matcherName}`, 'result', 'callback'),\n printExpectedResult('success', true, expected),\n ...got\n ].join('\\n');\n}\n\nexport default {\n toSucceedAndSatisfy: function <T>(\n this: jest.MatcherContext,\n received: Result<T>,\n test: (value: T) => boolean | void\n ): jest.CustomMatcherResult {\n // For the normal (not '.not') case, we do not want to capture exceptions\n // so that the IDE can display exactly the line on which the failure case.\n // For the .not case, we want to swallow exceptions or expect failures since\n // we're just testing failure and not the reason.\n const capture = this.isNot;\n const cbResult = predicate(received, test, !!capture);\n const pass = cbResult.isSuccess() && cbResult.value === true;\n if (pass) {\n return { pass: true, message: passMessage(received) };\n }\n\n return { pass: false, message: failMessage(received, cbResult) };\n }\n};\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/matchers/toSucceedAndSatisfy/index.ts"],"names":[],"mappings":";;AACA,+DAAsF;AACtF,2CAAqD;AAErD,2DAAiD;AAkBjD,SAAS,WAAW,CAAI,QAAmB;IACzC,MAAM,QAAQ,GAAG,qBAAqB,CAAC;IACvC,MAAM,GAAG,GAAG,CAAC,IAAA,oCAAmB,EAAC,QAAQ,CAAC,CAAC,CAAC;IAC5C,GAAG,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IAErC,OAAO,GAAG,EAAE,CACV;QACE,IAAA,gCAAW,EAAC,QAAQ,uBAAW,EAAE,EAAE,QAAQ,EAAE,UAAU,CAAC;QACxD,IAAA,oCAAmB,EAAC,SAAS,EAAE,KAAK,EAAE,QAAQ,CAAC;QAC/C,GAAG,GAAG;KACP,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjB,CAAC;AAED,SAAS,WAAW,CAAI,QAAmB,EAAE,QAAgC;IAC3E,MAAM,QAAQ,GAAG,qBAAqB,CAAC;IACvC,MAAM,GAAG,GAAG,CAAC,IAAA,oCAAmB,EAAC,QAAQ,CAAC,CAAC,CAAC;IAE5C,oBAAoB;IACpB,IAAI,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC;QACzB,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;SAAM,IAAI,QAAQ,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;QACpC,GAAG,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;IACxC,CAAC;SAAM,IAAI,QAAQ,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QACxC,GAAG,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;IACzC,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CAAC,0EAA0E,CAAC,CAAC;IAC9F,CAAC;IAED,OAAO,GAAG,EAAE,CACV;QACE,IAAA,gCAAW,EAAC,GAAG,uBAAW,EAAE,EAAE,QAAQ,EAAE,UAAU,CAAC;QACnD,IAAA,oCAAmB,EAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC;QAC9C,GAAG,GAAG;KACP,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjB,CAAC;AAED,kBAAe;IACb,mBAAmB,EAAE,UAEnB,QAAmB,EACnB,IAAkC;QAElC,yEAAyE;QACzE,0EAA0E;QAC1E,4EAA4E;QAC5E,iDAAiD;QACjD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC;QAC3B,MAAM,QAAQ,GAAG,IAAA,qBAAS,EAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;QACtD,MAAM,IAAI,GAAG,QAAQ,CAAC,SAAS,EAAE,IAAI,QAAQ,CAAC,KAAK,KAAK,IAAI,CAAC;QAC7D,IAAI,IAAI,EAAE,CAAC;YACT,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxD,CAAC;QAED,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC;IACnE,CAAC;CACF,CAAC","sourcesContent":["import { Result, ResultValueType } from '@fgv/ts-utils';\nimport { printExpectedResult, printReceivedResult } from '../../utils/matcherHelpers';\nimport { matcherName, predicate } from './predicate';\n\nimport { matcherHint } from 'jest-matcher-utils';\n\ndeclare global {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace jest {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, no-unused-vars, @typescript-eslint/naming-convention\n interface Matchers<R, T> {\n /**\n * Use .toSucceedAndSatisfy to verify that a Result<T> is a success\n * and that the supplied test function returns true (or void)\n * for the resulting value\n * @param test -\n */\n toSucceedAndSatisfy(test: (value: ResultValueType<T>) => boolean | void): R;\n }\n }\n}\n\nfunction passMessage<T>(received: Result<T>): () => string {\n const expected = 'successful callback';\n const got = [printReceivedResult(received)];\n got.push(' Callback returned true');\n\n return () =>\n [\n matcherHint(`.not.${matcherName}`, 'result', 'callback'),\n printExpectedResult('success', false, expected),\n ...got\n ].join('\\n');\n}\n\nfunction failMessage<T>(received: Result<T>, cbResult: Result<boolean | void>): () => string {\n const expected = 'successful callback';\n const got = [printReceivedResult(received)];\n\n /* c8 ignore else */\n if (cbResult.isFailure()) {\n got.push(cbResult.message);\n } else if (cbResult.value === false) {\n got.push(' Callback returned false');\n } else if (cbResult.value === undefined) {\n got.push(' Callback was not invoked');\n } else {\n throw new Error('Internal error: toSucceedAndSatisfy.failMessage passed success with true');\n }\n\n return () =>\n [\n matcherHint(`${matcherName}`, 'result', 'callback'),\n printExpectedResult('success', true, expected),\n ...got\n ].join('\\n');\n}\n\nexport default {\n toSucceedAndSatisfy: function <T>(\n this: jest.MatcherContext,\n received: Result<T>,\n test: (value: T) => boolean | void\n ): jest.CustomMatcherResult {\n // For the normal (not '.not') case, we do not want to capture exceptions\n // so that the IDE can display exactly the line on which the failure case.\n // For the .not case, we want to swallow exceptions or expect failures since\n // we're just testing failure and not the reason.\n const capture = this.isNot;\n const cbResult = predicate(received, test, !!capture);\n const pass = cbResult.isSuccess() && cbResult.value === true;\n if (pass) {\n return { pass: true, message: passMessage(received) };\n }\n\n return { pass: false, message: failMessage(received, cbResult) };\n }\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/matchers/toSucceedWith/index.ts"],"names":[],"mappings":";;AACA,+DAAsF;AACtF,2CAAqD;AAErD,2DAAiD;AAiBjD,SAAS,WAAW,CAClB,QAAW,EACX,QAAqC;IAErC,OAAO,GAAG,EAAE,CACV;QACE,IAAA,gCAAW,EAAC,QAAQ,uBAAW,EAAE,CAAC;QAClC,IAAA,oCAAmB,EAAC,SAAS,EAAE,KAAK,EAAE,QAAQ,CAAC;QAC/C,IAAA,oCAAmB,EAAC,QAAQ,CAAC;KAC9B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjB,CAAC;AAED,SAAS,WAAW,CAClB,QAAW,EACX,QAAqC;IAErC,OAAO,GAAG,EAAE,CACV;QACE,IAAA,gCAAW,EAAC,GAAG,uBAAW,EAAE,CAAC;QAC7B,IAAA,oCAAmB,EAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC;QAC9C,IAAA,oCAAmB,EAAC,QAAQ,CAAC;KAC9B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjB,CAAC;AAED,kBAAe;IACb,aAAa,EAAE,UACb,QAAW,EACX,QAAqC;QAErC,MAAM,IAAI,GAAG,IAAA,qBAAS,EAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC3C,IAAI,IAAI,EAAE,CAAC;YACT,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC;QAClE,CAAC;QAED,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC;IACnE,CAAC;CACF,CAAC","sourcesContent":["import { Result, ResultValueType } from '@fgv/ts-utils';\nimport { printExpectedResult, printReceivedResult } from '../../utils/matcherHelpers';\nimport { matcherName, predicate } from './predicate';\n\nimport { matcherHint } from 'jest-matcher-utils';\n\ndeclare global {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace jest {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, no-unused-vars, @typescript-eslint/ban-types, @typescript-eslint/naming-convention\n interface Matchers<R, T> {\n /**\n * Use .toSucceedWith to verify that a Result\\<T\\> is a success\n * and that the result value matches the supplied value\n * @param expected -\n */\n toSucceedWith(expected: ResultValueType<T> | RegExp): R;\n }\n }\n}\n\nfunction passMessage<T extends Result<unknown>>(\n received: T,\n expected: ResultValueType<T> | RegExp\n): () => string {\n return () =>\n [\n matcherHint(`.not.${matcherName}`),\n printExpectedResult('success', false, expected),\n printReceivedResult(received)\n ].join('\\n');\n}\n\nfunction failMessage<T extends Result<unknown>>(\n received: T,\n expected: ResultValueType<T> | RegExp\n): () => string {\n return () =>\n [\n matcherHint(`${matcherName}`),\n printExpectedResult('success', true, expected),\n printReceivedResult(received)\n ].join('\\n');\n}\n\nexport default {\n toSucceedWith: function <T extends Result<unknown>>(\n received: T,\n expected: ResultValueType<T> | RegExp\n ): jest.CustomMatcherResult {\n const pass = predicate(received, expected);\n if (pass) {\n return { pass: true, message: passMessage(received, expected) };\n }\n\n return { pass: false, message: failMessage(received, expected) };\n }\n};\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/matchers/toSucceedWith/index.ts"],"names":[],"mappings":";;AACA,+DAAsF;AACtF,2CAAqD;AAErD,2DAAiD;AAiBjD,SAAS,WAAW,CAClB,QAAW,EACX,QAAqC;IAErC,OAAO,GAAG,EAAE,CACV;QACE,IAAA,gCAAW,EAAC,QAAQ,uBAAW,EAAE,CAAC;QAClC,IAAA,oCAAmB,EAAC,SAAS,EAAE,KAAK,EAAE,QAAQ,CAAC;QAC/C,IAAA,oCAAmB,EAAC,QAAQ,CAAC;KAC9B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjB,CAAC;AAED,SAAS,WAAW,CAClB,QAAW,EACX,QAAqC;IAErC,OAAO,GAAG,EAAE,CACV;QACE,IAAA,gCAAW,EAAC,GAAG,uBAAW,EAAE,CAAC;QAC7B,IAAA,oCAAmB,EAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC;QAC9C,IAAA,oCAAmB,EAAC,QAAQ,CAAC;KAC9B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjB,CAAC;AAED,kBAAe;IACb,aAAa,EAAE,UACb,QAAW,EACX,QAAqC;QAErC,MAAM,IAAI,GAAG,IAAA,qBAAS,EAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC3C,IAAI,IAAI,EAAE,CAAC;YACT,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC;QAClE,CAAC;QAED,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC;IACnE,CAAC;CACF,CAAC","sourcesContent":["import { Result, ResultValueType } from '@fgv/ts-utils';\nimport { printExpectedResult, printReceivedResult } from '../../utils/matcherHelpers';\nimport { matcherName, predicate } from './predicate';\n\nimport { matcherHint } from 'jest-matcher-utils';\n\ndeclare global {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace jest {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, no-unused-vars, @typescript-eslint/naming-convention\n interface Matchers<R, T> {\n /**\n * Use .toSucceedWith to verify that a Result\\<T\\> is a success\n * and that the result value matches the supplied value\n * @param expected -\n */\n toSucceedWith(expected: ResultValueType<T> | RegExp): R;\n }\n }\n}\n\nfunction passMessage<T extends Result<unknown>>(\n received: T,\n expected: ResultValueType<T> | RegExp\n): () => string {\n return () =>\n [\n matcherHint(`.not.${matcherName}`),\n printExpectedResult('success', false, expected),\n printReceivedResult(received)\n ].join('\\n');\n}\n\nfunction failMessage<T extends Result<unknown>>(\n received: T,\n expected: ResultValueType<T> | RegExp\n): () => string {\n return () =>\n [\n matcherHint(`${matcherName}`),\n printExpectedResult('success', true, expected),\n printReceivedResult(received)\n ].join('\\n');\n}\n\nexport default {\n toSucceedWith: function <T extends Result<unknown>>(\n received: T,\n expected: ResultValueType<T> | RegExp\n ): jest.CustomMatcherResult {\n const pass = predicate(received, expected);\n if (pass) {\n return { pass: true, message: passMessage(received, expected) };\n }\n\n return { pass: false, message: failMessage(received, expected) };\n }\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/matchers/toSucceedWithDetail/index.ts"],"names":[],"mappings":";;AACA,+DAAsG;AACtG,2CAAqD;AAErD,2DAAiD;AAkBjD,SAAS,WAAW,CAClB,QAAW,EACX,QAAqC,EACrC,cAA+C;IAE/C,OAAO,GAAG,EAAE,CACV;QACE,IAAA,gCAAW,EAAC,QAAQ,uBAAW,EAAE,CAAC;QAClC,IAAA,4CAA2B,EAAC,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,cAAc,CAAC;QACvE,IAAA,4CAA2B,EAAC,QAAQ,CAAC;KACtC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjB,CAAC;AAED,SAAS,WAAW,CAClB,QAAW,EACX,QAAqC,EACrC,cAA+C;IAE/C,OAAO,GAAG,EAAE,CACV;QACE,IAAA,gCAAW,EAAC,GAAG,uBAAW,EAAE,CAAC;QAC7B,IAAA,4CAA2B,EAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,cAAc,CAAC;QACtE,IAAA,4CAA2B,EAAC,QAAQ,CAAC;KACtC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjB,CAAC;AAED,kBAAe;IACb,mBAAmB,EAAE,UACnB,QAAW,EACX,QAAqC,EACrC,MAAuC;QAEvC,MAAM,IAAI,GAAG,IAAA,qBAAS,EAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QACnD,IAAI,IAAI,EAAE,CAAC;YACT,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC;QAC1E,CAAC;QAED,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC;IAC3E,CAAC;CACF,CAAC","sourcesContent":["import { DetailedResult, ResultDetailType, ResultValueType } from '@fgv/ts-utils';\nimport { printExpectedDetailedResult, printReceivedDetailedResult } from '../../utils/matcherHelpers';\nimport { matcherName, predicate } from './predicate';\n\nimport { matcherHint } from 'jest-matcher-utils';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars, no-unused-vars\ndeclare global {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace jest {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, no-unused-vars, @typescript-eslint/ban-types, @typescript-eslint/naming-convention\n interface Matchers<R, T> {\n /**\n * Use .toSucceedWithDetail to verify that a DetailedResult\\<T, TD\\> is\n * a success and that the result value and detail matches the supplied\n * values\n */\n toSucceedWithDetail(expected: ResultValueType<T> | RegExp, detail: ResultDetailType<T> | undefined): R;\n }\n }\n}\n\nfunction passMessage<T extends DetailedResult<unknown, unknown>>(\n received: T,\n expected: ResultValueType<T> | RegExp,\n expectedDetail: ResultDetailType<T> | undefined\n): () => string {\n return () =>\n [\n matcherHint(`.not.${matcherName}`),\n printExpectedDetailedResult('success', false, expected, expectedDetail),\n printReceivedDetailedResult(received)\n ].join('\\n');\n}\n\nfunction failMessage<T extends DetailedResult<unknown, unknown>>(\n received: T,\n expected: ResultValueType<T> | RegExp,\n expectedDetail: ResultDetailType<T> | undefined\n): () => string {\n return () =>\n [\n matcherHint(`${matcherName}`),\n printExpectedDetailedResult('success', true, expected, expectedDetail),\n printReceivedDetailedResult(received)\n ].join('\\n');\n}\n\nexport default {\n toSucceedWithDetail: function <T extends DetailedResult<unknown, unknown>>(\n received: T,\n expected: ResultValueType<T> | RegExp,\n detail: ResultDetailType<T> | undefined\n ): jest.CustomMatcherResult {\n const pass = predicate(received, expected, detail);\n if (pass) {\n return { pass: true, message: passMessage(received, expected, detail) };\n }\n\n return { pass: false, message: failMessage(received, expected, detail) };\n }\n};\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/matchers/toSucceedWithDetail/index.ts"],"names":[],"mappings":";;AACA,+DAAsG;AACtG,2CAAqD;AAErD,2DAAiD;AAkBjD,SAAS,WAAW,CAClB,QAAW,EACX,QAAqC,EACrC,cAA+C;IAE/C,OAAO,GAAG,EAAE,CACV;QACE,IAAA,gCAAW,EAAC,QAAQ,uBAAW,EAAE,CAAC;QAClC,IAAA,4CAA2B,EAAC,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,cAAc,CAAC;QACvE,IAAA,4CAA2B,EAAC,QAAQ,CAAC;KACtC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjB,CAAC;AAED,SAAS,WAAW,CAClB,QAAW,EACX,QAAqC,EACrC,cAA+C;IAE/C,OAAO,GAAG,EAAE,CACV;QACE,IAAA,gCAAW,EAAC,GAAG,uBAAW,EAAE,CAAC;QAC7B,IAAA,4CAA2B,EAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,cAAc,CAAC;QACtE,IAAA,4CAA2B,EAAC,QAAQ,CAAC;KACtC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjB,CAAC;AAED,kBAAe;IACb,mBAAmB,EAAE,UACnB,QAAW,EACX,QAAqC,EACrC,MAAuC;QAEvC,MAAM,IAAI,GAAG,IAAA,qBAAS,EAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QACnD,IAAI,IAAI,EAAE,CAAC;YACT,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC;QAC1E,CAAC;QAED,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC;IAC3E,CAAC;CACF,CAAC","sourcesContent":["import { DetailedResult, ResultDetailType, ResultValueType } from '@fgv/ts-utils';\nimport { printExpectedDetailedResult, printReceivedDetailedResult } from '../../utils/matcherHelpers';\nimport { matcherName, predicate } from './predicate';\n\nimport { matcherHint } from 'jest-matcher-utils';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars, no-unused-vars\ndeclare global {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace jest {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, no-unused-vars, @typescript-eslint/naming-convention\n interface Matchers<R, T> {\n /**\n * Use .toSucceedWithDetail to verify that a DetailedResult\\<T, TD\\> is\n * a success and that the result value and detail matches the supplied\n * values\n */\n toSucceedWithDetail(expected: ResultValueType<T> | RegExp, detail: ResultDetailType<T> | undefined): R;\n }\n }\n}\n\nfunction passMessage<T extends DetailedResult<unknown, unknown>>(\n received: T,\n expected: ResultValueType<T> | RegExp,\n expectedDetail: ResultDetailType<T> | undefined\n): () => string {\n return () =>\n [\n matcherHint(`.not.${matcherName}`),\n printExpectedDetailedResult('success', false, expected, expectedDetail),\n printReceivedDetailedResult(received)\n ].join('\\n');\n}\n\nfunction failMessage<T extends DetailedResult<unknown, unknown>>(\n received: T,\n expected: ResultValueType<T> | RegExp,\n expectedDetail: ResultDetailType<T> | undefined\n): () => string {\n return () =>\n [\n matcherHint(`${matcherName}`),\n printExpectedDetailedResult('success', true, expected, expectedDetail),\n printReceivedDetailedResult(received)\n ].join('\\n');\n}\n\nexport default {\n toSucceedWithDetail: function <T extends DetailedResult<unknown, unknown>>(\n received: T,\n expected: ResultValueType<T> | RegExp,\n detail: ResultDetailType<T> | undefined\n ): jest.CustomMatcherResult {\n const pass = predicate(received, expected, detail);\n if (pass) {\n return { pass: true, message: passMessage(received, expected, detail) };\n }\n\n return { pass: false, message: failMessage(received, expected, detail) };\n }\n};\n"]}
@@ -5,7 +5,7 @@
5
5
  "toolPackages": [
6
6
  {
7
7
  "packageName": "@microsoft/api-extractor",
8
- "packageVersion": "7.49.1"
8
+ "packageVersion": "7.52.8"
9
9
  }
10
10
  ]
11
11
  }
@@ -1,3 +1,4 @@
1
+ export type Function = (...args: any[]) => any;
1
2
  import { ResultDetailType, ResultValueType } from '@fgv/ts-utils';
2
3
  declare global {
3
4
  namespace jest {
@@ -54,6 +55,7 @@ declare global {
54
55
  * @param message -
55
56
  * @param detail -
56
57
  */
58
+ toFailWithDetail<TDetail>(message: string | RegExp, detail: TDetail): R;
57
59
  toFailWithDetail(message: string | RegExp | undefined, detail: ResultDetailType<T>): R;
58
60
  /**
59
61
  * Use .toFailTest to test a custom matcher by
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAGlE,OAAO,CAAC,MAAM,CAAC;IAEb,UAAU,IAAI,CAAC;QAEb,UAAU,QAAQ,CAAC,CAAC,EAAE,CAAC;YACrB;;eAEG;YACH,SAAS,IAAI,CAAC,CAAC;YAEf;;;;eAIG;YACH,aAAa,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC;YAExD;;;;;;eAMG;YACH,mBAAmB,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,SAAS,GAAG,CAAC,CAAC;YAE9F;;;;;eAKG;YACH,mBAAmB,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,KAAK,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC;YAE5E;;;eAGG;YAEH,+BAA+B,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,CAAC,CAAC;YAEjE;;;eAGG;YACH,yBAAyB,IAAI,CAAC,CAAC;YAE/B;;eAEG;YACH,MAAM,IAAI,CAAC,CAAC;YAEZ;;;;eAIG;YACH,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,CAAC,CAAC;YAErD;;;;;;eAMG;YACH,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YAEvF;;;eAGG;YACH,UAAU,IAAI,CAAC,CAAC;YAEhB;;;;eAIG;YACH,0BAA0B,IAAI,CAAC,CAAC;YAEhC;;;;;eAKG;YACH,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC,CAAC;YAExD;;;;eAIG;YACH,qCAAqC,CAAC,QAAQ,EAAE,OAAO,GAAG,CAAC,CAAC;SAC7D;KACF;CACF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC;AAG/C,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAGlE,OAAO,CAAC,MAAM,CAAC;IAEb,UAAU,IAAI,CAAC;QAEb,UAAU,QAAQ,CAAC,CAAC,EAAE,CAAC;YACrB;;eAEG;YACH,SAAS,IAAI,CAAC,CAAC;YAEf;;;;eAIG;YACH,aAAa,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC;YAExD;;;;;;eAMG;YACH,mBAAmB,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,SAAS,GAAG,CAAC,CAAC;YAE9F;;;;;eAKG;YACH,mBAAmB,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,KAAK,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC;YAE5E;;;eAGG;YACH,+BAA+B,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,CAAC,CAAC;YAEjE;;;eAGG;YACH,yBAAyB,IAAI,CAAC,CAAC;YAE/B;;eAEG;YACH,MAAM,IAAI,CAAC,CAAC;YAEZ;;;;eAIG;YACH,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,CAAC,CAAC;YAErD;;;;;;eAMG;YACH,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,CAAC,CAAC;YACxE,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YAEvF;;;eAGG;YACH,UAAU,IAAI,CAAC,CAAC;YAEhB;;;;eAIG;YACH,0BAA0B,IAAI,CAAC,CAAC;YAEhC;;;;;eAKG;YACH,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC,CAAC;YAExD;;;;eAIG;YACH,qCAAqC,CAAC,QAAQ,EAAE,OAAO,GAAG,CAAC,CAAC;SAC7D;KACF;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";AAAA,6BAA6B","sourcesContent":["/// <reference types=\"jest\"/>\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars,no-unused-vars\nimport { ResultDetailType, ResultValueType } from '@fgv/ts-utils';\n\n/* eslint-disable @typescript-eslint/no-unused-vars, no-unused-vars */\ndeclare global {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace jest {\n // eslint-disable-next-line @typescript-eslint/ban-types,@typescript-eslint/naming-convention\n interface Matchers<R, T> {\n /**\n * Use .toSucceed to verify that a Result\\<T\\> is a success\n */\n toSucceed(): R;\n\n /**\n * Use .toSucceedWith to verify that a Result\\<T\\> is a success\n * and that the result value matches the supplied value\n * @param expected -\n */\n toSucceedWith(expected: ResultValueType<T> | RegExp): R;\n\n /**\n * Use .toSucceedWithDetail to verify that a DetailedResult\\<T, TD\\> is\n * a success and that the result value and detail matches the supplied\n * values\n * @param expected -\n * @param detail -\n */\n toSucceedWithDetail(expected: ResultValueType<T>, detail: ResultDetailType<T> | undefined): R;\n\n /**\n * Use .toSucceedAndSatisfy to verify that a Result\\<T\\> is a success\n * and that the supplied test function returns true (or void)\n * for the resulting value\n * @param test -\n */\n toSucceedAndSatisfy(test: (value: ResultValueType<T>) => boolean | void): R;\n\n /**\n * Use .toSucceedAndMatchInlineSnapshot to verify that a Result\\<T\\> is a success\n * and that the result value matches an inline snapshot\n */\n // eslint-disable-next-line @typescript-eslint/ban-types\n toSucceedAndMatchInlineSnapshot(snapshot: string | undefined): R;\n\n /**\n * Use .toSucceedAndMatchSnapshot to verify that a Result\\<T\\> is a success\n * and that the result value matches a stored snapshot\n */\n toSucceedAndMatchSnapshot(): R;\n\n /**\n * Use .toFail to verify that a Result\\<T\\> is a failure\n */\n toFail(): R;\n\n /**\n * Use .toFailWith to verify that a Result\\<T\\> is a failure\n * that matches a supplied string, RegExp or undefined value\n * @param message -\n */\n toFailWith(expected: string | RegExp | undefined): R;\n\n /**\n * Use .toFailWithDetail to verify that a DetailedResult\\<T\\> is\n * a failure that matches both a supplied expected failure value\n * (string, RegExp or undefined) and a supplied failure detail.\n * @param message -\n * @param detail -\n */\n toFailWithDetail(message: string | RegExp | undefined, detail: ResultDetailType<T>): R;\n\n /**\n * Use .toFailTest to test a custom matcher by\n * verifying that a test case fails.\n */\n toFailTest(): R;\n\n /**\n * Use .toFailTestWith to test a custom matcher by\n * verifying that a test case fails as expected and\n * reports an error matching a stored snapshot.\n */\n toFailTestAndMatchSnapshot(): R;\n\n /**\n * Use .toFailTestWith to test a custom matcher by\n * verifying that a test case fails as expected and\n * reports an error matching a supplied value.\n * @param expected -\n */\n toFailTestWith(expected: string | string[] | RegExp): R;\n\n /**\n * Use .toSucceedWith to verify that a Result\\<T\\> is a success\n * and that the result value matches the supplied value\n * @param expected -\n */\n toHaveBeenCalledWithArgumentsMatching(expected: unknown): R;\n }\n }\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";AAAA,6BAA6B","sourcesContent":["/// <reference types=\"jest\"/>\n\n// eslint-disable-next-line @typescript-eslint/naming-convention, @typescript-eslint/no-explicit-any\nexport type Function = (...args: any[]) => any;\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars,no-unused-vars\nimport { ResultDetailType, ResultValueType } from '@fgv/ts-utils';\n\n/* eslint-disable @typescript-eslint/no-unused-vars,no-unused-vars */\ndeclare global {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace jest {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n interface Matchers<R, T> {\n /**\n * Use .toSucceed to verify that a Result\\<T\\> is a success\n */\n toSucceed(): R;\n\n /**\n * Use .toSucceedWith to verify that a Result\\<T\\> is a success\n * and that the result value matches the supplied value\n * @param expected -\n */\n toSucceedWith(expected: ResultValueType<T> | RegExp): R;\n\n /**\n * Use .toSucceedWithDetail to verify that a DetailedResult\\<T, TD\\> is\n * a success and that the result value and detail matches the supplied\n * values\n * @param expected -\n * @param detail -\n */\n toSucceedWithDetail(expected: ResultValueType<T>, detail: ResultDetailType<T> | undefined): R;\n\n /**\n * Use .toSucceedAndSatisfy to verify that a Result\\<T\\> is a success\n * and that the supplied test function returns true (or void)\n * for the resulting value\n * @param test -\n */\n toSucceedAndSatisfy(test: (value: ResultValueType<T>) => boolean | void): R;\n\n /**\n * Use .toSucceedAndMatchInlineSnapshot to verify that a Result\\<T\\> is a success\n * and that the result value matches an inline snapshot\n */\n toSucceedAndMatchInlineSnapshot(snapshot: string | undefined): R;\n\n /**\n * Use .toSucceedAndMatchSnapshot to verify that a Result\\<T\\> is a success\n * and that the result value matches a stored snapshot\n */\n toSucceedAndMatchSnapshot(): R;\n\n /**\n * Use .toFail to verify that a Result\\<T\\> is a failure\n */\n toFail(): R;\n\n /**\n * Use .toFailWith to verify that a Result\\<T\\> is a failure\n * that matches a supplied string, RegExp or undefined value\n * @param message -\n */\n toFailWith(expected: string | RegExp | undefined): R;\n\n /**\n * Use .toFailWithDetail to verify that a DetailedResult\\<T\\> is\n * a failure that matches both a supplied expected failure value\n * (string, RegExp or undefined) and a supplied failure detail.\n * @param message -\n * @param detail -\n */\n toFailWithDetail<TDetail>(message: string | RegExp, detail: TDetail): R;\n toFailWithDetail(message: string | RegExp | undefined, detail: ResultDetailType<T>): R;\n\n /**\n * Use .toFailTest to test a custom matcher by\n * verifying that a test case fails.\n */\n toFailTest(): R;\n\n /**\n * Use .toFailTestWith to test a custom matcher by\n * verifying that a test case fails as expected and\n * reports an error matching a stored snapshot.\n */\n toFailTestAndMatchSnapshot(): R;\n\n /**\n * Use .toFailTestWith to test a custom matcher by\n * verifying that a test case fails as expected and\n * reports an error matching a supplied value.\n * @param expected -\n */\n toFailTestWith(expected: string | string[] | RegExp): R;\n\n /**\n * Use .toSucceedWith to verify that a Result\\<T\\> is a success\n * and that the result value matches the supplied value\n * @param expected -\n */\n toHaveBeenCalledWithArgumentsMatching(expected: unknown): R;\n }\n }\n}\n"]}
package/package.json CHANGED
@@ -1,61 +1,61 @@
1
1
  {
2
- "name": "@fgv/ts-utils-jest",
3
- "version": "4.5.0",
4
- "description": "Custom matchers for ts-utils result class",
5
- "main": "lib/index.js",
6
- "keywords": [
7
- "typescript",
8
- "ts-utils",
9
- "test"
10
- ],
11
- "author": "Erik Fortune",
12
- "license": "MIT",
13
- "bugs": {
14
- "url": "https://github.com/ErikFortune/fgv/issues"
15
- },
16
- "homepage": "https://github.com/ErikFortune/fgv/tree/main/libraries/ts-utils-jest#readme",
17
- "dependencies": {
18
- "@jest/expect-utils": "^29.7.0",
19
- "expect": "^29.7.0",
20
- "jest-matcher-utils": "^29.7.0",
21
- "jest-snapshot": "~29.7.0"
22
- },
23
- "devDependencies": {
24
- "@fgv/ts-utils": "4.5.0",
25
- "@types/jest": "^29.5.14",
26
- "@types/node": "^20.14.9",
27
- "@typescript-eslint/eslint-plugin": "^7.14.1",
28
- "@typescript-eslint/parser": "^7.14.1",
29
- "eslint": "^8.57.0",
30
- "eslint-plugin-import": "^2.31.0",
31
- "eslint-plugin-node": "^11.1.0",
32
- "eslint-plugin-promise": "^6.2.0",
33
- "jest": "^29.7.0",
34
- "prettier": "^3.4.2",
35
- "rimraf": "^5.0.7",
36
- "ts-jest": "^29.2.5",
37
- "ts-node": "^10.9.2",
38
- "typescript": "^5.7.3",
39
- "@rushstack/heft": "~0.68.13",
40
- "@rushstack/eslint-config": "~3.7.0",
41
- "@rushstack/heft-jest-plugin": "~0.14.3",
42
- "@rushstack/heft-node-rig": "~2.6.49",
43
- "@types/heft-jest": "1.0.6",
44
- "eslint-plugin-n": "^16.6.2",
45
- "eslint-plugin-tsdoc": "~0.4.0"
46
- },
47
- "peerDependencies": {
48
- "@fgv/ts-utils": "4.5.0"
49
- },
50
- "scripts": {
51
- "build": "heft build --clean",
52
- "clean": "heft clean",
53
- "test": "heft test --clean",
54
- "test-handles": "jest --runInBand --detectOpenHandles",
55
- "clean-jest": "jest --clear-cache",
56
- "update-snapshot": "jest --updateSnapshot",
57
- "coverage": "jest --coverage",
58
- "lint": "eslint src --ext .ts",
59
- "fixlint": "eslint src --ext .ts --fix"
60
- }
61
- }
2
+ "name": "@fgv/ts-utils-jest",
3
+ "version": "5.0.0-0",
4
+ "description": "Custom matchers for ts-utils result class",
5
+ "main": "lib/index.js",
6
+ "keywords": [
7
+ "typescript",
8
+ "ts-utils",
9
+ "test"
10
+ ],
11
+ "author": "Erik Fortune",
12
+ "license": "MIT",
13
+ "bugs": {
14
+ "url": "https://github.com/ErikFortune/fgv/issues"
15
+ },
16
+ "homepage": "https://github.com/ErikFortune/fgv/tree/main/libraries/ts-utils-jest#readme",
17
+ "dependencies": {
18
+ "@jest/expect-utils": "^29.7.0",
19
+ "expect": "^29.7.0",
20
+ "jest-matcher-utils": "^29.7.0",
21
+ "jest-snapshot": "~29.7.0"
22
+ },
23
+ "devDependencies": {
24
+ "@types/jest": "^29.5.14",
25
+ "@types/node": "^20.14.9",
26
+ "@typescript-eslint/eslint-plugin": "^7.14.1",
27
+ "@typescript-eslint/parser": "^7.14.1",
28
+ "eslint": "^8.57.0",
29
+ "eslint-plugin-import": "^2.32.0",
30
+ "eslint-plugin-node": "^11.1.0",
31
+ "eslint-plugin-promise": "^6.2.0",
32
+ "jest": "^29.7.0",
33
+ "prettier": "^3.6.2",
34
+ "rimraf": "^5.0.7",
35
+ "ts-jest": "^29.4.0",
36
+ "ts-node": "^10.9.2",
37
+ "typescript": "^5.7.3",
38
+ "@rushstack/heft": "~0.74.0",
39
+ "@rushstack/eslint-config": "~4.4.0",
40
+ "@rushstack/heft-jest-plugin": "~0.16.9",
41
+ "@rushstack/heft-node-rig": "~2.9.0",
42
+ "@types/heft-jest": "1.0.6",
43
+ "eslint-plugin-n": "^16.6.2",
44
+ "eslint-plugin-tsdoc": "~0.4.0",
45
+ "@fgv/ts-utils": "5.0.0-0"
46
+ },
47
+ "peerDependencies": {
48
+ "@fgv/ts-utils": "5.0.0-0"
49
+ },
50
+ "scripts": {
51
+ "build": "heft build --clean",
52
+ "clean": "heft clean",
53
+ "test": "heft test --clean",
54
+ "test-handles": "jest --runInBand --detectOpenHandles",
55
+ "clean-jest": "jest --clear-cache",
56
+ "update-snapshot": "jest --updateSnapshot",
57
+ "coverage": "jest --coverage",
58
+ "lint": "eslint src --ext .ts",
59
+ "fixlint": "eslint src --ext .ts --fix"
60
+ }
61
+ }