کتابخانه‌ی استاندارد · وب و سرویس‌ها

گراف‌کیوال graphql

سرور GraphQL: طرح‌واره، حل‌کننده‌ها، اجرای پرسمان و رسیدگی به HTTP.

واردسازی گراف‌کیوال

GraphQL زبانی برای پرسیدن از API است: کارخواه دقیقاً فیلدهایی را که لازم دارد می‌خواهد و سرور همان را برمی‌گرداند. این بسته پیاده‌سازی کامل سمت سرور مطابق مشخصات است. طرح‌واره را با متن SDL و تجزیه طرح‌واره بنویسید یا با روال‌های افزودن ... بسازید، برای فیلدها حل‌کننده ثبت کنید و پرسمان را با اجرای منبع اجرا کنید.

حل‌کننده روالی است که شماره‌ی یک شکاف را می‌گیرد؛ آرگومان‌ها و شیء والد را با آرگومان رشته و فیلد والد و مانند آن می‌خواند و پاسخ را با حل ... یا شکست می‌دهد. فیلدی که حل‌کننده ندارد مقدار هم‌نامش را از شیء والد می‌گیرد. برای سرور وب، رسیدگی ساده به وب را در یک گرداننده‌ی اچ تی تی پی صدا بزنید.

گونه‌ها

درخواست وب GqlHttpRequest

ساختار درخواست وب
درخواست GraphQL روی HTTP.
نامانگلیسیگونهتوضیح
queryqueryرشته = ""متن پرسمان.
operationNameoperationNameرشته = ""نام عملیات.
variablesvariablesvalue.Valueمتغیرها.
extensionsextensionsvalue.Valueافزونه‌ها.
okokمنطقی = درستدرست خوانده شد.
errorerrorرشته = ""اگر نه، دلیل.
graphql-Http.salam
واردسازی گراف‌کیوال
واردسازی کدگذاری.مقدار
واردسازی شبکه.اچ تی تی پی شبکه
واردسازی شبکه.مسیریاب شبکه

ناپایا طرح := گراف‌کیوال.طرح‌واره جدید()

روال من(ش: صحیح۶۴):
    ز := گراف‌کیوال.زمینه(ش)
    ناپایا نام := "مهمان"
    اگر مقدار.شیء دارد(ز، "user"):
        نام = مقدار.به رشته(مقدار.مقدار کلید(ز، "user"))
    پایان
    گراف‌کیوال.حل رشته(ش، نام + " (" + گراف‌کیوال.نام نوع والد(ش) + "." + گراف‌کیوال.نام فیلد(ش) + ")")
پایان

روال جمع(ش: صحیح۶۴):
    گراف‌کیوال.حل عددی(ش، گراف‌کیوال.آرگومان عددی(ش، "a") + گراف‌کیوال.آرگومان عددی(ش، "b"))
پایان

روال نقطه پایانی(ز: صحیح۶۴):
    پ := گراف‌کیوال.رسیدگی ساده به وب(طرح، اچ تی تی پی شبکه.روش زمینه(ز)، اچ تی تی پی شبکه.سرصفحه زمینه(ز، "Content-Type")، اچ تی تی پی شبکه.بدنه زمینه(ز)، اچ تی تی پی شبکه.پرسمان خام زمینه(ز))
    اچ تی تی پی شبکه.وضعیت زمینه(ز، پ.status)
    اچ تی تی پی شبکه.تنظیم سرصفحه زمینه(ز، "Content-Type"، پ.contentType)
    اچ تی تی پی شبکه.متن زمینه(ز، پ.body)
پایان

روال ریشه:
    ناپایا خطا := گراف‌کیوال.خطای جدید(گراف‌کیوال.دسته خطای نحوی، "")
    گراف‌کیوال.تجزیه در طرح‌واره(طرح، "type Query { me: String! add(a: Int!, b: Int!): Int! }"، خطا)
    _ := گراف‌کیوال.تعیین حل‌کننده(طرح، "Query"، "me"، من)
    _ := گراف‌کیوال.تعیین حل‌کننده(طرح، "Query"، "add"، جمع)

    ناپایا م := مسیریاب شبکه.مسیریاب جدید()
    مسیریاب شبکه.ارسال(م، "/graphql"، نقطه پایانی)
    مسیریاب شبکه.دریافت(م، "/graphql"، نقطه پایانی)
    ناپایا س := اچ تی تی پی شبکه.سرور جدید(۱۹۶۱۳)
    اچ تی تی پی شبکه.استفاده(س، م)
    _ := اچ تی تی پی شبکه.اجرا در پس زمینه(س)

    ناپایا متغیر := مقدار.شیء جدید()
    مقدار.تنظیم کلید(متغیر، "x"، مقدار.مقدار صحیح(۴۰))
    بدنه := گراف‌کیوال.ساخت بدنه درخواست("query Sum($x: Int!) { add(a: $x, b: 2) }"، "Sum"، متغیر)
    سرچاپ بدنه
    ناپایا سر := اچ تی تی پی شبکه.سرصفحه جدید()
    سر.درج("Content-Type"، "application/json")
    پ := اچ تی تی پی شبکه.ارسال با("http://127.0.0.1:19613/graphql"، بدنه، سر)
    سرچاپ اچ تی تی پی شبکه.وضعیت(پ)، اچ تی تی پی شبکه.بدنه(پ)
    ناپایا ج := گراف‌کیوال.تجزیه پاسخ(اچ تی تی پی شبکه.بدنه(پ))
    سرچاپ گراف‌کیوال.پاسخ موفق(ج)، ج.hasData، مقدار.به صحیح(گراف‌کیوال.فیلد پاسخ(ج، "add"))
    گراف‌کیوال.آزادسازی پاسخ کارخواه(ج)

    پرس := گراف‌کیوال.ساخت رشته پرس‌وجو("{ me }"، ""، مقدار.مقدار تهی())
    پ۲ := اچ تی تی پی شبکه.دریافت("http://127.0.0.1:19613/graphql?" + پرس)
    سرچاپ اچ تی تی پی شبکه.بدنه(پ۲)
    پ۳ := اچ تی تی پی شبکه.ارسال با("http://127.0.0.1:19613/graphql"، گراف‌کیوال.ساخت بدنه پرس‌وجو("{ nope }")، سر)
    ناپایا ج۳ := گراف‌کیوال.تجزیه پاسخ(اچ تی تی پی شبکه.بدنه(پ۳))
    سرچاپ اچ تی تی پی شبکه.وضعیت(پ۳)، گراف‌کیوال.پاسخ موفق(ج۳)، گراف‌کیوال.پیام خطای پاسخ(ج۳)
    گراف‌کیوال.آزادسازی پاسخ کارخواه(ج۳)

    ناپایا د := گراف‌کیوال.تجزیه درخواست جیسون(`{"query":"{ me }"}`)
    ناپایا زمینه := مقدار.شیء جدید()
    مقدار.تنظیم کلید(زمینه، "user"، مقدار.مقدار رشته("مریم"))
    ناپایا ن := گراف‌کیوال.رسیدگی به درخواست(طرح، د، مقدار.مقدار تهی()، زمینه)
    سرچاپ گراف‌کیوال.نتیجه به جیسون(ن)
    گراف‌کیوال.آزادسازی نتیجه(ن)
    گراف‌کیوال.آزادسازی درخواست وب(د)
    ب := گراف‌کیوال.تجزیه درخواست وب("PUT"، "application/json"، "{}"، "")
    سرچاپ ب.ok، ب.error
    پ۴ := گراف‌کیوال.رسیدگی به وب(طرح، "POST"، "application/json"، "not json"، ""، مقدار.مقدار تهی()، مقدار.مقدار تهی())
    سرچاپ پ۴.status
پایان
خروجی{"operationName": "Sum", "variables": {"x": 40}, "query": "query Sum($x: Int!) { add(a: $x, b: 2) }"} 200 {"data": {"add": 42}} true true 42 {"data": {"me": "مهمان (Query.me)"}} 400 false cannot query field "nope" on type "Query" (line 1, column 3) {"data": {"me": "مریم (Query.me)"}} false only GET and POST are supported 400

پاسخ وب GqlHttpResponse

ساختار پاسخ وب
پاسخ HTTP.
نامانگلیسیگونهتوضیح
statusstatusصحیح = 200کد وضعیت.
contentTypecontentTypeرشته = "application/json"نوع محتوا.
bodybodyرشته = ""بدنه.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Http.salam

خطای گراف‌کیوال GqlError

ساختار خطای گراف‌کیوال
یک خطا.
نامانگلیسیگونهتوضیح
categorycategoryصحیحدسته.
messagemessageرشته = ""پیام.
linelineصحیح = 0خط.
colcolصحیح = 0ستون.
hasLocationhasLocationمنطقی = نادرستجا دارد.
pathKeyspathKeysوکتور<رشته>کلیدهای مسیر در پاسخ.
pathIndexpathIndexوکتور<صحیح>نمایه‌های مسیر؛ ۱- برای کلید.
codecodeرشته = ""کد اختیاری در extensions.
graphql-Document.salam
واردسازی گراف‌کیوال
واردسازی کدگذاری.مقدار

