@mockmaster/core 1.0.2 → 1.0.4

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/README.md CHANGED
@@ -75,6 +75,34 @@ Creates a mock object with path, method, and response.
75
75
 
76
76
  Finds the first mock matching the given path and method.
77
77
 
78
+ ### `extractParams(pattern: string, path: string): Record<string, string> | null`
79
+
80
+ Extracts parameter values from a path.
81
+
82
+ ```typescript
83
+ import { extractParams } from '@mockmaster/core'
84
+
85
+ const params = extractParams('/users/:id', '/users/123')
86
+ // { id: '123' }
87
+
88
+ const params2 = extractParams('/users/:userId/posts/:postId', '/users/1/posts/42')
89
+ // { userId: '1', postId: '42' }
90
+ ```
91
+
92
+ ### `createMatcher(patterns: string[]): (path: string) => boolean`
93
+
94
+ Creates a matcher function from multiple patterns.
95
+
96
+ ```typescript
97
+ import { createMatcher } from '@mockmaster/core'
98
+
99
+ const matcher = createMatcher(['/api/*', '/users/:id'])
100
+
101
+ matcher('/api/users') // true
102
+ matcher('/users/123') // true
103
+ matcher('/posts/456') // false
104
+ ```
105
+
78
106
  ## Links
79
107
 
80
108
  - [Main Documentation](https://github.com/PxPerfectMike/MockMaster)
package/dist/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export * from './types';
2
- export { matchPath, parsePathParams } from './match';
2
+ export { matchPath, parsePathParams, createMatcher } from './match';
3
+ export { parsePathParams as extractParams } from './match';
3
4
  export { matchMethod, findMatchingMock } from './mock';
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,cAAc,SAAS,CAAA;AAGvB,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAGpD,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,cAAc,SAAS,CAAA;AAGvB,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAGnE,OAAO,EAAE,eAAe,IAAI,aAAa,EAAE,MAAM,SAAS,CAAA;AAG1D,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAA"}
package/dist/index.js CHANGED
@@ -3,7 +3,9 @@
3
3
  // Type definitions
4
4
  export * from './types';
5
5
  // Path matching utilities
6
- export { matchPath, parsePathParams } from './match';
6
+ export { matchPath, parsePathParams, createMatcher } from './match';
7
+ // Export aliases for backward compatibility with documentation
8
+ export { parsePathParams as extractParams } from './match';
7
9
  // Mock management utilities
8
10
  export { matchMethod, findMatchingMock } from './mock';
9
11
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,sBAAsB;AACtB,yDAAyD;AAEzD,mBAAmB;AACnB,cAAc,SAAS,CAAA;AAEvB,0BAA0B;AAC1B,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAEpD,4BAA4B;AAC5B,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,sBAAsB;AACtB,yDAAyD;AAEzD,mBAAmB;AACnB,cAAc,SAAS,CAAA;AAEvB,0BAA0B;AAC1B,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAEnE,+DAA+D;AAC/D,OAAO,EAAE,eAAe,IAAI,aAAa,EAAE,MAAM,SAAS,CAAA;AAE1D,4BAA4B;AAC5B,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAA"}
package/dist/match.d.ts CHANGED
@@ -12,4 +12,10 @@ export declare const matchPath: (pattern: string, path: string) => boolean;
12
12
  * @returns Record of parameter names to values
13
13
  */
14
14
  export declare const parsePathParams: (pattern: string, path: string) => Record<string, string>;
15
+ /**
16
+ * Creates a reusable matcher function for multiple path patterns
17
+ * @param patterns - Array of path patterns to match against
18
+ * @returns A function that tests if a path matches any pattern
19
+ */
20
+ export declare const createMatcher: (patterns: string[]) => ((path: string) => boolean);
15
21
  //# sourceMappingURL=match.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"match.d.ts","sourceRoot":"","sources":["../src/match.ts"],"names":[],"mappings":"AAmCA;;;;;GAKG;AACH,eAAO,MAAM,SAAS,GAAI,SAAS,MAAM,EAAE,MAAM,MAAM,KAAG,OAazD,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,eAAe,GAAI,SAAS,MAAM,EAAE,MAAM,MAAM,KAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAcpF,CAAA"}
1
+ {"version":3,"file":"match.d.ts","sourceRoot":"","sources":["../src/match.ts"],"names":[],"mappings":"AAmCA;;;;;GAKG;AACH,eAAO,MAAM,SAAS,GAAI,SAAS,MAAM,EAAE,MAAM,MAAM,KAAG,OAazD,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,eAAe,GAAI,SAAS,MAAM,EAAE,MAAM,MAAM,KAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAcpF,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,aAAa,GAAI,UAAU,MAAM,EAAE,KAAG,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAI5E,CAAA"}
package/dist/match.js CHANGED
@@ -60,4 +60,14 @@ export const parsePathParams = (pattern, path) => {
60
60
  }
61
61
  return match.groups;
62
62
  };
