@fabricorg/gen-types 2.0.5 → 2.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +10 -0
- package/dist/index.cjs +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +4 -4
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 2.0.6
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- eac74a9: Republish packages that depend on `@fabricorg/platform` or `@fabricorg/platform-host` through workspace ranges, directly or through other republished packages, so their packed dependency minimums include the adapter circuit-breaker release. Runtime source is unchanged.
|
|
8
|
+
- e0f7ca7: Republish packages that depend on `@fabricorg/platform` or `@fabricorg/platform-host` through workspace ranges, directly or through other republished packages, so their packed dependency minimums include the evidence packet generator release. Runtime source is unchanged.
|
|
9
|
+
- Updated dependencies [eac74a9]
|
|
10
|
+
- Updated dependencies [e0f7ca7]
|
|
11
|
+
- @fabricorg/compiler@2.2.6
|
|
12
|
+
|
|
3
13
|
## 2.0.5
|
|
4
14
|
|
|
5
15
|
### Patch Changes
|
package/dist/index.cjs
CHANGED
|
@@ -63,7 +63,7 @@ function jsonSchemaToTypeScript(schema, root = schema, resolving = /* @__PURE__
|
|
|
63
63
|
}
|
|
64
64
|
var typesGenerator = {
|
|
65
65
|
name: "@fabricorg/gen-types",
|
|
66
|
-
version: "2.0.
|
|
66
|
+
version: "2.0.6",
|
|
67
67
|
generate(ir) {
|
|
68
68
|
return ir.modules.map((module2) => {
|
|
69
69
|
const declarations = module2.objectTypes.map((objectType) => `export type ${objectType.type} = ${jsonSchemaToTypeScript(objectType.schema, objectType.schema, /* @__PURE__ */ new Set(), objectType.type)};`);
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../index.ts"],"sourcesContent":["/**\n * Trusted assembly/code-generation artifact, not an external audience catalog.\n * Internal surface declarations do not remove contracts here: assemblers and workers need\n * their schemas. External catalogs must filter internal definitions and apply audience rules.\n */\nimport type { FabricCompilerIr, GeneratorTarget } from \"@fabricorg/compiler\";\nimport type { PortableJsonSchema } from \"@fabricorg/platform\";\n\nexport function jsonSchemaToTypeScript(\n\tschema: PortableJsonSchema | undefined,\n\troot = schema,\n\tresolving = new Set<string>(),\n\trecursiveTypeName?: string,\n): string {\n\tif (!schema) return \"unknown\";\n\tif (schema.$ref) {\n\t\tconst match = schema.$ref.match(/^#\\/\\$defs\\/([^/]+)$/);\n\t\tconst resolved = match ? root?.$defs?.[decodeURIComponent(match[1]!)] : undefined;\n\t\tif (!resolved) throw new Error(`Unsupported or unresolved JSON Schema reference \"${schema.$ref}\".`);\n\t\tif (resolving.has(schema.$ref)) {\n\t\t\tif (recursiveTypeName) return recursiveTypeName;\n\t\t\tthrow new Error(`Recursive JSON Schema reference \"${schema.$ref}\" requires a named generated type.`);\n\t\t}\n\t\tconst next = new Set(resolving).add(schema.$ref);\n\t\treturn jsonSchemaToTypeScript(resolved, root, next, recursiveTypeName);\n\t}\n\tif (schema.allOf) return schema.allOf.map((item) => jsonSchemaToTypeScript(item, root, resolving, recursiveTypeName)).join(\" & \");\n\tif (schema.enum) return schema.enum.map((value) => JSON.stringify(value)).join(\" | \") || \"never\";\n\tif (schema.const !== undefined) return JSON.stringify(schema.const);\n\tif (schema.oneOf) return schema.oneOf.map((item) => jsonSchemaToTypeScript(item, root, resolving, recursiveTypeName)).join(\" | \");\n\tif (schema.anyOf) return schema.anyOf.map((item) => jsonSchemaToTypeScript(item, root, resolving, recursiveTypeName)).join(\" | \");\n\tconst type = Array.isArray(schema.type) ? schema.type : schema.type ? [schema.type] : [];\n\tconst variants = type.map((item) => {\n\t\tif (item === \"string\") return \"string\";\n\t\tif (item === \"number\" || item === \"integer\") return \"number\";\n\t\tif (item === \"boolean\") return \"boolean\";\n\t\tif (item === \"null\") return \"null\";\n\t\tif (item === \"array\") {\n\t\t\tif (schema.prefixItems) return `[${schema.prefixItems.map((child) => jsonSchemaToTypeScript(child, root, resolving, recursiveTypeName)).join(\", \")}]`;\n\t\t\treturn `Array<${Array.isArray(schema.items) ? schema.items.map((child) => jsonSchemaToTypeScript(child, root, resolving, recursiveTypeName)).join(\" | \") : jsonSchemaToTypeScript(schema.items, root, resolving, recursiveTypeName)}>`;\n\t\t}\n\t\tif (item === \"object\") {\n\t\t\tconst required = new Set(schema.required ?? []);\n\t\t\tconst properties = Object.entries(schema.properties ?? {}).map(([name, child]) => `${JSON.stringify(name)}${required.has(name) ? \"\" : \"?\"}: ${jsonSchemaToTypeScript(child, root, resolving, recursiveTypeName)};`);\n\t\t\treturn `{ ${properties.join(\" \")} }`;\n\t\t}\n\t\treturn \"unknown\";\n\t});\n\treturn variants.length ? variants.join(\" | \") : schema.properties ? jsonSchemaToTypeScript({ ...schema, type: \"object\" }, root, resolving, recursiveTypeName) : \"unknown\";\n}\n\nexport const typesGenerator: GeneratorTarget = {\n\tname: \"@fabricorg/gen-types\",\n\tversion: \"2.0.
|
|
1
|
+
{"version":3,"sources":["../index.ts"],"sourcesContent":["/**\n * Trusted assembly/code-generation artifact, not an external audience catalog.\n * Internal surface declarations do not remove contracts here: assemblers and workers need\n * their schemas. External catalogs must filter internal definitions and apply audience rules.\n */\nimport type { FabricCompilerIr, GeneratorTarget } from \"@fabricorg/compiler\";\nimport type { PortableJsonSchema } from \"@fabricorg/platform\";\n\nexport function jsonSchemaToTypeScript(\n\tschema: PortableJsonSchema | undefined,\n\troot = schema,\n\tresolving = new Set<string>(),\n\trecursiveTypeName?: string,\n): string {\n\tif (!schema) return \"unknown\";\n\tif (schema.$ref) {\n\t\tconst match = schema.$ref.match(/^#\\/\\$defs\\/([^/]+)$/);\n\t\tconst resolved = match ? root?.$defs?.[decodeURIComponent(match[1]!)] : undefined;\n\t\tif (!resolved) throw new Error(`Unsupported or unresolved JSON Schema reference \"${schema.$ref}\".`);\n\t\tif (resolving.has(schema.$ref)) {\n\t\t\tif (recursiveTypeName) return recursiveTypeName;\n\t\t\tthrow new Error(`Recursive JSON Schema reference \"${schema.$ref}\" requires a named generated type.`);\n\t\t}\n\t\tconst next = new Set(resolving).add(schema.$ref);\n\t\treturn jsonSchemaToTypeScript(resolved, root, next, recursiveTypeName);\n\t}\n\tif (schema.allOf) return schema.allOf.map((item) => jsonSchemaToTypeScript(item, root, resolving, recursiveTypeName)).join(\" & \");\n\tif (schema.enum) return schema.enum.map((value) => JSON.stringify(value)).join(\" | \") || \"never\";\n\tif (schema.const !== undefined) return JSON.stringify(schema.const);\n\tif (schema.oneOf) return schema.oneOf.map((item) => jsonSchemaToTypeScript(item, root, resolving, recursiveTypeName)).join(\" | \");\n\tif (schema.anyOf) return schema.anyOf.map((item) => jsonSchemaToTypeScript(item, root, resolving, recursiveTypeName)).join(\" | \");\n\tconst type = Array.isArray(schema.type) ? schema.type : schema.type ? [schema.type] : [];\n\tconst variants = type.map((item) => {\n\t\tif (item === \"string\") return \"string\";\n\t\tif (item === \"number\" || item === \"integer\") return \"number\";\n\t\tif (item === \"boolean\") return \"boolean\";\n\t\tif (item === \"null\") return \"null\";\n\t\tif (item === \"array\") {\n\t\t\tif (schema.prefixItems) return `[${schema.prefixItems.map((child) => jsonSchemaToTypeScript(child, root, resolving, recursiveTypeName)).join(\", \")}]`;\n\t\t\treturn `Array<${Array.isArray(schema.items) ? schema.items.map((child) => jsonSchemaToTypeScript(child, root, resolving, recursiveTypeName)).join(\" | \") : jsonSchemaToTypeScript(schema.items, root, resolving, recursiveTypeName)}>`;\n\t\t}\n\t\tif (item === \"object\") {\n\t\t\tconst required = new Set(schema.required ?? []);\n\t\t\tconst properties = Object.entries(schema.properties ?? {}).map(([name, child]) => `${JSON.stringify(name)}${required.has(name) ? \"\" : \"?\"}: ${jsonSchemaToTypeScript(child, root, resolving, recursiveTypeName)};`);\n\t\t\treturn `{ ${properties.join(\" \")} }`;\n\t\t}\n\t\treturn \"unknown\";\n\t});\n\treturn variants.length ? variants.join(\" | \") : schema.properties ? jsonSchemaToTypeScript({ ...schema, type: \"object\" }, root, resolving, recursiveTypeName) : \"unknown\";\n}\n\nexport const typesGenerator: GeneratorTarget = {\n\tname: \"@fabricorg/gen-types\",\n\tversion: \"2.0.6\",\n\tgenerate(ir: FabricCompilerIr) {\n\t\treturn ir.modules.map((module) => {\n\t\t\tconst declarations = module.objectTypes.map((objectType) => `export type ${objectType.type} = ${jsonSchemaToTypeScript(objectType.schema, objectType.schema, new Set(), objectType.type)};`);\n\t\t\tconst actionTypes = module.actions.flatMap((action) => [\n\t\t\t\t`export type ${pascal(action.actionId)}Parameters = ${jsonSchemaToTypeScript(action.parameterSchema as PortableJsonSchema | undefined, action.parameterSchema as PortableJsonSchema | undefined, new Set(), `${pascal(action.actionId)}Parameters`)};`,\n\t\t\t\t`export type ${pascal(action.actionId)}Result = ${jsonSchemaToTypeScript(action.resultSchema as PortableJsonSchema | undefined, action.resultSchema as PortableJsonSchema | undefined, new Set(), `${pascal(action.actionId)}Result`)};`,\n\t\t\t]);\n\t\t\treturn { path: `${module.namespace}/index.ts`, content: `// Generated by ${typesGenerator.name}@${typesGenerator.version}\\n// Manifest digest: ${ir.manifestDigest}\\n\\n${[...declarations, ...actionTypes].join(\"\\n\\n\")}\\n` };\n\t\t});\n\t},\n};\n\nconst pascal = (value: string): string => value.split(/[._/-]/).filter(Boolean).map((part) => part[0]?.toUpperCase() + part.slice(1)).join(\"\");\n"],"mappings":"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","names":["module"]}
|
package/dist/index.js
CHANGED
|
@@ -38,7 +38,7 @@ function jsonSchemaToTypeScript(schema, root = schema, resolving = /* @__PURE__
|
|
|
38
38
|
}
|
|
39
39
|
var typesGenerator = {
|
|
40
40
|
name: "@fabricorg/gen-types",
|
|
41
|
-
version: "2.0.
|
|
41
|
+
version: "2.0.6",
|
|
42
42
|
generate(ir) {
|
|
43
43
|
return ir.modules.map((module) => {
|
|
44
44
|
const declarations = module.objectTypes.map((objectType) => `export type ${objectType.type} = ${jsonSchemaToTypeScript(objectType.schema, objectType.schema, /* @__PURE__ */ new Set(), objectType.type)};`);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../index.ts"],"sourcesContent":["/**\n * Trusted assembly/code-generation artifact, not an external audience catalog.\n * Internal surface declarations do not remove contracts here: assemblers and workers need\n * their schemas. External catalogs must filter internal definitions and apply audience rules.\n */\nimport type { FabricCompilerIr, GeneratorTarget } from \"@fabricorg/compiler\";\nimport type { PortableJsonSchema } from \"@fabricorg/platform\";\n\nexport function jsonSchemaToTypeScript(\n\tschema: PortableJsonSchema | undefined,\n\troot = schema,\n\tresolving = new Set<string>(),\n\trecursiveTypeName?: string,\n): string {\n\tif (!schema) return \"unknown\";\n\tif (schema.$ref) {\n\t\tconst match = schema.$ref.match(/^#\\/\\$defs\\/([^/]+)$/);\n\t\tconst resolved = match ? root?.$defs?.[decodeURIComponent(match[1]!)] : undefined;\n\t\tif (!resolved) throw new Error(`Unsupported or unresolved JSON Schema reference \"${schema.$ref}\".`);\n\t\tif (resolving.has(schema.$ref)) {\n\t\t\tif (recursiveTypeName) return recursiveTypeName;\n\t\t\tthrow new Error(`Recursive JSON Schema reference \"${schema.$ref}\" requires a named generated type.`);\n\t\t}\n\t\tconst next = new Set(resolving).add(schema.$ref);\n\t\treturn jsonSchemaToTypeScript(resolved, root, next, recursiveTypeName);\n\t}\n\tif (schema.allOf) return schema.allOf.map((item) => jsonSchemaToTypeScript(item, root, resolving, recursiveTypeName)).join(\" & \");\n\tif (schema.enum) return schema.enum.map((value) => JSON.stringify(value)).join(\" | \") || \"never\";\n\tif (schema.const !== undefined) return JSON.stringify(schema.const);\n\tif (schema.oneOf) return schema.oneOf.map((item) => jsonSchemaToTypeScript(item, root, resolving, recursiveTypeName)).join(\" | \");\n\tif (schema.anyOf) return schema.anyOf.map((item) => jsonSchemaToTypeScript(item, root, resolving, recursiveTypeName)).join(\" | \");\n\tconst type = Array.isArray(schema.type) ? schema.type : schema.type ? [schema.type] : [];\n\tconst variants = type.map((item) => {\n\t\tif (item === \"string\") return \"string\";\n\t\tif (item === \"number\" || item === \"integer\") return \"number\";\n\t\tif (item === \"boolean\") return \"boolean\";\n\t\tif (item === \"null\") return \"null\";\n\t\tif (item === \"array\") {\n\t\t\tif (schema.prefixItems) return `[${schema.prefixItems.map((child) => jsonSchemaToTypeScript(child, root, resolving, recursiveTypeName)).join(\", \")}]`;\n\t\t\treturn `Array<${Array.isArray(schema.items) ? schema.items.map((child) => jsonSchemaToTypeScript(child, root, resolving, recursiveTypeName)).join(\" | \") : jsonSchemaToTypeScript(schema.items, root, resolving, recursiveTypeName)}>`;\n\t\t}\n\t\tif (item === \"object\") {\n\t\t\tconst required = new Set(schema.required ?? []);\n\t\t\tconst properties = Object.entries(schema.properties ?? {}).map(([name, child]) => `${JSON.stringify(name)}${required.has(name) ? \"\" : \"?\"}: ${jsonSchemaToTypeScript(child, root, resolving, recursiveTypeName)};`);\n\t\t\treturn `{ ${properties.join(\" \")} }`;\n\t\t}\n\t\treturn \"unknown\";\n\t});\n\treturn variants.length ? variants.join(\" | \") : schema.properties ? jsonSchemaToTypeScript({ ...schema, type: \"object\" }, root, resolving, recursiveTypeName) : \"unknown\";\n}\n\nexport const typesGenerator: GeneratorTarget = {\n\tname: \"@fabricorg/gen-types\",\n\tversion: \"2.0.
|
|
1
|
+
{"version":3,"sources":["../index.ts"],"sourcesContent":["/**\n * Trusted assembly/code-generation artifact, not an external audience catalog.\n * Internal surface declarations do not remove contracts here: assemblers and workers need\n * their schemas. External catalogs must filter internal definitions and apply audience rules.\n */\nimport type { FabricCompilerIr, GeneratorTarget } from \"@fabricorg/compiler\";\nimport type { PortableJsonSchema } from \"@fabricorg/platform\";\n\nexport function jsonSchemaToTypeScript(\n\tschema: PortableJsonSchema | undefined,\n\troot = schema,\n\tresolving = new Set<string>(),\n\trecursiveTypeName?: string,\n): string {\n\tif (!schema) return \"unknown\";\n\tif (schema.$ref) {\n\t\tconst match = schema.$ref.match(/^#\\/\\$defs\\/([^/]+)$/);\n\t\tconst resolved = match ? root?.$defs?.[decodeURIComponent(match[1]!)] : undefined;\n\t\tif (!resolved) throw new Error(`Unsupported or unresolved JSON Schema reference \"${schema.$ref}\".`);\n\t\tif (resolving.has(schema.$ref)) {\n\t\t\tif (recursiveTypeName) return recursiveTypeName;\n\t\t\tthrow new Error(`Recursive JSON Schema reference \"${schema.$ref}\" requires a named generated type.`);\n\t\t}\n\t\tconst next = new Set(resolving).add(schema.$ref);\n\t\treturn jsonSchemaToTypeScript(resolved, root, next, recursiveTypeName);\n\t}\n\tif (schema.allOf) return schema.allOf.map((item) => jsonSchemaToTypeScript(item, root, resolving, recursiveTypeName)).join(\" & \");\n\tif (schema.enum) return schema.enum.map((value) => JSON.stringify(value)).join(\" | \") || \"never\";\n\tif (schema.const !== undefined) return JSON.stringify(schema.const);\n\tif (schema.oneOf) return schema.oneOf.map((item) => jsonSchemaToTypeScript(item, root, resolving, recursiveTypeName)).join(\" | \");\n\tif (schema.anyOf) return schema.anyOf.map((item) => jsonSchemaToTypeScript(item, root, resolving, recursiveTypeName)).join(\" | \");\n\tconst type = Array.isArray(schema.type) ? schema.type : schema.type ? [schema.type] : [];\n\tconst variants = type.map((item) => {\n\t\tif (item === \"string\") return \"string\";\n\t\tif (item === \"number\" || item === \"integer\") return \"number\";\n\t\tif (item === \"boolean\") return \"boolean\";\n\t\tif (item === \"null\") return \"null\";\n\t\tif (item === \"array\") {\n\t\t\tif (schema.prefixItems) return `[${schema.prefixItems.map((child) => jsonSchemaToTypeScript(child, root, resolving, recursiveTypeName)).join(\", \")}]`;\n\t\t\treturn `Array<${Array.isArray(schema.items) ? schema.items.map((child) => jsonSchemaToTypeScript(child, root, resolving, recursiveTypeName)).join(\" | \") : jsonSchemaToTypeScript(schema.items, root, resolving, recursiveTypeName)}>`;\n\t\t}\n\t\tif (item === \"object\") {\n\t\t\tconst required = new Set(schema.required ?? []);\n\t\t\tconst properties = Object.entries(schema.properties ?? {}).map(([name, child]) => `${JSON.stringify(name)}${required.has(name) ? \"\" : \"?\"}: ${jsonSchemaToTypeScript(child, root, resolving, recursiveTypeName)};`);\n\t\t\treturn `{ ${properties.join(\" \")} }`;\n\t\t}\n\t\treturn \"unknown\";\n\t});\n\treturn variants.length ? variants.join(\" | \") : schema.properties ? jsonSchemaToTypeScript({ ...schema, type: \"object\" }, root, resolving, recursiveTypeName) : \"unknown\";\n}\n\nexport const typesGenerator: GeneratorTarget = {\n\tname: \"@fabricorg/gen-types\",\n\tversion: \"2.0.6\",\n\tgenerate(ir: FabricCompilerIr) {\n\t\treturn ir.modules.map((module) => {\n\t\t\tconst declarations = module.objectTypes.map((objectType) => `export type ${objectType.type} = ${jsonSchemaToTypeScript(objectType.schema, objectType.schema, new Set(), objectType.type)};`);\n\t\t\tconst actionTypes = module.actions.flatMap((action) => [\n\t\t\t\t`export type ${pascal(action.actionId)}Parameters = ${jsonSchemaToTypeScript(action.parameterSchema as PortableJsonSchema | undefined, action.parameterSchema as PortableJsonSchema | undefined, new Set(), `${pascal(action.actionId)}Parameters`)};`,\n\t\t\t\t`export type ${pascal(action.actionId)}Result = ${jsonSchemaToTypeScript(action.resultSchema as PortableJsonSchema | undefined, action.resultSchema as PortableJsonSchema | undefined, new Set(), `${pascal(action.actionId)}Result`)};`,\n\t\t\t]);\n\t\t\treturn { path: `${module.namespace}/index.ts`, content: `// Generated by ${typesGenerator.name}@${typesGenerator.version}\\n// Manifest digest: ${ir.manifestDigest}\\n\\n${[...declarations, ...actionTypes].join(\"\\n\\n\")}\\n` };\n\t\t});\n\t},\n};\n\nconst pascal = (value: string): string => value.split(/[._/-]/).filter(Boolean).map((part) => part[0]?.toUpperCase() + part.slice(1)).join(\"\");\n"],"mappings":"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","names":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fabricorg/gen-types",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.6",
|
|
4
4
|
"description": "TypeScript type generator for Fabric compiler IR.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -32,17 +32,17 @@
|
|
|
32
32
|
"CHANGELOG.md"
|
|
33
33
|
],
|
|
34
34
|
"dependencies": {
|
|
35
|
-
"@fabricorg/compiler": "^2.2.
|
|
35
|
+
"@fabricorg/compiler": "^2.2.6"
|
|
36
36
|
},
|
|
37
37
|
"peerDependencies": {
|
|
38
|
-
"@fabricorg/platform": "^1.
|
|
38
|
+
"@fabricorg/platform": "^1.8.0"
|
|
39
39
|
},
|
|
40
40
|
"devDependencies": {
|
|
41
41
|
"@types/node": "^22.10.0",
|
|
42
42
|
"tsup": "^8.5.0",
|
|
43
43
|
"typescript": "^5.7.3",
|
|
44
44
|
"vitest": "^4.1.5",
|
|
45
|
-
"@fabricorg/platform": "^1.
|
|
45
|
+
"@fabricorg/platform": "^1.8.0"
|
|
46
46
|
},
|
|
47
47
|
"engines": {
|
|
48
48
|
"node": ">=20"
|