cue def openapi+cue: expect-cue-out -o -

cue def foo.cue -o openapi:-
cmp stdout expect-json-out

cue def foo.cue -o openapi+cue:-
cmp stdout expect-cue-out

cue def foo.cue -o openapi+yaml:-
cmp stdout expect-yaml-out

cue def -p foo openapi: openapi.json
cmp stdout expect-cue

# auto mode
cue def -p foo openapi.json
cmp stdout expect-cue

# cue to openapi
cue def openapi+cue: expect-cue-out -o -
cmp stdout expect-cue2

# combine
cue def -p foo openapi.json openapi2.json
cmp stdout expect-cue3

-- foo.cue --
// Some clever title.

$version: "v1"

#Foo: {
    a: int
    b: uint & <10
}

#Bar: {
    foo: #Foo
}

-- openapi.json --
{
    "openapi": "3.0.0",
    "info": {
        "title":   "My OpenAPI",
        "version": "v1alpha1"
    },
    "paths": {},
    "components": {
        "schemas": {
            "Bar": {
                "type": "object",
                "required": [
                    "foo"
                ],
                "properties": {
                    "foo": {
                        "$ref": "#/components/schemas/Foo"
                    }
                }
            },
            "Foo": {
                "type": "object",
                "required": [
                    "a",
                    "b"
                ],
                "properties": {
                    "a": {
                        "type": "integer"
                    },
                    "b": {
                        "type": "integer",
                        "minimum": 0,
                        "exclusiveMaximum": 10
                    }
                }
            }
        }
    }
}
-- openapi2.json --
{
    "openapi": "3.0.0",
    "info": {
        "title":   "My OpenAPI2",
        "version": "v1alpha1"
    },
    "paths": {},
    "components": {
        "schemas": {
            "Baz": {
                "type": "object",
                "required": [
                    "a",
                    "b"
                ],
                "properties": {
                    "a": {
                        "type": "integer"
                    },
                    "b": {
                        "type": "integer",
                        "minimum": 0,
                        "exclusiveMaximum": 10
                    }
                }
            }
        }
    }
}
-- expect-json-out --
{
    "openapi": "3.0.0",
    "info": {
        "title": "Some clever title.",
        "version": "v1"
    },
    "paths": {},
    "components": {
        "schemas": {
            "Bar": {
                "type": "object",
                "required": [
                    "foo"
                ],
                "properties": {
                    "foo": {
                        "$ref": "#/components/schemas/Foo"
                    }
                }
            },
            "Foo": {
                "type": "object",
                "required": [
                    "a",
                    "b"
                ],
                "properties": {
                    "a": {
                        "type": "integer"
                    },
                    "b": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 10,
                        "exclusiveMaximum": true
                    }
                }
            }
        }
    }
}
-- expect-yaml-out --
openapi: 3.0.0
info:
  title: Some clever title.
  version: v1
paths: {}
components:
  schemas:
    Bar:
      type: object
      required:
      - foo
      properties:
        foo:
          $ref: '#/components/schemas/Foo'
    Foo:
      type: object
      required:
      - a
      - b
      properties:
        a:
          type: integer
        b:
          type: integer
          minimum: 0
          maximum: 10
          exclusiveMaximum: true
-- expect-cue-out --
openapi: "3.0.0"
info: {
	title:   "Some clever title."
	version: "v1"
}
paths: {}
components: schemas: {
	Bar: {
		type: "object"
		required: ["foo"]
		properties: foo: $ref: "#/components/schemas/Foo"
	}
	Foo: {
		type: "object"
		required: ["a", "b"]
		properties: {
			a: type: "integer"
			b: {
				type:             "integer"
				minimum:          0
				maximum:          10
				exclusiveMaximum: true
			}
		}
	}
}
-- expect-cue --
// My OpenAPI
package foo

info: {
	title:   *"My OpenAPI" | string
	version: *"v1alpha1" | string
}
#Bar: {
	foo: #Foo
	...
}
#Foo: {
	a: int
	b: uint & <10
	...
}
-- expect-cue2 --
info: {
	title:   *"Some clever title." | string
	version: *"v1" | string
}
#Bar: {
	foo: #Foo
	...
}
#Foo: {
	a: int
	b: uint & <10
	...
}
-- expect-cue2 --
info: {
	title:   *"Some clever title." | string
	version: *"v1" | string
}
#Bar: {
	foo: #Foo
	...
}
#Foo: {
	a: int
	b: uint & <10
	...
}
-- expect-cue3 --
// My OpenAPI

// My OpenAPI2
package foo

info: {
	title:   (*"My OpenAPI" | string) & (*"My OpenAPI2" | string)
	version: (*"v1alpha1" | string) & (*"v1alpha1" | string)
}
#Bar: {
	foo: #Foo
	...
}
#Foo: {
	a: int
	b: uint & <10
	...
}
#Baz: {
	a: int
	b: uint & <10
	...
}
