@neuledge/graph-router 0.2.0 → 0.2.1

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/dist/matcher.js CHANGED
@@ -8,21 +8,21 @@ export class NeuledgeGraphMatcher {
8
8
  }
9
9
  match(args) {
10
10
  const match = args.path.match(this.regex);
11
- if (!match?.groups)
11
+ if (!match)
12
12
  return null;
13
13
  return {
14
14
  template: this.template,
15
- params: Object.fromEntries(Object.entries(match.groups).map(([key, value]) => [
15
+ params: Object.fromEntries(Object.entries(match.groups ?? {}).map(([key, value]) => [
16
16
  key,
17
17
  decodePathPart(value),
18
18
  ])),
19
19
  };
20
20
  }
21
21
  static generateRegex(template) {
22
- // First, convert {param} into named capture groups
23
- const withCaptureGroups = template.replace(/\{(\w+)\}/g, (_, name) => `(?<${name}>[^.]+)`);
24
- // Then escape regex special chars (dots, etc.)
25
- const regexString = withCaptureGroups.replace(/\./g, "\\.");
22
+ // First escape regex special chars (dots, etc.)
23
+ const escaped = template.replace(/\./g, "\\.");
24
+ // Then convert {param} into named capture groups
25
+ const regexString = escaped.replace(/\{(\w+)\}/g, (_, name) => `(?<${name}>[^.]+)`);
26
26
  return new RegExp(`^${regexString}$`);
27
27
  }
28
28
  }
@@ -1 +1 @@
1
- {"version":3,"file":"matcher.js","sourceRoot":"","sources":["../src/matcher.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAO5C,MAAM,OAAO,oBAAoB;IAGH;IAFX,KAAK,CAAS;IAE/B,YAA4B,QAAkB;QAAlB,aAAQ,GAAR,QAAQ,CAAU;QAC5C,IAAI,CAAC,KAAK,GAAG,oBAAoB,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,IAAsB;QAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1C,IAAI,CAAC,KAAK,EAAE,MAAM;YAAE,OAAO,IAAI,CAAC;QAEhC,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,MAAM,EAAE,MAAM,CAAC,WAAW,CACxB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;gBACjD,GAAG;gBACH,cAAc,CAAC,KAAK,CAAC;aACtB,CAAC,CACsC;SAC3C,CAAC;IACJ,CAAC;IAEO,MAAM,CAAC,aAAa,CAAC,QAAgB;QAC3C,mDAAmD;QACnD,MAAM,iBAAiB,GAAG,QAAQ,CAAC,OAAO,CACxC,YAAY,EACZ,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,IAAI,SAAS,CACjC,CAAC;QAEF,+CAA+C;QAC/C,MAAM,WAAW,GAAG,iBAAiB,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAE5D,OAAO,IAAI,MAAM,CAAC,IAAI,WAAW,GAAG,CAAC,CAAC;IACxC,CAAC;CACF"}
1
+ {"version":3,"file":"matcher.js","sourceRoot":"","sources":["../src/matcher.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAO5C,MAAM,OAAO,oBAAoB;IAGH;IAFX,KAAK,CAAS;IAE/B,YAA4B,QAAkB;QAAlB,aAAQ,GAAR,QAAQ,CAAU;QAC5C,IAAI,CAAC,KAAK,GAAG,oBAAoB,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,IAAsB;QAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1C,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QAExB,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,MAAM,EAAE,MAAM,CAAC,WAAW,CACxB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;gBACvD,GAAG;gBACH,cAAc,CAAC,KAAK,CAAC;aACtB,CAAC,CACsC;SAC3C,CAAC;IACJ,CAAC;IAEO,MAAM,CAAC,aAAa,CAAC,QAAgB;QAC3C,gDAAgD;QAChD,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAE/C,iDAAiD;QACjD,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CACjC,YAAY,EACZ,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,IAAI,SAAS,CACjC,CAAC;QAEF,OAAO,IAAI,MAAM,CAAC,IAAI,WAAW,GAAG,CAAC,CAAC;IACxC,CAAC;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@neuledge/graph-router",
3
- "version": "0.2.0",
3
+ "version": "0.2.1",
4
4
  "description": "Router for pattern matching and resolution of queries against data source registries.",
5
5
  "keywords": [
6
6
  "ai",