@piqit/resolvers 0.0.11-rc.1 → 0.3.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/edge.d.ts CHANGED
@@ -11,5 +11,5 @@
11
11
  *
12
12
  * @packageDocumentation
13
13
  */
14
- export { staticContent, staticResolver } from "./static";
14
+ export { staticContent, staticResolver } from "./static.js";
15
15
  //# sourceMappingURL=edge.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"edge.d.ts","sourceRoot":"","sources":["../src/edge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA"}
1
+ {"version":3,"file":"edge.d.ts","sourceRoot":"","sources":["../src/edge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA"}
package/dist/edge.js CHANGED
@@ -11,5 +11,5 @@
11
11
  *
12
12
  * @packageDocumentation
13
13
  */
14
- export { staticContent, staticResolver } from "./static";
14
+ export { staticContent, staticResolver } from "./static.js";
15
15
  //# sourceMappingURL=edge.js.map
package/dist/edge.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"edge.js","sourceRoot":"","sources":["../src/edge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA"}
1
+ {"version":3,"file":"edge.js","sourceRoot":"","sources":["../src/edge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA"}
@@ -5,9 +5,9 @@
5
5
  * Optimized for reading only what's needed based on the query.
6
6
  */
7
7
  import type { Resolver, StandardSchema, Infer } from "piqit";
8
- import { type PathParams } from "./path-pattern";
9
- import { type FrontmatterParseOptions } from "./frontmatter";
10
- import { type BodyOptions, type BodyResult, type Heading } from "./markdown";
8
+ import { type PathParams } from "./path-pattern.js";
9
+ import { type FrontmatterParseOptions } from "./frontmatter.js";
10
+ import { type BodyOptions, type BodyResult, type Heading } from "./markdown.js";
11
11
  /**
12
12
  * Options for creating a file markdown resolver.
13
13
  */
@@ -44,6 +44,10 @@ export interface FileMarkdownResult<TParams, TFrontmatter, TBody extends BodyRes
44
44
  params: TParams;
45
45
  frontmatter: TFrontmatter;
46
46
  body: TBody;
47
+ /** Source file location, selectable as 'file.path' */
48
+ file: {
49
+ path: string;
50
+ };
47
51
  }
48
52
  /**
49
53
  * Type for body shape based on options.
@@ -1 +1 @@
1
- {"version":3,"file":"file-markdown.d.ts","sourceRoot":"","sources":["../src/file-markdown.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC5D,OAAO,EAAsC,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAA;AACpF,OAAO,EAML,KAAK,uBAAuB,EAC7B,MAAM,eAAe,CAAA;AACtB,OAAO,EAAqB,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,KAAK,OAAO,EAAE,MAAM,YAAY,CAAA;AAO/F;;GAEG;AACH,MAAM,WAAW,mBAAmB,CAClC,KAAK,SAAS,MAAM,EACpB,YAAY,SAAS,cAAc,EACnC,KAAK,SAAS,WAAW;IAEzB;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAA;IAEZ;;;OAGG;IACH,IAAI,EAAE,KAAK,CAAA;IAEX;;;OAGG;IACH,WAAW,EAAE,YAAY,CAAA;IAEzB;;OAEG;IACH,gBAAgB,CAAC,EAAE,uBAAuB,CAAA;IAE1C;;;OAGG;IACH,IAAI,CAAC,EAAE,KAAK,CAAA;CACb;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB,CACjC,OAAO,EACP,YAAY,EACZ,KAAK,SAAS,UAAU;IAExB,MAAM,EAAE,OAAO,CAAA;IACf,WAAW,EAAE,YAAY,CAAA;IACzB,IAAI,EAAE,KAAK,CAAA;CACZ;AAED;;GAEG;AACH,KAAK,iBAAiB,CAAC,CAAC,SAAS,WAAW,GAAG,SAAS,IAAI,CAAC,SAAS,WAAW,GAC7E;IACE,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,IAAI,GAAG,MAAM,GAAG,KAAK,CAAA;IAC3C,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS,IAAI,GAAG,MAAM,GAAG,KAAK,CAAA;IAC7C,QAAQ,EAAE,CAAC,CAAC,UAAU,CAAC,SAAS,IAAI,GAAG,OAAO,EAAE,GAAG,KAAK,CAAA;CACzD,GACD,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;AAEzB;;GAEG;AACH,KAAK,cAAc,CAAC,CAAC,IAAI;KACtB,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,GAAG,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACvD,CAAA;AAkJD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,YAAY,CAC1B,KAAK,SAAS,MAAM,EACpB,YAAY,SAAS,cAAc,EACnC,KAAK,SAAS,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAEjD,OAAO,EAAE,mBAAmB,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,CAAC,GACvD,QAAQ,CACT,cAAc,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAC1C,YAAY,EACZ,cAAc,CACZ,kBAAkB,CAChB,UAAU,CAAC,KAAK,CAAC,EACjB,KAAK,CAAC,YAAY,CAAC,EACnB,cAAc,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CACzC,CACF,CACF,CAqJA"}
1
+ {"version":3,"file":"file-markdown.d.ts","sourceRoot":"","sources":["../src/file-markdown.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC5D,OAAO,EAAsC,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAA;AACvF,OAAO,EAML,KAAK,uBAAuB,EAC7B,MAAM,kBAAkB,CAAA;AAEzB,OAAO,EAEL,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,OAAO,EACb,MAAM,eAAe,CAAA;AAOtB;;GAEG;AACH,MAAM,WAAW,mBAAmB,CAClC,KAAK,SAAS,MAAM,EACpB,YAAY,SAAS,cAAc,EACnC,KAAK,SAAS,WAAW;IAEzB;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAA;IAEZ;;;OAGG;IACH,IAAI,EAAE,KAAK,CAAA;IAEX;;;OAGG;IACH,WAAW,EAAE,YAAY,CAAA;IAEzB;;OAEG;IACH,gBAAgB,CAAC,EAAE,uBAAuB,CAAA;IAE1C;;;OAGG;IACH,IAAI,CAAC,EAAE,KAAK,CAAA;CACb;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB,CACjC,OAAO,EACP,YAAY,EACZ,KAAK,SAAS,UAAU;IAExB,MAAM,EAAE,OAAO,CAAA;IACf,WAAW,EAAE,YAAY,CAAA;IACzB,IAAI,EAAE,KAAK,CAAA;IACX,sDAAsD;IACtD,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;CACvB;AAED;;GAEG;AACH,KAAK,iBAAiB,CAAC,CAAC,SAAS,WAAW,GAAG,SAAS,IAAI,CAAC,SAAS,WAAW,GAC7E;IACE,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,IAAI,GAAG,MAAM,GAAG,KAAK,CAAA;IAC3C,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS,IAAI,GAAG,MAAM,GAAG,KAAK,CAAA;IAC7C,QAAQ,EAAE,CAAC,CAAC,UAAU,CAAC,SAAS,IAAI,GAAG,OAAO,EAAE,GAAG,KAAK,CAAA;CACzD,GACD,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;AAEzB;;GAEG;AACH,KAAK,cAAc,CAAC,CAAC,IAAI;KACtB,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,GAAG,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACvD,CAAA;AAyID;;;;;;;;;;;;;GAaG;AACH,wBAAgB,YAAY,CAC1B,KAAK,SAAS,MAAM,EACpB,YAAY,SAAS,cAAc,EACnC,KAAK,SAAS,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAEjD,OAAO,EAAE,mBAAmB,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,CAAC,GACvD,QAAQ,CACT,cAAc,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAC1C,YAAY,EACZ,cAAc,CACZ,kBAAkB,CAChB,UAAU,CAAC,KAAK,CAAC,EACjB,KAAK,CAAC,YAAY,CAAC,EACnB,cAAc,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CACzC,CACF,CACF,CA+LA"}
@@ -4,9 +4,10 @@
4
4
  * A resolver for querying markdown files from the filesystem.
5
5
  * Optimized for reading only what's needed based on the query.
6
6
  */
7
- import { compilePattern, createParamsSchema } from "./path-pattern";
8
- import { FrontmatterParseError, parseFrontmatterStrict, parseFrontmatterPickStrict, readFrontmatterStrict, readFrontmatterPickStrict, } from "./frontmatter";
9
- import { parseMarkdownBody } from "./markdown";
7
+ import { compilePattern, createParamsSchema } from "./path-pattern.js";
8
+ import { FrontmatterParseError, parseFrontmatterStrict, parseFrontmatterPickStrict, readFrontmatterStrict, readFrontmatterPickStrict, } from "./frontmatter.js";
9
+ import { matchesFilter } from "./filter.js";
10
+ import { parseMarkdownBody, } from "./markdown.js";
10
11
  import path from "node:path";
11
12
  // =============================================================================
12
13
  // Result Schema Factory
@@ -71,6 +72,12 @@ function needsBody(selectPaths) {
71
72
  function needsParams(selectPaths) {
72
73
  return selectPaths.some((p) => p.startsWith("params.") || p === "params.*");
73
74
  }
75
+ /**
76
+ * Check if any select paths require the source file info.
77
+ */
78
+ function needsFile(selectPaths) {
79
+ return selectPaths.some((p) => p.startsWith("file.") || p === "file.*");
80
+ }
74
81
  /**
75
82
  * Get which body parts are needed based on select paths.
76
83
  */
@@ -90,18 +97,6 @@ function getNeededBodyParts(selectPaths) {
90
97
  }
91
98
  return result;
92
99
  }
93
- /**
94
- * Check if filter constraints match frontmatter.
95
- * Simple equality check for now.
96
- */
97
- function matchesFilter(frontmatter, filter) {
98
- for (const [key, value] of Object.entries(filter)) {
99
- if (frontmatter[key] !== value) {
100
- return false;
101
- }
102
- }
103
- return true;
104
- }
105
100
  function getFrontmatterKeys(selectPaths, filter) {
106
101
  let wantAll = false;
107
102
  const keys = new Set();
@@ -151,7 +146,24 @@ export function fileMarkdown(options) {
151
146
  // Create schemas
152
147
  const scanSchema = createParamsSchema(pattern);
153
148
  const resultSchema = createResultSchema(pattern.paramNames, options.frontmatter, bodyOptions);
149
+ // Frontmatter keys are introspectable when the schema is a Zod object
150
+ // (StandardSchema itself has no field enumeration)
151
+ const frontmatterShape = options.frontmatter.shape;
152
+ const filterKeys = frontmatterShape ? Object.keys(frontmatterShape) : undefined;
153
+ const selectPaths = [
154
+ ...pattern.paramNames.map((name) => `params.${name}`),
155
+ ...(filterKeys?.map((key) => `frontmatter.${key}`) ?? ["frontmatter.*"]),
156
+ ...["raw", "html", "headings"]
157
+ .filter((part) => bodyOptions[part])
158
+ .map((part) => `body.${part}`),
159
+ "file.path",
160
+ ];
154
161
  return {
162
+ meta: {
163
+ scanKeys: [...pattern.paramNames],
164
+ filterKeys,
165
+ selectPaths,
166
+ },
155
167
  schema: {
156
168
  scanParams: scanSchema,
157
169
  filterParams: options.frontmatter,
@@ -159,16 +171,22 @@ export function fileMarkdown(options) {
159
171
  },
160
172
  async resolve(spec) {
161
173
  const results = [];
162
- // 1. Generate glob pattern from scan constraints
163
- const globPattern = pattern.toGlob(spec.scan);
164
- // 2. Find matching files using Bun.Glob
165
- const glob = new Bun.Glob(globPattern);
166
- const files = [];
167
- for await (const file of glob.scan({ cwd: basePath, absolute: false })) {
168
- files.push(file);
174
+ // 1. Generate glob variants from scan constraints (optional path
175
+ // segments produce multiple globs)
176
+ const scanConstraints = spec.scan;
177
+ const globPatterns = pattern.toGlobs(scanConstraints);
178
+ // 2. Find matching files using Bun.Glob, deduped across variants
179
+ const fileSet = new Set();
180
+ for (const globPattern of globPatterns) {
181
+ const glob = new Bun.Glob(globPattern);
182
+ for await (const file of glob.scan({ cwd: basePath, absolute: false })) {
183
+ fileSet.add(file);
184
+ }
169
185
  }
186
+ const files = [...fileSet];
170
187
  // 3. Determine what we need to read
171
188
  const wantParams = needsParams(spec.select);
189
+ const wantFile = needsFile(spec.select);
172
190
  const wantFrontmatter = needsFrontmatter(spec.select);
173
191
  const wantBody = needsBody(spec.select);
174
192
  const hasFilter = spec.filter && Object.keys(spec.filter).length > 0;
@@ -180,6 +198,19 @@ export function fileMarkdown(options) {
180
198
  const params = pattern.match(relativePath);
181
199
  if (!params)
182
200
  continue;
201
+ // Variant globs can over-match, so re-verify scan constraints
202
+ // against the extracted params
203
+ if (scanConstraints) {
204
+ let mismatch = false;
205
+ for (const [key, value] of Object.entries(scanConstraints)) {
206
+ if (value !== undefined && value !== null && params[key] !== String(value)) {
207
+ mismatch = true;
208
+ break;
209
+ }
210
+ }
211
+ if (mismatch)
212
+ continue;
213
+ }
183
214
  const fullPath = path.join(basePath, relativePath);
184
215
  // Read file content only if needed
185
216
  let content = null;
@@ -227,6 +258,9 @@ export function fileMarkdown(options) {
227
258
  if (wantParams) {
228
259
  result.params = params;
229
260
  }
261
+ if (wantFile) {
262
+ result.file = { path: path.join(options.base, relativePath) };
263
+ }
230
264
  if (wantFrontmatter) {
231
265
  result.frontmatter = frontmatter;
232
266
  }
@@ -1 +1 @@
1
- {"version":3,"file":"file-markdown.js","sourceRoot":"","sources":["../src/file-markdown.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"file-markdown.js","sourceRoot":"","sources":["../src/file-markdown.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Shared Filter Matching
3
+ *
4
+ * One predicate for all resolvers so filter semantics stay identical
5
+ * across fileMarkdown, staticContent, and anything else.
6
+ */
7
+ /**
8
+ * Check a single field value against a filter constraint.
9
+ *
10
+ * Exact values compare with strict equality. { contains } substring-matches
11
+ * string fields, and string-array fields when any element contains the
12
+ * needle. Matching is case-sensitive.
13
+ */
14
+ export declare function matchesConstraint(actual: unknown, constraint: unknown): boolean;
15
+ /**
16
+ * Check a record against every constraint in a filter object.
17
+ */
18
+ export declare function matchesFilter(record: Record<string, unknown>, filter: Record<string, unknown>): boolean;
19
+ //# sourceMappingURL=filter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../src/filter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAaH;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,GAAG,OAAO,CAU/E;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAOT"}
package/dist/filter.js ADDED
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Shared Filter Matching
3
+ *
4
+ * One predicate for all resolvers so filter semantics stay identical
5
+ * across fileMarkdown, staticContent, and anything else.
6
+ */
7
+ function isFilterOperator(value) {
8
+ return (value !== null &&
9
+ typeof value === "object" &&
10
+ !Array.isArray(value) &&
11
+ "contains" in value);
12
+ }
13
+ /**
14
+ * Check a single field value against a filter constraint.
15
+ *
16
+ * Exact values compare with strict equality. { contains } substring-matches
17
+ * string fields, and string-array fields when any element contains the
18
+ * needle. Matching is case-sensitive.
19
+ */
20
+ export function matchesConstraint(actual, constraint) {
21
+ if (isFilterOperator(constraint)) {
22
+ const needle = constraint.contains;
23
+ if (typeof actual === "string")
24
+ return actual.includes(needle);
25
+ if (Array.isArray(actual)) {
26
+ return actual.some((v) => typeof v === "string" && v.includes(needle));
27
+ }
28
+ return false;
29
+ }
30
+ return actual === constraint;
31
+ }
32
+ /**
33
+ * Check a record against every constraint in a filter object.
34
+ */
35
+ export function matchesFilter(record, filter) {
36
+ for (const [key, constraint] of Object.entries(filter)) {
37
+ if (!matchesConstraint(record[key], constraint)) {
38
+ return false;
39
+ }
40
+ }
41
+ return true;
42
+ }
43
+ //# sourceMappingURL=filter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter.js","sourceRoot":"","sources":["../src/filter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,SAAS,gBAAgB,CAAC,KAAc;IACtC,OAAO,CACL,KAAK,KAAK,IAAI;QACd,OAAO,KAAK,KAAK,QAAQ;QACzB,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACrB,UAAU,IAAI,KAAK,CACpB,CAAA;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAe,EAAE,UAAmB;IACpE,IAAI,gBAAgB,CAAC,UAAU,CAAC,EAAE,CAAC;QACjC,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAA;QAClC,IAAI,OAAO,MAAM,KAAK,QAAQ;YAAE,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;QAC9D,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1B,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAA;QACxE,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IACD,OAAO,MAAM,KAAK,UAAU,CAAA;AAC9B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAC3B,MAA+B,EAC/B,MAA+B;IAE/B,KAAK,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACvD,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC;YAChD,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC"}
package/dist/index.d.ts CHANGED
@@ -7,12 +7,12 @@
7
7
  *
8
8
  * @packageDocumentation
9
9
  */
10
- export { fileMarkdown } from "./file-markdown";
11
- export type { FileMarkdownOptions, FileMarkdownResult } from "./file-markdown";
12
- export { staticContent, staticResolver } from "./static";
13
- export { compilePattern, createParamsSchema } from "./path-pattern";
14
- export type { CompiledPattern, ExtractParams, PathParams, } from "./path-pattern";
15
- export { FrontmatterParseError, parseFrontmatter, parseFrontmatterStrict, parseFrontmatterPickStrict, extractFrontmatterString, getFrontmatterEndOffset, readFrontmatter, readFrontmatterPickStrict, readFrontmatterWithOffset, } from "./frontmatter";
16
- export { parseMarkdownBody, extractHeadings, slugify, markdownToHtml, readMarkdownBody, readParsedBody, } from "./markdown";
17
- export type { BodyOptions, BodyResult, BodyShape, Heading, } from "./markdown";
10
+ export { fileMarkdown } from "./file-markdown.js";
11
+ export type { FileMarkdownOptions, FileMarkdownResult } from "./file-markdown.js";
12
+ export { staticContent, staticResolver } from "./static.js";
13
+ export { compilePattern, createParamsSchema } from "./path-pattern.js";
14
+ export type { CompiledPattern, ExtractParams, PathParams, } from "./path-pattern.js";
15
+ export { FrontmatterParseError, parseFrontmatter, parseFrontmatterStrict, parseFrontmatterPickStrict, extractFrontmatterString, getFrontmatterEndOffset, readFrontmatter, readFrontmatterPickStrict, readFrontmatterWithOffset, } from "./frontmatter.js";
16
+ export { parseMarkdownBody, extractHeadings, slugify, markdownToHtml, readMarkdownBody, readParsedBody, } from "./markdown.js";
17
+ export type { BodyOptions, BodyResult, BodyShape, Heading, } from "./markdown.js";
18
18
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,YAAY,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAM9E,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAMxD,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AACnE,YAAY,EACV,eAAe,EACf,aAAa,EACb,UAAU,GACX,MAAM,gBAAgB,CAAA;AAMvB,OAAO,EACL,qBAAqB,EACrB,gBAAgB,EAChB,sBAAsB,EACtB,0BAA0B,EAC1B,wBAAwB,EACxB,uBAAuB,EACvB,eAAe,EACf,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,eAAe,CAAA;AAMtB,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,OAAO,EACP,cAAc,EACd,gBAAgB,EAChB,cAAc,GACf,MAAM,YAAY,CAAA;AAEnB,YAAY,EACV,WAAW,EACX,UAAU,EACV,SAAS,EACT,OAAO,GACR,MAAM,YAAY,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,YAAY,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAMjF,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAM3D,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AACtE,YAAY,EACV,eAAe,EACf,aAAa,EACb,UAAU,GACX,MAAM,mBAAmB,CAAA;AAM1B,OAAO,EACL,qBAAqB,EACrB,gBAAgB,EAChB,sBAAsB,EACtB,0BAA0B,EAC1B,wBAAwB,EACxB,uBAAuB,EACvB,eAAe,EACf,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,kBAAkB,CAAA;AAMzB,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,OAAO,EACP,cAAc,EACd,gBAAgB,EAChB,cAAc,GACf,MAAM,eAAe,CAAA;AAEtB,YAAY,EACV,WAAW,EACX,UAAU,EACV,SAAS,EACT,OAAO,GACR,MAAM,eAAe,CAAA"}
package/dist/index.js CHANGED
@@ -10,21 +10,21 @@
10
10
  // =============================================================================
11
11
  // Filesystem Resolver (Node.js/Bun only)
12
12
  // =============================================================================
13
- export { fileMarkdown } from "./file-markdown";
13
+ export { fileMarkdown } from "./file-markdown.js";
14
14
  // =============================================================================
15
15
  // Static Content Resolver (Edge/Workers compatible)
16
16
  // =============================================================================
17
- export { staticContent, staticResolver } from "./static";
17
+ export { staticContent, staticResolver } from "./static.js";
18
18
  // =============================================================================
19
19
  // Path Pattern Utilities
20
20
  // =============================================================================
21
- export { compilePattern, createParamsSchema } from "./path-pattern";
21
+ export { compilePattern, createParamsSchema } from "./path-pattern.js";
22
22
  // =============================================================================
23
23
  // Frontmatter Utilities
24
24
  // =============================================================================
25
- export { FrontmatterParseError, parseFrontmatter, parseFrontmatterStrict, parseFrontmatterPickStrict, extractFrontmatterString, getFrontmatterEndOffset, readFrontmatter, readFrontmatterPickStrict, readFrontmatterWithOffset, } from "./frontmatter";
25
+ export { FrontmatterParseError, parseFrontmatter, parseFrontmatterStrict, parseFrontmatterPickStrict, extractFrontmatterString, getFrontmatterEndOffset, readFrontmatter, readFrontmatterPickStrict, readFrontmatterWithOffset, } from "./frontmatter.js";
26
26
  // =============================================================================
27
27
  // Markdown Utilities
28
28
  // =============================================================================
29
- export { parseMarkdownBody, extractHeadings, slugify, markdownToHtml, readMarkdownBody, readParsedBody, } from "./markdown";
29
+ export { parseMarkdownBody, extractHeadings, slugify, markdownToHtml, readMarkdownBody, readParsedBody, } from "./markdown.js";
30
30
  //# 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;;;;;;;;GAQG;AAEH,gFAAgF;AAChF,yCAAyC;AACzC,gFAAgF;AAEhF,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAG9C,gFAAgF;AAChF,oDAAoD;AACpD,gFAAgF;AAEhF,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAExD,gFAAgF;AAChF,yBAAyB;AACzB,gFAAgF;AAEhF,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAOnE,gFAAgF;AAChF,wBAAwB;AACxB,gFAAgF;AAEhF,OAAO,EACL,qBAAqB,EACrB,gBAAgB,EAChB,sBAAsB,EACtB,0BAA0B,EAC1B,wBAAwB,EACxB,uBAAuB,EACvB,eAAe,EACf,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,eAAe,CAAA;AAEtB,gFAAgF;AAChF,qBAAqB;AACrB,gFAAgF;AAEhF,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,OAAO,EACP,cAAc,EACd,gBAAgB,EAChB,cAAc,GACf,MAAM,YAAY,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,gFAAgF;AAChF,yCAAyC;AACzC,gFAAgF;AAEhF,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAGjD,gFAAgF;AAChF,oDAAoD;AACpD,gFAAgF;AAEhF,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAE3D,gFAAgF;AAChF,yBAAyB;AACzB,gFAAgF;AAEhF,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAOtE,gFAAgF;AAChF,wBAAwB;AACxB,gFAAgF;AAEhF,OAAO,EACL,qBAAqB,EACrB,gBAAgB,EAChB,sBAAsB,EACtB,0BAA0B,EAC1B,wBAAwB,EACxB,uBAAuB,EACvB,eAAe,EACf,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,kBAAkB,CAAA;AAEzB,gFAAgF;AAChF,qBAAqB;AACrB,gFAAgF;AAEhF,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,OAAO,EACP,cAAc,EACd,gBAAgB,EAChB,cAAc,GACf,MAAM,eAAe,CAAA"}
package/dist/markdown.js CHANGED
@@ -6,7 +6,7 @@
6
6
  * - HTML (basic conversion)
7
7
  * - Headings with slugs
8
8
  */
9
- import { getFrontmatterEndOffset } from "./frontmatter";
9
+ import { getFrontmatterEndOffset } from "./frontmatter.js";
10
10
  // =============================================================================
11
11
  // Markdown Parsing
12
12
  // =============================================================================
@@ -1 +1 @@
1
- {"version":3,"file":"markdown.js","sourceRoot":"","sources":["../src/markdown.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"markdown.js","sourceRoot":"","sources":["../src/markdown.ts"],"names":[],"mappings":"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"}
@@ -10,12 +10,16 @@
10
10
  import { StandardSchema } from "piqit";
11
11
  /**
12
12
  * Extract params from a path pattern string at the type level.
13
+ * Params inside `<...>` optional segments become optional properties.
13
14
  *
14
15
  * @example
15
16
  * type Params = ExtractParams<'{year}/{slug}.md'>
16
17
  * // = { year: string } & { slug: string }
18
+ *
19
+ * type Params = ExtractParams<'{date}< {time}> {slug}.md'>
20
+ * // = { date: string } & { time?: string } & { slug: string }
17
21
  */
18
- export type ExtractParams<P extends string> = P extends `${string}{${infer Param}}${infer Rest}` ? {
22
+ export type ExtractParams<P extends string> = P extends `${infer Head}<${infer Opt}>${infer Rest}` ? ExtractParams<Head> & Partial<ExtractParams<Opt>> & ExtractParams<Rest> : P extends `${string}{${infer Param}}${infer Rest}` ? {
19
23
  [K in ExtractParamName<Param>]: string;
20
24
  } & ExtractParams<Rest> : {};
21
25
  type ExtractParamName<T extends string> = T extends `${infer Name}:${string}` ? Name : T;
@@ -53,8 +57,19 @@ export interface CompiledPattern {
53
57
  * pattern.toGlob({ year: '2024' }) // '2024/*.md'
54
58
  */
55
59
  toGlob(constraints?: Record<string, unknown>): string;
60
+ /**
61
+ * Generate all glob variants for a pattern with optional segments.
62
+ * Each `<...>` segment doubles the variants (present/absent); variants
63
+ * that omit a constrained param are pruned. Patterns without optional
64
+ * segments yield a single glob.
65
+ *
66
+ * @param constraints - Optional param values to use instead of wildcards
67
+ * @returns Deduplicated glob pattern strings
68
+ */
69
+ toGlobs(constraints?: Record<string, unknown>): string[];
56
70
  /**
57
71
  * Match a path against this pattern and extract params.
72
+ * Params in unmatched optional segments are omitted from the result.
58
73
  *
59
74
  * @param path - The file path to match (relative to base)
60
75
  * @returns The extracted params, or null if no match
@@ -78,6 +93,9 @@ export interface CompiledPattern {
78
93
  /**
79
94
  * Compile a path pattern string into a usable pattern object.
80
95
  *
96
+ * Supports `{param}` placeholders, `{param:regex}` inline constraints, and
97
+ * `<...>` optional segments (e.g. `'{date}< {time}> - {slug}.md'`).
98
+ *
81
99
  * @param pattern - The pattern string like '{year}/{slug}.md'
82
100
  * @returns A CompiledPattern instance
83
101
  *
@@ -1 +1 @@
1
- {"version":3,"file":"path-pattern.d.ts","sourceRoot":"","sources":["../src/path-pattern.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAMvC;;;;;;GAMG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,SAAS,GAAG,MAAM,IAAI,MAAM,KAAK,IAAI,MAAM,IAAI,EAAE,GAC5F;KAAG,CAAC,IAAI,gBAAgB,CAAC,KAAK,CAAC,GAAG,MAAM;CAAE,GAAG,aAAa,CAAC,IAAI,CAAC,GAChE,EAAE,CAAA;AAEN,KAAK,gBAAgB,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,SAAS,GAAG,MAAM,IAAI,IAAI,MAAM,EAAE,GAAG,IAAI,GAAG,CAAC,CAAA;AAExF;;;GAGG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAE,CAAA;AAElD;;GAEG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,MAAM,IAAI,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAA;AAMrE;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,OAAO,EAAE,MAAM,CAAA;IAEf;;OAEG;IACH,UAAU,EAAE,MAAM,EAAE,CAAA;IAEpB;;;;;;;;;OASG;IACH,MAAM,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAA;IAErD;;;;;;;;;OASG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAA;IAElD;;;;;;;;OAQG;IACH,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAA;CAC9C;AAiBD;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,CAoF/D;AAMD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,eAAe,GACvB,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CA4BxC"}
1
+ {"version":3,"file":"path-pattern.d.ts","sourceRoot":"","sources":["../src/path-pattern.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAMvC;;;;;;;;;;GAUG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,MAAM,IACxC,CAAC,SAAS,GAAG,MAAM,IAAI,IAAI,MAAM,GAAG,IAAI,MAAM,IAAI,EAAE,GAChD,aAAa,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,GAAG,aAAa,CAAC,IAAI,CAAC,GACvE,CAAC,SAAS,GAAG,MAAM,IAAI,MAAM,KAAK,IAAI,MAAM,IAAI,EAAE,GAChD;KAAG,CAAC,IAAI,gBAAgB,CAAC,KAAK,CAAC,GAAG,MAAM;CAAE,GAAG,aAAa,CAAC,IAAI,CAAC,GAChE,EAAE,CAAA;AAEV,KAAK,gBAAgB,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,SAAS,GAAG,MAAM,IAAI,IAAI,MAAM,EAAE,GAAG,IAAI,GAAG,CAAC,CAAA;AAExF;;;GAGG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAE,CAAA;AAElD;;GAEG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,MAAM,IAAI,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAA;AAMrE;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,OAAO,EAAE,MAAM,CAAA;IAEf;;OAEG;IACH,UAAU,EAAE,MAAM,EAAE,CAAA;IAEpB;;;;;;;;;OASG;IACH,MAAM,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAA;IAErD;;;;;;;;OAQG;IACH,OAAO,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,EAAE,CAAA;IAExD;;;;;;;;;;OAUG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAA;IAElD;;;;;;;;OAQG;IACH,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAA;CAC9C;AAgFD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,CA8H/D;AAMD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,eAAe,GACvB,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CA4BxC"}
@@ -19,9 +19,63 @@ const PARAM_REGEX = /\{([a-zA-Z_][a-zA-Z0-9_]*)(?::([^{}]+))?\}/g;
19
19
  * Characters that need escaping in regex.
20
20
  */
21
21
  const REGEX_ESCAPE = /[.*+?^${}()|[\]\\]/g;
22
+ /**
23
+ * Characters with special meaning in glob patterns.
24
+ * Literal text is escaped so paths containing e.g. `[id]` match verbatim.
25
+ */
26
+ const GLOB_ESCAPE = /[*?[\]{}()!\\]/g;
27
+ function parseParts(segment) {
28
+ const parts = [];
29
+ const regex = new RegExp(PARAM_REGEX.source, "g");
30
+ let cursor = 0;
31
+ let match;
32
+ while ((match = regex.exec(segment)) !== null) {
33
+ if (match.index > cursor) {
34
+ parts.push({ kind: "literal", value: segment.slice(cursor, match.index) });
35
+ }
36
+ parts.push({ kind: "param", name: match[1], constraint: match[2] || undefined });
37
+ cursor = match.index + match[0].length;
38
+ }
39
+ if (cursor < segment.length) {
40
+ parts.push({ kind: "literal", value: segment.slice(cursor) });
41
+ }
42
+ return parts;
43
+ }
44
+ /**
45
+ * Split a pattern into chunks at `<...>` optional segment boundaries.
46
+ * Nesting is not supported.
47
+ */
48
+ function parseChunks(pattern) {
49
+ const chunks = [];
50
+ let cursor = 0;
51
+ while (cursor < pattern.length) {
52
+ const open = pattern.indexOf("<", cursor);
53
+ if (open === -1) {
54
+ chunks.push({ optional: false, parts: parseParts(pattern.slice(cursor)) });
55
+ break;
56
+ }
57
+ const close = pattern.indexOf(">", open);
58
+ if (close === -1) {
59
+ throw new Error(`Unclosed optional segment in pattern: ${pattern}`);
60
+ }
61
+ const inner = pattern.slice(open + 1, close);
62
+ if (inner.includes("<")) {
63
+ throw new Error(`Nested optional segments are not supported: ${pattern}`);
64
+ }
65
+ if (open > cursor) {
66
+ chunks.push({ optional: false, parts: parseParts(pattern.slice(cursor, open)) });
67
+ }
68
+ chunks.push({ optional: true, parts: parseParts(inner) });
69
+ cursor = close + 1;
70
+ }
71
+ return chunks;
72
+ }
22
73
  /**
23
74
  * Compile a path pattern string into a usable pattern object.
24
75
  *
76
+ * Supports `{param}` placeholders, `{param:regex}` inline constraints, and
77
+ * `<...>` optional segments (e.g. `'{date}< {time}> - {slug}.md'`).
78
+ *
25
79
  * @param pattern - The pattern string like '{year}/{slug}.md'
26
80
  * @returns A CompiledPattern instance
27
81
  *
@@ -31,58 +85,83 @@ const REGEX_ESCAPE = /[.*+?^${}()|[\]\\]/g;
31
85
  * pattern.match('2024/hello.md') // { year: '2024', slug: 'hello' }
32
86
  */
33
87
  export function compilePattern(pattern) {
34
- // Extract all parameter names in order
88
+ const chunks = parseChunks(pattern);
35
89
  const paramNames = [];
36
- const placeholders = [];
37
- let match;
38
- const regex = new RegExp(PARAM_REGEX.source, "g");
39
- while ((match = regex.exec(pattern)) !== null) {
40
- const name = match[1];
41
- const constraint = match[2] || undefined;
42
- paramNames.push(name);
43
- placeholders.push({
44
- raw: match[0],
45
- name,
46
- constraint,
47
- });
90
+ const paramChunk = new Map();
91
+ for (const chunk of chunks) {
92
+ for (const part of chunk.parts) {
93
+ if (part.kind === "param") {
94
+ paramNames.push(part.name);
95
+ paramChunk.set(part.name, chunk);
96
+ }
97
+ }
48
98
  }
49
- // Build the match regex by escaping literal segments and inserting
50
- // capturing groups for placeholders.
99
+ // Build the match regex. Only param groups capture, so capture order
100
+ // follows param order even with optional (non-capturing) groups.
51
101
  let regexPattern = "";
52
- let cursor = 0;
53
- const placeholderRegex = new RegExp(PARAM_REGEX.source, "g");
54
- let placeholderMatch;
55
- while ((placeholderMatch = placeholderRegex.exec(pattern)) !== null) {
56
- const [raw, _name, constraint] = placeholderMatch;
57
- const literal = pattern.slice(cursor, placeholderMatch.index);
58
- regexPattern += literal.replace(REGEX_ESCAPE, "\\$&");
59
- // Use non-greedy groups so adjacent params separated by literals
60
- // (e.g. "wp-{priority}-{name}.md") split as expected.
61
- // Allow inline constraints via {param:...}, for example {num:\\d+}.
62
- const capture = constraint?.trim() || "[^/]+?";
63
- regexPattern += `(${capture})`;
64
- cursor = placeholderMatch.index + raw.length;
102
+ for (const chunk of chunks) {
103
+ let sub = "";
104
+ for (const part of chunk.parts) {
105
+ if (part.kind === "literal") {
106
+ sub += part.value.replace(REGEX_ESCAPE, "\\$&");
107
+ }
108
+ else {
109
+ // Non-greedy groups so adjacent params separated by literals
110
+ // (e.g. "wp-{priority}-{name}.md") split as expected.
111
+ sub += `(${part.constraint?.trim() || "[^/]+?"})`;
112
+ }
113
+ }
114
+ regexPattern += chunk.optional ? `(?:${sub})?` : sub;
65
115
  }
66
- regexPattern += pattern.slice(cursor).replace(REGEX_ESCAPE, "\\$&");
67
116
  const matchRegex = new RegExp(`^${regexPattern}$`);
117
+ function toGlobs(constraints) {
118
+ const optionals = chunks.filter((c) => c.optional);
119
+ const globs = new Set();
120
+ // Enumerate include/exclude combinations of optional chunks
121
+ for (let mask = 0; mask < 1 << optionals.length; mask++) {
122
+ const included = new Set();
123
+ optionals.forEach((chunk, i) => {
124
+ if (mask & (1 << i))
125
+ included.add(chunk);
126
+ });
127
+ // Prune variants that omit a constrained param
128
+ const omitsConstrained = [...paramChunk.entries()].some(([name, chunk]) => chunk.optional &&
129
+ !included.has(chunk) &&
130
+ constraints?.[name] !== undefined &&
131
+ constraints?.[name] !== null);
132
+ if (omitsConstrained)
133
+ continue;
134
+ let glob = "";
135
+ for (const chunk of chunks) {
136
+ if (chunk.optional && !included.has(chunk))
137
+ continue;
138
+ for (const part of chunk.parts) {
139
+ if (part.kind === "literal") {
140
+ glob += part.value.replace(GLOB_ESCAPE, "\\$&");
141
+ }
142
+ else {
143
+ const value = constraints?.[part.name];
144
+ glob +=
145
+ value !== undefined && value !== null
146
+ ? String(value).replace(GLOB_ESCAPE, "\\$&")
147
+ : "*";
148
+ }
149
+ }
150
+ }
151
+ globs.add(glob);
152
+ }
153
+ return [...globs];
154
+ }
68
155
  return {
69
156
  pattern,
70
157
  paramNames,
158
+ toGlobs,
71
159
  toGlob(constraints) {
72
- let glob = pattern;
73
- // Replace each param with either its constrained value or a wildcard
74
- for (const placeholder of placeholders) {
75
- const value = constraints?.[placeholder.name];
76
- if (value !== undefined && value !== null) {
77
- // Use the constrained value
78
- glob = glob.replace(placeholder.raw, String(value));
79
- }
80
- else {
81
- // Use a wildcard - * matches anything except /
82
- glob = glob.replace(placeholder.raw, "*");
83
- }
160
+ const globs = toGlobs(constraints);
161
+ if (globs.length > 1) {
162
+ throw new Error(`Pattern has optional segments producing ${globs.length} glob variants; use toGlobs(): ${pattern}`);
84
163
  }
85
- return glob;
164
+ return globs[0];
86
165
  },
87
166
  match(path) {
88
167
  const result = matchRegex.exec(path);
@@ -90,18 +169,33 @@ export function compilePattern(pattern) {
90
169
  return null;
91
170
  const params = {};
92
171
  for (let i = 0; i < paramNames.length; i++) {
93
- params[paramNames[i]] = result[i + 1];
172
+ if (result[i + 1] !== undefined) {
173
+ params[paramNames[i]] = result[i + 1];
174
+ }
94
175
  }
95
176
  return params;
96
177
  },
97
178
  build(params) {
98
- let result = pattern;
99
- for (const placeholder of placeholders) {
100
- const value = params[placeholder.name];
101
- if (value === undefined) {
102
- throw new Error(`Missing required param: ${placeholder.name}`);
179
+ let result = "";
180
+ for (const chunk of chunks) {
181
+ if (chunk.optional) {
182
+ const chunkParams = chunk.parts.filter((p) => p.kind === "param");
183
+ if (!chunkParams.every((p) => p.kind === "param" && params[p.name] !== undefined)) {
184
+ continue;
185
+ }
186
+ }
187
+ for (const part of chunk.parts) {
188
+ if (part.kind === "literal") {
189
+ result += part.value;
190
+ }
191
+ else {
192
+ const value = params[part.name];
193
+ if (value === undefined) {
194
+ throw new Error(`Missing required param: ${part.name}`);
195
+ }
196
+ result += value;
197
+ }
103
198
  }
104
- result = result.replace(placeholder.raw, value);
105
199
  }
106
200
  return result;
107
201
  },
@@ -1 +1 @@
1
- {"version":3,"file":"path-pattern.js","sourceRoot":"","sources":["../src/path-pattern.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"path-pattern.js","sourceRoot":"","sources":["../src/path-pattern.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAyGH,gFAAgF;AAChF,kBAAkB;AAClB,gFAAgF;AAEhF;;;GAGG;AACH,MAAM,WAAW,GAAG,6CAA6C,CAAA;AAEjE;;GAEG;AACH,MAAM,YAAY,GAAG,qBAAqB,CAAA;AAE1C;;;GAGG;AACH,MAAM,WAAW,GAAG,iBAAiB,CAAA;AAWrC,SAAS,UAAU,CAAC,OAAe;IACjC,MAAM,KAAK,GAAkB,EAAE,CAAA;IAC/B,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACjD,IAAI,MAAM,GAAG,CAAC,CAAA;IACd,IAAI,KAA6B,CAAA;IACjC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAC9C,IAAI,KAAK,CAAC,KAAK,GAAG,MAAM,EAAE,CAAC;YACzB,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QAC5E,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE,CAAC,CAAA;QAChF,MAAM,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;IACxC,CAAC;IACD,IAAI,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;QAC5B,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IAC/D,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED;;;GAGG;AACH,SAAS,WAAW,CAAC,OAAe;IAClC,MAAM,MAAM,GAAmB,EAAE,CAAA;IACjC,IAAI,MAAM,GAAG,CAAC,CAAA;IACd,OAAO,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;QACzC,IAAI,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC;YAChB,MAAM,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAA;YAC1E,MAAK;QACP,CAAC;QACD,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;QACxC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,yCAAyC,OAAO,EAAE,CAAC,CAAA;QACrE,CAAC;QACD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,EAAE,KAAK,CAAC,CAAA;QAC5C,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,+CAA+C,OAAO,EAAE,CAAC,CAAA;QAC3E,CAAC;QACD,IAAI,IAAI,GAAG,MAAM,EAAE,CAAC;YAClB,MAAM,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,CAAA;QAClF,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QACzD,MAAM,GAAG,KAAK,GAAG,CAAC,CAAA;IACpB,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,cAAc,CAAC,OAAe;IAC5C,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,CAAA;IAEnC,MAAM,UAAU,GAAa,EAAE,CAAA;IAC/B,MAAM,UAAU,GAAG,IAAI,GAAG,EAAwB,CAAA;IAClD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAC/B,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC1B,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBAC1B,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;YAClC,CAAC;QACH,CAAC;IACH,CAAC;IAED,qEAAqE;IACrE,iEAAiE;IACjE,IAAI,YAAY,GAAG,EAAE,CAAA;IACrB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,GAAG,GAAG,EAAE,CAAA;QACZ,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAC/B,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC5B,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,CAAA;YACjD,CAAC;iBAAM,CAAC;gBACN,6DAA6D;gBAC7D,sDAAsD;gBACtD,GAAG,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,QAAQ,GAAG,CAAA;YACnD,CAAC;QACH,CAAC;QACD,YAAY,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAA;IACtD,CAAC;IACD,MAAM,UAAU,GAAG,IAAI,MAAM,CAAC,IAAI,YAAY,GAAG,CAAC,CAAA;IAElD,SAAS,OAAO,CAAC,WAAqC;QACpD,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;QAClD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAA;QAE/B,4DAA4D;QAC5D,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,IAAI,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC;YACxD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAgB,CAAA;YACxC,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;gBAC7B,IAAI,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;oBAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;YAC1C,CAAC,CAAC,CAAA;YAEF,+CAA+C;YAC/C,MAAM,gBAAgB,GAAG,CAAC,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CACrD,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAChB,KAAK,CAAC,QAAQ;gBACd,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC;gBACpB,WAAW,EAAE,CAAC,IAAI,CAAC,KAAK,SAAS;gBACjC,WAAW,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,CAC/B,CAAA;YACD,IAAI,gBAAgB;gBAAE,SAAQ;YAE9B,IAAI,IAAI,GAAG,EAAE,CAAA;YACb,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,IAAI,KAAK,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC;oBAAE,SAAQ;gBACpD,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;oBAC/B,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;wBAC5B,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,CAAA;oBACjD,CAAC;yBAAM,CAAC;wBACN,MAAM,KAAK,GAAG,WAAW,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;wBACtC,IAAI;4BACF,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;gCACnC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC;gCAC5C,CAAC,CAAC,GAAG,CAAA;oBACX,CAAC;gBACH,CAAC;YACH,CAAC;YACD,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACjB,CAAC;QAED,OAAO,CAAC,GAAG,KAAK,CAAC,CAAA;IACnB,CAAC;IAED,OAAO;QACL,OAAO;QACP,UAAU;QACV,OAAO;QAEP,MAAM,CAAC,WAAqC;YAC1C,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,CAAC,CAAA;YAClC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrB,MAAM,IAAI,KAAK,CACb,2CAA2C,KAAK,CAAC,MAAM,kCAAkC,OAAO,EAAE,CACnG,CAAA;YACH,CAAC;YACD,OAAO,KAAK,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;QAED,KAAK,CAAC,IAAY;YAChB,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACpC,IAAI,CAAC,MAAM;gBAAE,OAAO,IAAI,CAAA;YAExB,MAAM,MAAM,GAA2B,EAAE,CAAA;YACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC3C,IAAI,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;oBAChC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;gBACvC,CAAC;YACH,CAAC;YACD,OAAO,MAAM,CAAA;QACf,CAAC;QAED,KAAK,CAAC,MAA8B;YAClC,IAAI,MAAM,GAAG,EAAE,CAAA;YACf,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;oBACnB,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAA;oBACjE,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC,EAAE,CAAC;wBAClF,SAAQ;oBACV,CAAC;gBACH,CAAC;gBACD,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;oBAC/B,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;wBAC5B,MAAM,IAAI,IAAI,CAAC,KAAK,CAAA;oBACtB,CAAC;yBAAM,CAAC;wBACN,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;wBAC/B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;4BACxB,MAAM,IAAI,KAAK,CAAC,2BAA2B,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;wBACzD,CAAC;wBACD,MAAM,IAAI,KAAK,CAAA;oBACjB,CAAC;gBACH,CAAC;YACH,CAAC;YACD,OAAO,MAAM,CAAA;QACf,CAAC;KACF,CAAA;AACH,CAAC;AAED,gFAAgF;AAChF,yBAAyB;AACzB,gFAAgF;AAEhF;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAChC,OAAwB;IAExB,OAAO;QACL,WAAW,EAAE;YACX,OAAO,EAAE,CAAC;YACV,MAAM,EAAE,iBAAiB;YACzB,QAAQ,CAAC,KAAc;gBACrB,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;oBAChD,OAAO;wBACL,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC;qBACzC,CAAA;gBACH,CAAC;gBAED,MAAM,GAAG,GAAG,KAAgC,CAAA;gBAE5C,0CAA0C;gBAC1C,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;oBACtC,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,CAAA;oBACrB,IAAI,GAAG,KAAK,SAAS,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;wBACjD,OAAO;4BACL,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,SAAS,IAAI,mBAAmB,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;yBACtE,CAAA;oBACH,CAAC;gBACH,CAAC;gBAED,OAAO,EAAE,KAAK,EAAE,GAA6B,EAAE,CAAA;YACjD,CAAC;SACF;KACF,CAAA;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"static.d.ts","sourceRoot":"","sources":["../src/static.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AA2HrD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,MAAM,EAC5C,IAAI,EAAE,CAAC,EAAE,GACR,QAAQ,CACT,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,EAChD,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,EAChD,cAAc,CAAC,CAAC,CAAC,CAClB,CAiCA;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,sBAAgB,CAAA"}
1
+ {"version":3,"file":"static.d.ts","sourceRoot":"","sources":["../src/static.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AA4HrD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,MAAM,EAC5C,IAAI,EAAE,CAAC,EAAE,GACR,QAAQ,CACT,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,EAChD,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,EAChD,cAAc,CAAC,CAAC,CAAC,CAClB,CAiCA;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,sBAAgB,CAAA"}
package/dist/static.js CHANGED
@@ -27,6 +27,7 @@
27
27
  * .select("params.slug", "frontmatter.title")
28
28
  * .exec();
29
29
  */
30
+ import { matchesConstraint } from "./filter.js";
30
31
  // =============================================================================
31
32
  // Filter Helpers
32
33
  // =============================================================================
@@ -52,8 +53,8 @@ function defaultFilter(item, filter) {
52
53
  if (!frontmatter) {
53
54
  return Object.keys(filter).length === 0;
54
55
  }
55
- for (const [key, value] of Object.entries(filter)) {
56
- if (frontmatter[key] !== value) {
56
+ for (const [key, constraint] of Object.entries(filter)) {
57
+ if (!matchesConstraint(frontmatter[key], constraint)) {
57
58
  return false;
58
59
  }
59
60
  }
@@ -1 +1 @@
1
- {"version":3,"file":"static.js","sourceRoot":"","sources":["../src/static.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"static.js","sourceRoot":"","sources":["../src/static.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,8 +1,17 @@
1
1
  {
2
2
  "name": "@piqit/resolvers",
3
- "version": "0.0.11-rc.1",
3
+ "version": "0.3.1",
4
4
  "type": "module",
5
5
  "license": "MIT",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "git+https://github.com/djgrant/piq.git",
9
+ "directory": "packages/resolvers"
10
+ },
11
+ "homepage": "https://github.com/djgrant/piq#readme",
12
+ "bugs": {
13
+ "url": "https://github.com/djgrant/piq/issues"
14
+ },
6
15
  "types": "./dist/index.d.ts",
7
16
  "exports": {
8
17
  ".": {
@@ -25,7 +34,7 @@
25
34
  "dist"
26
35
  ],
27
36
  "dependencies": {
28
- "piqit": "0.0.11-rc.1"
37
+ "piqit": "0.3.1"
29
38
  },
30
39
  "devDependencies": {
31
40
  "@types/bun": "latest",