مستندات PSScript / مرجع

اشیای سیستمی

اشیای سیستمی دستگیره‌های درون‌ساختی هستند که نامشان به $ ختم می‌شود. آن‌ها پل میان اسکریپت و پلتفرم‌اند — لاگ‌گیری، انبارهٔ داده، کنترل گردش‌کار، هوش مصنوعی، ایمیل و ابزارها. تعدادشان دوازده است.

بیشتر اشیای سیستمی با متد فراخوانی می‌شوند (‏obj$.method(args)). دو تای آن‌ها — param$ و output$ — به‌جای آن با اندیس دسترسی می‌شوند.

context$

بستر اجرا — لاگ‌گیری و اطلاعات محیطی.

context$.log(fmt, args…)

یک خط لاگ می‌فرستد. جای‌نگه‌دارهای {} در fmt به‌ترتیب با آرگومان‌های باقی‌مانده جایگزین می‌شوند.

context$.getLocale()

لوکالِ فعالِ گامِ در حال اجرا را برمی‌گرداند، مثلاً «en».

context$.getProcessInstanceId()

شناسهٔ نمونهٔ فرایند جاری را برمی‌گرداند.

data$

لایهٔ ماندگاری — ذخیره، بارگذاری، پیوند، حذف و پرس‌وجوی موجودیت‌ها.

data$.persist(entity)

درج یا به‌روزرسانی یک موجودیت در انبارهٔ پشتیبان.

data$.find(typeName, id)

جست‌وجوی یک موجودیت از نوعی مشخص با شناسه؛ موجودیت یا null برمی‌گرداند.

data$.load(idOrEntity)

بارگذاری با رشتهٔ شناسه، یا با شناسه / شناسانهٔ خودِ موجودیت. معمولاً همراه با بررسی null برای «بارگذاری یا ساخت» به‌کار می‌رود.

data$.delete(entityOrId)

حذف یک موجودیت، با دادن خودِ موجودیت یا رشتهٔ شناسهٔ آن.

data$.link(source, target, relation)

ایجاد یک یال رابطهٔ نام‌دار از یک موجودیت به موجودیت دیگر، مثلاً «IN_PARENT_CATEGORY».

data$.query(PSEntityQuery)

اجرای پرس‌وجوی ساخته‌شده با PSEntityQuery و برگرداندن نتیجهٔ آن. PSEntityQuery

param$ فقط‌خواندنی

پارامترهای ورودیِ پاس‌داده‌شده به گام. اندیس‌دار، نه فراخوانی‌شونده.

param$["key"]

یک مقدار ورودی را می‌خواند. اندیس برای دادهٔ تودرتو زنجیر می‌شود: ‏param$["A"]["B"]. کلیدهای موجود نبودن به‌صورت null خوانده می‌شوند.

output$ خواندن / نوشتن

مقادیر بازگشتی از گام به گام‌های پایین‌دست. اندیس‌دار.

output$["key"] = value

یک مقدار را برای گام‌های بعدیِ گردش‌کار در دسترس می‌گذارد.

output$["key"]

مقداری را که پیش‌تر در این اجرا نوشته شده بازمی‌خواند.

form$

خواندن و نوشتن مقادیر مؤلفه‌های روی فرمِ گام.

form$.val(componentId)  /  val(componentId, value)

مقدار یک مؤلفه را می‌گیرد، یا هنگام دادن آرگومان دوم آن را تنظیم می‌کند. (‏value نام مستعار val است.)

form$.text(componentId [, locale [, value]])

متن محلی‌شدهٔ یک مؤلفه را می‌گیرد یا تنظیم می‌کند. با یک آرگومان می‌خواند؛ با یک لوکال آن لوکال را می‌خواند؛ با یک مقدار می‌نویسد.

workflow$

وضعیت در سطح گردش‌کار و توانایی فراخوانی فرایندهای دیگر.

workflow$.cache(key, value)

ذخیرهٔ یک مقدار در حافظهٔ نهانِ سطح گردش‌کار، مشترک میان گام‌های یک نمونه.

workflow$.load(key)

بازخواندن یک مقدار نهان‌شده، یا null اگر تنظیم نشده باشد.

workflow$.getInstanceId()

شناسهٔ نمونهٔ گردش‌کار جاری را برمی‌گرداند.

workflow$.call(processUid, params)  /  (processUid, startUid, params)

آغاز یک فرایند دیگر در همان فضای‌کاری، با امکان نام‌گذاری گرهِ شروع.

workflow$.callExternal(workspaceUid, processUid, [startUid,] params)

آغاز فرایندی که در فضای‌کاری دیگری قرار دارد.

router$

تعیین اینکه کدام کانکتورها می‌توانند پس از این گام اجرا شوند.

router$.allow(connectorId, …)

اجازه به یک یا چند کانکتور خروجی برای اجرای بعدی.

router$.deny(connectorId, …)

مسدودکردن یک یا چند کانکتور خروجی.

ai$

پرسیدن یک پرسش از یک مدل هوش مصنوعیِ پیکربندی‌شده با ورودی ساخت‌یافته.

ai$.ask(modelIdentifier, sessionId, inputData, question)

ارسال inputData (یک نگاشت) و یک پرسش به مدلی که با modelIdentifier شناسایی می‌شود، در یک نشست نام‌دار. یک نگاشت برمی‌گرداند؛ نتایج رایج مثلاً با result["answer"] خوانده می‌شوند.

main$

اقدامات مدیریتیِ پلتفرم.

main$.createWorkspace(workspaceId, workspaceName)

تدارک یک فضای‌کاری جدید.

main$.createAccount(email, fullName, password)

ساخت یک حساب کاربری.

email$

ارسال ایمیل تراکنشی.

email$.send(to, subject, html)  /  (from, to, subject, html)

ارسال یک ایمیل HTML، با امکان بازنویسی نشانی فرستنده.

util$

کمک‌کننده‌های کوچک برای شناسه‌ها و تصادفی‌بودن.

util$.uuid()

تولید یک رشتهٔ UUID تصادفی.

util$.randomString(length)

تولید یک رشتهٔ تصادفی با طول داده‌شده.

util$.randomFloat(min, max)

یک عدد اعشاری تصادفی در بازهٔ [min, max] برمی‌گرداند.

web$

‏HTTP خروجی، با میانجی‌گری میزبان.

web$.get(url)

اجرای یک HTTP GET و برگرداندن بدنهٔ پاسخ به‌صورت رشته.

بررسی سخت‌گیرانه تجزیه‌گر نام اشیا و متدها را در زمان کامپایل اعتبارسنجی می‌کند. فراخوانی یک شیء سیستمیِ ناشناخته، یا متدی که روی آن وجود ندارد، یک خطای کامپایل با موقعیت دقیق line:col است — نه یک بی‌اثرِ خاموش.