Variable jf2Const

jf2: TUnion<
    [
        TObject<
            {
                access_token: TOptional<TString>;
                action: TOptional<
                    TUnion<
                        [
                            TLiteral<"create">,
                            TLiteral<"update">,
                            TLiteral<"delete">,
                            TLiteral<"undelete">,
                        ],
                    >,
                >;
                audio: TOptional<TUnion<[TString, TArray<TString>]>>;
                author: TOptional<
                    TUnion<
                        [
                            TString,
                            TObject<
                                {
                                    "additional-name": TOptional<TString>;
                                    adr: TOptional<TUnion<(...)>>;
                                    altitude: TOptional<TNumber>;
                                    anniversary: TOptional<TUnion<(...)>>;
                                    bday: TOptional<TUnion<(...)>>;
                                    category: TOptional<TUnion<(...)>>;
                                    content: TOptional<TString>;
                                    "country-name": TOptional<TString>;
                                    email: TOptional<TString>;
                                    "extended-address": TOptional<TString>;
                                    "family-name": TOptional<TString>;
                                    "gender-identity": TOptional<TString>;
                                    geo: TOptional<TUnsafe<(...)>>;
                                    "given-name": TOptional<TString>;
                                    "honorific-prefix": TOptional<TString>;
                                    "honorific-suffix": TOptional<TString>;
                                    impp: TOptional<TString>;
                                    "job-title": TOptional<TString>;
                                    key: TOptional<TString>;
                                    label: TOptional<TString>;
                                    latitude: TOptional<TNumber>;
                                    locality: TOptional<TString>;
                                    logo: TOptional<TString>;
                                    longitude: TOptional<TNumber>;
                                    name: TOptional<TString>;
                                    nickname: TOptional<TString>;
                                    note: TOptional<TString>;
                                    org: TOptional<TString>;
                                    photo: TOptional<TString>;
                                    "post-office-box": TOptional<TString>;
                                    "postal-code": TOptional<TString>;
                                    region: TOptional<TString>;
                                    role: TOptional<TString>;
                                    sex: TOptional<TString>;
                                    "sort-string": TOptional<TString>;
                                    "street-address": TOptional<TString>;
                                    tel: TOptional<TString>;
                                    type: TLiteral<"card">;
                                    uid: TOptional<TString>;
                                    url: TOptional<TUnsafe<(...)>>;
                                },
                            >,
                        ],
                    >,
                >;
                "bookmark-of": TOptional<TString>;
                category: TOptional<
                    TUnion<
                        [
                            TUnion<[TString, TArray<TString>]>,
                            TArray<TUnion<[TString, TArray<(...)>]>>,
                        ],
                    >,
                >;
                checkin: TOptional<TString>;
                content: TOptional<
                    TUnion<
                        [TString, TObject<{ html: TString; text: TOptional<TString> }>],
                    >,
                >;
                date: TOptional<TUnion<[TString, TString, TString]>>;
                end: TOptional<TUnion<[TString, TString, TString]>>;
                "in-reply-to": TOptional<TString>;
                "like-of": TOptional<TString>;
                location: TOptional<
                    TUnion<
                        [
                            TString,
                            TString,
                            TObject<
                                {
                                    altitude: TOptional<TUnsafe<(...)>>;
                                    "country-name": TOptional<TString>;
                                    "extended-address": TOptional<TString>;
                                    geo: TOptional<TUnion<(...)>>;
                                    label: TOptional<TString>;
                                    latitude: TOptional<TUnsafe<(...)>>;
                                    locality: TOptional<TString>;
                                    longitude: TOptional<TUnsafe<(...)>>;
                                    "post-office-box": TOptional<TString>;
                                    "postal-code": TOptional<TString>;
                                    region: TOptional<TString>;
                                    "street-address": TOptional<TString>;
                                },
                            >,
                        ],
                    >,
                >;
                "mp-channel": TOptional<TString>;
                "mp-destination": TOptional<TString>;
                "mp-limit": TOptional<TNumber>;
                "mp-photo-alt": TOptional<TUnion<[TString, TArray<TString>]>>;
                "mp-post-status": TOptional<TString>;
                "mp-slug": TOptional<TString>;
                "mp-syndicate-to": TOptional<TUnion<[TString, TArray<TString>]>>;
                name: TOptional<TString>;
                photo: TOptional<TAny>;
                "post-status": TOptional<TString>;
                published: TOptional<TUnion<[TString, TString, TString]>>;
                "read-of": TOptional<
                    TUnion<
                        [
                            TString,
                            TString,
                            TObject<
                                {
                                    accessed: TOptional<TUnsafe<(...)>>;
                                    author: TOptional<TUnsafe<(...)>>;
                                    content: TOptional<TUnsafe<(...)>>;
                                    name: TOptional<TUnsafe<(...)>>;
                                    publication: TOptional<TUnsafe<(...)>>;
                                    published: TOptional<TUnsafe<(...)>>;
                                    type: TLiteral<"cite">;
                                    uid: TOptional<TUnsafe<(...)>>;
                                    url: TOptional<TUnsafe<(...)>>;
                                },
                            >,
                        ],
                    >,
                >;
                "read-status": TOptional<
                    TUnion<
                        [TLiteral<"to-read">, TLiteral<"reading">, TLiteral<"finished">],
                    >,
                >;
                "repost-of": TOptional<TString>;
                rsvp: TOptional<
                    TUnion<
                        [
                            TLiteral<"yes">,
                            TLiteral<"no">,
                            TLiteral<"maybe">,
                            TLiteral<"interested">,
                        ],
                    >,
                >;
                start: TOptional<TUnion<[TString, TString, TString]>>;
                summary: TOptional<TString>;
                syndication: TOptional<TUnion<[TString, TArray<TString>]>>;
                type: TOptional<
                    TUnion<
                        [
                            TUnion<
                                [
                                    TLiteral<"card">,
                                    TLiteral<"cite">,
                                    TLiteral<"entry">,
                                    TLiteral<"event">,
                                ],
                            >,
                            TUnion<
                                [
                                    TLiteral<"acquisition">,
                                    TLiteral<"article">,
                                    TLiteral<"audio">,
                                    TLiteral<"bookmark">,
                                    TLiteral<"bucketlist">,
                                    TLiteral<"checkin">,
                                    TLiteral<"chicken">,
                                ],
                            >,
                        ],
                    >,
                >;
                updated: TOptional<TUnion<[TString, TString, TString]>>;
                url: TOptional<TUnion<[TString, TArray<TString>]>>;
                video: TOptional<TUnion<[TString, TArray<TString>]>>;
                visibility: TOptional<
                    TUnion<
                        [TLiteral<"public">, TLiteral<"private">, TLiteral<"unlisted">],
                    >,
                >;
            },
        >,
        TObject<
            {
                access_token: TOptional<TString>;
                action: TOptional<
                    TUnion<
                        [
                            TLiteral<"create">,
                            TLiteral<"update">,
                            TLiteral<"delete">,
                            TLiteral<"undelete">,
                        ],
                    >,
                >;
                audio: TOptional<TUnion<[TString, TArray<TString>]>>;
                author: TOptional<
                    TUnion<
                        [
                            TString,
                            TObject<
                                {
                                    "additional-name": TOptional<TString>;
                                    adr: TOptional<TUnion<(...)>>;
                                    altitude: TOptional<TNumber>;
                                    anniversary: TOptional<TUnion<(...)>>;
                                    bday: TOptional<TUnion<(...)>>;
                                    category: TOptional<TUnion<(...)>>;
                                    content: TOptional<TString>;
                                    "country-name": TOptional<TString>;
                                    email: TOptional<TString>;
                                    "extended-address": TOptional<TString>;
                                    "family-name": TOptional<TString>;
                                    "gender-identity": TOptional<TString>;
                                    geo: TOptional<TUnsafe<(...)>>;
                                    "given-name": TOptional<TString>;
                                    "honorific-prefix": TOptional<TString>;
                                    "honorific-suffix": TOptional<TString>;
                                    impp: TOptional<TString>;
                                    "job-title": TOptional<TString>;
                                    key: TOptional<TString>;
                                    label: TOptional<TString>;
                                    latitude: TOptional<TNumber>;
                                    locality: TOptional<TString>;
                                    logo: TOptional<TString>;
                                    longitude: TOptional<TNumber>;
                                    name: TOptional<TString>;
                                    nickname: TOptional<TString>;
                                    note: TOptional<TString>;
                                    org: TOptional<TString>;
                                    photo: TOptional<TString>;
                                    "post-office-box": TOptional<TString>;
                                    "postal-code": TOptional<TString>;
                                    region: TOptional<TString>;
                                    role: TOptional<TString>;
                                    sex: TOptional<TString>;
                                    "sort-string": TOptional<TString>;
                                    "street-address": TOptional<TString>;
                                    tel: TOptional<TString>;
                                    type: TLiteral<"card">;
                                    uid: TOptional<TString>;
                                    url: TOptional<TUnsafe<(...)>>;
                                },
                            >,
                        ],
                    >,
                >;
                "bookmark-of": TOptional<TString>;
                category: TOptional<
                    TUnion<
                        [
                            TUnion<[TString, TArray<TString>]>,
                            TArray<TUnion<[TString, TArray<(...)>]>>,
                        ],
                    >,
                >;
                checkin: TOptional<TString>;
                content: TOptional<
                    TUnion<
                        [TString, TObject<{ html: TString; text: TOptional<TString> }>],
                    >,
                >;
                date: TOptional<TUnion<[TString, TString, TString]>>;
                end: TOptional<TUnion<[TString, TString, TString]>>;
                h: TOptional<
                    TUnion<
                        [
                            TUnion<
                                [
                                    TLiteral<"card">,
                                    TLiteral<"cite">,
                                    TLiteral<"entry">,
                                    TLiteral<"event">,
                                ],
                            >,
                            TUnion<
                                [
                                    TLiteral<"acquisition">,
                                    TLiteral<"article">,
                                    TLiteral<"audio">,
                                    TLiteral<"bookmark">,
                                    TLiteral<"bucketlist">,
                                    TLiteral<"checkin">,
                                    TLiteral<"chicken">,
                                ],
                            >,
                        ],
                    >,
                >;
                "in-reply-to": TOptional<TString>;
                "like-of": TOptional<TString>;
                location: TOptional<
                    TUnion<
                        [
                            TString,
                            TString,
                            TObject<
                                {
                                    altitude: TOptional<TUnsafe<(...)>>;
                                    "country-name": TOptional<TString>;
                                    "extended-address": TOptional<TString>;
                                    geo: TOptional<TUnion<(...)>>;
                                    label: TOptional<TString>;
                                    latitude: TOptional<TUnsafe<(...)>>;
                                    locality: TOptional<TString>;
                                    longitude: TOptional<TUnsafe<(...)>>;
                                    "post-office-box": TOptional<TString>;
                                    "postal-code": TOptional<TString>;
                                    region: TOptional<TString>;
                                    "street-address": TOptional<TString>;
                                },
                            >,
                        ],
                    >,
                >;
                "mp-channel": TOptional<TString>;
                "mp-destination": TOptional<TString>;
                "mp-limit": TOptional<TNumber>;
                "mp-photo-alt": TOptional<TUnion<[TString, TArray<TString>]>>;
                "mp-post-status": TOptional<TString>;
                "mp-slug": TOptional<TString>;
                "mp-syndicate-to": TOptional<TUnion<[TString, TArray<TString>]>>;
                name: TOptional<TString>;
                photo: TOptional<TAny>;
                "post-status": TOptional<TString>;
                published: TOptional<TUnion<[TString, TString, TString]>>;
                "read-of": TOptional<
                    TUnion<
                        [
                            TString,
                            TString,
                            TObject<
                                {
                                    accessed: TOptional<TUnsafe<(...)>>;
                                    author: TOptional<TUnsafe<(...)>>;
                                    content: TOptional<TUnsafe<(...)>>;
                                    name: TOptional<TUnsafe<(...)>>;
                                    publication: TOptional<TUnsafe<(...)>>;
                                    published: TOptional<TUnsafe<(...)>>;
                                    type: TLiteral<"cite">;
                                    uid: TOptional<TUnsafe<(...)>>;
                                    url: TOptional<TUnsafe<(...)>>;
                                },
                            >,
                        ],
                    >,
                >;
                "read-status": TOptional<
                    TUnion<
                        [TLiteral<"to-read">, TLiteral<"reading">, TLiteral<"finished">],
                    >,
                >;
                "repost-of": TOptional<TString>;
                rsvp: TOptional<
                    TUnion<
                        [
                            TLiteral<"yes">,
                            TLiteral<"no">,
                            TLiteral<"maybe">,
                            TLiteral<"interested">,
                        ],
                    >,
                >;
                start: TOptional<TUnion<[TString, TString, TString]>>;
                summary: TOptional<TString>;
                syndication: TOptional<TUnion<[TString, TArray<TString>]>>;
                updated: TOptional<TUnion<[TString, TString, TString]>>;
                url: TOptional<TUnion<[TString, TArray<TString>]>>;
                video: TOptional<TUnion<[TString, TArray<TString>]>>;
                visibility: TOptional<
                    TUnion<
                        [TLiteral<"public">, TLiteral<"private">, TLiteral<"unlisted">],
                    >,
                >;
            },
        >,
    ],
> = ...

JF2 object resulting from parsing the body of a request sent to the Micropub endpoint using any one of these values for the Content-Type request header:

  • application/json
  • application/x-www-form-urlencoded
  • multipart/form-data

The properties of this object are all the properties defined in the basic JF2 vocabulary, plus all the properties defined in the Micropub vocabulary.

Micropub servers should follow the Postel's law (i.e. be liberal in their receiving behavior).