روال ریشه:
    متن := `query Books($limit: Int = 5) { books(limit: $limit, tags: ["a", "b"]) @include(if: true) { ...Info alias: title } }
fragment Info on Book { id year }`
    سرچاپ گراف‌کیوال.تجزیه موفق(متن)، گراف‌کیوال.تجزیه موفق("{ a ")، گراف‌کیوال.تحلیل واژگانی موفق("{ a }")
    ناپایا خطا := گراف‌کیوال.خطای جدید(گراف‌کیوال.دسته خطای نحوی، "")
    ناپایا س := گراف‌کیوال.تجزیه(متن، خطا)
    سرچاپ س.ops.طول()، س.frags.طول()
    چاپ گراف‌کیوال.چاپ(س)
    ع := گراف‌کیوال.یافتن عملیات(س، "Books")
    عملیات := س.ops.دریافت(ع)
    سرچاپ عملیات.name، گراف‌کیوال.نام نوع عملیات(عملیات.optype)، عملیات.shorthand، عملیات.varDefs.طول()، عملیات.line
    گ := گراف‌کیوال.گزینش در(س، عملیات.selections.دریافت(۰))
    سرچاپ گ.kind == گراف‌کیوال.گزینش فیلد، گ.name، گراف‌کیوال.کلید پاسخ(گ)، گ.args.طول()، گ.directives.طول()، گ.selections.طول()، گ.line، گ.col
    آرگ := گ.args.دریافت(۱)
    سرچاپ آرگ.name، گراف‌کیوال.چاپ مقدار(س، آرگ.value)، گراف‌کیوال.مقدار در(س، آرگ.value).kind == گراف‌کیوال.مقدار فهرست
    تعریف := عملیات.varDefs.دریافت(۰)
    سرچاپ تعریف.name، گراف‌کیوال.چاپ ارجاع نوع(س، تعریف.typeRef)، گراف‌کیوال.نام ارجاع نوع(س، تعریف.typeRef)
    سرچاپ گراف‌کیوال.ارجاع نوع ناتهی است(س، تعریف.typeRef)، گراف‌کیوال.ارجاع نوع فهرست است(س، تعریف.typeRef)، گراف‌کیوال.ارجاع نوع در(س، تعریف.typeRef).name
    ق := س.frags.دریافت(گراف‌کیوال.یافتن قطعه(س، "Info"))
    سرچاپ ق.name، ق.typeCondition، ق.selections.طول()
    سرچاپ گراف‌کیوال.چاپ مقدار رشته("سلام \"دنیا\"")
    گراف‌کیوال.آزادسازی سند(س)

    ناپایا سالم := نادرست
    ج := گراف‌کیوال.توکن‌سازی(`{ a(x: 1.5, y: "s") }`، سالم)
    سرچاپ سالم، ج.toks.طول()
    ت := ج.toks.دریافت(۵)
    سرچاپ گراف‌کیوال.نام نوع توکن(ت.kind)، ت.lexeme، ت.fval، ت.line، ت.col
    سرچاپ گراف‌کیوال.توکن رشته است(گراف‌کیوال.نشانه رشته)، گراف‌کیوال.نام نوع توکن(گراف‌کیوال.نشانه آکولاد باز)

    _ := گراف‌کیوال.تجزیه("{ a(", خطا)
    سرچاپ خطا.category == گراف‌کیوال.دسته خطای نحوی، خطا.line، خطا.col، خطا.hasLocation
    سرچاپ گراف‌کیوال.رشته خطا(خطا)

    ناپایا ف := گراف‌کیوال.خطای جدید(گراف‌کیوال.دسته خطای اجرا، "شکست")
    گراف‌کیوال.افزودن کلید مسیر(ف، "books")
    گراف‌کیوال.افزودن نمایه مسیر(ف، ۲)
    گراف‌کیوال.افزودن کلید مسیر(ف، "title")
    سرچاپ گراف‌کیوال.طول مسیر(ف)، گراف‌کیوال.رشته مسیر(ف)
    ناپایا فهرست := گراف‌کیوال.فهرست خطا {}
    گراف‌کیوال.افزودن خطا(فهرست، ف)
    گراف‌کیوال.افزودن خطا(فهرست، گراف‌کیوال.خطا در محل(گراف‌کیوال.دسته خطای اعتبارسنجی، "بد"، ۳، ۷))
    گراف‌کیوال.افزودن خطا(فهرست، گراف‌کیوال.خطای نحوی("پرانتز باز مانده"، ۱، ۴))
    سرچاپ گراف‌کیوال.خطا دارد(فهرست)، گراف‌کیوال.تعداد خطا(فهرست)، گراف‌کیوال.خطا در(فهرست، ۱).line
    سرچاپ مقدار.طول آرایه(گراف‌کیوال.خطاها به مقدار(فهرست))، مقدار.شیء است(گراف‌کیوال.خطا به مقدار(ف))
    گراف‌کیوال.آزادسازی خطا(خطا)
    گراف‌کیوال.آزادسازی فهرست خطا(فهرست)
    سرچاپ گراف‌کیوال.دسته خطای درخواست، گراف‌کیوال.ویرایش مشخصات

    ناپایا ط := گراف‌کیوال.تجزیه طرح‌واره("type Query { n(x: Int!): Int e: Color } enum Color { RED }"، خطا)
    سرچاپ گراف‌کیوال.اعتبارسنجی منبع(ط، "{ n(x: \"a\") }").items.طول() > ۰
    ناپایا س۲ := گراف‌کیوال.تجزیه("{ n(x: 1) e }"، خطا)
    سرچاپ گراف‌کیوال.اعتبارسنجی موفق(ط، س۲)، گراف‌کیوال.اعتبارسنجی(ط، س۲).items.طول()
    ب := گراف‌کیوال.تبدیل نتیجه برگ(ط، "Color"، مقدار.مقدار رشته("RED"))
    سرچاپ ب.ok، مقدار.به رشته(ب.value)
    ب۲ := گراف‌کیوال.تبدیل نتیجه برگ(ط، "Int"، مقدار.مقدار رشته("x"))
    سرچاپ ب۲.ok، ب۲.message.طول() > ۰
    گراف‌کیوال.آزادسازی سند(س۲)
    گراف‌کیوال.آزادسازی طرح‌واره(ط)