63
+ /**
64
+ * Creates a reusable matcher function for multiple path patterns
65
+ * @param patterns - Array of path patterns to match against
66
+ * @returns A function that tests if a path matches any pattern
67
+ */
68
+ export const createMatcher = (patterns) => {
69
+ return (path) => {
70
+ return patterns.some((pattern) => matchPath(pattern, path));
71
+ };
72
+ };
63
73
  //# sourceMappingURL=match.js.map
package/dist/match.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"match.js","sourceRoot":"","sources":["../src/match.ts"],"names":[],"mappings":"AAAA,sCAAsC;AAEtC;;;;GAIG;AACH,MAAM,cAAc,GAAG,CAAC,OAAe,EAAU,EAAE;IACjD,4EAA4E;IAC5E,MAAM,uBAAuB,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,cAAc,CAAC,CAAA;IAEtE,oDAAoD;IACpD,MAAM,OAAO,GAAG,uBAAuB,CAAC,OAAO,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAA;IAE7E,gFAAgF;IAChF,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,cAAc,CAAC,CAAA;IAE7D,+BAA+B;IAC/B,4DAA4D;IAC5D,mEAAmE;IACnE,MAAM,aAAa,GAAG,UAAU,CAAC,OAAO,CACtC,eAAe,EACf,CAAC,KAAa,EAAE,MAAc,EAAE,MAAc,EAAE,EAAE;QAChD,gEAAgE;QAChE,IAAI,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;YACpF,OAAO,IAAI,CAAA;QACb,CAAC;QACD,qDAAqD;QACrD,OAAO,OAAO,CAAA;IAChB,CAAC,CACF,CAAA;IAED,OAAO,IAAI,MAAM,CAAC,IAAI,aAAa,GAAG,CAAC,CAAA;AACzC,CAAC,CAAA;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,OAAe,EAAE,IAAY,EAAW,EAAE;IAClE,6CAA6C;IAC7C,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,+CAA+C;IAC/C,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACnD,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,CAAC,CAAA;QACrC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACzB,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,OAAe,EAAE,IAAY,EAA0B,EAAE;IACvF,mDAAmD;IACnD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3B,OAAO,EAAE,CAAA;IACX,CAAC;IAED,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,CAAC,CAAA;IACrC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IAE/B,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAC5B,OAAO,EAAE,CAAA;IACX,CAAC;IAED,OAAO,KAAK,CAAC,MAAM,CAAA;AACrB,CAAC,CAAA"}
1
+ {"version":3,"file":"match.js","sourceRoot":"","sources":["../src/match.ts"],"names":[],"mappings":"AAAA,sCAAsC;AAEtC;;;;GAIG;AACH,MAAM,cAAc,GAAG,CAAC,OAAe,EAAU,EAAE;IACjD,4EAA4E;IAC5E,MAAM,uBAAuB,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,cAAc,CAAC,CAAA;IAEtE,oDAAoD;IACpD,MAAM,OAAO,GAAG,uBAAuB,CAAC,OAAO,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAA;IAE7E,gFAAgF;IAChF,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,cAAc,CAAC,CAAA;IAE7D,+BAA+B;IAC/B,4DAA4D;IAC5D,mEAAmE;IACnE,MAAM,aAAa,GAAG,UAAU,CAAC,OAAO,CACtC,eAAe,EACf,CAAC,KAAa,EAAE,MAAc,EAAE,MAAc,EAAE,EAAE;QAChD,gEAAgE;QAChE,IAAI,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;YACpF,OAAO,IAAI,CAAA;QACb,CAAC;QACD,qDAAqD;QACrD,OAAO,OAAO,CAAA;IAChB,CAAC,CACF,CAAA;IAED,OAAO,IAAI,MAAM,CAAC,IAAI,aAAa,GAAG,CAAC,CAAA;AACzC,CAAC,CAAA;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,OAAe,EAAE,IAAY,EAAW,EAAE;IAClE,6CAA6C;IAC7C,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,+CAA+C;IAC/C,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACnD,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,CAAC,CAAA;QACrC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACzB,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,OAAe,EAAE,IAAY,EAA0B,EAAE;IACvF,mDAAmD;IACnD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3B,OAAO,EAAE,CAAA;IACX,CAAC;IAED,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,CAAC,CAAA;IACrC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IAE/B,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAC5B,OAAO,EAAE,CAAA;IACX,CAAC;IAED,OAAO,KAAK,CAAC,MAAM,CAAA;AACrB,CAAC,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,QAAkB,EAA+B,EAAE;IAC/E,OAAO,CAAC,IAAY,EAAW,EAAE;QAC/B,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAA;IAC7D,CAAC,CAAA;AACH,CAAC,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mockmaster/core",
3
- "version": "1.0.2",
3
+ "version": "1.0.4",
4
4
  "description": "Core mocking engine for mock-master",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.js",