polen 0.11.0-next.16 → 0.11.0-next.18
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/build/api/builder/ssg/generate.d.ts.map +1 -1
- package/build/api/builder/ssg/generate.js +5 -5
- package/build/api/builder/ssg/generate.js.map +1 -1
- package/build/api/builder/ssg/page-generator.worker.js +13 -3
- package/build/api/builder/ssg/page-generator.worker.js.map +1 -1
- package/build/api/config/input.d.ts +88 -3
- package/build/api/config/input.d.ts.map +1 -1
- package/build/api/config/normalized.d.ts +92 -7
- package/build/api/config/normalized.d.ts.map +1 -1
- package/build/api/config/normalized.js +11 -3
- package/build/api/config/normalized.js.map +1 -1
- package/build/api/config-template/template.js +2 -2
- package/build/api/config-template/template.js.map +1 -1
- package/build/api/content/sidebar.d.ts.map +1 -1
- package/build/api/content/sidebar.js +2 -1
- package/build/api/content/sidebar.js.map +1 -1
- package/build/api/examples/config.d.ts +366 -3
- package/build/api/examples/config.d.ts.map +1 -1
- package/build/api/examples/config.js +25 -3
- package/build/api/examples/config.js.map +1 -1
- package/build/api/examples/diagnostic/diagnostic.d.ts +5 -5
- package/build/api/examples/diagnostic/missing-versions.d.ts +5 -4
- package/build/api/examples/diagnostic/missing-versions.d.ts.map +1 -1
- package/build/api/examples/diagnostic/missing-versions.js +3 -2
- package/build/api/examples/diagnostic/missing-versions.js.map +1 -1
- package/build/api/examples/diagnostic/unknown-version.d.ts +5 -4
- package/build/api/examples/diagnostic/unknown-version.d.ts.map +1 -1
- package/build/api/examples/diagnostic/unknown-version.js +3 -2
- package/build/api/examples/diagnostic/unknown-version.js.map +1 -1
- package/build/api/examples/diagnostic/validation-error.d.ts +3 -2
- package/build/api/examples/diagnostic/validation-error.d.ts.map +1 -1
- package/build/api/examples/diagnostic/validation-error.js +9 -3
- package/build/api/examples/diagnostic/validation-error.js.map +1 -1
- package/build/api/examples/diagnostic/validator.d.ts.map +1 -1
- package/build/api/examples/diagnostic/validator.js +115 -69
- package/build/api/examples/diagnostic/validator.js.map +1 -1
- package/build/api/examples/filter.d.ts.map +1 -1
- package/build/api/examples/filter.js +9 -6
- package/build/api/examples/filter.js.map +1 -1
- package/build/api/examples/scanner.d.ts.map +1 -1
- package/build/api/examples/scanner.js +93 -103
- package/build/api/examples/scanner.js.map +1 -1
- package/build/api/examples/type-usage-indexer.d.ts.map +1 -1
- package/build/api/examples/type-usage-indexer.js +18 -32
- package/build/api/examples/type-usage-indexer.js.map +1 -1
- package/build/api/iso/schema/routing.d.ts.map +1 -1
- package/build/api/iso/schema/routing.js +8 -8
- package/build/api/iso/schema/routing.js.map +1 -1
- package/build/api/iso/schema/validation.d.ts.map +1 -1
- package/build/api/iso/schema/validation.js +3 -2
- package/build/api/iso/schema/validation.js.map +1 -1
- package/build/api/schema/input-sources/directory.js +2 -2
- package/build/api/schema/input-sources/directory.js.map +1 -1
- package/build/api/schema/input-sources/versioned-directory.d.ts +3 -3
- package/build/api/schema/input-sources/versioned-directory.d.ts.map +1 -1
- package/build/api/schema/input-sources/versioned-directory.js +6 -4
- package/build/api/schema/input-sources/versioned-directory.js.map +1 -1
- package/build/api/schema/load.d.ts.map +1 -1
- package/build/api/schema/load.js +2 -2
- package/build/api/schema/load.js.map +1 -1
- package/build/cli/commands/hero-image.js +1 -1
- package/build/cli/commands/hero-image.js.map +1 -1
- package/build/lib/catalog/catalog.d.ts +65 -24
- package/build/lib/catalog/catalog.d.ts.map +1 -1
- package/build/lib/catalog/catalog.js +72 -16
- package/build/lib/catalog/catalog.js.map +1 -1
- package/build/lib/catalog/versioned.d.ts +46 -26
- package/build/lib/catalog/versioned.d.ts.map +1 -1
- package/build/lib/catalog/versioned.js +44 -7
- package/build/lib/catalog/versioned.js.map +1 -1
- package/build/lib/catalog-statistics/analyze-catalog.js +3 -3
- package/build/lib/catalog-statistics/analyze-catalog.js.map +1 -1
- package/build/lib/document/document.d.ts +55 -5
- package/build/lib/document/document.d.ts.map +1 -1
- package/build/lib/document/document.js +96 -2
- package/build/lib/document/document.js.map +1 -1
- package/build/lib/document/versioned.d.ts +2 -2
- package/build/lib/document/versioned.d.ts.map +1 -1
- package/build/lib/document/versioned.js +7 -7
- package/build/lib/document/versioned.js.map +1 -1
- package/build/lib/lifecycles/lifecycles.d.ts +5 -4
- package/build/lib/lifecycles/lifecycles.d.ts.map +1 -1
- package/build/lib/lifecycles/lifecycles.js +15 -13
- package/build/lib/lifecycles/lifecycles.js.map +1 -1
- package/build/lib/version-coverage/$$.d.ts +2 -0
- package/build/lib/version-coverage/$$.d.ts.map +1 -0
- package/build/lib/version-coverage/$$.js +2 -0
- package/build/lib/version-coverage/$$.js.map +1 -0
- package/build/lib/version-coverage/$.d.ts.map +1 -0
- package/build/lib/version-coverage/$.js.map +1 -0
- package/build/lib/{version-selection/version-selection.d.ts → version-coverage/version-coverage.d.ts} +1 -1
- package/build/lib/version-coverage/version-coverage.d.ts.map +1 -0
- package/build/lib/{version-selection/version-selection.js → version-coverage/version-coverage.js} +2 -2
- package/build/lib/version-coverage/version-coverage.js.map +1 -0
- package/build/template/components/Changelog/Changelog.d.ts.map +1 -1
- package/build/template/components/Changelog/Changelog.js +7 -7
- package/build/template/components/Changelog/Changelog.js.map +1 -1
- package/build/template/components/GraphQLDocument.d.ts +1 -1
- package/build/template/components/GraphQLDocument.d.ts.map +1 -1
- package/build/template/components/GraphQLDocument.js +10 -38
- package/build/template/components/GraphQLDocument.js.map +1 -1
- package/build/template/components/GraphQLInteractive/lib/parser.d.ts +28 -0
- package/build/template/components/GraphQLInteractive/lib/parser.d.ts.map +1 -1
- package/build/template/components/GraphQLInteractive/lib/parser.js +60 -27
- package/build/template/components/GraphQLInteractive/lib/parser.js.map +1 -1
- package/build/template/components/VersionCoveragePicker.d.ts +1 -1
- package/build/template/components/VersionCoveragePicker.d.ts.map +1 -1
- package/build/template/components/VersionCoveragePicker.js +4 -6
- package/build/template/components/VersionCoveragePicker.js.map +1 -1
- package/build/template/components/VersionPicker.d.ts.map +1 -1
- package/build/template/components/VersionPicker.js +5 -2
- package/build/template/components/VersionPicker.js.map +1 -1
- package/build/template/components/home/FeaturesGrid.js +1 -1
- package/build/template/components/home/FeaturesGrid.js.map +1 -1
- package/build/template/components/home/HeroSection.js +1 -1
- package/build/template/components/home/HeroSection.js.map +1 -1
- package/build/template/components/home/QuickStart.d.ts.map +1 -1
- package/build/template/components/home/QuickStart.js +8 -4
- package/build/template/components/home/QuickStart.js.map +1 -1
- package/build/template/components/home/RecentChanges.d.ts.map +1 -1
- package/build/template/components/home/RecentChanges.js +2 -1
- package/build/template/components/home/RecentChanges.js.map +1 -1
- package/build/template/hooks/use-highlighted.d.ts.map +1 -1
- package/build/template/hooks/use-highlighted.js +19 -13
- package/build/template/hooks/use-highlighted.js.map +1 -1
- package/build/template/lib/fetch-text.d.ts +18 -0
- package/build/template/lib/fetch-text.d.ts.map +1 -1
- package/build/template/lib/fetch-text.js +32 -4
- package/build/template/lib/fetch-text.js.map +1 -1
- package/build/template/routes/changelog.d.ts +1 -1
- package/build/template/routes/changelog.d.ts.map +1 -1
- package/build/template/routes/changelog.js +7 -4
- package/build/template/routes/changelog.js.map +1 -1
- package/build/template/routes/examples/_index.js +1 -1
- package/build/template/routes/examples/_index.js.map +1 -1
- package/build/template/routes/examples/name.d.ts.map +1 -1
- package/build/template/routes/examples/name.js +4 -2
- package/build/template/routes/examples/name.js.map +1 -1
- package/build/template/routes/reference.js +6 -6
- package/build/template/routes/reference.js.map +1 -1
- package/build/template/stores/toast.d.ts.map +1 -1
- package/build/template/stores/toast.js +5 -3
- package/build/template/stores/toast.js.map +1 -1
- package/build/vite/plugins/navbar.js +1 -1
- package/build/vite/plugins/navbar.js.map +1 -1
- package/build/vite/plugins/routes-manifest.js +1 -1
- package/build/vite/plugins/routes-manifest.js.map +1 -1
- package/package.json +7 -7
- package/src/api/builder/ssg/generate.ts +10 -5
- package/src/api/builder/ssg/page-generator.worker.ts +18 -3
- package/src/api/config/normalized.ts +12 -3
- package/src/api/config-template/template.ts +2 -2
- package/src/api/content/sidebar.ts +3 -3
- package/src/api/examples/config.test.ts +10 -0
- package/src/api/examples/config.ts +33 -4
- package/src/api/examples/diagnostic/missing-versions.ts +3 -2
- package/src/api/examples/diagnostic/unknown-version.ts +3 -2
- package/src/api/examples/diagnostic/validation-error.ts +9 -3
- package/src/api/examples/diagnostic/validator.test.ts +100 -55
- package/src/api/examples/diagnostic/validator.ts +148 -105
- package/src/api/examples/filter.ts +9 -6
- package/src/api/examples/scanner.ts +144 -120
- package/src/api/examples/type-usage-indexer.test.ts +44 -33
- package/src/api/examples/type-usage-indexer.ts +25 -40
- package/src/api/iso/schema/routing.ts +10 -10
- package/src/api/iso/schema/validation.ts +3 -2
- package/src/api/schema/$.test.ts +2 -2
- package/src/api/schema/input-sources/directory.ts +2 -2
- package/src/api/schema/input-sources/versioned-directory.ts +11 -8
- package/src/api/schema/load.ts +2 -2
- package/src/cli/commands/hero-image.ts +1 -1
- package/src/lib/catalog/catalog.ts +93 -16
- package/src/lib/catalog/versioned.ts +57 -7
- package/src/lib/catalog-statistics/$.test.ts +22 -12
- package/src/lib/catalog-statistics/analyze-catalog.ts +3 -3
- package/src/lib/document/document.ts +135 -2
- package/src/lib/document/versioned.ts +8 -8
- package/src/lib/lifecycles/lifecycles.ts +33 -28
- package/src/lib/version-coverage/$$.ts +1 -0
- package/src/lib/{version-selection/version-selection.ts → version-coverage/version-coverage.ts} +1 -1
- package/src/template/components/Changelog/Changelog.tsx +10 -6
- package/src/template/components/GraphQLDocument.tsx +11 -68
- package/src/template/components/GraphQLInteractive/lib/parser.ts +81 -29
- package/src/template/components/VersionCoveragePicker.tsx +4 -5
- package/src/template/components/VersionPicker.tsx +9 -2
- package/src/template/components/home/FeaturesGrid.tsx +1 -1
- package/src/template/components/home/HeroSection.tsx +1 -1
- package/src/template/components/home/QuickStart.tsx +16 -7
- package/src/template/components/home/RecentChanges.tsx +3 -1
- package/src/template/hooks/use-highlighted.ts +31 -19
- package/src/template/lib/fetch-text.ts +45 -4
- package/src/template/routes/changelog.tsx +10 -4
- package/src/template/routes/examples/_index.tsx +1 -1
- package/src/template/routes/examples/name.tsx +4 -2
- package/src/template/routes/reference.tsx +6 -6
- package/src/template/stores/toast.ts +6 -3
- package/src/vite/plugins/navbar.ts +1 -1
- package/src/vite/plugins/routes-manifest.ts +1 -1
- package/build/lib/graph/$$.d.ts +0 -2
- package/build/lib/graph/$$.d.ts.map +0 -1
- package/build/lib/graph/$$.js +0 -2
- package/build/lib/graph/$$.js.map +0 -1
- package/build/lib/graph/$.d.ts +0 -2
- package/build/lib/graph/$.d.ts.map +0 -1
- package/build/lib/graph/$.js +0 -2
- package/build/lib/graph/$.js.map +0 -1
- package/build/lib/graph/graph.d.ts +0 -127
- package/build/lib/graph/graph.d.ts.map +0 -1
- package/build/lib/graph/graph.js +0 -152
- package/build/lib/graph/graph.js.map +0 -1
- package/build/lib/mask/$$.d.ts +0 -3
- package/build/lib/mask/$$.d.ts.map +0 -1
- package/build/lib/mask/$$.js +0 -3
- package/build/lib/mask/$$.js.map +0 -1
- package/build/lib/mask/$.d.ts +0 -2
- package/build/lib/mask/$.d.ts.map +0 -1
- package/build/lib/mask/$.js +0 -2
- package/build/lib/mask/$.js.map +0 -1
- package/build/lib/mask/apply.d.ts +0 -86
- package/build/lib/mask/apply.d.ts.map +0 -1
- package/build/lib/mask/apply.js +0 -86
- package/build/lib/mask/apply.js.map +0 -1
- package/build/lib/mask/mask.d.ts +0 -124
- package/build/lib/mask/mask.d.ts.map +0 -1
- package/build/lib/mask/mask.js +0 -137
- package/build/lib/mask/mask.js.map +0 -1
- package/build/lib/mask/mask.test-d.d.ts +0 -2
- package/build/lib/mask/mask.test-d.d.ts.map +0 -1
- package/build/lib/mask/mask.test-d.js +0 -102
- package/build/lib/mask/mask.test-d.js.map +0 -1
- package/build/lib/version-selection/$$.d.ts +0 -2
- package/build/lib/version-selection/$$.d.ts.map +0 -1
- package/build/lib/version-selection/$$.js +0 -2
- package/build/lib/version-selection/$$.js.map +0 -1
- package/build/lib/version-selection/$.d.ts.map +0 -1
- package/build/lib/version-selection/$.js.map +0 -1
- package/build/lib/version-selection/version-selection.d.ts.map +0 -1
- package/build/lib/version-selection/version-selection.js.map +0 -1
- package/src/lib/graph/$$.ts +0 -1
- package/src/lib/graph/$.ts +0 -1
- package/src/lib/graph/graph.ts +0 -197
- package/src/lib/mask/$$.ts +0 -2
- package/src/lib/mask/$.test.ts +0 -226
- package/src/lib/mask/$.ts +0 -1
- package/src/lib/mask/apply.ts +0 -134
- package/src/lib/mask/mask.test-d.ts +0 -156
- package/src/lib/mask/mask.ts +0 -244
- package/src/lib/version-selection/$$.ts +0 -1
- /package/build/lib/{version-selection → version-coverage}/$.d.ts +0 -0
- /package/build/lib/{version-selection → version-coverage}/$.js +0 -0
- /package/src/lib/{version-selection → version-coverage}/$.ts +0 -0
@@ -1,4 +1,5 @@
|
|
1
1
|
import { S } from '#lib/kit-temp/effect';
|
2
|
+
import { Version } from '#lib/version/$';
|
2
3
|
export declare const DiagnosticValidationError: S.Struct<{
|
3
4
|
_tag: S.tag<"Diagnostic">;
|
4
5
|
} & Omit<{
|
@@ -20,7 +21,7 @@ export declare const DiagnosticValidationError: S.Struct<{
|
|
20
21
|
name: typeof S.String;
|
21
22
|
path: typeof S.String;
|
22
23
|
}>;
|
23
|
-
version: typeof S.String
|
24
|
+
version: S.optional<S.transformOrFail<S.Union<[typeof S.String, typeof S.Number]>, S.Union<[typeof Version.IntegerVersion.Integer, typeof Version.SemverVersion.Semver, typeof Version.DateVersion.Date, typeof Version.CustomVersion.Custom]>, never>>;
|
24
25
|
errors: S.Array$<S.Struct<{
|
25
26
|
message: typeof S.String;
|
26
27
|
locations: S.optional<S.Array$<S.Struct<{
|
@@ -50,7 +51,7 @@ export declare const makeDiagnosticValidationError: import("#lib/kit-temp/effect
|
|
50
51
|
name: typeof S.String;
|
51
52
|
path: typeof S.String;
|
52
53
|
}>;
|
53
|
-
version: typeof S.String
|
54
|
+
version: S.optional<S.transformOrFail<S.Union<[typeof S.String, typeof S.Number]>, S.Union<[typeof Version.IntegerVersion.Integer, typeof Version.SemverVersion.Semver, typeof Version.DateVersion.Date, typeof Version.CustomVersion.Custom]>, never>>;
|
54
55
|
errors: S.Array$<S.Struct<{
|
55
56
|
message: typeof S.String;
|
56
57
|
locations: S.optional<S.Array$<S.Struct<{
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"validation-error.d.ts","sourceRoot":"","sources":["../../../../src/api/examples/diagnostic/validation-error.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"validation-error.d.ts","sourceRoot":"","sources":["../../../../src/api/examples/diagnostic/validation-error.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,sBAAsB,CAAA;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAExC,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqBpC,CAAA;AAEF,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAAmD,CAAA;AAE7F,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,yBAAyB,CAAC,CAAA"}
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import { Diagnostic } from '#lib/diagnostic/$';
|
2
|
-
import { GraphQLError } from '#lib/graphql-error/$';
|
3
2
|
import { S } from '#lib/kit-temp/effect';
|
3
|
+
import { Version } from '#lib/version/$';
|
4
4
|
export const DiagnosticValidationError = Diagnostic.create({
|
5
5
|
source: 'examples-validation',
|
6
6
|
name: 'invalid-graphql',
|
@@ -10,8 +10,14 @@ export const DiagnosticValidationError = Diagnostic.create({
|
|
10
10
|
name: S.String,
|
11
11
|
path: S.String,
|
12
12
|
}),
|
13
|
-
version: S.
|
14
|
-
errors: S.Array(
|
13
|
+
version: S.optional(Version.Version),
|
14
|
+
errors: S.Array(S.Struct({
|
15
|
+
message: S.String,
|
16
|
+
locations: S.optional(S.Array(S.Struct({
|
17
|
+
line: S.Number,
|
18
|
+
column: S.Number,
|
19
|
+
}))),
|
20
|
+
})),
|
15
21
|
},
|
16
22
|
}).annotations({
|
17
23
|
identifier: 'DiagnosticValidationError',
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"validation-error.js","sourceRoot":"","sources":["../../../../src/api/examples/diagnostic/validation-error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAE,
|
1
|
+
{"version":3,"file":"validation-error.js","sourceRoot":"","sources":["../../../../src/api/examples/diagnostic/validation-error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAE,CAAC,EAAE,MAAM,sBAAsB,CAAA;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAExC,MAAM,CAAC,MAAM,yBAAyB,GAAG,UAAU,CAAC,MAAM,CAAC;IACzD,MAAM,EAAE,qBAAqB;IAC7B,IAAI,EAAE,iBAAiB;IACvB,QAAQ,EAAE,OAAO,EAAE,qCAAqC;IACxD,OAAO,EAAE;QACP,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;YAChB,IAAI,EAAE,CAAC,CAAC,MAAM;YACd,IAAI,EAAE,CAAC,CAAC,MAAM;SACf,CAAC;QACF,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC;QACpC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;YACvB,OAAO,EAAE,CAAC,CAAC,MAAM;YACjB,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;gBACrC,IAAI,EAAE,CAAC,CAAC,MAAM;gBACd,MAAM,EAAE,CAAC,CAAC,MAAM;aACjB,CAAC,CAAC,CAAC;SACL,CAAC,CAAC;KACJ;CACF,CAAC,CAAC,WAAW,CAAC;IACb,UAAU,EAAE,2BAA2B;IACvC,WAAW,EAAE,sDAAsD;CACpE,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,6BAA6B,GAAG,UAAU,CAAC,UAAU,CAAC,yBAAyB,CAAC,CAAA"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../../../src/api/examples/diagnostic/validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAOzD,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;AACjD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAA;AAOhE,MAAM,MAAM,oBAAoB,GAAG,yBAAyB,CAAA;
|
1
|
+
{"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../../../src/api/examples/diagnostic/validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAOzD,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;AACjD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAA;AAOhE,MAAM,MAAM,oBAAoB,GAAG,yBAAyB,CAAA;AAmC5D;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,GAC3B,UAAU,OAAO,CAAC,OAAO,EAAE,EAC3B,SAAS,aAAa,CAAC,OAAO,KAC7B,oBAAoB,EAyEtB,CAAA"}
|
@@ -1,12 +1,35 @@
|
|
1
1
|
import { Catalog as SchemaCatalog } from '#lib/catalog/$';
|
2
2
|
import { Document } from '#lib/document/$';
|
3
|
+
import { Schema } from '#lib/schema/$';
|
3
4
|
import { Version } from '#lib/version/$';
|
4
|
-
import {
|
5
|
-
import { Array } from 'effect';
|
5
|
+
import { Array, Either, Match, Schema as S } from 'effect';
|
6
6
|
import { parse, specifiedRules, validate } from 'graphql';
|
7
7
|
import { Example } from '../schemas/example/$.js';
|
8
8
|
import { makeDiagnosticValidationError } from './diagnostic.js';
|
9
9
|
// ============================================================================
|
10
|
+
// Schemas
|
11
|
+
// ============================================================================
|
12
|
+
const GraphQLErrorData = S.Struct({
|
13
|
+
message: S.String,
|
14
|
+
locations: S.optional(S.Array(S.Struct({
|
15
|
+
line: S.Number,
|
16
|
+
column: S.Number,
|
17
|
+
}))),
|
18
|
+
});
|
19
|
+
// ============================================================================
|
20
|
+
// Safe Parsing
|
21
|
+
// ============================================================================
|
22
|
+
/**
|
23
|
+
* Safely parse a GraphQL document without throwing.
|
24
|
+
* Returns an Either with the document on success or error on failure.
|
25
|
+
*/
|
26
|
+
const parseDocumentSafe = (content) => {
|
27
|
+
return Either.try({
|
28
|
+
try: () => parse(content),
|
29
|
+
catch: (error) => error,
|
30
|
+
});
|
31
|
+
};
|
32
|
+
// ============================================================================
|
10
33
|
// Validation
|
11
34
|
// ============================================================================
|
12
35
|
/**
|
@@ -18,43 +41,60 @@ import { makeDiagnosticValidationError } from './diagnostic.js';
|
|
18
41
|
*/
|
19
42
|
export const validateExamples = (examples, catalog) => {
|
20
43
|
const diagnostics = [];
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
}
|
35
|
-
|
44
|
+
Array.forEach(examples, (example) => {
|
45
|
+
if (example.document._tag === 'DocumentVersioned') {
|
46
|
+
// Versioned document: iterate all versions and let utility handle compatibility
|
47
|
+
const documentVersions = Document.Versioned.getAllVersions(example.document);
|
48
|
+
let versionMismatchDetected = false;
|
49
|
+
Array.forEach(documentVersions, (version) => {
|
50
|
+
// Skip remaining versions if we already detected a version mismatch
|
51
|
+
if (versionMismatchDetected)
|
52
|
+
return;
|
53
|
+
const result = Document.resolveDocumentAndSchema(example.document, catalog, version);
|
54
|
+
Either.match(result, {
|
55
|
+
onLeft: (error) => {
|
56
|
+
// Pattern match on error types - all errors are now tagged
|
57
|
+
Match.value(error).pipe(Match.when({ _tag: 'VersionCoverageMismatchError' }, (err) => {
|
58
|
+
diagnostics.push(makeDiagnosticValidationError({
|
59
|
+
message: `Example "${example.name}" has versioned content but catalog is unversioned`,
|
60
|
+
example: { name: example.name, path: example.path },
|
61
|
+
version: undefined,
|
62
|
+
errors: [{ message: err.reason }],
|
63
|
+
}));
|
64
|
+
// Set flag to skip remaining versions - all will have same error
|
65
|
+
versionMismatchDetected = true;
|
66
|
+
}), Match.when({ _tag: 'VersionNotFoundInDocumentError' }, () => {
|
67
|
+
// Skip silently - version not found in document
|
68
|
+
}), Match.when({ _tag: 'VersionNotFoundInCatalogError' }, () => {
|
69
|
+
// Skip silently - version not found in catalog
|
70
|
+
}), Match.when({ _tag: 'EmptyCatalogError' }, () => {
|
71
|
+
// Skip silently - catalog has no entries
|
72
|
+
}), Match.exhaustive);
|
36
73
|
},
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
74
|
+
onRight: ({ content, schema }) => {
|
75
|
+
if (schema) {
|
76
|
+
validateDocument(example, schema, content, diagnostics);
|
77
|
+
}
|
41
78
|
},
|
42
|
-
})
|
43
|
-
}
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
}
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
79
|
+
});
|
80
|
+
});
|
81
|
+
}
|
82
|
+
else {
|
83
|
+
// Unversioned document: call without version coverage
|
84
|
+
const result = Document.resolveDocumentAndSchema(example.document, catalog);
|
85
|
+
Either.match(result, {
|
86
|
+
onLeft: () => {
|
87
|
+
// Resolution failed - skip silently
|
88
|
+
},
|
89
|
+
onRight: ({ content, schema }) => {
|
90
|
+
if (schema) {
|
91
|
+
validateDocument(example, schema, content, diagnostics);
|
92
|
+
}
|
93
|
+
},
|
94
|
+
});
|
95
|
+
}
|
96
|
+
});
|
97
|
+
return diagnostics;
|
58
98
|
};
|
59
99
|
// ============================================================================
|
60
100
|
// Helpers
|
@@ -62,55 +102,61 @@ export const validateExamples = (examples, catalog) => {
|
|
62
102
|
/**
|
63
103
|
* Validate a single document and add diagnostics if needed.
|
64
104
|
*/
|
65
|
-
const validateDocument = (
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
105
|
+
const validateDocument = (example, schema, content, diagnostics) => {
|
106
|
+
// Extract version from schema (undefined for unversioned)
|
107
|
+
const version = Schema.getVersion(schema);
|
108
|
+
// Parse the document safely
|
109
|
+
const parseResult = parseDocumentSafe(content);
|
110
|
+
if (Either.isLeft(parseResult)) {
|
111
|
+
// Handle parse errors
|
112
|
+
diagnostics.push(makeDiagnosticValidationError({
|
113
|
+
message: formatParseError(example.name, version),
|
114
|
+
example: { name: example.name, path: example.path },
|
115
|
+
version,
|
116
|
+
errors: [{ message: parseResult.left.message }],
|
117
|
+
}));
|
118
|
+
return;
|
79
119
|
}
|
80
|
-
|
81
|
-
|
120
|
+
// Validate the parsed document against the schema
|
121
|
+
const errors = validate(schema.definition, parseResult.right, specifiedRules);
|
122
|
+
if (Array.isNonEmptyReadonlyArray(errors)) {
|
82
123
|
diagnostics.push(makeDiagnosticValidationError({
|
83
|
-
message:
|
84
|
-
example: { name:
|
124
|
+
message: formatValidationMessage(example.name, version, errors),
|
125
|
+
example: { name: example.name, path: example.path },
|
85
126
|
version,
|
86
|
-
errors:
|
127
|
+
errors: errors.map(formatGraphQLError),
|
87
128
|
}));
|
88
129
|
}
|
89
130
|
};
|
131
|
+
/**
|
132
|
+
* Format a parse error message for an example.
|
133
|
+
*/
|
134
|
+
const formatParseError = (exampleId, version) => {
|
135
|
+
const versionStr = version ? ` (${Version.encodeSync(version)})` : '';
|
136
|
+
return `Example "${exampleId}"${versionStr} has invalid GraphQL syntax`;
|
137
|
+
};
|
90
138
|
/**
|
91
139
|
* Format a validation message for an example.
|
92
140
|
*/
|
93
141
|
const formatValidationMessage = (exampleId, version, errors) => {
|
94
|
-
const versionStr = version
|
142
|
+
const versionStr = version ? ` (${Version.encodeSync(version)})` : '';
|
95
143
|
const errorCount = errors.length;
|
96
144
|
const errorWord = errorCount === 1 ? 'error' : 'errors';
|
97
|
-
// Include the first error message for context
|
98
|
-
const firstError = errors
|
99
|
-
const preview =
|
145
|
+
// Include the first error message for context - always safe with NonEmptyArray
|
146
|
+
const firstError = Array.headNonEmpty(errors);
|
147
|
+
const preview = `: ${firstError.message}`;
|
100
148
|
return `Example "${exampleId}"${versionStr} has ${errorCount} validation ${errorWord}${preview}`;
|
101
149
|
};
|
102
150
|
/**
|
103
151
|
* Format a GraphQL error for diagnostic reporting.
|
104
152
|
*/
|
105
|
-
const formatGraphQLError = (error) => ({
|
153
|
+
const formatGraphQLError = (error) => GraphQLErrorData.make({
|
106
154
|
message: error.message,
|
107
|
-
...(error.locations
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
}
|
114
|
-
: {}),
|
155
|
+
...(error.locations && {
|
156
|
+
locations: error.locations.map(loc => ({
|
157
|
+
line: loc.line,
|
158
|
+
column: loc.column,
|
159
|
+
})),
|
160
|
+
}),
|
115
161
|
});
|
116
162
|
//# sourceMappingURL=validator.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"validator.js","sourceRoot":"","sources":["../../../../src/api/examples/diagnostic/validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,gBAAgB,CAAA;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAC1C,OAAO,EAAE,
|
1
|
+
{"version":3,"file":"validator.js","sourceRoot":"","sources":["../../../../src/api/examples/diagnostic/validator.ts"],"names":[],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../../src/api/examples/filter.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../../src/api/examples/filter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAChE,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAEhD;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,GACpC,UAAU,OAAO,CAAC,OAAO,EAAE,EAC3B,WAAW,gBAAgB,GAAG,SAAS,KACtC,OAAO,CAAC,OAAO,EA6BjB,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,GAC/B,aAAa,WAAW,EACxB,WAAW,gBAAgB,GAAG,SAAS,KACtC,OA6BF,CAAA"}
|
@@ -1,3 +1,4 @@
|
|
1
|
+
import { HashSet } from 'effect';
|
1
2
|
import { Example } from './schemas/example/$.js';
|
2
3
|
/**
|
3
4
|
* Filter examples based on the display configuration.
|
@@ -20,13 +21,13 @@ export const filterExamplesBySelection = (examples, selection) => {
|
|
20
21
|
}
|
21
22
|
// Handle include pattern
|
22
23
|
if ('include' in selection) {
|
23
|
-
const includeSet =
|
24
|
-
return examples.filter(example =>
|
24
|
+
const includeSet = HashSet.fromIterable(selection.include);
|
25
|
+
return examples.filter(example => HashSet.has(includeSet, example.name));
|
25
26
|
}
|
26
27
|
// Handle exclude pattern
|
27
28
|
if ('exclude' in selection) {
|
28
|
-
const excludeSet =
|
29
|
-
return examples.filter(example => !
|
29
|
+
const excludeSet = HashSet.fromIterable(selection.exclude);
|
30
|
+
return examples.filter(example => !HashSet.has(excludeSet, example.name));
|
30
31
|
}
|
31
32
|
// Fallback to all examples if selection pattern is not recognized
|
32
33
|
return examples;
|
@@ -52,11 +53,13 @@ export const shouldDisplayExample = (exampleName, selection) => {
|
|
52
53
|
}
|
53
54
|
// Handle include pattern
|
54
55
|
if ('include' in selection) {
|
55
|
-
|
56
|
+
const includeSet = HashSet.fromIterable(selection.include);
|
57
|
+
return HashSet.has(includeSet, exampleName);
|
56
58
|
}
|
57
59
|
// Handle exclude pattern
|
58
60
|
if ('exclude' in selection) {
|
59
|
-
|
61
|
+
const excludeSet = HashSet.fromIterable(selection.exclude);
|
62
|
+
return !HashSet.has(excludeSet, exampleName);
|
60
63
|
}
|
61
64
|
// Fallback to show if selection pattern is not recognized
|
62
65
|
return true;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"filter.js","sourceRoot":"","sources":["../../../src/api/examples/filter.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"filter.js","sourceRoot":"","sources":["../../../src/api/examples/filter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AAEhC,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAEhD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CACvC,QAA2B,EAC3B,SAAuC,EACpB,EAAE;IACrB,yCAAyC;IACzC,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED,yBAAyB;IACzB,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;QACxB,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;QACzB,OAAO,EAAE,CAAA;IACX,CAAC;IAED,yBAAyB;IACzB,IAAI,SAAS,IAAI,SAAS,EAAE,CAAC;QAC3B,MAAM,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;QAC1D,OAAO,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,IAAmB,CAAC,CAAC,CAAA;IACzF,CAAC;IAED,yBAAyB;IACzB,IAAI,SAAS,IAAI,SAAS,EAAE,CAAC;QAC3B,MAAM,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;QAC1D,OAAO,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,IAAmB,CAAC,CAAC,CAAA;IAC1F,CAAC;IAED,kEAAkE;IAClE,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,WAAwB,EACxB,SAAuC,EAC9B,EAAE;IACX,0CAA0C;IAC1C,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,yBAAyB;IACzB,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;QACxB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;QACzB,OAAO,KAAK,CAAA;IACd,CAAC;IAED,yBAAyB;IACzB,IAAI,SAAS,IAAI,SAAS,EAAE,CAAC;QAC3B,MAAM,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;QAC1D,OAAO,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,WAAW,CAAC,CAAA;IAC7C,CAAC;IAED,yBAAyB;IACzB,IAAI,SAAS,IAAI,SAAS,EAAE,CAAC;QAC3B,MAAM,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;QAC1D,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,WAAW,CAAC,CAAA;IAC9C,CAAC;IAED,0DAA0D;IAC1D,OAAO,IAAI,CAAA;AACb,CAAC,CAAA"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"scanner.d.ts","sourceRoot":"","sources":["../../../src/api/examples/scanner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAKzD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAE7C,OAAO,
|
1
|
+
{"version":3,"file":"scanner.d.ts","sourceRoot":"","sources":["../../../src/api/examples/scanner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAKzD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAE7C,OAAO,EAAS,MAAM,EAA2B,MAAM,QAAQ,CAAA;AAE/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AAO5D,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAO9C,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAA;IAChB,WAAW,EAAE,UAAU,EAAE,CAAA;CAC1B;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAA;IACX,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IACrB,aAAa,CAAC,EAAE,aAAa,CAAC,OAAO,CAAA;CACtC;AA2MD,eAAO,MAAM,IAAI,GACf,SAAS,WAAW,GAAG;IAAE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,KAC1C,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,EAAE,UAAU,CAAC,UAAU,CA+HrD,CAAA"}
|