پایان
خروجیtrue false true 1 1 query Books($limit: Int = 5) { books(limit: $limit, tags: ["a", "b"]) @include(if: true) { ...Info alias: title } } fragment Info on Book { id year } Books query false 1 1 true books books 2 1 2 1 32 tags ["a", "b"] true limit Int Int false false Int Info Book 2 "سلام \"دنیا\"" true 12 Float 1.5 1.5 1 8 true { true 1 5 true unterminated argument list (line 1, column 5) 3 books[2].title true 3 3 3 true 3 October2021 true true 0 true RED false true

فهرست خطا GqlErrorList

ساختار فهرست خطا
فهرست خطاها.
نامانگلیسیگونهتوضیح
itemsitemsوکتور<خطای گراف‌کیوال>خطاها.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Document.salam

وضعیت اعتبارسنجی Vx

ساختار وضعیت اعتبارسنجی
وضعیت داخلی اعتبارسنجی.
نامانگلیسیگونهتوضیح
schschطرح‌وارهطرح‌واره.
docdocسندسند.
errorserrorsفهرست خطاخطاها.
usedFragmentsusedFragmentsوکتور<رشته>قطعه‌های به‌کاررفته.
usedVarsusedVarsوکتور<رشته>متغیرهای به‌کاررفته.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Document.salam

گروه فیلد FieldGroup

ساختار گروه فیلد
گروه گزینش‌های یک کلید پاسخ.
نامانگلیسیگونهتوضیح
keykeyرشته = ""کلید.
selsselsوکتور<صحیح>گزینش‌ها.
graphql-Execute.salam
واردسازی گراف‌کیوال
واردسازی کدگذاری.مقدار

روال کتاب(شناسه: رشته، عنوان: رشته، سال: صحیح۶۴): مقدار.مقدار:
    ناپایا ک := مقدار.شیء جدید()
    مقدار.تنظیم کلید(ک، "id"، مقدار.مقدار رشته(شناسه))
    مقدار.تنظیم کلید(ک، "title"، مقدار.مقدار رشته(عنوان))
    مقدار.تنظیم کلید(ک، "year"، مقدار.مقدار صحیح(سال))
    برگشت ک
پایان

روال سلام(ش: صحیح۶۴):
    گراف‌کیوال.حل رشته(ش، "سلام " + گراف‌کیوال.آرگومان رشته(ش، "name"))
پایان

روال کتاب‌ها(ش: صحیح۶۴):
    ناپایا آ := مقدار.آرایه جدید()
    مقدار.افزودن به آرایه(آ، کتاب("1"، "بوف کور"، ۱۹۳۶))
    مقدار.افزودن به آرایه(آ، کتاب("2"، "سووشون"، ۱۹۶۹))
    گراف‌کیوال.حل(ش، آ)
پایان

روال یک کتاب(ش: صحیح۶۴):
    اگر گراف‌کیوال.آرگومان عددی(ش، "id") == ۲:
        گراف‌کیوال.حل(ش، کتاب("2"، "سووشون"، ۱۹۶۹))
    وگرنه:
        گراف‌کیوال.حل تهی(ش)
    پایان
پایان

روال سن(ش: صحیح۶۴):
    سال := مقدار.به صحیح(گراف‌کیوال.فیلد والد(ش، "year"))
    گراف‌کیوال.حل عددی(ش، ۲۰۲۶ - سال)
پایان

روال امتیاز(ش: صحیح۶۴):
    گراف‌کیوال.حل اعشاری(ش، گراف‌کیوال.آرگومان اعشاری(ش، "base") * ۲.۰)
پایان

روال موجود(ش: صحیح۶۴):
    گراف‌کیوال.حل بولی(ش، گراف‌کیوال.آرگومان بولی(ش، "only") یا گراف‌کیوال.آرگومان دارد(ش، "x"))
پایان

روال خراب(ش: صحیح۶۴):
    گراف‌کیوال.شکست(ش، "سرویس در دسترس نیست")
پایان

روال ریشه:
    ناپایا خطا := گراف‌کیوال.خطای جدید(گراف‌کیوال.دسته خطای نحوی، "")
    ناپایا ط := گراف‌کیوال.تجزیه طرح‌واره(`
type Query {
  hello(name: String = "دنیا"): String!
  books: [Book!]!
  book(id: Int!): Book
  score(base: Float!): Float!
  inStock(only: Boolean!): Boolean!
  broken: String
}
type Book {
  id: ID!
  title: String!
  year: Int!
  age: Int!
}`، خطا)
    _ := گراف‌کیوال.تعیین حل‌کننده(ط، "Query"، "hello"، سلام)
    _ := گراف‌کیوال.تعیین حل‌کننده(ط، "Query"، "books"، کتاب‌ها)
    _ := گراف‌کیوال.تعیین حل‌کننده(ط، "Query"، "book"، یک کتاب)
    _ := گراف‌کیوال.تعیین حل‌کننده(ط، "Query"، "score"، امتیاز)
    _ := گراف‌کیوال.تعیین حل‌کننده(ط، "Query"، "inStock"، موجود)
    _ := گراف‌کیوال.تعیین حل‌کننده(ط، "Query"، "broken"، خراب)
    _ := گراف‌کیوال.تعیین حل‌کننده(ط، "Book"، "age"، سن)
    سرچاپ گراف‌کیوال.حل‌کننده دارد(ط، "Book"، "age")، گراف‌کیوال.حل‌کننده دارد(ط، "Book"، "title")

    ناپایا ن := گراف‌کیوال.اجرای ساده(ط، `{ hello books { title year age } }`)
    سرچاپ گراف‌کیوال.نتیجه موفق(ن)
    سرچاپ گراف‌کیوال.نتیجه به جیسون قطعی(ن)
    گراف‌کیوال.آزادسازی نتیجه(ن)

    ناپایا متغیرها := مقدار.شیء جدید()
    مقدار.تنظیم کلید(متغیرها، "id"، مقدار.مقدار صحیح(۲))
    ناپایا ن۲ := گراف‌کیوال.اجرای منبع(ط، `query One($id: Int!) { book(id: $id) { title } missing: book(id: 9) { title } score(base: 1.5) inStock(only: true) hello(name: "مریم") }`، "One"، متغیرها، مقدار.مقدار تهی()، مقدار.مقدار تهی())
    سرچاپ گراف‌کیوال.نتیجه به جیسون قطعی(ن۲)
    گراف‌کیوال.آزادسازی نتیجه(ن۲)

    ناپایا ن۳ := گراف‌کیوال.اجرای ساده(ط، `{ broken hello }`)
    سرچاپ گراف‌کیوال.نتیجه موفق(ن۳)، گراف‌کیوال.پیام خطای نتیجه(ن۳)
    سرچاپ گراف‌کیوال.نتیجه به جیسون قطعی(ن۳)
    گراف‌کیوال.آزادسازی نتیجه(ن۳)

    ناپایا ن۴ := گراف‌کیوال.اجرای ساده(ط، `{ nope }`)
    سرچاپ گراف‌کیوال.پیام خطای نتیجه(ن۴)
    گراف‌کیوال.آزادسازی نتیجه(ن۴)
    گراف‌کیوال.بازنشانی شکاف‌ها()
    گراف‌کیوال.آزادسازی طرح‌واره(ط)
پایان
خروجیtrue false true {"data": {"books": [{"age": 90, "title": "بوف کور", "year": 1936}, {"age": 57, "title": "سووشون", "year": 1969}], "hello": "سلام دنیا"}} {"data": {"book": {"title": "سووشون"}, "hello": "سلام مریم", "inStock": true, "missing": null, "score": 3}} false سرویس در دسترس نیست (line 1, column 3) at broken {"data": {"broken": null, "hello": "سلام دنیا"}, "errors": [{"locations": [{"column": 3, "line": 1}], "message": "سرویس در دسترس نیست", "path": ["broken"]}]} cannot query field "nope" on type "Query" (line 1, column 3)

گروه‌های فیلد FieldGroups

ساختار گروه‌های فیلد
گروه‌ها.
نامانگلیسیگونهتوضیح
itemsitemsوکتور<گروه فیلد>گروه‌ها.
graphql-Internals.salam
واردسازی گراف‌کیوال
واردسازی کدگذاری.مقدار
واردسازی کدگذاری.جیسون

روال اسم‌ها(ش: صحیح۶۴):
    گراف‌کیوال.حل رشته(ش، جیسون.کدگذاری پیش فرض(گراف‌کیوال.آرگومان‌ها(ش)))
پایان

روال ریشه:
    ناپایا سالم := نادرست
    ج := گراف‌کیوال.توکن‌سازی(`query Q($v: [Int!]! = [1]) @x { ...F a: b(c: 2.5, d: """متن""") | & ? }`، سالم)
    ناپایا گونه‌ها := ""
    هر ت در ج.toks:
        اگر گونه‌ها.طول() > ۰:
            گونه‌ها += " "
        پایان
        گونه‌ها += گراف‌کیوال.نام نوع توکن(ت.kind)
    پایان
    سرچاپ سالم، گونه‌ها
    سرچاپ گراف‌کیوال.نشانه انتهای متن، گراف‌کیوال.نشانه نام، گراف‌کیوال.نشانه عدد صحیح، گراف‌کیوال.نشانه عدد اعشاری، گراف‌کیوال.نشانه رشته بلوکی، گراف‌کیوال.نشانه علامت تعجب، گراف‌کیوال.نشانه دلار
    سرچاپ گراف‌کیوال.نشانه امپرسند، گراف‌کیوال.نشانه پرانتز باز، گراف‌کیوال.نشانه پرانتز بسته، گراف‌کیوال.نشانه پخش، گراف‌کیوال.نشانه دونقطه، گراف‌کیوال.نشانه مساوی، گراف‌کیوال.نشانه ات
    سرچاپ گراف‌کیوال.نشانه کروشه باز، گراف‌کیوال.نشانه کروشه بسته، گراف‌کیوال.نشانه آکولاد بسته، گراف‌کیوال.نشانه خط عمودی، گراف‌کیوال.نشانه خطا

    ناپایا خطا := گراف‌کیوال.خطای جدید(گراف‌کیوال.دسته خطای نحوی، "")
    ناپایا ط := گراف‌کیوال.تجزیه طرح‌واره(`
type Query { names(a: Boolean, b: Float, o: In, v: Int): String! book: Book }
input In { x: Int! }
type Book { id: ID! title: String! }`، خطا)
    _ := گراف‌کیوال.تعیین حل‌کننده(ط، "Query"، "names"، اسم‌ها)

    ناپایا س := گراف‌کیوال.تجزیه(`query ($v: Int, $l: [Int!]) { names(a: true, b: 1.5, o: { x: 3 }, v: $v) book { id ...F ... on Book { title } } }
fragment F on Book { title }`، خطا)
    عملیات := س.ops.دریافت(۰)
    سرچاپ عملیات.optype == گراف‌کیوال.عملیات پرسمان
    نام‌ها := گراف‌کیوال.گزینش در(س، عملیات.selections.دریافت(۰))
    ناپایا متغیرها := مقدار.شیء جدید()
    مقدار.تنظیم کلید(متغیرها، "v"، مقدار.مقدار صحیح(۴۲))
    هر آ در نام‌ها.args:
        م := گراف‌کیوال.مقدار در(س، آ.value)
        ل := گراف‌کیوال.تبدیل لفظ به مقدار(ط، س، آ.value، متغیرها)
        سرچاپ آ.name، م.kind == گراف‌کیوال.مقدار بولی، م.kind == گراف‌کیوال.مقدار اعشاری، م.kind == گراف‌کیوال.مقدار شیء، م.kind == گراف‌کیوال.مقدار متغیر، ل.ok، جیسون.کدگذاری پیش فرض(ل.value)
    پایان

    ل۲ := عملیات.varDefs.دریافت(۱).typeRef
    عنصر := گراف‌کیوال.عنصر ارجاع نوع(س، ل۲)
    سرچاپ گراف‌کیوال.چاپ ارجاع نوع(س، ل۲)، گراف‌کیوال.چاپ ارجاع نوع(س، عنصر)، گراف‌کیوال.ارجاع نوع در(س، عنصر).kind == گراف‌کیوال.ارجاع نوع نام‌دار
    ناپایا فهرست := مقدار.آرایه جدید()
    مقدار.افزودن به آرایه(فهرست، مقدار.مقدار صحیح(۱))
    مقدار.افزودن به آرایه(فهرست، مقدار.مقدار رشته("دو"))
    ت := گراف‌کیوال.تبدیل ورودی(ط، س، ل۲، فهرست)
    سرچاپ ت.ok، ت.message.طول() > ۰

    کتاب := گراف‌کیوال.گزینش در(س، عملیات.selections.دریافت(۱))
    سرچاپ گراف‌کیوال.گزینش در(س، کتاب.selections.دریافت(۱)).kind == گراف‌کیوال.گزینش پخش قطعه، گراف‌کیوال.گزینش در(س، کتاب.selections.دریافت(۲)).kind == گراف‌کیوال.گزینش قطعه درون‌خطی
    ناپایا گروه‌ها := گراف‌کیوال.گردآوری فیلدها(ط، س، کتاب.selections، "Book"، متغیرها)
    هر گ در گروه‌ها.items:
        سرچاپ گ.key، گ.sels.طول()، گراف‌کیوال.ادغام گزینش‌ها(س، گ).طول()
    پایان
    گراف‌کیوال.آزادسازی گروه‌های فیلد(گروه‌ها)

    ناپایا ن := گراف‌کیوال.اجرا(ط، س، ""، متغیرها، مقدار.مقدار تهی()، مقدار.مقدار تهی())
    ناپایا افزونه := مقدار.شیء جدید()
    مقدار.تنظیم کلید(افزونه، "ms"، مقدار.مقدار صحیح(۳))
    گراف‌کیوال.تعیین افزونه‌ها(ن، افزونه)
    سرچاپ مقدار.شیء است(گراف‌کیوال.نتیجه به مقدار(ن))
    سرچاپ گراف‌کیوال.نتیجه به جیسون با تورفتگی(ن)
    گراف‌کیوال.آزادسازی نتیجه(ن)
    گراف‌کیوال.آزادسازی سند(س)
    گراف‌کیوال.آزادسازی طرح‌واره(ط)
    گراف‌کیوال.آزادسازی خطا(خطا)
پایان
خروجیfalse Name Name ( $ Name : [ Name ! ] ! = [ Int ] ) @ Name { ... Name Name : Name ( Name : Float Name : BlockString ) | & <error> } <EOF> 0 1 2 3 5 6 7 8 9 10 11 12 13 14 15 16 18 19 20 true a true false false false true true b false true false false true 1.5 o false false true false true {"x": 3} v false false false true true 42 [Int!] Int! true false true true true id 1 0 title 2 0 true { "extensions": { "ms": 3 }, "data": { "book": null, "names": "{\"a\": true, \"b\": 1.5, \"v\": 42, \"o\": {\"x\": 3}}" } }

نتیجه تبدیل CoerceResult

ساختار نتیجه تبدیل
نتیجه‌ی تبدیل یک مقدار.
نامانگلیسیگونهتوضیح
okokمنطقی = درستتبدیل شد.
messagemessageرشته = ""پیام خطا.
valuevaluevalue.Valueمقدار.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Document.salam

مقدار نحوی AstValue

ساختار مقدار نحوی
یک مقدار در سند.
نامانگلیسیگونهتوضیح
kindkindصحیحگونه، یکی از ثابت‌های مقدار ....
bbمنطقی = نادرستمقدار بولی.
iiصحیح۶۴ = 0مقدار صحیح.
ffاعشار۶۴ = 0مقدار اعشاری.
ssرشته = ""رشته، نام شمارشی یا نام متغیر.
itemsitemsوکتور<صحیح>عنصرهای فهرست یا مقدارهای شیء.
keyskeysوکتور<رشته>کلیدهای شیء.
linelineصحیح = 0خط.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Document.salam

ارجاع نوع AstTypeRef

ساختار ارجاع نوع
یک ارجاع نوع.
نامانگلیسیگونهتوضیح
kindkindصحیحنام‌دار یا فهرست.
namenameرشته = ""نام نوع.
innerinnerصحیح = -1ارجاع درونی فهرست.
nonNullnonNullمنطقی = نادرستبا ! ناتهی است.
graphql-Schema.salam
واردسازی گراف‌کیوال

روال ریشه:
    ناپایا ط := گراف‌کیوال.طرح‌واره جدید()
    گراف‌کیوال.افزودن نوع اسکالر(ط، "Date"، "تاریخ به شکل YYYY-MM-DD")
    گراف‌کیوال.افزودن نوع رابط(ط، "Node"، "")
    _ := گراف‌کیوال.افزودن فیلد(ط، "Node"، "id"، "ID!")
    گراف‌کیوال.افزودن نوع شیء(ط، "Author"، "نویسنده")
    گراف‌کیوال.افزودن رابط به(ط، "Author"، "Node")
    _ := گراف‌کیوال.افزودن فیلد(ط، "Author"، "id"، "ID!")
    _ := گراف‌کیوال.افزودن فیلد(ط، "Author"، "name"، "String!")
    _ := گراف‌کیوال.افزودن فیلد(ط، "Author"، "born"، "Date")
    ناپایا ژانرها := وکتور {} برگردان وکتور<رشته>
    ژانرها.افزودن("NOVEL")
    ژانرها.افزودن("POETRY")
    گراف‌کیوال.افزودن نوع شمارشی(ط، "Genre"، ژانرها)
    ناپایا اعضا := وکتور {} برگردان وکتور<رشته>
    اعضا.افزودن("Author")
    گراف‌کیوال.افزودن نوع اجتماع(ط، "SearchResult"، اعضا)
    گراف‌کیوال.افزودن نوع ورودی(ط، "AuthorInput"، "")
    _ := گراف‌کیوال.افزودن فیلد ورودی(ط، "AuthorInput"، "name"، "String!")
    گراف‌کیوال.افزودن نوع شیء(ط، "Query"، "")
    _ := گراف‌کیوال.افزودن فیلد(ط، "Query"، "authors"، "[Author!]!")
    _ := گراف‌کیوال.افزودن فیلد(ط، "Query"، "search"، "[SearchResult!]!")
    _ := گراف‌کیوال.افزودن آرگومان فیلد(ط، "Query"، "search"، "text"، "String!")
    _ := گراف‌کیوال.افزودن آرگومان فیلد(ط، "Query"، "search"، "genre"، "Genre")
    گراف‌کیوال.افزودن نوع شیء(ط، "Mutation"، "")
    _ := گراف‌کیوال.افزودن فیلد(ط، "Mutation"، "addAuthor"، "Author!")
    _ := گراف‌کیوال.افزودن آرگومان فیلد(ط، "Mutation"، "addAuthor"، "input"، "AuthorInput!")
    گراف‌کیوال.تعیین انواع ریشه(ط، "Query"، "Mutation"، "")
    چاپ گراف‌کیوال.چاپ طرح‌واره(ط)
    سرچاپ "---"
    سرچاپ گراف‌کیوال.چاپ نوع(ط، "Genre")

    سرچاپ گراف‌کیوال.نوع دارد(ط، "Author")، گراف‌کیوال.نمایه نوع(ط، "Author") >= ۰، گراف‌کیوال.تعداد نوع(ط) > ۵
    ن := گراف‌کیوال.یافتن نوع(ط، "Author")
    سرچاپ ن.name، ن.kind == گراف‌کیوال.گونه شیء، ن.description، گراف‌کیوال.فیلد دارد(ن، "born")
    ف := گراف‌کیوال.یافتن فیلد(گراف‌کیوال.یافتن نوع(ط، "Query")، "search")
    سرچاپ ف.name، گراف‌کیوال.یافتن آرگومان(ف، "genre").name، گراف‌کیوال.یافتن آرگومان(ف، "genre").hasDefault
    سرچاپ گراف‌کیوال.یافتن فیلد ورودی(گراف‌کیوال.یافتن نوع(ط، "AuthorInput")، "name").name
    سرچاپ گراف‌کیوال.مقدار شمارشی دارد(گراف‌کیوال.یافتن نوع(ط، "Genre")، "POETRY")
    سرچاپ گراف‌کیوال.نوع ورودی است(ط، "AuthorInput")، گراف‌کیوال.نوع خروجی است(ط، "AuthorInput")، گراف‌کیوال.نوع برگ است(ط، "Genre")
    سرچاپ گراف‌کیوال.نوع انتزاعی است(ط، "SearchResult")، گراف‌کیوال.نوع ممکن است(ط، "Node"، "Author")، گراف‌کیوال.انواع ممکن(ط، "Node").طول()
    سرچاپ گراف‌کیوال.نام نوع ریشه(ط، گراف‌کیوال.عملیات تغییر)، گراف‌کیوال.نام نوع ریشه(ط، گراف‌کیوال.عملیات اشتراک).طول()
    سرچاپ گراف‌کیوال.یافتن تعریف دستورالعمل(ط، "deprecated").name
    سرچاپ گراف‌کیوال.نوع در(ط، ۰).name.طول() > ۰
    سرچاپ گراف‌کیوال.نوع درون‌نگری است("__Schema")، گراف‌کیوال.نوع درون‌نگری است("Author")
    گراف‌کیوال.افزودن انواع درون‌نگری(ط)
    سرچاپ گراف‌کیوال.نوع دارد(ط، "__Type")، گراف‌کیوال.چاپ کامل طرح‌واره(ط).طول() > گراف‌کیوال.چاپ طرح‌واره(ط).طول()
    سرچاپ گراف‌کیوال.متن ارجاع نوع(ط، "[Int!]") >= ۰

    سرچاپ گراف‌کیوال.تجزیه طرح‌واره موفق("type Query { a: Int }")، گراف‌کیوال.تجزیه طرح‌واره موفق("type {")
    ناپایا خطا := گراف‌کیوال.خطای جدید(گراف‌کیوال.دسته خطای نحوی، "")
    گراف‌کیوال.تجزیه در طرح‌واره(ط، "extend type Author { alias: String }"، خطا)
    سرچاپ گراف‌کیوال.فیلد دارد(گراف‌کیوال.یافتن نوع(ط، "Author")، "alias")، خطا.message.طول()
    سرچاپ گراف‌کیوال.گونه نرده‌ای، گراف‌کیوال.گونه رابط، گراف‌کیوال.گونه اجتماع، گراف‌کیوال.گونه شمارشی، گراف‌کیوال.گونه شیء ورودی
    گراف‌کیوال.آزادسازی طرح‌واره(ط)
پایان
خروجی"تاریخ به شکل YYYY-MM-DD" scalar Date interface Node { id: ID! } "نویسنده" type Author implements Node { id: ID! name: String! born: Date } enum Genre { NOVEL POETRY } union SearchResult = Author input AuthorInput { name: String! } type Query { authors: [Author!]! search(text: String!, genre: Genre): [SearchResult!]! } type Mutation { addAuthor(input: AuthorInput!): Author! } --- enum Genre { NOVEL POETRY } true true true Author true نویسنده true search genre false name true true false true true true 1 Mutation 0 deprecated true true false true true true true false true 0 0 2 3 4 5

آرگومان نحوی AstArgument

ساختار آرگومان نحوی
یک آرگومان.
نامانگلیسیگونهتوضیح
namenameرشته = ""نام.
valuevalueصحیح = -1شماره‌ی مقدار.
linelineصحیح = 0خط.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Document.salam

دستورالعمل نحوی AstDirective

ساختار دستورالعمل نحوی
یک دستورالعمل، مثل @include.
نامانگلیسیگونهتوضیح
namenameرشته = ""نام.
argsargsوکتور<آرگومان نحوی>آرگومان‌ها.
linelineصحیح = 0خط.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Document.salam

گزینش نحوی AstSelection

ساختار گزینش نحوی
یک گزینش: فیلد، پخش قطعه یا قطعه‌ی درون‌خطی.
نامانگلیسیگونهتوضیح
kindkindصحیحگونه، یکی از ثابت‌های گزینش ....
namenameرشته = ""نام فیلد یا قطعه.
aliasaliasرشته = ""نام دیگر فیلد در پاسخ.
typeConditiontypeConditionرشته = ""نوع قطعه‌ی درون‌خطی.
hasTypeConditionhasTypeConditionمنطقی = نادرستنوع دارد.
argsargsوکتور<آرگومان نحوی>آرگومان‌ها.
directivesdirectivesوکتور<دستورالعمل نحوی>دستورالعمل‌ها.
selectionsselectionsوکتور<صحیح>زیرگزینش‌ها.
linelineصحیح = 0خط.
colcolصحیح = 0ستون.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Document.salam

تعریف متغیر AstVariableDef

ساختار تعریف متغیر
تعریف یک متغیر.
نامانگلیسیگونهتوضیح
namenameرشته = ""نام بی $.
typeReftypeRefصحیح = -1ارجاع نوع.
defaultValuedefaultValueصحیح = -1شماره‌ی مقدار پیش‌فرض.
hasDefaulthasDefaultمنطقی = نادرستپیش‌فرض دارد.
directivesdirectivesوکتور<دستورالعمل نحوی>دستورالعمل‌ها.
linelineصحیح = 0خط.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Document.salam

عملیات نحوی AstOperation

ساختار عملیات نحوی
یک عملیات.
نامانگلیسیگونهتوضیح
optypeoptypeصحیحنوع، یکی از ثابت‌های عملیات ....
namenameرشته = ""نام؛ برای پرسمان کوتاه خالی.
varDefsvarDefsوکتور<تعریف متغیر>تعریف متغیرها.
directivesdirectivesوکتور<دستورالعمل نحوی>دستورالعمل‌ها.
selectionsselectionsوکتور<صحیح>شماره‌ی گزینش‌های ریشه.
shorthandshorthandمنطقی = نادرستبه شکل کوتاه { ... } نوشته شده.
linelineصحیح = 0خط.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Document.salam

قطعه نحوی AstFragment

ساختار قطعه نحوی
یک قطعه.
نامانگلیسیگونهتوضیح
namenameرشته = ""نام.
typeConditiontypeConditionرشته = ""نوعی که قطعه رویش است.
directivesdirectivesوکتور<دستورالعمل نحوی>دستورالعمل‌ها.
selectionsselectionsوکتور<صحیح>گزینش‌ها.
linelineصحیح = 0خط.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Document.salam

سند Document

ساختار سند
سند تجزیه‌شده: عملیات‌ها و قطعه‌ها؛ گزینش‌ها، مقدارها و ارجاع‌های نوع با شماره در فهرست‌های سند نگه داشته می‌شوند.
نامانگلیسیگونهتوضیح
opsopsوکتور<عملیات نحوی>عملیات‌ها.
fragsfragsوکتور<قطعه نحوی>قطعه‌ها.
selsselsوکتور<گزینش نحوی>گزینش‌ها.
valsvalsوکتور<مقدار نحوی>مقدارها.
trefstrefsوکتور<ارجاع نوع>ارجاع‌های نوع.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Document.salam

شکاف حل‌کننده ResolverSlot

ساختار شکاف حل‌کننده
وضعیت یک فراخوان حل‌کننده.
نامانگلیسیگونهتوضیح
busybusyمنطقی = نادرستدر استفاده.
parentparentvalue.Valueوالد.
argsargsvalue.Valueآرگومان‌ها.
ctxctxvalue.Valueزمینه.
fieldNamefieldNameرشته = ""نام فیلد.
parentTypeparentTypeرشته = ""نوع والد.
resultresultvalue.Valueنتیجه.
resolvedresolvedمنطقی = نادرستنتیجه تعیین شد.
failedfailedمنطقی = نادرستشکست خورد.
messagemessageرشته = ""پیام خطا.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Execute.salam

جدول شکاف GqlSlotTable

ساختار جدول شکاف
جدول شکاف‌ها.
نامانگلیسیگونهتوضیح
itemsitemsوکتور<شکاف حل‌کننده>شکاف‌ها.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Execute.salam

وضعیت اجرا Ex

ساختار وضعیت اجرا
وضعیت داخلی اجرا.
نامانگلیسیگونهتوضیح
schschطرح‌وارهطرح‌واره.
docdocسندسند.
varsvarsvalue.Valueمتغیرها.
ctxctxvalue.Valueزمینه.
errorserrorsفهرست خطاخطاها.
pathKeyspathKeysوکتور<رشته>مسیر جاری.
pathIdxpathIdxوکتور<صحیح>نمایه‌های مسیر.
depthdepthصحیح = 0عمق.
maxDepthmaxDepthصحیح = 512بیشترین عمق مجاز.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Execute.salam

پاسخ کارخواه ClientResponse

ساختار پاسخ کارخواه
پاسخی که کارخواه از سرور گرفته.
نامانگلیسیگونهتوضیح
datadatavalue.Valueداده.
hasDatahasDataمنطقی = نادرستداده دارد.
errorserrorsفهرست خطاخطاها.
extensionsextensionsvalue.Valueافزونه‌ها.
hasExtensionshasExtensionsمنطقی = نادرستافزونه دارد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Http.salam

توکن GqlToken

ساختار توکن
یک نشانه.
نامانگلیسیگونهتوضیح
kindkindصحیحگونه، یکی از ثابت‌های نشانه ....
lexemelexemeرشته = ""متن.
svalsvalرشته = ""مقدار رشته.
ivalivalصحیح۶۴ = 0مقدار صحیح.
fvalfvalاعشار۶۴ = 0مقدار اعشاری.
linelineصحیح = 0خط.
colcolصحیح = 0ستون.
posposصحیح = 0جای آغاز در متن.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Document.salam

جریان توکن GqlTokenStream

ساختار جریان توکن
فهرست نشانه‌ها.
نامانگلیسیگونهتوضیح
tokstoksوکتور<توکن>نشانه‌ها.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Document.salam

نتیجه اجرا ExecutionResult

ساختار نتیجه اجرا
نتیجه‌ی اجرا.
نامانگلیسیگونهتوضیح
datadatavalue.Valueداده.
hasDatahasDataمنطقی = نادرستداده دارد؛ اگر درخواست اصلاً اجرا نشد، نه.
errorserrorsفهرست خطاخطاها.
extensionsextensionsvalue.Valueافزونه‌ها.
hasExtensionshasExtensionsمنطقی = نادرستافزونه دارد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Execute.salam

تعریف مقدار ورودی InputValueDef

ساختار تعریف مقدار ورودی
تعریف یک آرگومان یا فیلد ورودی.
نامانگلیسیگونهتوضیح
namenameرشته = ""نام.
descriptiondescriptionرشته = ""توضیح.
typeReftypeRefصحیح = -1ارجاع نوع.
defaultValuedefaultValueصحیح = -1مقدار پیش‌فرض در سند.
hasDefaulthasDefaultمنطقی = نادرستمقدار پیش‌فرض دارد.
is_deprecatedis_deprecatedمنطقی = نادرستمنسوخ است.
deprecationReasondeprecationReasonرشته = ""دلیل منسوخ شدن.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Schema.salam

تعریف فیلد FieldDef

ساختار تعریف فیلد
تعریف یک فیلد.
نامانگلیسیگونهتوضیح
namenameرشته = ""نام.
descriptiondescriptionرشته = ""توضیح.
typeReftypeRefصحیح = -1ارجاع نوع.
argsargsوکتور<تعریف مقدار ورودی>آرگومان‌ها.
is_deprecatedis_deprecatedمنطقی = نادرستمنسوخ است.
deprecationReasondeprecationReasonرشته = ""دلیل منسوخ شدن.
resolverresolverصحیح۶۴ = 0حل‌کننده‌ی ثبت‌شده.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Schema.salam

تعریف مقدار شمارشی EnumValueDef

ساختار تعریف مقدار شمارشی
یک مقدار شمارشی.
نامانگلیسیگونهتوضیح
namenameرشته = ""نام.
descriptiondescriptionرشته = ""توضیح.
is_deprecatedis_deprecatedمنطقی = نادرستمنسوخ است.
deprecationReasondeprecationReasonرشته = ""دلیل منسوخ شدن.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Schema.salam

تعریف نوع TypeDef

ساختار تعریف نوع
تعریف یک نوع.
نامانگلیسیگونهتوضیح
kindkindصحیحگونه، یکی از ثابت‌های گونه ....
namenameرشته = ""نام.
descriptiondescriptionرشته = ""توضیح.
fieldsfieldsوکتور<تعریف فیلد>فیلدها، برای شیء و رابط.
inputFieldsinputFieldsوکتور<تعریف مقدار ورودی>فیلدهای نوع ورودی.
interfacesinterfacesوکتور<رشته>رابط‌هایی که پیاده می‌کند.
unionMembersunionMembersوکتور<رشته>اعضای اجتماع.
enumValuesenumValuesوکتور<تعریف مقدار شمارشی>مقدارهای شمارشی.
specifiedByURLspecifiedByURLرشته = ""نشانی مشخصات نوع نرده‌ای.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Schema.salam

تعریف دستورالعمل DirectiveDef

ساختار تعریف دستورالعمل
تعریف یک دستورالعمل.
نامانگلیسیگونهتوضیح
namenameرشته = ""نام.
descriptiondescriptionرشته = ""توضیح.
argsargsوکتور<تعریف مقدار ورودی>آرگومان‌ها.
locationslocationsوکتور<رشته>جاهایی که به کار می‌رود.
repeatablerepeatableمنطقی = نادرستچند بار روی یک جا مجاز است.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Schema.salam

طرح‌واره Schema

ساختار طرح‌واره
طرح‌واره: همه‌ی نوع‌ها، دستورالعمل‌ها و نوع‌های ریشه.
نامانگلیسیگونهتوضیح
docdocسندسند داخلی که ارجاع‌های نوع در آن نگه داشته می‌شوند.
typestypesوکتور<تعریف نوع>نوع‌ها.
directivesdirectivesوکتور<تعریف دستورالعمل>دستورالعمل‌ها.
queryTypequeryTypeرشته = "Query"نام نوع ریشه‌ی پرسمان.
mutationTypemutationTypeرشته = ""نام نوع ریشه‌ی تغییر.
subscriptionTypesubscriptionTypeرشته = ""نام نوع ریشه‌ی اشتراک.
descriptiondescriptionرشته = ""توضیح طرح‌واره.
hasSchemaDefhasSchemaDefمنطقی = نادرستبلوک schema { ... } صریح داشت.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Schema.salam

پایاها و متغیرها

ویرایش مشخصات SpecEdition

پایا ویرایش مشخصات: رشته = "October2021"
ویرایش مشخصات GraphQL که پیاده شده.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Document.salam

دسته خطای نحوی ERR_SYNTAX

پایا دسته خطای نحوی: صحیح۳۲ = 0
دسته‌ی خطا: نحو.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Schema.salam

دسته خطای اعتبارسنجی ERR_VALIDATION

پایا دسته خطای اعتبارسنجی: صحیح۳۲ = 1
دسته‌ی خطا: اعتبارسنجی.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Document.salam

دسته خطای اجرا ERR_EXECUTION

پایا دسته خطای اجرا: صحیح۳۲ = 2
دسته‌ی خطا: اجرا، مثلاً شکست حل‌کننده.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Document.salam

دسته خطای درخواست ERR_REQUEST

پایا دسته خطای درخواست: صحیح۳۲ = 3
دسته‌ی خطا: درخواست HTTP نادرست.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Document.salam

مقدار تهی VAL_NULL

پایا مقدار تهی: صحیح۳۲ = 0
گونه‌ی مقدار: تهی.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Execute.salam

مقدار بولی VAL_BOOL

پایا مقدار بولی: صحیح۳۲ = 1
گونه‌ی مقدار: بولی.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Internals.salam

مقدار صحیح VAL_INT

پایا مقدار صحیح: صحیح۳۲ = 2
گونه‌ی مقدار: صحیح.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Execute.salam

مقدار اعشاری VAL_FLOAT

پایا مقدار اعشاری: صحیح۳۲ = 3
گونه‌ی مقدار: اعشاری.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Internals.salam

مقدار رشته VAL_STRING

پایا مقدار رشته: صحیح۳۲ = 4
گونه‌ی مقدار: رشته.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Execute.salam

مقدار شمارشی VAL_ENUM

پایا مقدار شمارشی: صحیح۳۲ = 5
گونه‌ی مقدار: شمارشی.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Schema.salam

مقدار فهرست VAL_LIST

پایا مقدار فهرست: صحیح۳۲ = 6
گونه‌ی مقدار: فهرست.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Document.salam

مقدار شیء VAL_OBJECT

پایا مقدار شیء: صحیح۳۲ = 7
گونه‌ی مقدار: شیء.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Internals.salam

مقدار متغیر VAL_VARIABLE

پایا مقدار متغیر: صحیح۳۲ = 8
گونه‌ی مقدار: متغیر.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Internals.salam

ارجاع نوع نام‌دار TREF_NAMED

پایا ارجاع نوع نام‌دار: صحیح۳۲ = 0
ارجاع نوع: نام‌دار.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Internals.salam

ارجاع نوع فهرست TREF_LIST

پایا ارجاع نوع فهرست: صحیح۳۲ = 1
ارجاع نوع: فهرست.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Document.salam

گزینش فیلد SEL_FIELD

پایا گزینش فیلد: صحیح۳۲ = 0
گزینش: فیلد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Document.salam

گزینش پخش قطعه SEL_FRAGMENT_SPREAD

پایا گزینش پخش قطعه: صحیح۳۲ = 1
گزینش: پخش قطعه، مثل ...Info.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Internals.salam

گزینش قطعه درون‌خطی SEL_INLINE_FRAGMENT

پایا گزینش قطعه درون‌خطی: صحیح۳۲ = 2
گزینش: قطعه‌ی درون‌خطی، مثل ... on Book.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Internals.salam

عملیات پرسمان OP_QUERY

پایا عملیات پرسمان: صحیح۳۲ = 0
عملیات: پرسمان.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Internals.salam

عملیات تغییر OP_MUTATION

پایا عملیات تغییر: صحیح۳۲ = 1
عملیات: تغییر.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Schema.salam

عملیات اشتراک OP_SUBSCRIPTION

پایا عملیات اشتراک: صحیح۳۲ = 2
عملیات: اشتراک.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Schema.salam

نشانه انتهای متن TOK_EOF

پایا نشانه انتهای متن: صحیح۳۲ = 0
گونه‌ی نشانه: پایان متن.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Internals.salam

نشانه نام TOK_NAME

پایا نشانه نام: صحیح۳۲ = 1
گونه‌ی نشانه: نام.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Internals.salam

نشانه عدد صحیح TOK_INT

پایا نشانه عدد صحیح: صحیح۳۲ = 2
گونه‌ی نشانه: عدد صحیح.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Internals.salam

نشانه عدد اعشاری TOK_FLOAT

پایا نشانه عدد اعشاری: صحیح۳۲ = 3
گونه‌ی نشانه: عدد اعشاری.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Internals.salam

نشانه رشته TOK_STRING

پایا نشانه رشته: صحیح۳۲ = 4
گونه‌ی نشانه: رشته.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Document.salam

نشانه رشته بلوکی TOK_BLOCK_STRING

پایا نشانه رشته بلوکی: صحیح۳۲ = 5
گونه‌ی نشانه: رشته‌ی بلوکی """.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Internals.salam

نشانه علامت تعجب TOK_BANG

پایا نشانه علامت تعجب: صحیح۳۲ = 6
گونه‌ی نشانه: !.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Internals.salam

نشانه دلار TOK_DOLLAR

پایا نشانه دلار: صحیح۳۲ = 7
گونه‌ی نشانه: $.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Internals.salam

نشانه امپرسند TOK_AMP

پایا نشانه امپرسند: صحیح۳۲ = 8
گونه‌ی نشانه: &.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Internals.salam

نشانه پرانتز باز TOK_LPAREN

پایا نشانه پرانتز باز: صحیح۳۲ = 9
گونه‌ی نشانه: (.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Internals.salam

نشانه پرانتز بسته TOK_RPAREN

پایا نشانه پرانتز بسته: صحیح۳۲ = 10
گونه‌ی نشانه: ).

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Internals.salam

نشانه پخش TOK_SPREAD

پایا نشانه پخش: صحیح۳۲ = 11
گونه‌ی نشانه: ....

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Internals.salam

نشانه دونقطه TOK_COLON

پایا نشانه دونقطه: صحیح۳۲ = 12
گونه‌ی نشانه: :.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Internals.salam

نشانه مساوی TOK_EQUALS

پایا نشانه مساوی: صحیح۳۲ = 13
گونه‌ی نشانه: =.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Internals.salam

نشانه ات TOK_AT

پایا نشانه ات: صحیح۳۲ = 14
گونه‌ی نشانه: @.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Internals.salam

نشانه کروشه باز TOK_LBRACKET

پایا نشانه کروشه باز: صحیح۳۲ = 15
گونه‌ی نشانه: [.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Internals.salam

نشانه کروشه بسته TOK_RBRACKET

پایا نشانه کروشه بسته: صحیح۳۲ = 16
گونه‌ی نشانه: ].

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Internals.salam

نشانه آکولاد باز TOK_LBRACE

پایا نشانه آکولاد باز: صحیح۳۲ = 17
گونه‌ی نشانه: {.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Document.salam

نشانه آکولاد بسته TOK_RBRACE

پایا نشانه آکولاد بسته: صحیح۳۲ = 18
گونه‌ی نشانه: }.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Internals.salam

نشانه خط عمودی TOK_PIPE

پایا نشانه خط عمودی: صحیح۳۲ = 19
گونه‌ی نشانه: |.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Internals.salam

نشانه خطا TOK_ERROR

پایا نشانه خطا: صحیح۳۲ = 20
گونه‌ی نشانه: نشانه‌ی نادرست.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Internals.salam

گونه نرده‌ای TYPE_SCALAR

پایا گونه نرده‌ای: صحیح۳۲ = 0
گونه‌ی نوع: نرده‌ای، مثل Int یا String.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Schema.salam

گونه شیء TYPE_OBJECT

پایا گونه شیء: صحیح۳۲ = 1
گونه‌ی نوع: شیء.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Schema.salam

گونه رابط TYPE_INTERFACE

پایا گونه رابط: صحیح۳۲ = 2
گونه‌ی نوع: رابط.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Schema.salam

گونه اجتماع TYPE_UNION

پایا گونه اجتماع: صحیح۳۲ = 3
گونه‌ی نوع: اجتماع.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Schema.salam

گونه شمارشی TYPE_ENUM

پایا گونه شمارشی: صحیح۳۲ = 4
گونه‌ی نوع: شمارشی.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Schema.salam

گونه شیء ورودی TYPE_INPUT_OBJECT

پایا گونه شیء ورودی: صحیح۳۲ = 5
گونه‌ی نوع: شیء ورودی.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Schema.salam

روال‌ها

طرح‌واره جدید NewSchema

روال طرح‌واره جدید(): طرح‌واره
طرح‌واره‌ی خالی با نوع‌های نرده‌ای و دستورالعمل‌های استاندارد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Schema.salam

متن ارجاع نوع TypeRefText

روال متن ارجاع نوع(sch &: طرح‌واره، text: رشته): صحیح
متن ارجاع نوع، مثل [Int!]، را در طرح‌واره ثبت می‌کند و شماره‌اش را برمی‌گرداند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Schema.salam

افزودن نوع اسکالر AddScalarType

روال افزودن نوع اسکالر(sch &: طرح‌واره، name: رشته، description: رشته)
نوع نرده‌ای می‌افزاید.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Schema.salam

افزودن نوع شیء AddObjectType

روال افزودن نوع شیء(sch &: طرح‌واره، name: رشته، description: رشته)
نوع شیء می‌افزاید.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Schema.salam

افزودن نوع رابط AddInterfaceType

روال افزودن نوع رابط(sch &: طرح‌واره، name: رشته، description: رشته)
رابط می‌افزاید.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Schema.salam

افزودن نوع ورودی AddInputObjectType

روال افزودن نوع ورودی(sch &: طرح‌واره، name: رشته، description: رشته)
نوع ورودی می‌افزاید.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Schema.salam

افزودن نوع شمارشی AddEnumType

روال افزودن نوع شمارشی(sch &: طرح‌واره، name: رشته، values: وکتور<رشته>)
نوع شمارشی با مقدارها.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Schema.salam

افزودن نوع اجتماع AddUnionType

روال افزودن نوع اجتماع(sch &: طرح‌واره، name: رشته، members: وکتور<رشته>)
اجتماع با اعضا.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Schema.salam

افزودن رابط به AddInterfaceTo

روال افزودن رابط به(sch &: طرح‌واره، typeName: رشته، interfaceName: رشته)
رابطی را به فهرست رابط‌های یک نوع می‌افزاید.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Schema.salam

افزودن فیلد AddField

روال افزودن فیلد(sch &: طرح‌واره، typeName: رشته، fieldName: رشته، typeText: رشته): منطقی
فیلدی با متن نوع، مثل [Book!]!، می‌افزاید.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Schema.salam

افزودن آرگومان فیلد AddFieldArg

روال افزودن آرگومان فیلد(sch &: طرح‌واره، typeName: رشته، fieldName: رشته، argName: رشته، typeText: رشته): منطقی
آرگومانی به فیلد می‌افزاید.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Schema.salam

افزودن فیلد ورودی AddInputField

روال افزودن فیلد ورودی(sch &: طرح‌واره، typeName: رشته، fieldName: رشته، typeText: رشته): منطقی
فیلدی به نوع ورودی می‌افزاید.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Schema.salam

تعیین انواع ریشه SetRootTypes

روال تعیین انواع ریشه(sch &: طرح‌واره، queryType: رشته، mutationType: رشته، subscriptionType: رشته)
نوع‌های ریشه را تعیین می‌کند؛ رشته‌ی خالی یعنی ندارد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Schema.salam

آزادسازی طرح‌واره FreeSchema

روال آزادسازی طرح‌واره(sch &: طرح‌واره)
طرح‌واره را آزاد می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Schema.salam

چاپ مقدار رشته PrintStringValue

روال چاپ مقدار رشته(s: رشته): رشته
رشته را به شکل رشته‌ی GraphQL با گریز برمی‌گرداند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Document.salam

چاپ ارجاع نوع PrintTypeRef

روال چاپ ارجاع نوع(doc: سند، id: صحیح): رشته
متن یک ارجاع نوع.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Document.salam

چاپ مقدار PrintValue

روال چاپ مقدار(doc: سند، id: صحیح): رشته
متن یک مقدار سند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Document.salam

چاپ Print

روال چاپ(doc: سند): رشته
سند را به متن مرتب برمی‌گرداند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Schema.salam

تجزیه درخواست وب ParseHttpRequest

روال تجزیه درخواست وب(method: رشته، contentType: رشته، body: رشته، queryString: رشته): درخواست وب
درخواست را از روش، نوع محتوا، بدنه و رشته‌ی پرسمان می‌خواند؛ GET و POST با جیسون یا application/graphql.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Http.salam

تجزیه درخواست جیسون ParseHttpRequestJSON

روال تجزیه درخواست جیسون(body: رشته): درخواست وب
بدنه‌ی جیسون را می‌خواند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Http.salam

رسیدگی به درخواست HandleRequest

روال رسیدگی به درخواست(sch: طرح‌واره، req: درخواست وب، rootValue: value.Value، ctx: value.Value): نتیجه اجرا
درخواست خوانده‌شده را اجرا می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Http.salam

رسیدگی به وب HandleHttp

روال رسیدگی به وب(sch: طرح‌واره، method: رشته، contentType: رشته، body: رشته، queryString: رشته، rootValue: value.Value، ctx: value.Value): پاسخ وب
درخواست HTTP را از ورودی خام تا پاسخ کامل رسیدگی می‌کند، با مقدار ریشه و زمینه.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Http.salam

رسیدگی ساده به وب HandleHttpSimple

روال رسیدگی ساده به وب(sch: طرح‌واره، method: رشته، contentType: رشته، body: رشته، queryString: رشته): پاسخ وب
مثل روال بالا، بی مقدار ریشه و زمینه.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Http.salam

آزادسازی درخواست وب FreeHttpRequest

روال آزادسازی درخواست وب(req &: درخواست وب)
درخواست را آزاد می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Http.salam

خطای جدید NewError

روال خطای جدید(category: صحیح، message: رشته): خطای گراف‌کیوال
خطا با دسته و پیام.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Schema.salam

خطا در محل NewErrorAt

روال خطا در محل(category: صحیح، message: رشته، line: صحیح، col: صحیح): خطای گراف‌کیوال
خطا با جای خط و ستون.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Document.salam

خطای نحوی SyntaxError

روال خطای نحوی(message: رشته، line: صحیح، col: صحیح): خطای گراف‌کیوال
خطای نحو با جا.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Schema.salam

افزودن کلید مسیر PathPushKey

روال افزودن کلید مسیر(e &: خطای گراف‌کیوال، key: رشته)
کلیدی به مسیر خطا می‌افزاید.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Document.salam

افزودن نمایه مسیر PathPushIndex

روال افزودن نمایه مسیر(e &: خطای گراف‌کیوال، idx: صحیح)
نمایه‌ای به مسیر می‌افزاید.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Document.salam

طول مسیر PathLen

روال طول مسیر(e: خطای گراف‌کیوال): صحیح
طول مسیر.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Document.salam

رشته مسیر PathString

روال رشته مسیر(e: خطای گراف‌کیوال): رشته
مسیر به شکل books[2].title.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Document.salam

افزودن خطا AddError

روال افزودن خطا(list &: فهرست خطا، e: خطای گراف‌کیوال)
خطا را به فهرست می‌افزاید؛ فهرست مالک خطا می‌شود، پس آن را جدا آزاد نکنید.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Document.salam

خطا دارد HasErrors

روال خطا دارد(list: فهرست خطا): منطقی
فهرست خطا دارد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Document.salam

تعداد خطا ErrorCount

روال تعداد خطا(list: فهرست خطا): صحیح
شمار خطاها.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Document.salam

خطا در ErrorAt

روال خطا در(list: فهرست خطا، i: صحیح): خطای گراف‌کیوال
خطای شماره‌ی n.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Document.salam

رشته خطا ErrorString

روال رشته خطا(e: خطای گراف‌کیوال): رشته
متن خطا با جا و مسیر.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Document.salam

خطا به مقدار ErrorToValue

روال خطا به مقدار(e: خطای گراف‌کیوال): value.Value
خطا به شکل مقدار برای پاسخ جیسون.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Document.salam

خطاها به مقدار ErrorsToValue

روال خطاها به مقدار(list: فهرست خطا): value.Value
فهرست خطاها به شکل آرایه.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Document.salam

آزادسازی خطا FreeError

روال آزادسازی خطا(e &: خطای گراف‌کیوال)
خطا را آزاد می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Document.salam

آزادسازی فهرست خطا FreeErrorList

روال آزادسازی فهرست خطا(list &: فهرست خطا)
فهرست و همه‌ی خطاهایش را آزاد می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Document.salam

تجزیه Parse

روال تجزیه(source: رشته، err &: خطای گراف‌کیوال): سند
سند پرسمان را تجزیه می‌کند؛ اگر نحو نادرست باشد، خطا پر می‌شود.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Schema.salam

تجزیه موفق ParseOk

روال تجزیه موفق(source: رشته): منطقی
متن پرسمان درست است.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Document.salam

تجزیه طرح‌واره ParseSchema

روال تجزیه طرح‌واره(source: رشته، err &: خطای گراف‌کیوال): طرح‌واره
طرح‌واره را از متن SDL می‌سازد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Schema.salam

تجزیه در طرح‌واره ParseSchemaInto

روال تجزیه در طرح‌واره(sch &: طرح‌واره، source: رشته، err &: خطای گراف‌کیوال)
متن SDL، از جمله extend type، را به طرح‌واره‌ی موجود می‌افزاید.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Schema.salam

تجزیه طرح‌واره موفق ParseSchemaOk

روال تجزیه طرح‌واره موفق(source: رشته): منطقی
متن SDL درست است.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Schema.salam

نوع درون‌نگری است IsIntrospectionType

روال نوع درون‌نگری است(name: رشته): منطقی
نام یکی از نوع‌های درون‌نگری، مثل __Type، است.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Schema.salam

افزودن انواع درون‌نگری AddIntrospectionTypes

روال افزودن انواع درون‌نگری(sch &: طرح‌واره)
نوع‌های درون‌نگری را به طرح‌واره می‌افزاید تا پرسمان‌های __schema کار کنند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Schema.salam

اعتبارسنجی Validate

روال اعتبارسنجی(sch: طرح‌واره، doc: سند): فهرست خطا
سند را با طرح‌واره اعتبارسنجی می‌کند: فیلدهای ناموجود، گونه‌ی آرگومان‌ها، متغیرهای تعریف‌نشده و مانند آن.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Document.salam

اعتبارسنجی موفق ValidateOk

روال اعتبارسنجی موفق(sch: طرح‌واره، doc: سند): منطقی
سند معتبر است.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Document.salam

اعتبارسنجی منبع ValidateSource

روال اعتبارسنجی منبع(sch: طرح‌واره، source: رشته): فهرست خطا
متن را تجزیه و اعتبارسنجی می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Document.salam

گردآوری فیلدها CollectFields

روال گردآوری فیلدها(sch: طرح‌واره، doc: سند، sels: وکتور<صحیح>، objectType: رشته، vars: value.Value): گروه‌های فیلد
گزینش‌ها را با قطعه‌ها و دستورالعمل‌های include و skip به گروه‌های کلید پاسخ تبدیل می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Internals.salam

ادغام گزینش‌ها MergeSelections

روال ادغام گزینش‌ها(doc: سند، g: گروه فیلد): وکتور<صحیح>
زیرگزینش‌های یک گروه را یکی می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Internals.salam

آزادسازی گروه‌های فیلد FreeFieldGroups

روال آزادسازی گروه‌های فیلد(gs &: گروه‌های فیلد)
گروه‌ها را آزاد می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Internals.salam

چاپ طرح‌واره PrintSchema

روال چاپ طرح‌واره(sch: طرح‌واره): رشته
طرح‌واره را به SDL برمی‌گرداند، بدون نوع‌های داخلی.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Schema.salam

چاپ کامل طرح‌واره PrintSchemaFull

روال چاپ کامل طرح‌واره(sch: طرح‌واره): رشته
طرح‌واره را با نوع‌های داخلی برمی‌گرداند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Schema.salam

چاپ نوع PrintType

روال چاپ نوع(sch: طرح‌واره، name: رشته): رشته
SDL یک نوع.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Schema.salam

تبدیل لفظ به مقدار LiteralToValue

روال تبدیل لفظ به مقدار(sch: طرح‌واره، doc: سند، valueId: صحیح، vars: value.Value): نتیجه تبدیل
مقدار سند را با جایگذاری متغیرها به مقدار کدگذاری تبدیل می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Internals.salam

تبدیل ورودی CoerceInput

روال تبدیل ورودی(sch: طرح‌واره، refDoc: سند، typeRef: صحیح، v: value.Value): نتیجه تبدیل
مقدار ورودی را با نوع داده‌شده سازگار می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Internals.salam

تبدیل نتیجه برگ CoerceLeafResult

روال تبدیل نتیجه برگ(sch: طرح‌واره، typeName: رشته، v: value.Value): نتیجه تبدیل
خروجی حل‌کننده را با نوع برگ، مثل Int یا شمارشی، سازگار می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Document.salam

گزینش در SelectionAt

روال گزینش در(doc: سند، id: صحیح): گزینش نحوی
گزینش با شماره.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Document.salam

مقدار در ValueAt

روال مقدار در(doc: سند، id: صحیح): مقدار نحوی
مقدار با شماره.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Document.salam

ارجاع نوع در TypeRefAt

روال ارجاع نوع در(doc: سند، id: صحیح): ارجاع نوع
ارجاع نوع با شماره.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Document.salam

یافتن عملیات FindOperation

روال یافتن عملیات(doc: سند، name: رشته): صحیح
شماره‌ی عملیات با نام؛ نام خالی یعنی تنها عملیات. اگر نباشد، ۱-.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Document.salam

یافتن قطعه FindFragment

روال یافتن قطعه(doc: سند، name: رشته): صحیح
شماره‌ی قطعه با نام.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Document.salam

نام نوع عملیات OperationTypeName

روال نام نوع عملیات(optype: صحیح): رشته
نام عملیات: query، mutation یا subscription.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Document.salam

کلید پاسخ ResponseKey

روال کلید پاسخ(sel: گزینش نحوی): رشته
کلید گزینش در پاسخ: نام دیگر، یا اگر نباشد، نام فیلد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Document.salam

آزادسازی سند FreeDocument

روال آزادسازی سند(doc &: سند)
سند را آزاد می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Document.salam

توکن‌سازی Tokenize

روال توکن‌سازی(source: رشته، ok &: منطقی): جریان توکن
متن را به نشانه‌ها می‌شکند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Document.salam

تحلیل واژگانی موفق LexOk

روال تحلیل واژگانی موفق(source: رشته): منطقی
متن بی خطای واژگانی است.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Document.salam

ساخت بدنه درخواست BuildRequestBody

روال ساخت بدنه درخواست(queryText: رشته، operationName: رشته، variables: value.Value): رشته
بدنه‌ی جیسون درخواست POST.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Http.salam

ساخت بدنه پرس‌وجو BuildQueryBody

روال ساخت بدنه پرس‌وجو(queryText: رشته): رشته
بدنه‌ی جیسون فقط با پرسمان.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Http.salam

ساخت رشته پرس‌وجو BuildRequestQueryString

روال ساخت رشته پرس‌وجو(queryText: رشته، operationName: رشته، variables: value.Value): رشته
رشته‌ی پرسمان برای درخواست GET.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Http.salam

تجزیه پاسخ ParseResponse

روال تجزیه پاسخ(body: رشته): پاسخ کارخواه
پاسخ جیسون سرور را می‌خواند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Http.salam

فیلد پاسخ ResponseField

روال فیلد پاسخ(r: پاسخ کارخواه، name: رشته): value.Value
فیلدی از داده‌ی پاسخ.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Http.salam

پاسخ موفق ResponseOk

روال پاسخ موفق(r: پاسخ کارخواه): منطقی
پاسخ خطا ندارد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Http.salam

پیام خطای پاسخ ResponseErrorMessage

روال پیام خطای پاسخ(r: پاسخ کارخواه): رشته
پیام نخستین خطا.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Http.salam

آزادسازی پاسخ کارخواه FreeClientResponse

روال آزادسازی پاسخ کارخواه(r &: پاسخ کارخواه)
پاسخ را آزاد می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Http.salam

تعیین حل‌کننده SetResolver

روال تعیین حل‌کننده(sch &: طرح‌واره، typeName: رشته، fieldName: رشته، fn: صحیح۶۴): منطقی
روالی را برای فیلد یک نوع ثبت می‌کند؛ روال شماره‌ی شکاف را می‌گیرد. فیلد بی حل‌کننده مقدار هم‌نام شیء والد را برمی‌گرداند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Execute.salam

حل‌کننده دارد HasResolver

روال حل‌کننده دارد(sch: طرح‌واره، typeName: رشته، fieldName: رشته): منطقی
فیلد حل‌کننده دارد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Execute.salam

والد Parent

روال والد(slot: صحیح۶۴): value.Value
شیء والد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Execute.salam

آرگومان‌ها Args

روال آرگومان‌ها(slot: صحیح۶۴): value.Value
آرگومان‌ها به شکل شیء.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Internals.salam

زمینه Context

روال زمینه(slot: صحیح۶۴): value.Value
زمینه‌ای که به اجرا داده شده؛ مثلاً کاربر واردشده.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Http.salam

نام فیلد FieldName

روال نام فیلد(slot: صحیح۶۴): رشته
نام فیلد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Http.salam

نام نوع والد ParentTypeName

روال نام نوع والد(slot: صحیح۶۴): رشته
نام نوع والد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Http.salam

آرگومان دارد HasArg

روال آرگومان دارد(slot: صحیح۶۴، name: رشته): منطقی
آرگومان آمده است.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Execute.salam

آرگومان Arg

روال آرگومان(slot: صحیح۶۴، name: رشته): value.Value
آرگومان به شکل مقدار.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Schema.salam

آرگومان عددی ArgInt

روال آرگومان عددی(slot: صحیح۶۴، name: رشته): صحیح۶۴
آرگومان عددی.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Execute.salam

آرگومان اعشاری ArgFloat

روال آرگومان اعشاری(slot: صحیح۶۴، name: رشته): اعشار۶۴
آرگومان اعشاری.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Execute.salam

آرگومان رشته ArgStr

روال آرگومان رشته(slot: صحیح۶۴، name: رشته): رشته
آرگومان رشته.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Execute.salam

آرگومان بولی ArgBool

روال آرگومان بولی(slot: صحیح۶۴، name: رشته): منطقی
آرگومان بولی.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Execute.salam

فیلد والد ParentField

روال فیلد والد(slot: صحیح۶۴، name: رشته): value.Value
فیلدی از شیء والد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Execute.salam

حل Resolve

روال حل(slot: صحیح۶۴، v: value.Value)
نتیجه را با یک مقدار تعیین می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Execute.salam

حل عددی ResolveInt

روال حل عددی(slot: صحیح۶۴، n: صحیح۶۴)
نتیجه‌ی عددی.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Execute.salam

حل اعشاری ResolveFloat

روال حل اعشاری(slot: صحیح۶۴، f: اعشار۶۴)
نتیجه‌ی اعشاری.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Execute.salam

حل رشته ResolveStr

روال حل رشته(slot: صحیح۶۴، s: رشته)
نتیجه‌ی رشته.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Execute.salam

حل بولی ResolveBool

روال حل بولی(slot: صحیح۶۴، b: منطقی)
نتیجه‌ی بولی.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Execute.salam

حل تهی ResolveNull

روال حل تهی(slot: صحیح۶۴)
نتیجه‌ی تهی.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Execute.salam

شکست Fail

روال شکست(slot: صحیح۶۴، message: رشته)
فیلد را با خطا تمام می‌کند؛ فیلد تهی می‌شود و خطا با مسیرش در پاسخ می‌آید.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Execute.salam

بازنشانی شکاف‌ها ResetSlots

روال بازنشانی شکاف‌ها()
شکاف‌های حل‌کننده را آزاد می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Execute.salam

نام نوع توکن TokenKindName

روال نام نوع توکن(kind: صحیح): رشته
نام گونه‌ی نشانه.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Document.salam

توکن رشته است IsStringToken

روال توکن رشته است(kind: صحیح): منطقی
گونه رشته یا رشته‌ی بلوکی است.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Document.salam

اجرا Execute

روال اجرا(sch: طرح‌واره، doc: سند، operationName: رشته، variables: value.Value، rootValue: value.Value، ctx: value.Value): نتیجه اجرا
سند تجزیه‌شده را با نام عملیات، متغیرها، مقدار ریشه و زمینه اجرا می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Document.salam

اجرای منبع ExecuteSource

روال اجرای منبع(sch: طرح‌واره، source: رشته، operationName: رشته، variables: value.Value، rootValue: value.Value، ctx: value.Value): نتیجه اجرا
مثل روال بالا، از متن.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Execute.salam

اجرای ساده Run

روال اجرای ساده(sch: طرح‌واره، source: رشته): نتیجه اجرا
متن را بدون متغیر اجرا می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Execute.salam

تعیین افزونه‌ها SetExtensions

روال تعیین افزونه‌ها(r &: نتیجه اجرا، ext: value.Value)
افزونه‌های نتیجه را تعیین می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Internals.salam

نتیجه به مقدار ResultToValue

روال نتیجه به مقدار(r: نتیجه اجرا): value.Value
نتیجه به شکل مقدار.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Internals.salam

نتیجه به جیسون ResultToJSON

روال نتیجه به جیسون(r: نتیجه اجرا): رشته
نتیجه به شکل جیسون.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Execute.salam

نتیجه به جیسون با تورفتگی ResultToJSONIndent

روال نتیجه به جیسون با تورفتگی(r: نتیجه اجرا): رشته
جیسون خوانا با تورفتگی.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Internals.salam

نتیجه به جیسون قطعی ResultToJSONStable

روال نتیجه به جیسون قطعی(r: نتیجه اجرا): رشته
جیسون با کلیدهای مرتب؛ برای آزمون و مقایسه.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Execute.salam

نتیجه موفق ResultOk

روال نتیجه موفق(r: نتیجه اجرا): منطقی
بی خطا اجرا شد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Execute.salam

پیام خطای نتیجه ResultErrorMessage

روال پیام خطای نتیجه(r: نتیجه اجرا): رشته
پیام نخستین خطا.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Execute.salam

آزادسازی نتیجه FreeResult

روال آزادسازی نتیجه(r &: نتیجه اجرا)
نتیجه را آزاد می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Execute.salam

ارجاع نوع ناتهی است TypeRefIsNonNull

روال ارجاع نوع ناتهی است(doc: سند، id: صحیح): منطقی
ارجاع ناتهی است.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Document.salam

ارجاع نوع فهرست است TypeRefIsList

روال ارجاع نوع فهرست است(doc: سند، id: صحیح): منطقی
ارجاع فهرست است.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Document.salam

عنصر ارجاع نوع TypeRefElement

روال عنصر ارجاع نوع(doc: سند، id: صحیح): صحیح
ارجاع عنصر فهرست.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Internals.salam

نام ارجاع نوع TypeRefName

روال نام ارجاع نوع(doc: سند، id: صحیح): رشته
نام نوع پایه، بی فهرست و !.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Document.salam

یافتن نوع FindType

روال یافتن نوع(s: طرح‌واره، name: رشته): تعریف نوع
تعریف نوع با این نام.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Schema.salam

نوع دارد HasType

روال نوع دارد(s: طرح‌واره، name: رشته): منطقی
نوع هست.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Schema.salam

نمایه نوع TypeIndex

روال نمایه نوع(s: طرح‌واره، name: رشته): صحیح
شماره‌ی نوع؛ اگر نباشد، ۱-.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Schema.salam

تعداد نوع TypeCount

روال تعداد نوع(s: طرح‌واره): صحیح
شمار نوع‌ها.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Schema.salam

نوع در TypeAt

روال نوع در(s: طرح‌واره، i: صحیح): تعریف نوع
نوع شماره‌ی n.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Schema.salam

یافتن فیلد FindField

روال یافتن فیلد(t: تعریف نوع، name: رشته): تعریف فیلد
فیلد نوع.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Schema.salam

فیلد دارد HasField

روال فیلد دارد(t: تعریف نوع، name: رشته): منطقی
نوع این فیلد را دارد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Schema.salam

یافتن فیلد ورودی FindInputField

روال یافتن فیلد ورودی(t: تعریف نوع، name: رشته): تعریف مقدار ورودی
فیلد نوع ورودی.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Schema.salam

یافتن آرگومان FindArg

روال یافتن آرگومان(f: تعریف فیلد، name: رشته): تعریف مقدار ورودی
آرگومان فیلد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Schema.salam

یافتن تعریف دستورالعمل FindDirectiveDef

روال یافتن تعریف دستورالعمل(s: طرح‌واره، name: رشته): تعریف دستورالعمل
تعریف دستورالعمل.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Schema.salam

مقدار شمارشی دارد HasEnumValue

روال مقدار شمارشی دارد(t: تعریف نوع، name: رشته): منطقی
نوع شمارشی این مقدار را دارد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Schema.salam

نوع ورودی است IsInputType

روال نوع ورودی است(s: طرح‌واره، name: رشته): منطقی
نوع در ورودی‌ها مجاز است.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Schema.salam

نوع خروجی است IsOutputType

روال نوع خروجی است(s: طرح‌واره، name: رشته): منطقی
نوع در خروجی‌ها مجاز است.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Schema.salam

نوع انتزاعی است IsAbstractType

روال نوع انتزاعی است(s: طرح‌واره، name: رشته): منطقی
رابط یا اجتماع است.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Schema.salam

نوع برگ است IsLeafType

روال نوع برگ است(s: طرح‌واره، name: رشته): منطقی
نرده‌ای یا شمارشی است.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Schema.salam

نوع ممکن است IsPossibleType

روال نوع ممکن است(s: طرح‌واره، abstractName: رشته، objectName: رشته): منطقی
نوع شیء می‌تواند جای این رابط یا اجتماع بنشیند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Schema.salam

انواع ممکن PossibleTypes

روال انواع ممکن(s: طرح‌واره، name: رشته): وکتور<رشته>
نوع‌های شیئی که جای رابط یا اجتماع می‌نشینند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Schema.salam

نام نوع ریشه RootTypeName

روال نام نوع ریشه(s: طرح‌واره، optype: صحیح): رشته
نام نوع ریشه‌ی یک عملیات.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: graphql-Schema.salam