fix(products): fix breadcrumbs and product filtering (backport from main)
Some checks failed
Build & Deploy / 🔍 Prepare (push) Successful in 20s
Build & Deploy / 🧪 QA (push) Failing after 34s
Build & Deploy / 🏗️ Build (push) Has started running
Build & Deploy / 🚀 Deploy (push) Has been cancelled
Build & Deploy / 🧪 Smoke Test (push) Has been cancelled
Build & Deploy / ⚡ Lighthouse (push) Has been cancelled
Build & Deploy / 🔔 Notify (push) Has been cancelled

This commit is contained in:
2026-02-24 16:04:21 +01:00
parent 915eb61613
commit 5397309103
43805 changed files with 4324295 additions and 3 deletions

View File

@@ -0,0 +1,11 @@
import type { Locale } from "./types.js";
/**
* @category Locales
* @summary Czech locale.
* @language Czech
* @iso-639-2 ces
* @author David Rus [@davidrus](https://github.com/davidrus)
* @author Pavel Hrách [@SilenY](https://github.com/SilenY)
* @author Jozef Bíroš [@JozefBiros](https://github.com/JozefBiros)
*/
export declare const cs: Locale;

View File

@@ -0,0 +1,5 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const node_crypto_1 = require("node:crypto");
const digest = (algorithm, data) => (0, node_crypto_1.createHash)(algorithm).update(data).digest();
exports.default = digest;

View File

@@ -0,0 +1,18 @@
/**
* @license lucide-react v0.441.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
import createLucideIcon from '../createLucideIcon.js';
const BedDouble = createLucideIcon("BedDouble", [
["path", { d: "M2 20v-8a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v8", key: "1k78r4" }],
["path", { d: "M4 10V6a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v4", key: "fb3tl2" }],
["path", { d: "M12 4v6", key: "1dcgq2" }],
["path", { d: "M2 18h20", key: "ajqnye" }]
]);
export { BedDouble as default };
//# sourceMappingURL=bed-double.js.map

View File

@@ -0,0 +1,8 @@
// This file is generated automatically by `scripts/build/fp.ts`. Please, don't change it.
import { startOfDay as fn } from "../startOfDay.mjs";
import { convertToFP } from "./_lib/convertToFP.mjs";
export const startOfDay = convertToFP(fn, 1);
// Fallback for modularized imports:
export default startOfDay;

View File

@@ -0,0 +1,5 @@
'use client';
import { useWindowInfo, WindowInfoProvider } from '@faceless-ui/window-info';
export { useWindowInfo, WindowInfoProvider };
//# sourceMappingURL=index.js.map

View File

@@ -0,0 +1,17 @@
/**
* @license lucide-react v0.441.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
import createLucideIcon from '../createLucideIcon.js';
const GalleryVerticalEnd = createLucideIcon("GalleryVerticalEnd", [
["path", { d: "M7 2h10", key: "nczekb" }],
["path", { d: "M5 6h14", key: "u2x4p" }],
["rect", { width: "18", height: "12", x: "3", y: "10", rx: "2", key: "l0tzu3" }]
]);
export { GalleryVerticalEnd as default };
//# sourceMappingURL=gallery-vertical-end.js.map

View File

@@ -0,0 +1,16 @@
/**
* @license lucide-react v0.441.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
import createLucideIcon from '../createLucideIcon.js';
const CircleStop = createLucideIcon("CircleStop", [
["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
["rect", { width: "6", height: "6", x: "9", y: "9", key: "1wrtvo" }]
]);
export { CircleStop as default };
//# sourceMappingURL=circle-stop.js.map

View File

@@ -0,0 +1,602 @@
export const myTranslations = {
authentication: {
account: 'အကောင့်',
accountOfCurrentUser: 'သင့် အကောင့်',
accountVerified: 'Akaun telah disahkan dengan jayanya.',
alreadyActivated: 'အတည်ပြုပြီး',
alreadyLoggedIn: 'ဝင်ရောက်ပြီးသား',
apiKey: 'API Key',
authenticated: 'အတည်ပြုပြီး',
backToLogin: 'အကောင့်ထဲ ပြန်ဝင်မည်။',
beginCreateFirstUser: 'စတင်နိုင်ရန် ပထမဦးစွာ အသုံးပြုသူအား ဖန်တီးပါ။',
changePassword: 'စကားဝှက် ပြောင်းလဲမည်။',
checkYourEmailForPasswordReset: 'Jika alamat e-mel dikaitkan dengan akaun, anda akan menerima arahan untuk menetapkan semula kata laluan anda sebentar lagi. Sila semak folder spam atau junk mail anda jika anda tidak melihat e-mel di kotak masuk anda.',
confirmGeneration: 'Generation အတည်ပြု',
confirmPassword: 'စကားဝှက်အား ထပ်မံ ရိုက်ထည့်ပါ။',
createFirstUser: 'ပထမဆုံး အသုံးပြုသူကို ဖန်တီးပါ။',
emailNotValid: 'ထည့်သွင်းထားသော အီးမေလ်မှာ မှားယွင်းနေပါသည်။',
emailOrUsername: 'E-mel atau Nama Pengguna',
emailSent: 'မေးလ် ပို့ထားပါသည်။',
emailVerified: 'အီးမေးလ်အတည်ပြုခဲ့ပါပြီ။',
enableAPIKey: 'API Key ကိုဖွင့်ရန်',
failedToUnlock: 'လော့ခ်ဖွင့်၍မရပါ။',
forceUnlock: 'လော့ခ်ဖွင့်ရန်',
forgotPassword: 'စကားဝှက် မေ့နေပါသလား။',
forgotPasswordEmailInstructions: 'ကျေးဇူးပြု၍ သင့်အီးမေးလ်ကို ထည့်သွင်းပါ။ သင့်စကားဝှက်ကို ပြန်လည်သတ်မှတ်နိုင်ရန် အီးမေးလ်စာတစ်စောင်ကို သင်လက်ခံရရှိမည်ဖြစ်သည်။',
forgotPasswordQuestion: 'စကားဝှက် မေ့နေပါသလား။',
forgotPasswordUsernameInstructions: 'Sila masukkan nama pengguna anda di bawah. Arahan mengenai bagaimana untuk menetapkan semula kata laluan anda akan dihantar ke alamat emel yang dikaitkan dengan nama pengguna anda.',
generate: 'Generate',
generateNewAPIKey: 'API key အသစ်ဖန်တီးရန်',
generatingNewAPIKeyWillInvalidate: 'API ကီးအသစ်တစ်ခုကို ဖန်တီးခြင်းသည် ယခင်ကီးကို <1>တရားဝင်ခြင်းမရှိစေဘဲ</1> ဖြစ်လိမ့်မည်။ ဆက်လုပ်မှာတာ သေချာပါသလား။',
lockUntil: 'Lock Until',
logBackIn: 'အကောင့်ထဲ ပြန်ဝင်မည်။',
loggedIn: 'အခြားအကောင့်နှင့် လော့ဂ်အင်ဝင်လိုပါက <0>လော့ဂ်အောက်</0> ပြုလုပ်ပါ။',
loggedInChangePassword: 'စကားဝှက် ပြောင်းလဲရန်အတွက် သင့် <0>အကောင့်</0> သို့ဝင်ရောက်ပြီး ပြင်ဆင် သတ်မှတ်ပါ။',
loggedOutInactivity: 'လုပ်ဆောင်ချက်မရှိခြင်းကြောင့် သင်သည် ထွက်လိုက်ပါသည်။',
loggedOutSuccessfully: 'သင်သည် အောင်မြင်စွာ ထွက်ပြီးပါပြီ။',
loggingOut: 'ထွက်မယ်...',
login: 'အကောင့်ထဲ ဝင်မည်။',
loginAttempts: 'လော့ဂ်အင် လုပ်ဆောင်ချက်များ',
loginUser: 'လော့ဂ်အင် အသုံးပြုသူ',
loginWithAnotherUser: 'အခြားအကောင့်နှင့် လော့ဂ်အင်ဝင်လိုပါက <0>လော့ဂ်အောက်</0> ပြုလုပ်ပါ။',
logOut: 'အကောင့်ထဲက ထွက်မည်။',
logout: 'အကောင့်မှ ထွက်မည်၊',
logoutSuccessful: 'Log keluar berjaya.',
logoutUser: 'လော့ဂ်အောက် အသုံးပြုသူ',
newAccountCreated: '<a href="{{serverURL}}">{{serverURL}}</a> သို့ဝင်ရောက်ရန် သင့်အီးမေးလ်ကို အတည်ပြုရန်အတွက် အကောင့်အသစ်တစ်ခုကို ယခုလေးတင် ဖန်တီးပြီးပါပြီ။ ကျေးဇူးပြု၍ အောက်ပါလင့်ခ်ကို နှိပ်ပါ သို့မဟုတ် သင့်အီးမေးလ်ကို အတည်ပြုရန် ဖော်ပြပါ လင့်ခ်ကို သင့်ဘရောက်ဆာထဲသို့ ကူးထည့်ပါ- <a href="{{verificationURL}}">{{verificationURL}}</a><br> သင့်အီးမေးလ်ကို အတည်ပြုပြီးနောက်၊ သင်သည် အောင်မြင်စွာ လော့ဂ်အင်ဝင်နိုင်ပါမည်။',
newAPIKeyGenerated: 'New API Key Generated.',
newPassword: 'စကားဝှက် အသစ်',
passed: 'အတည်ပြုချက် ကျောင်းပြန်',
passwordResetSuccessfully: 'စကားဝှက် ပြန်လည်စစ်ဆင်မှု အောင်မြင်စွာ ပြီးစီးပါပြီ။',
resetPassword: 'စကားဝှက် ပြန်လည်သတ်မှတ်',
resetPasswordExpiration: 'စကားဝှက် ပြန်လည်သတ်မှတ်ရန် သတ်တမ်း',
resetPasswordToken: 'စကားဝှက် တိုကင်အား ပြန်လည်သတ်မှတ်',
resetYourPassword: 'သင့်စကားဝှက်ကို ပြန်လည်သတ်မှတ်ပါ။',
stayLoggedIn: 'အကောင့်ထဲ ဝင်ထားသည်။',
successfullyRegisteredFirstUser: 'Pendaftaran pengguna pertama berjaya.',
successfullyUnlocked: 'အောင်မြင်စွာသော့ဖွင့်ခဲ့သည်။',
tokenRefreshSuccessful: 'Token refresh berhasil.',
unableToVerify: 'စိစစ်၍မရပါ။',
username: 'Nama pengguna',
usernameNotValid: 'ပေးထားသော အသုံးပြုသူအမည်မှာ တရားဝင်မှု မရှိပါ။',
verified: 'စိစစ်ပြီး',
verifiedSuccessfully: 'အတည်ပြုပြီးပါပြီ။',
verify: 'စိစစ်ခြင်း',
verifyUser: 'အသုံးပြုသူ စီစစ်ခြင်း',
verifyYourEmail: 'သင့်အီးမေးလ်ကို အတည်ပြုပါ။',
youAreInactive: 'သင်သည် အချိန်အနည်းငယ်အတွင်း active မဖြစ်ပါက သင့်အကောင့် လုံခြုံရေးအတွက် မကြာမီ အလိုအလျောက် လော့ဂ်အောက်ဖြစ်ပါမည်။ အကောင့်ထဲ ဆက်နေလိုပါသလား။',
youAreReceivingResetPassword: 'သင့်အကောင့်အတွက် စကားဝှက်ကို ပြန်လည်သတ်မှတ်ရန် သင် (သို့မဟုတ် အခြားသူတစ်ဦးဦး) က တောင်းဆိုထားသောကြောင့်လက်ခံရရှိခြင်းဖြစ်သည်။ ကျေးဇူးပြု၍ အောက်ပါလင့်ခ်ကို နှိပ်ပါ (သို့မဟုတ်) ၎င်းကို သင့်ဘရောက်ဆာထဲသို့ ကူးထည့်ပါ။',
youDidNotRequestPassword: 'ယခု လုပ်ဆောင်ချက်ကို သင်မတောင်းဆိုထားပါက ဤအီးမေးလ်ကို လျစ်လျူရှုထားခြင်းဖြင့် သင့်စကားဝှက်သည် ပြောင်းလဲမည်မဟုတ်ပါ။'
},
dashboard: {
addWidget: 'Tambah Widget',
deleteWidget: 'Padam widget {{id}}',
searchWidgets: 'Cari widget...'
},
error: {
accountAlreadyActivated: 'ဤအကောင့်ကို အသက်သွင်းပြီးဖြစ်သည်။',
autosaving: 'ဖိုင်ကို အလိုအလျောက်သိမ်းဆည်းရာတွင် ပြဿနာတစ်ခုရှိနေသည်။',
correctInvalidFields: 'ကျေးဇူးပြု၍ အချက်အလက်များကို ပြန်လည် စစ်ဆေးပါ။',
deletingFile: 'ဖိုင်ကိုဖျက်ရာတွင် အမှားအယွင်းရှိနေသည်။',
deletingTitle: '{{title}} ကို ဖျက်ရာတွင် အမှားအယွင်းရှိခဲ့သည်။ သင့် အင်တာနက်လိုင်းအား စစ်ဆေးပြီး ထပ်မံကြို့စားကြည့်ပါ။',
documentNotFound: 'Dokumen dengan ID {{id}} tidak dapat ditemui. Ia mungkin telah dipadam atau tidak pernah wujud, atau anda mungkin tidak mempunyai akses kepadanya.',
emailOrPasswordIncorrect: 'ထည့်သွင်းထားသော အီးမေးလ် သို့မဟုတ် စကားဝှက်သည် မမှန်ပါ။',
followingFieldsInvalid_one: 'ထည့်သွင်းထားသော အချက်အလက်သည် မမှန်ကန်ပါ။',
followingFieldsInvalid_other: 'ထည့်သွင်းထားသော အချက်အလက်များသည် မမှန်ကန်ပါ။',
incorrectCollection: 'မှားယွင်းသော စုစည်းမှု',
insufficientClipboardPermissions: 'ကလစ်ဘုတ်ဝင်ရောက်ခွင့်ပြုချက်မရှိပါ။ ကလစ်ဘုတ်ပြုချက်များကိုစစ်ဆေးပါ။',
invalidClipboardData: 'မမှန်ကန်သောကလစ်ဘုတ်ဒေတာ။',
invalidFileType: 'မမှန်ကန်သော ဖိုင်အမျိုးအစား',
invalidFileTypeValue: 'မမှန်ကန်သော ဖိုင်အမျိုးအစား: {{value}}',
invalidRequestArgs: 'တောင်းဆိုမှုတွင် မှားယွင်းသော အကြောင်းပြချက်များ ပေးပို့ထားသည်: {{args}}',
loadingDocument: '{{id}} ID ဖြင့် ဖိုင်ကို ဖွင့်ရာတွင် ပြဿနာရှိနေသည်။',
localesNotSaved_one: 'အောက်ပါ ဒေသသတ်မှတ်ချက်ကို သိမ်းဆည်း၍ မရပါ။',
localesNotSaved_other: 'အောက်ပါ ဒေသသတ်မှတ်ချက်များကို သိမ်းဆည်း၍ မရပါ။',
logoutFailed: 'ထွက်မှားနေသည်။',
missingEmail: 'အီးမေးလ်ပျောက်ဆုံး',
missingIDOfDocument: 'ပြင်ဆင်ရန် ဖိုင် ID ပျောက်နေပါသည်။',
missingIDOfVersion: 'ပျောက်ဆုံး ဗားရှင်း ID',
missingRequiredData: 'လိုအပ်သောဒေတာ ပျောက်ဆုံးနေပါသည်။',
noFilesUploaded: 'ဖိုင်များကို အပ်လုဒ်လုပ်ထားခြင်းမရှိပါ။',
noMatchedField: '"{{label}}" အတွက် ကိုက်ညီသောအပိုင်းကို ရှာမတွေ့ပါ။',
notAllowedToAccessPage: 'ဤစာမျက်နှာကို ဝင်ရောက်ခွင့်မပြုပါ။',
notAllowedToPerformAction: 'ဤလုပ်ဆောင်ချက်ကို လုပ်ဆောင်ရန် ခွင့်မပြုပါ။',
notFound: 'တောင်းဆိုထားသော အရင်းအမြစ်ကို ရှာမတွေ့ပါ။',
noUser: 'အသုံးပြုသူ မရှိပါ။',
previewing: 'ဖိုင်ကို အစမ်းကြည့်ရန် ပြဿနာရှိနေသည်။',
problemUploadingFile: 'ဖိုင်ကို အပ်လုဒ်တင်ရာတွင် ပြဿနာရှိနေသည်။',
restoringTitle: 'Terdapat ralat semasa memulihkan {{title}}. Sila semak sambungan anda dan cuba lagi.',
revertingDocument: 'Dalam proses memulihkan dokumen ini, terdapat masalah.',
tokenInvalidOrExpired: 'တိုကင်သည် မမှန်ကန်ပါ သို့မဟုတ် သက်တမ်းကုန်သွားပါပြီ။',
tokenNotProvided: 'Token မပေးထားပါ။',
unableToCopy: 'ကူးရန်မဖြစ်နိုင်ပါ။',
unableToDeleteCount: '{{total}} {{label}} မှ {{count}} ကို ဖျက်၍မရပါ။',
unableToReindexCollection: '{{collection}} စုစည်းမှုကို ပြန်လည်အညွှန်းပြုလုပ်ခြင်း အမှားရှိနေသည်။ လုပ်ဆောင်မှုကို ဖျက်သိမ်းခဲ့သည်။',
unableToUpdateCount: '{{total}} {{label}} မှ {{count}} ကို အပ်ဒိတ်လုပ်၍မရပါ။',
unauthorized: 'အခွင့်မရှိပါ။ ဤတောင်းဆိုချက်ကို လုပ်ဆောင်နိုင်ရန် သင်သည် လော့ဂ်အင်ဝင်ရပါမည်။',
unauthorizedAdmin: 'အခွင့်မရှိပါ။ ဤအကောင့်အသုံးပြုသူသည် အဆင့်မပြုပါနိုင်ပါ။',
unknown: 'ဘာမှန်းမသိသော error တက်သွားပါသည်။',
unPublishingDocument: 'ဖိုင်ကို ပြန်လည့် သိမ်းဆည်းခြင်းမှာ ပြဿနာရှိနေသည်။',
unspecific: 'Error တက်နေပါသည်။',
unverifiedEmail: 'ထည့်သွင်းမည်မဆိုမီ သင့်အီးမေးလ်ကို အတည်ပြုပါ။',
userEmailAlreadyRegistered: 'ပေးထားသော အီးမေးလ်ဖြင့် အသုံးပြုသူ တစ်ဦး ရှိပြီးဖြစ်သည်။',
userLocked: 'အကောင့်ထဲကို ဝင်ရန် အရမ်းအရမ်းကို ကြိုးပမ်းနေသောကြောင့် အကောင့်အား လော့ခ်ချလိုက်ပါသည်။',
usernameAlreadyRegistered: 'Pengguna dengan nama pengguna yang diberikan sudah mendaftar.',
usernameOrPasswordIncorrect: 'Nama pengguna atau kata laluan yang diberikan tidak betul.',
valueMustBeUnique: 'value သည် အဓိပ္ပာယ်ရှိရပါမည်။',
verificationTokenInvalid: 'အတည်ပြုခြင်းတိုကင်သည် မမှန်ကန်ပါ။'
},
fields: {
addLabel: '{{label}} ထည့်သွင်းမည်။',
addLink: 'လင့်ခ်ထည့်ပါ။',
addNew: 'အသစ် ထည့်သွင်းမည်။',
addNewLabel: '{{label}} အားအသစ် ထည့်သွင်းမည်။',
addRelationship: 'Relationship အသစ်ထည့်သွင်းမည်။',
addUpload: 'Upload ထည့်ပါ။',
block: 'ဘလောက်',
blocks: 'ဘလောက်များ',
blockType: 'ဘလောက် အမျိုးအစား',
chooseBetweenCustomTextOrDocument: 'စိတ်ကြိုက်စာသား URL ကိုထည့်ခြင်း သို့မဟုတ် အခြားစာရွက်စာတမ်းတစ်ခုသို့ လင့်ခ်ချိတ်ခြင်းအကြား ရွေးချယ်ပါ။',
chooseDocumentToLink: 'ချိတ်ဆက်ရန် စာရွက်စာတမ်းကို ရွေးပါ။',
chooseFromExisting: 'ရှိပြီးသားထဲကပဲ ရွေးချယ်ပါ။',
chooseLabel: '{{label}} အားရွေးချယ်ပါ။',
collapseAll: 'အားလုံးကို ခေါက်သိမ်းပါ။',
customURL: 'စိတ်ကြိုက် URL',
editLabelData: 'ဒေတာ {{label}} ကို တည်းဖြတ်ပါ။',
editLink: 'လင့်ခ်ကို တည်းဖြတ်ပါ။',
editRelationship: 'ဆက်ဆံရေးကို တည်းဖြတ်ပါ။',
enterURL: 'URL တစ်ခုထည့်ပါ။',
internalLink: 'Internal Link',
itemsAndMore: '{{items}} နှင့် နောက်ထပ် {{count}} ခု',
labelRelationship: '{{label}} Relationship',
latitude: 'vĩ độ',
linkedTo: '<0>{{label}}</0> ချိတ်ဆက်ထားသည်။',
linkType: 'လင့်အမျိုးအစား',
longitude: 'လောင်ဂျီကျု',
newLabel: '{{label}} အသစ်',
openInNewTab: 'တက်ဘ်အသစ်တွင် ဖွင့်ပါ။',
passwordsDoNotMatch: 'စကားဝှက်များနှင့် မကိုက်ညီပါ။',
relatedDocument: 'ဆက်စပ် ဖိုင်',
relationTo: 'ဆက်စပ်မှု',
removeRelationship: 'ဆက်ဆံရေးကို ဖယ်ရှားပါ။',
removeUpload: 'အပ်လုဒ်ကို ဖယ်ရှားပါ။',
saveChanges: 'သိမ်းဆည်းမည်။',
searchForBlock: 'ဘလောက်တစ်ခုရှာမည်။',
searchForLanguage: 'Cari bahasa',
selectExistingLabel: 'ရှိပြီးသား {{label}} ကို ရွေးပါ',
selectFieldsToEdit: 'တည်းဖြတ်ရန် အကွက်များကို ရွေးပါ။',
showAll: 'အကုန် ကြည့်မည်။',
swapRelationship: 'လဲလှယ်ဆက်ဆံရေး',
swapUpload: 'အပ်လုဒ်ဖလှယ်ပါ။',
textToDisplay: 'ပြသရန် စာသား',
toggleBlock: 'ဘလောက်ကို ပြောင်းပါ။',
uploadNewLabel: '{{label}} အသစ်တင်မည်။'
},
folder: {
browseByFolder: 'Layari mengikut Folder',
byFolder: 'Dengan Folder',
deleteFolder: 'Padam Folder',
folderName: 'ဖိုင်နာမည်',
folders: 'Fail',
folderTypeDescription: 'Pilih jenis dokumen koleksi yang harus diizinkan dalam folder ini.',
itemHasBeenMoved: '{{title}} telah dipindahkan ke {{folderName}}',
itemHasBeenMovedToRoot: '"{{title}}" က ဗဟိုဖိုလ်ဒါသို့ရွှေ့ပြီးပါပြီ။',
itemsMovedToFolder: '{{title}} သို့ {{folderName}} သို့ ရွှေ့လိုက်သွားပါပယ်',
itemsMovedToRoot: '{{title}} telah dipindahkan ke folder akar',
moveFolder: 'Pindah Folder',
moveItemsToFolderConfirmation: 'သင့်တွင် <1>{{count}} {{label}}</1> <2>{{toFolder}}</2>သို့ ရွှေ့နေသည့်အခါဖြစ်ပါသည်။ သေချာပါသလား?',
moveItemsToRootConfirmation: 'Anda akan memindahkan <1>{{count}} {{label}}</1> ke folder akar. Adakah anda pasti?',
moveItemToFolderConfirmation: 'Anda akan memindahkan <1>{{title}}</1> ke <2>{{toFolder}}</2>. Adakah anda pasti?',
moveItemToRootConfirmation: 'Anda akan memindahkan <1>{{title}}</1> ke folder root. Adakah anda pasti?',
movingFromFolder: 'Memindahkan {{title}} dari {{fromFolder}}',
newFolder: 'Folder Baru',
noFolder: 'ဖိုလ်ဒါမရှိပါ',
renameFolder: 'ဖိုလ်ဒါအမည်ပြောင်းရန်',
searchByNameInFolder: 'နာမည်ဖြင့် {{folderName}} တွင် ရှာဖွေပါ',
selectFolderForItem: 'Pilih folder untuk {{title}}'
},
general: {
name: 'နာမည်',
aboutToDelete: '{{label}} <1>{{title}}</1> ကို ဖျက်ပါတော့မည်။ သေချာပြီလား။ ဖျက်ပြီးရင် ပြန်မရဘူးနော်။',
aboutToDeleteCount_many: 'သင်သည် {{count}} {{label}} ကို ဖျက်ပါတော့မည်။',
aboutToDeleteCount_one: 'သင်သည် {{count}} {{label}} ကို ဖျက်ပါတော့မည်။',
aboutToDeleteCount_other: 'သင်သည် {{count}} {{label}} ကို ဖျက်ပါတော့မည်။',
aboutToPermanentlyDelete: 'Anda akan menghapuskan secara kekal {{label}} <1>{{title}}</1>. Adakah anda pasti?',
aboutToPermanentlyDeleteTrash: 'Anda akan menghapus secara kekal <0>{{count}}</0> <1>{{label}}</1> dari tong sampah. Adakah anda pasti?',
aboutToRestore: 'Anda akan memulihkan {{label}} <1>{{title}}</1>. Adakah anda pasti?',
aboutToRestoreAsDraft: 'Anda akan memulihkan {{label}} <1>{{title}}</1> sebagai draf. Adakah anda pasti?',
aboutToRestoreAsDraftCount: 'Anda akan memulihkan {{count}} {{label}} sebagai draf',
aboutToRestoreCount: 'Anda akan memulihkan {{count}} {{label}}',
aboutToTrash: 'Anda akan memindahkan {{label}} <1>{{title}}</1> ke tong sampah. Adakah anda pasti?',
aboutToTrashCount: 'Anda akan memindah {{count}} {{label}} ke tong sampah',
addBelow: 'အောက်တွင်ထည့်ပါ။',
addFilter: 'ဇကာထည့်ပါ။',
adminTheme: 'အက်ပ်ဒိုင်များစပ်စွာ',
all: 'Semua',
allCollections: 'အားလုံးစုစည်းမှုများ',
allLocales: 'Semua tempat',
and: 'နှင့်',
anotherUser: 'တစ်ခြားအသုံးပြုသူ',
anotherUserTakenOver: 'တစ်ခြားအသုံးပြုသူသည်ဤစာရွက်စာတမ်းကိုပြင်ဆင်မှုကိုရယူလိုက်သည်။',
applyChanges: 'ပြောင်းလဲမှုများ အသုံးပြုပါ',
ascending: 'တက်နေသည်',
automatic: 'အော်တို',
backToDashboard: 'ပင်မစာမျက်နှာသို့ ပြန်သွားမည်။',
cancel: 'မလုပ်တော့ပါ။',
changesNotSaved: 'သင်၏ပြောင်းလဲမှုများကို မသိမ်းဆည်းရသေးပါ။ ယခု စာမျက်နှာက ထွက်လိုက်ပါက သင်၏ပြောင်းလဲမှုများ အကုန် ဆုံးရှုံးသွားပါမည်။ အကုန်နော်။',
clear: 'Jelas',
clearAll: 'အားလုံးကိုရှင်းလင်းပါ',
close: 'ပိတ်',
collapse: 'ခေါက်သိမ်းပါ။',
collections: 'စုစည်းမှူများ',
columns: 'ကော်လံများ',
columnToSort: 'ကော်လံ စီရန်',
confirm: 'သေချာပါပြီ။',
confirmCopy: 'အောင်မြင်စေသည့်ကူးထားပြီးအတည်ပြုပါ',
confirmDeletion: 'ဖျက်တော့မယ်နော်။',
confirmDuplication: 'ပုံတူပွားခြင်းကို အတည်ပြုပါ။',
confirmMove: 'Sahkan pergerakan',
confirmReindex: 'အပေါ် {{collections}} အားလုံးကို ထပ်လိပ်ပါသလား?',
confirmReindexAll: 'အပေါ် ကော်လက်ရှင်းများအားလုံးကို ထပ်လိပ်ပါသလား?',
confirmReindexDescription: 'ဤသည်သည် ရှိပြီးသား အညွှန်းများကို ဖျက်ပစ်ပြီး {{collections}} ကော်လက်ရှင်းများတွင် စာရွက်များကို ထပ်လိပ်ပါလိမ့်မည်။',
confirmReindexDescriptionAll: 'ဤသည်သည် ရှိပြီးသား အညွှန်းများကို ဖျက်ပစ်ပြီး အားလုံးသော ကော်လက်ရှင်းများတွင် စာရွက်များကို ထပ်လိပ်ပါလိမ့်မည်။',
confirmRestoration: 'Sahkan pemulihan',
copied: 'ကူးယူပြီးပြီ။',
copy: 'ကူးယူမည်။',
copyField: 'ကွက်လပ်ကိုကူးပါ',
copying: 'ကူးယူခြင်း',
copyRow: 'တန်းကိုကူးပါ',
copyWarning: 'Anda akan menulis ganti {{to}} dengan {{from}} untuk {{label}} {{title}}. Adakah anda pasti?',
create: 'ဖန်တီးမည်။',
created: 'ဖန်တီးခဲ့သည်။',
createdAt: 'ဖန်တီးခဲ့သည့်အချိန်',
createNew: 'အသစ် ဖန်တီးမည်။',
createNewLabel: '{{label}} အသစ် ဖန်တီးမည်။',
creating: 'ဖန်တီးနေသည်။',
creatingNewLabel: '{{label}} အသစ် ဖန်တီးနေသည်။',
currentlyEditing: 'ဒီစာရွက်စာတမ်းကိုလက်ရှိပြင်ဆင်နေသည်။ သင်ဤတာဝန်ကိုယူပါက၊ သူတို့သည်ဆက်လက်ပြင်ဆင်ခွင့်မရအောင်ပိတ်ထားမည်ဖြစ်ပြီး၊ မသိမ်းဆည်းရသေးသောပြင်ဆင်မှုများကိုလည်းဆုံးရှုံးနိုင်သည်။',
custom: 'ထုတ်ကုန် စိတ်ကြိုက်',
dark: 'အမှောင်',
dashboard: 'ပင်မစာမျက်နှာ',
delete: 'ဖျက်မည်။',
deleted: 'ဖျက်ထား',
deletedAt: 'Dihapus Pada',
deletedCountSuccessfully: '{{count}} {{label}} ကို အောင်မြင်စွာ ဖျက်လိုက်ပါပြီ။',
deletedSuccessfully: 'အောင်မြင်စွာ ဖျက်လိုက်ပါပြီ။',
deleteLabel: 'Padam {{label}}',
deletePermanently: 'Langkau sampah dan padam secara kekal',
deleting: 'ဖျက်နေဆဲ ...',
depth: 'ထိုင်းအောက်မှု',
descending: 'ဆင်းသက်လာသည်။',
deselectAllRows: 'အားလုံးကို မရွေးနိုင်ပါ',
document: 'စာရွက်စာတမ်း',
documentIsTrashed: 'Ini {{label}} telah dibuang dan hanya boleh dibaca sahaja.',
documentLocked: 'စာရွက်စာတမ်းကိုပိတ်ထားသည်',
documents: 'စာရွက်စာတမ်းများ',
duplicate: 'ပုံတူပွားမည်။',
duplicateWithoutSaving: 'သေချာပါပြီ။',
edit: 'တည်းဖြတ်ပါ။',
editAll: 'အားလုံးကို တည်းဖြတ်ပါ။',
editedSince: 'ကစပြီးတည်းဖြတ်ခဲ့သည်',
editing: 'ပြင်ဆင်နေသည်။',
editingLabel_many: 'တည်းဖြတ်ခြင်း {{count}} {{label}}',
editingLabel_one: 'တည်းဖြတ်ခြင်း {{count}} {{label}}',
editingLabel_other: 'တည်းဖြတ်ခြင်း {{count}} {{label}}',
editingTakenOver: 'တည်းဖြတ်ခြင်းကိုရယူခဲ့သည်',
editLabel: '{{label}} ပြင်ဆင်မည်။',
email: 'အီးမေးလ်',
emailAddress: 'အီးမေးလ် လိပ်စာ',
emptyTrash: 'Kosongkan tong sampah',
emptyTrashLabel: 'Kosongkan {{label}} sampah',
enterAValue: 'တန်ဖိုးတစ်ခုထည့်ပါ။',
error: 'အမှား',
errors: 'အမှားများ',
exitLivePreview: 'Keluar dari Pratinjau Langsung',
export: 'တင်ပို့',
fallbackToDefaultLocale: 'မူရင်းဒေသသို့ ပြန်ပြောင်းပါ။',
false: 'မှား',
filter: 'ဇကာ',
filters: 'စစ်ထုတ်မှုများ',
filterWhere: 'နေရာတွင် စစ်ထုတ်ပါ။',
globals: 'Globals',
goBack: 'နောက်သို့',
groupByLabel: 'Berkumpulkan mengikut {{label}}',
import: 'သွင်းကုန်',
isEditing: 'ပြင်ဆင်နေသည်',
item: 'Barang',
items: 'barang-barang',
language: 'ဘာသာစကား',
lastModified: 'နောက်ဆုံးပြင်ဆင်ထားသည်။',
layout: 'စည်းမျဉ်းခြင်း',
leaveAnyway: 'ဘာဖြစ်ဖြစ် ထွက်မည်။',
leaveWithoutSaving: 'မသိမ်းဘဲ ထွက်မည်။',
light: 'အလင်း',
livePreview: 'အစမ်းကြည့်ရန်',
loading: 'ဖွင့်နေသည်',
locale: 'ဒေသ',
locales: 'Locales',
lock: 'Kunci',
menu: 'မီနူး',
moreOptions: 'ပိုမိုများစွာရွေးချယ်ခွင့်',
move: 'ရွှေ့ပြောင်းပါ',
moveConfirm: 'သင် <1>{{destination}}</1> သို့ {{count}} {{label}} ကို ရွှေ့မည်ဖြစ်သည်။ သင့်တောင်းဆိုမှုကို သေချာပါသလား?',
moveCount: 'Pindah {{count}} {{label}}',
moveDown: 'Move Down',
moveUp: 'Move Up',
moving: 'ရွှေ့ပြောင်းခြင်း',
movingCount: 'Memindahkan {{count}} {{label}}',
newLabel: 'Baru {{label}}',
newPassword: 'စကားဝှက် အသစ်',
next: 'Seterusnya',
no: 'Tidak',
noDateSelected: 'ရက်စွဲမရွေးချယ်ထားပါ',
noFiltersSet: 'စစ်ထုတ်မှုများ မသတ်မှတ်ထားပါ။',
noLabel: '<မရှိ {{label}}>',
none: 'တစ်ခုမှ',
noOptions: 'ရွေးချယ်မှုမရှိပါ',
noResults: '{{label}} မတွေ့ပါ။ {{label}} မရှိသေးသည်ဖြစ်စေ အထက်တွင်ဖော်ပြထားသော စစ်ထုတ်မှုများနှင့် ကိုက်ညီမှုမရှိပါ။',
noResultsDescription: 'Sama ada tiada yang wujud atau tiada yang sepadan dengan penapis yang anda tentukan di atas.',
noResultsFound: 'ရလဒ်မရှိပါ။',
notFound: 'ဘာမှ မရှိတော့ဘူး။',
nothingFound: 'ဘာမှလည်း မတွေ့ဘူး။',
noTrashResults: 'Tiada {{label}} dalam tong sampah.',
noUpcomingEventsScheduled: 'Tiada acara yang akan datang dijadualkan.',
noValue: 'တန်ဖိုး မရှိပါ။',
of: '၏',
only: 'Hanya',
open: 'ဖွင့်မည်။',
or: 'သို့မဟုတ်',
order: 'အစဉ်လိုက်',
overwriteExistingData: 'Menulis semula data bidang yang sedia ada',
pageNotFound: 'ရောက်ရှိနေသော စာမျက်နှာသည် မရှိပါ။',
password: 'စကားဝှက်',
pasteField: 'ကွက်လပ်ကိုတင်ပါ',
pasteRow: 'တန်းကိုတင်ပါ',
payloadSettings: 'ရွေးချယ်စရာများ',
permanentlyDelete: 'Padam Selamanya',
permanentlyDeletedCountSuccessfully: '{{count}} {{label}} telah berjaya dipadamkan secara kekal.',
perPage: 'စာမျက်နှာ အလိုက်: {{limit}}',
previous: 'ယခင်',
reindex: 'ပြန်လည်အညွှန်းပြုလုပ်ပါ',
reindexingAll: 'အပေါ် {{collections}} အားလုံးကို ထပ်လိပ်နေပါသည်။',
remove: 'ဖယ်ရှားမည်။',
rename: 'အမည်ပြောင်း',
reset: 'Tetapkan semula',
resetPreferences: 'ကြိုတင်သတ်မှတ်ချက်များ ပြန်လည်တပ်ဆင်မည်',
resetPreferencesDescription: 'ဤသည်သည် သင့်၏အကြိုက်များအားလုံးကို အခြားတပ်ဆင်မှုများမှ ပြန်လည်သတ်မှတ်ပေးပါလိမ့်မည်။',
resettingPreferences: 'ကြိုတင်သတ်မှတ်ချက်များ ပြန်လည်တပ်ဆင်နေပါသည်။',
restore: 'Pulihkan',
restoreAsPublished: 'Pulihkan sebagai versi yang diterbitkan',
restoredCountSuccessfully: 'Berjaya memulihkan {{count}} {{label}}.',
restoring: 'Hormati makna teks asal dalam konteks Payload. Berikut adalah senarai istilah Payload yang membawa maksud tertentu :\n - Koleksi : Koleksi ialah kumpulan dokumen yang berkongsi struktur dan tujuan yang sama. Koleksi digunakan untuk mengatur dan menguruskan kandungan dalam Payload.\n - Medan: Medan adalah sebahagian daripada data dalam dokumen dalam suatu koleksi. Medan menentukan struktur dan jenis data yang boleh disimpan dalam dokumen.\n - Dokumen: Dokumen adalah rekod individu dalam suatu koleksi. Ia mengandungi data yang telah',
row: 'အတန်း',
rows: 'Rows',
save: 'သိမ်းဆည်းမည်။',
saveChanges: 'Simpan Perubahan',
saving: 'သိမ်းနေဆဲ ...',
schedulePublishFor: 'Jadualkan penerbitan untuk {{title}}',
searchBy: 'ရှာဖွေပါ။',
select: 'Pilih',
selectAll: '{{count}} {{label}} အားလုံးကို ရွေးပါ',
selectAllRows: 'အားလုံးကိုရွေးချယ်ပါ',
selectedCount: '{{count}} {{label}} ကို ရွေးထားသည်။',
selectLabel: 'Pilih {{label}}',
selectValue: 'တစ်ခုခုကို ရွေးချယ်ပါ။',
showAllLabel: 'Tunjukkan semua {{label}}',
sorryNotFound: 'ဝမ်းနည်းပါသည်။ သင်ရှာနေတဲ့ဟာ ဒီမှာမရှိပါ။',
sort: 'အစဉ်လိုက်',
sortByLabelDirection: 'အစဉ်အလိုက် စီမံခန့်ခွဲထားသည် {{label}} {{direction}}',
stayOnThisPage: 'ဒီမှာပဲ ဆက်နေမည်။',
submissionSuccessful: 'သိမ်းဆည်းမှု အောင်မြင်ပါသည်။',
submit: 'သိမ်းဆည်းမည်။',
submitting: 'Menghantar...',
success: 'အောင်မြင်မှု',
successfullyCreated: '{{label}} အောင်မြင်စွာဖန်တီးခဲ့သည်။',
successfullyDuplicated: '{{label}} အောင်မြင်စွာ ပုံတူပွားခဲ့သည်။',
successfullyReindexed: '{{collections}} မှ စုစုပေါင်း {{total}} စာတမ်းထဲမှ {{count}} စာတမ်းကိုအောင်မြင်စွာပြန်လည်ညွှန်းကောက်ခဲ့ပြီး {{skips}} အကြမ်းဖျဉ်ချုပ်ကိုလွဲချခဲ့သည်။',
takeOver: 'တာဝန်ယူပါ',
thisLanguage: 'မြန်မာစာ',
time: 'Masa',
timezone: 'Masa Wilayah',
titleDeleted: '{{label}} {{title}} အောင်မြင်စွာ ဖျက်သိမ်းခဲ့သည်။',
titleRestored: '"{{label}}" "{{title}}" အောင်မြင်စွာ ပြန်လည် ထည့်သွင်းပြီး ဖြစ်ပါတယ်။',
titleTrashed: '"{{label}}" "{{title}}" dipindahkan ke tong sampah.',
trash: 'ဖျက်သိမ်းခြင်း',
trashedCountSuccessfully: '{{count}} {{label}} သို့ ဖယ်ရှားလိုက်သည်။',
true: 'အမှန်',
unauthorized: 'အခွင့်မရှိပါ။',
unlock: 'ဖွင့်',
unsavedChanges: 'Anda mempunyai perubahan yang belum disimpan. Simpan atau buang sebelum meneruskan.',
unsavedChangesDuplicate: 'သင့်တွင် မသိမ်းဆည်းရသေးသော ပြောင်းလဲမှုများ ရှိနေပါသည်။ ပုံတူပွားမှာ သေချာပြီလား။',
untitled: 'ခေါင်းစဥ်မဲ့',
upcomingEvents: 'လာမည့် အစီအစဉ်များ',
updatedAt: 'ပြင်ဆင်ခဲ့သည့်အချိန်',
updatedCountSuccessfully: '{{count}} {{label}} ကို အောင်မြင်စွာ အပ်ဒိတ်လုပ်ခဲ့သည်။',
updatedLabelSuccessfully: 'Berjaya mengemas kini {{label}}.',
updatedSuccessfully: 'အပ်ဒိတ်လုပ်ပြီးပါပြီ။',
updateForEveryone: 'အားလုံးအတွက် အပြောင်းအလဲ',
updating: 'ပြင်ဆင်ရန်',
uploading: 'တင်ပေးနေသည်',
uploadingBulk: 'တင်နေသည် {{current}} ခု အမှတ်ဖြစ်သည် {{total}} ခုစုစုပေါင်းဖြင့်',
user: 'အသုံးပြုသူ',
username: 'Nama pengguna',
users: 'အသုံးပြုသူများ',
value: 'တန်ဖိုး',
viewing: 'Melihat',
viewReadOnly: 'ဖတ်ရှုရန်သာကြည့်ပါ',
welcome: 'ကြိုဆိုပါတယ်။',
yes: 'ဟုတ်ကဲ့'
},
localization: {
cannotCopySameLocale: 'Tidak boleh menyalin ke lokasi yang sama',
copyFrom: 'Salin dari',
copyFromTo: 'Menyalin dari {{from}} ke {{to}}',
copyTo: 'Salin ke',
copyToLocale: 'Salin ke tempat setempat',
localeToPublish: 'Untuk menerbitkan di lokasi',
selectedLocales: 'Pilihan Locale',
selectLocaleToCopy: 'Pilih tempatan untuk menyalin',
selectLocaleToDuplicate: 'Pilih bahasa untuk dipadankan'
},
operators: {
contains: 'ပါဝင်သည်',
equals: 'ညီမျှ',
exists: 'တည်ရှိသည်',
intersects: 'ကြောက်ခြင်း',
isGreaterThan: 'ထက်ကြီးသည်',
isGreaterThanOrEqualTo: 'ထက်ကြီးသည် သို့မဟုတ် ညီမျှသည်',
isIn: 'ရှိ',
isLessThan: 'ထက်နည်းသည်',
isLessThanOrEqualTo: 'ထက်နည်းသည် သို့မဟုတ် ညီမျှသည်',
isLike: 'တူသည်',
isNotEqualTo: 'ညီမျှသည်',
isNotIn: 'မဝင်ပါ',
isNotLike: 'မဟုတ်ကဲ့သို့',
near: 'နီး',
within: 'အတွင်း'
},
upload: {
addFile: 'ဖိုင်ထည့်ပါ',
addFiles: 'Tambah Fail',
bulkUpload: 'Muat naik pukal',
crop: 'သုန်း',
cropToolDescription: 'ရွေးထားသည့်ဧရိယာတွင်မွေးလျှက်မှုများကိုဆွဲပြီး, အသစ်တည်ပြီးသို့မဟုတ်အောက်ပါတ',
download: 'ဒေါင်းလုဒ်ဆွဲပါ',
dragAndDrop: 'ဖိုင်တစ်ဖိုင်ကို ဆွဲချလိုက်ပါ။',
dragAndDropHere: 'သို့မဟုတ် ဖိုင်တစ်ခုကို ဤနေရာတွင် ဆွဲချပါ။',
editImage: 'ပုံပြင်ပြောင်းရန်',
fileName: 'ဖိုင် နာမည်',
fileSize: 'ဖိုင် အရွယ်အစား',
filesToUpload: 'Fail untuk Dimuat Naik',
fileToUpload: 'ဖိုင်တင်ရန်',
focalPoint: 'အကန့်အသတ်ချုပ်',
focalPointDescription: 'ပြသနားရထားသည့်ပုံအားထိန်းသိမ်းရန် ဖိုကယ်ပိုင်းကို တိုက်ရိုက်ပွဲ့နိုင်သည် သို',
height: 'Height',
lessInfo: 'အချက်အလက်နည်းတယ်။',
moreInfo: 'အချက်အလက်',
noFile: 'Tiada fail',
pasteURL: 'URL ကို ကူးထည့်ပါ',
previewSizes: 'Saiz Pratonton',
selectCollectionToBrowse: 'စုစည်းမှု တစ်ခုခုကို ရွေးချယ်ပါ။',
selectFile: 'ဖိုင်ရွေးပါ။',
setCropArea: 'စပြန်းနယ်မြေထားပါ',
setFocalPoint: 'အစေခံဖောက်ရေစနစ်ကိုသတ်မှတ်ပါ',
sizes: 'အရွယ်အစားများ',
sizesFor: '{{label}} အတွက် အရွယ်အစားများ',
width: 'အကျယ်'
},
validation: {
emailAddress: 'မှန်ကန်သော အီးမေးလ်လိပ်စာကို ထည့်သွင်းပါ။',
enterNumber: 'မှန်ကန်သောနံပါတ်တစ်ခုထည့်ပါ။',
fieldHasNo: 'ဤအကွက်တွင် {{label}} မရှိပါ။',
greaterThanMax: '{{value}} သည် {{max}} ထက် ပိုမိုကြီးသည်။ ဤသည်ဖြင့် {{label}} အများဆုံးခွင့်ပြုထားသော တန်ဖိုးထက် ကြီးသည်။',
invalidBlock: '"{{block}}" သည် မခွင့်ပြုပါ။',
invalidBlocks: 'Bidang ini mengandungi blok yang tidak lagi dibenarkan: {{blocks}}.',
invalidInput: 'ဤအကွက်တွင် မမှန်ကန်သော ထည့်သွင်းမှုတစ်ခုရှိသည်။',
invalidSelection: 'ဤအကွက်တွင် မမှန်ကန်သော ရွေးချယ်မှုတစ်ခုရှိသည်။',
invalidSelections: 'ဤအကွက်တွင် အောက်ပါ မမှန်ကန်သော ရွေးချယ်မှုများ ရှိသည်',
latitudeOutOfBounds: 'Lintang mesti berada di antara -90 dan 90.',
lessThanMin: '{{value}} သည် {{min}} ထက် ပိုမိုနိမ့်သည်။ ဤသည်ဖြင့် {{label}} အနည်းဆုံးခွင့်ပြုထားသော တန်ဖိုးထက် နိမ့်သည်။',
limitReached: 'Had yang dibenarkan telah dicapai, hanya {{max}} item sahaja yang boleh ditambah.',
longerThanMin: 'ဤတန်ဖိုးသည် အနိမ့်ဆုံးအရှည် {{minLength}} စာလုံးထက် ပိုရှည်ရမည်။',
longitudeOutOfBounds: 'Longitude mesti berada di antara -180 dan 180.',
notValidDate: '"{{value}}" သည် တရားဝင်ရက်စွဲမဟုတ်ပါ။',
required: 'ဤအကွက်ကို လိုအပ်သည်။',
requiresAtLeast: 'ဤအကွက်သည် အနည်းဆုံး {{count}} {{label}} လိုအပ်သည်',
requiresNoMoreThan: 'ဤအကွက်တွင် {{count}} {{label}} ထက် မပိုရပါ။',
requiresTwoNumbers: 'ဤအကွက်သည် နံပါတ်နှစ်ခု လိုအပ်ပါသည်။',
shorterThanMax: 'ဤတန်ဖိုးသည် စာလုံး {{maxLength}} လုံး၏ အမြင့်ဆုံးအရှည်ထက် ပိုတိုရပါမည်။',
timezoneRequired: 'အချိန်ဇုန်တစ်ခုလိုအပ်သည်။',
trueOrFalse: 'ဤအကွက်သည် တစ်ခုခုဖြစ်ရပါမည်။',
username: 'Sila masukkan nama pengguna yang sah. Boleh mengandungi huruf, nombor, tanda hubung, titik dan garis bawah.',
validUploadID: "'ဤအကွက်သည် မှန်ကန်သော အပ်လုဒ် ID မဟုတ်ပါ။'"
},
version: {
type: 'အမျိုးအစား',
aboutToPublishSelection: 'သင်သည် ရွေးချယ်မှုတွင် {{label}} အားလုံးကို ထုတ်ဝေပါတော့မည်။ သေချာလား?',
aboutToRestore: 'သင်သည် ဤ {{label}} စာရွက်စာတမ်းကို {{versionDate}} တွင် ပါရှိသည့် အခြေအနေသို့ ပြန်ယူတော့မည်။',
aboutToRestoreGlobal: 'သင်သည် ဂလိုဘယ် {{label}} ကို {{versionDate}} တွင် ပါရှိသည့် အခြေအနေသို့ ပြန်လည်ရောက်ရှိတော့မည်ဖြစ်သည်။',
aboutToRevertToPublished: 'သင်သည် အပြောင်းအလဲများကို အများဆိုင် အခြေအနေသို့ ပြန်ပြောင်းပါတော့မည်။ သေချာလား?',
aboutToUnpublish: 'အများဆိုင်မှ ပြန်ဖြုတ်တော့မည်။ သေချာလား',
aboutToUnpublishIn: 'Anda akan membatalkan penerbitan dokumen ini dalam {{locale}}. Adakah anda pasti?',
aboutToUnpublishSelection: 'သင်သည် ရွေးချယ်မှုတွင် {{label}} အားလုံးကို ထုတ်ဝေတော့မည် ဖြစ်သည်။ သေချာလား?',
autosave: 'အလိုအလျောက်သိမ်းဆည်းပါ။',
autosavedSuccessfully: 'အလိုအလျောက် သိမ်းဆည်းပြီးပါပြီ။',
autosavedVersion: 'အော်တို ဗားရှင်း',
changed: 'ပြောင်းခဲ့သည်။',
changedFieldsCount_one: '{{count}} field telah diubah',
changedFieldsCount_other: '{{count}}ကယ်လက်ရှိအရာများပြောင်းလဲလိုက်သည်',
compareVersion: 'ဗားရှင်းနှင့် နှိုင်းယှဉ်ချက်:',
compareVersions: 'Bandingkan Versi',
comparingAgainst: 'Bandingkan dengan',
confirmPublish: 'ထုတ်ဝေအတည်ပြုပါ။',
confirmRevertToSaved: 'သိမ်းဆည်းပြီးကြောင်း အတည်ပြုပါ။',
confirmUnpublish: 'အများဆိုင်ကို ဖျက်ရန် အတည်ပြုပါ။',
confirmVersionRestoration: 'ဗားရှင်းပြန်လည် အသုံးပြုခြင်းကို အတည်ပြုပါ။',
currentDocumentStatus: 'လက်ရှိ {{docStatus}} ဖိုင်',
currentDraft: 'Draf Semasa',
currentlyPublished: 'လက်ရှိထုတ်ဝေရေးသားနေ',
currentlyViewing: 'Sedang melihat sekarang',
currentPublishedVersion: 'လက်ရှိထုတ်ဝေထားသောဗားရှင်း',
draft: 'မူကြမ်း',
draftHasPublishedVersion: 'Draf (mempunyai versi yang diterbitkan)',
draftSavedSuccessfully: 'မူကြမ်းကို အောင်မြင်စွာ သိမ်းဆည်းပြီးပါပြီ။',
lastSavedAgo: 'နောက်ဆုံး သိမ်းချက် {{distance}} ကြာပြီး',
modifiedOnly: 'Hanya diubah',
moreVersions: 'ပိုမိုများသော ဗားရှင်းများ...',
noFurtherVersionsFound: 'နောက်ထပ်ဗားရှင်းများ မတွေ့ပါ။',
noLabelGroup: 'Tumpuan yang Bernama',
noRowsFound: '{{label}} အားမတွေ့ပါ။',
noRowsSelected: 'Tiada {{label}} yang dipilih',
preview: 'နမူနာပြရန်',
previouslyDraft: 'Sebelum ini Draf',
previouslyPublished: 'တိုင်းရင်းသားထုတ်ဝေခဲ့',
previousVersion: 'Versi Sebelumnya',
problemRestoringVersion: 'ဤဗားရှင်းကို ပြန်လည်ရယူရာတွင် ပြဿနာရှိနေသည်။',
publish: 'ထုတ်ဝေသည်။',
publishAllLocales: 'နိုင်ငံတကာစာလုံးအားလုံးကို ထုတ်ဝေပါ',
publishChanges: 'အပြောင်းအလဲများကို တင်ခဲ့သည်။',
published: 'တင်ပြီးပြီ။',
publishIn: 'Terbitkan di {{locale}}',
publishing: 'ထုတ်ဝေခြင်း',
restoreAsDraft: 'Pulihkan sebagai draf',
restoredSuccessfully: 'အောင်မြင်စွာ ပြန်လည်ရယူခဲ့သည်။',
restoreThisVersion: 'ဤဗားရှင်းကိုကို ပြန်ယူမည်။',
restoring: 'ပြန်ယူနေဆဲ...',
reverting: 'ပြန်ပြောင်းနေဆဲ...',
revertToPublished: 'အများဆိုင်သို့ ပြန်ပြောင်းပါ။',
revertUnsuccessful: 'Pemulihan tidak berjaya. Tiada versi yang diterbitkan sebelum ini dijumpai.',
saveDraft: 'မှုကြမ်းကို သိမ်းဆည်းမည်။',
scheduledSuccessfully: 'အောင်မြင်စွာ နေ့စွဲထားသည်။',
schedulePublish: 'ပြဌာန်းထုတ်ဝေချိန်း',
selectLocales: 'ပြသရန် ဒေသန္တရများကို ရွေးပါ။',
selectVersionToCompare: 'နှိုင်းယှဉ်ရန် ဗားရှင်းကို ရွေးပါ။',
showingVersionsFor: 'အတွက် ဗားရှင်းများကို ပြသနေသည်-',
showLocales: 'ဒေသန္တရများကိုပြပါ။:',
specificVersion: 'အထူးဗားရှင်း',
status: 'အခြေအနေ',
unpublish: 'ပြန်ဖြုတ်မည်။',
unpublished: 'Belum diterbitkan',
unpublishedSuccessfully: 'Berjaya tidak diterbitkan.',
unpublishIn: 'Tidak terbit dalam {{locale}}',
unpublishing: 'ပြန်ဖြုတ်နေဆဲ ...',
version: 'ဗားရှင်း',
versionAgo: '{{distance}} ကြာပြီ',
versionCount_many: '{{count}} ဗားရှင်းများကို တွေ့ပါသည်။',
versionCount_none: 'ဗားရှင်းရှာဖွေ့ပါ။',
versionCount_one: '{{count}} ဗားရှင်အား တွေ့ပါသည်။',
versionCount_other: 'ဗားရှင်း {{count}} ခု တွေ့ရှိပါသည်။',
versionID: 'ဗားရှင်း ID',
versions: 'ဗားရှင်းများ',
viewingVersion: '{{entityLabel}} {{documentTitle}} အတွက် ဗားရှင်းကို ကြည့်ရှုနေသည်',
viewingVersionGlobal: '`ဂလိုဘယ်ဆိုင်ရာ {entityLabel}} အတွက် ဗားရှင်းကို ကြည့်ရှုနေသည်',
viewingVersions: '{{entityLabel}} {{documentTitle}} အတွက် ဗားရှင်းများကို ကြည့်ရှုခြင်း',
viewingVersionsGlobal: '`ဂလိုဘယ်ဆိုင်ရာ {{entityLabel}} အတွက် ဗားရှင်းများကို ကြည့်ရှုနေသည်'
}
};
export const my = {
dateFNSKey: 'en-US',
translations: myTranslations
};
//# sourceMappingURL=my.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"copyright.js","sources":["../../../src/icons/copyright.ts"],"sourcesContent":["import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name Copyright\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgLz4KICA8cGF0aCBkPSJNMTQuODMgMTQuODNhNCA0IDAgMSAxIDAtNS42NiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/copyright\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Copyright = createLucideIcon('Copyright', [\n ['circle', { cx: '12', cy: '12', r: '10', key: '1mglay' }],\n ['path', { d: 'M14.83 14.83a4 4 0 1 1 0-5.66', key: '1i56pz' }],\n]);\n\nexport default Copyright;\n"],"names":[],"mappings":";;;;;;;;;AAaM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,iBAAiB,WAAa,CAAA,CAAA,CAAA;AAAA,CAC9C,CAAA,CAAC,QAAU,CAAA,CAAA,CAAA,CAAE,EAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAM,CAAI,CAAA,CAAA,CAAA,IAAA,CAAM,CAAA,CAAG,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,GAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAU,CAAA,CAAA;AAAA,CAAA,CACzD,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAE,GAAG,CAAiC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,UAAU,CAAA;AAChE,CAAC,CAAA,CAAA;;"}

View File

@@ -0,0 +1,167 @@
"use strict";
/*
* Copyright The OpenTelemetry Authors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.KnexInstrumentation = void 0;
const api = require("@opentelemetry/api");
/** @knipignore */
const version_1 = require("./version");
const constants = require("./constants");
const instrumentation_1 = require("@opentelemetry/instrumentation");
const utils = require("./utils");
const semantic_conventions_1 = require("@opentelemetry/semantic-conventions");
const semconv_1 = require("./semconv");
const contextSymbol = Symbol('opentelemetry.instrumentation-knex.context');
const DEFAULT_CONFIG = {
maxQueryLength: 1022,
requireParentSpan: false,
};
class KnexInstrumentation extends instrumentation_1.InstrumentationBase {
_semconvStability;
constructor(config = {}) {
super(version_1.PACKAGE_NAME, version_1.PACKAGE_VERSION, { ...DEFAULT_CONFIG, ...config });
this._semconvStability = (0, instrumentation_1.semconvStabilityFromStr)('database', process.env.OTEL_SEMCONV_STABILITY_OPT_IN);
}
setConfig(config = {}) {
super.setConfig({ ...DEFAULT_CONFIG, ...config });
}
init() {
const module = new instrumentation_1.InstrumentationNodeModuleDefinition(constants.MODULE_NAME, constants.SUPPORTED_VERSIONS);
module.files.push(this.getClientNodeModuleFileInstrumentation('src'), this.getClientNodeModuleFileInstrumentation('lib'), this.getRunnerNodeModuleFileInstrumentation('src'), this.getRunnerNodeModuleFileInstrumentation('lib'), this.getRunnerNodeModuleFileInstrumentation('lib/execution'));
return module;
}
getRunnerNodeModuleFileInstrumentation(basePath) {
return new instrumentation_1.InstrumentationNodeModuleFile(`knex/${basePath}/runner.js`, constants.SUPPORTED_VERSIONS, (Runner, moduleVersion) => {
this.ensureWrapped(Runner.prototype, 'query', this.createQueryWrapper(moduleVersion));
return Runner;
}, (Runner, moduleVersion) => {
this._unwrap(Runner.prototype, 'query');
return Runner;
});
}
getClientNodeModuleFileInstrumentation(basePath) {
return new instrumentation_1.InstrumentationNodeModuleFile(`knex/${basePath}/client.js`, constants.SUPPORTED_VERSIONS, (Client) => {
this.ensureWrapped(Client.prototype, 'queryBuilder', this.storeContext.bind(this));
this.ensureWrapped(Client.prototype, 'schemaBuilder', this.storeContext.bind(this));
this.ensureWrapped(Client.prototype, 'raw', this.storeContext.bind(this));
return Client;
}, (Client) => {
this._unwrap(Client.prototype, 'queryBuilder');
this._unwrap(Client.prototype, 'schemaBuilder');
this._unwrap(Client.prototype, 'raw');
return Client;
});
}
createQueryWrapper(moduleVersion) {
const instrumentation = this;
return function wrapQuery(original) {
return function wrapped_logging_method(query) {
const config = this.client.config;
const table = utils.extractTableName(this.builder);
// `method` actually refers to the knex API method - Not exactly "operation"
// in the spec sense, but matches most of the time.
const operation = query?.method;
const name = config?.connection?.filename || config?.connection?.database;
const { maxQueryLength } = instrumentation.getConfig();
const attributes = {
'knex.version': moduleVersion,
};
const transport = config?.connection?.filename === ':memory:' ? 'inproc' : undefined;
if (instrumentation._semconvStability & instrumentation_1.SemconvStability.OLD) {
Object.assign(attributes, {
[semconv_1.ATTR_DB_SYSTEM]: utils.mapSystem(this.client.driverName),
[semconv_1.ATTR_DB_SQL_TABLE]: table,
[semconv_1.ATTR_DB_OPERATION]: operation,
[semconv_1.ATTR_DB_USER]: config?.connection?.user,
[semconv_1.ATTR_DB_NAME]: name,
[semconv_1.ATTR_NET_PEER_NAME]: config?.connection?.host,
[semconv_1.ATTR_NET_PEER_PORT]: config?.connection?.port,
[semconv_1.ATTR_NET_TRANSPORT]: transport,
});
}
if (instrumentation._semconvStability & instrumentation_1.SemconvStability.STABLE) {
Object.assign(attributes, {
[semantic_conventions_1.ATTR_DB_SYSTEM_NAME]: utils.mapSystem(this.client.driverName),
[semantic_conventions_1.ATTR_DB_COLLECTION_NAME]: table,
[semantic_conventions_1.ATTR_DB_OPERATION_NAME]: operation,
[semantic_conventions_1.ATTR_DB_NAMESPACE]: name,
[semantic_conventions_1.ATTR_SERVER_ADDRESS]: config?.connection?.host,
[semantic_conventions_1.ATTR_SERVER_PORT]: config?.connection?.port,
});
}
if (maxQueryLength) {
// filters both undefined and 0
const queryText = utils.limitLength(query?.sql, maxQueryLength);
if (instrumentation._semconvStability & instrumentation_1.SemconvStability.STABLE) {
attributes[semantic_conventions_1.ATTR_DB_QUERY_TEXT] = queryText;
}
if (instrumentation._semconvStability & instrumentation_1.SemconvStability.OLD) {
attributes[semconv_1.ATTR_DB_STATEMENT] = queryText;
}
}
const parentContext = this.builder[contextSymbol] || api.context.active();
const parentSpan = api.trace.getSpan(parentContext);
const hasActiveParent = parentSpan && api.trace.isSpanContextValid(parentSpan.spanContext());
if (instrumentation._config.requireParentSpan && !hasActiveParent) {
return original.bind(this)(...arguments);
}
const span = instrumentation.tracer.startSpan(utils.getName(name, operation, table), {
kind: api.SpanKind.CLIENT,
attributes,
}, parentContext);
const spanContext = api.trace.setSpan(api.context.active(), span);
return api.context
.with(spanContext, original, this, ...arguments)
.then((result) => {
span.end();
return result;
})
.catch((err) => {
// knex adds full query with all the binding values to the message,
// we want to undo that without changing the original error
const formatter = utils.getFormatter(this);
const fullQuery = formatter(query.sql, query.bindings || []);
const message = err.message.replace(fullQuery + ' - ', '');
const exc = utils.otelExceptionFromKnexError(err, message);
span.recordException(exc);
span.setStatus({ code: api.SpanStatusCode.ERROR, message });
span.end();
throw err;
});
};
};
}
storeContext(original) {
return function wrapped_logging_method() {
const builder = original.apply(this, arguments);
// Builder is a custom promise type and when awaited it fails to propagate context.
// We store the parent context at the moment of initiating the builder
// otherwise we'd have nothing to attach the span as a child for in `query`.
Object.defineProperty(builder, contextSymbol, {
value: api.context.active(),
});
return builder;
};
}
ensureWrapped(obj, methodName, wrapper) {
if ((0, instrumentation_1.isWrapped)(obj[methodName])) {
this._unwrap(obj, methodName);
}
this._wrap(obj, methodName, wrapper);
}
}
exports.KnexInstrumentation = KnexInstrumentation;
//# sourceMappingURL=instrumentation.js.map

View File

@@ -0,0 +1,11 @@
import type { TextField } from 'payload';
type Args = {
field: TextField;
locale?: string;
ref: Record<string, unknown>;
textRows: Record<string, unknown>[];
withinArrayOrBlockLocale?: string;
};
export declare const transformHasManyText: ({ field, locale, ref, textRows, withinArrayOrBlockLocale, }: Args) => void;
export {};
//# sourceMappingURL=hasManyText.d.ts.map

View File

@@ -0,0 +1,6 @@
import type { Vocabulary, ErrorNoParams } from "ajv";
import type { DefinitionOptions } from "./_types";
import { PatternRequiredError } from "./patternRequired";
import { SelectError } from "./select";
export default function ajvKeywords(opts?: DefinitionOptions): Vocabulary;
export declare type AjvKeywordsError = PatternRequiredError | SelectError | ErrorNoParams<"range" | "exclusiveRange" | "anyRequired" | "oneRequired" | "allRequired" | "deepProperties" | "deepRequired" | "dynamicDefaults" | "instanceof" | "prohibited" | "regexp" | "transform" | "uniqueItemProperties">;

View File

@@ -0,0 +1,134 @@
"use strict";
/*
* Copyright The OpenTelemetry Authors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.massUnwrap = exports.unwrap = exports.massWrap = exports.wrap = void 0;
// Default to complaining loudly when things don't go according to plan.
// eslint-disable-next-line no-console
let logger = console.error.bind(console);
// Sets a property on an object, preserving its enumerability.
// This function assumes that the property is already writable.
function defineProperty(obj, name, value) {
const enumerable = !!obj[name] &&
Object.prototype.propertyIsEnumerable.call(obj, name);
Object.defineProperty(obj, name, {
configurable: true,
enumerable,
writable: true,
value,
});
}
const wrap = (nodule, name, wrapper) => {
if (!nodule || !nodule[name]) {
logger('no original function ' + String(name) + ' to wrap');
return;
}
if (!wrapper) {
logger('no wrapper function');
logger(new Error().stack);
return;
}
const original = nodule[name];
if (typeof original !== 'function' || typeof wrapper !== 'function') {
logger('original object and wrapper must be functions');
return;
}
const wrapped = wrapper(original, name);
defineProperty(wrapped, '__original', original);
defineProperty(wrapped, '__unwrap', () => {
if (nodule[name] === wrapped) {
defineProperty(nodule, name, original);
}
});
defineProperty(wrapped, '__wrapped', true);
defineProperty(nodule, name, wrapped);
return wrapped;
};
exports.wrap = wrap;
const massWrap = (nodules, names, wrapper) => {
if (!nodules) {
logger('must provide one or more modules to patch');
logger(new Error().stack);
return;
}
else if (!Array.isArray(nodules)) {
nodules = [nodules];
}
if (!(names && Array.isArray(names))) {
logger('must provide one or more functions to wrap on modules');
return;
}
nodules.forEach(nodule => {
names.forEach(name => {
(0, exports.wrap)(nodule, name, wrapper);
});
});
};
exports.massWrap = massWrap;
const unwrap = (nodule, name) => {
if (!nodule || !nodule[name]) {
logger('no function to unwrap.');
logger(new Error().stack);
return;
}
const wrapped = nodule[name];
if (!wrapped.__unwrap) {
logger('no original to unwrap to -- has ' +
String(name) +
' already been unwrapped?');
}
else {
wrapped.__unwrap();
return;
}
};
exports.unwrap = unwrap;
const massUnwrap = (nodules, names) => {
if (!nodules) {
logger('must provide one or more modules to patch');
logger(new Error().stack);
return;
}
else if (!Array.isArray(nodules)) {
nodules = [nodules];
}
if (!(names && Array.isArray(names))) {
logger('must provide one or more functions to unwrap on modules');
return;
}
nodules.forEach(nodule => {
names.forEach(name => {
(0, exports.unwrap)(nodule, name);
});
});
};
exports.massUnwrap = massUnwrap;
function shimmer(options) {
if (options && options.logger) {
if (typeof options.logger !== 'function') {
logger("new logger isn't a function, not replacing");
}
else {
logger = options.logger;
}
}
}
exports.default = shimmer;
shimmer.wrap = exports.wrap;
shimmer.massWrap = exports.massWrap;
shimmer.unwrap = exports.unwrap;
shimmer.massUnwrap = exports.massUnwrap;
//# sourceMappingURL=shimmer.js.map

View File

@@ -0,0 +1,28 @@
/*
* Copyright The OpenTelemetry Authors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { SamplingDecision } from '../Sampler';
/** Sampler that samples all traces. */
export class AlwaysOnSampler {
shouldSample() {
return {
decision: SamplingDecision.RECORD_AND_SAMPLED,
};
}
toString() {
return 'AlwaysOnSampler';
}
}
//# sourceMappingURL=AlwaysOnSampler.js.map

View File

@@ -0,0 +1 @@
This directory is a fallback for `exports["./client"]` in the root `framer-motion` `package.json`.

View File

@@ -0,0 +1,2 @@
export { es } from '@payloadcms/translations/languages/es';
//# sourceMappingURL=es.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"getDataByPath.d.ts","sourceRoot":"","sources":["../../src/utilities/getDataByPath.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAIlD,eAAO,MAAM,aAAa,GAAI,CAAC,oBAAoB,SAAS,QAAQ,MAAM,KAAG,CAkB5E,CAAA"}

View File

@@ -0,0 +1 @@
{"version":3,"file":"tanstackrouter.d.ts","sourceRoot":"","sources":["../../src/tanstackrouter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,IAAI,iCAAiC,EAI/D,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAQhD;;;;;;;GAOG;AACH,wBAAgB,uCAAuC,CAErD,MAAM,EAAE,GAAG,EAAE,iGAAiG;AAC9G,OAAO,GAAE,UAAU,CAAC,OAAO,iCAAiC,CAAC,CAAC,CAAC,CAAM,GACpE,WAAW,CAkGb"}

View File

@@ -0,0 +1,27 @@
"use strict";
exports.sk = void 0;
var _index = require("./sk/_lib/formatDistance.cjs");
var _index2 = require("./sk/_lib/formatLong.cjs");
var _index3 = require("./sk/_lib/formatRelative.cjs");
var _index4 = require("./sk/_lib/localize.cjs");
var _index5 = require("./sk/_lib/match.cjs");
/**
* @category Locales
* @summary Slovak locale.
* @language Slovak
* @iso-639-2 slk
* @author Marek Suscak [@mareksuscak](https://github.com/mareksuscak)
*/
const sk = (exports.sk = {
code: "sk",
formatDistance: _index.formatDistance,
formatLong: _index2.formatLong,
formatRelative: _index3.formatRelative,
localize: _index4.localize,
match: _index5.match,
options: {
weekStartsOn: 1 /* Monday */,
firstWeekContainsDate: 4,
},
});

View File

@@ -0,0 +1,15 @@
import type { Match } from "../../../locale/types.js";
import { Parser } from "../Parser.js";
import type { ParseFlags, ParseResult } from "../types.js";
export declare class DateParser extends Parser<number> {
priority: number;
subPriority: number;
parse(dateString: string, token: string, match: Match): ParseResult<number>;
validate<DateType extends Date>(date: DateType, value: number): boolean;
set<DateType extends Date>(
date: DateType,
_flags: ParseFlags,
value: number,
): DateType;
incompatibleTokens: string[];
}

View File

@@ -0,0 +1,159 @@
import { getDefaultCurrentScope, getDefaultIsolationScope } from '../defaultScopes.js';
import { Scope } from '../scope.js';
import { isThenable } from '../utils/is.js';
import { getMainCarrier, getSentryCarrier } from '../carrier.js';
/**
* This is an object that holds a stack of scopes.
*/
class AsyncContextStack {
constructor(scope, isolationScope) {
let assignedScope;
if (!scope) {
assignedScope = new Scope();
} else {
assignedScope = scope;
}
let assignedIsolationScope;
if (!isolationScope) {
assignedIsolationScope = new Scope();
} else {
assignedIsolationScope = isolationScope;
}
// scope stack for domains or the process
this._stack = [{ scope: assignedScope }];
this._isolationScope = assignedIsolationScope;
}
/**
* Fork a scope for the stack.
*/
withScope(callback) {
const scope = this._pushScope();
let maybePromiseResult;
try {
maybePromiseResult = callback(scope);
} catch (e) {
this._popScope();
throw e;
}
if (isThenable(maybePromiseResult)) {
// @ts-expect-error - isThenable returns the wrong type
return maybePromiseResult.then(
res => {
this._popScope();
return res;
},
e => {
this._popScope();
throw e;
},
);
}
this._popScope();
return maybePromiseResult;
}
/**
* Get the client of the stack.
*/
getClient() {
return this.getStackTop().client ;
}
/**
* Returns the scope of the top stack.
*/
getScope() {
return this.getStackTop().scope;
}
/**
* Get the isolation scope for the stack.
*/
getIsolationScope() {
return this._isolationScope;
}
/**
* Returns the topmost scope layer in the order domain > local > process.
*/
getStackTop() {
return this._stack[this._stack.length - 1] ;
}
/**
* Push a scope to the stack.
*/
_pushScope() {
// We want to clone the content of prev scope
const scope = this.getScope().clone();
this._stack.push({
client: this.getClient(),
scope,
});
return scope;
}
/**
* Pop a scope from the stack.
*/
_popScope() {
if (this._stack.length <= 1) return false;
return !!this._stack.pop();
}
}
/**
* Get the global async context stack.
* This will be removed during the v8 cycle and is only here to make migration easier.
*/
function getAsyncContextStack() {
const registry = getMainCarrier();
const sentry = getSentryCarrier(registry);
return (sentry.stack = sentry.stack || new AsyncContextStack(getDefaultCurrentScope(), getDefaultIsolationScope()));
}
function withScope(callback) {
return getAsyncContextStack().withScope(callback);
}
function withSetScope(scope, callback) {
const stack = getAsyncContextStack();
return stack.withScope(() => {
stack.getStackTop().scope = scope;
return callback(scope);
});
}
function withIsolationScope(callback) {
return getAsyncContextStack().withScope(() => {
return callback(getAsyncContextStack().getIsolationScope());
});
}
/**
* Get the stack-based async context strategy.
*/
function getStackAsyncContextStrategy() {
return {
withIsolationScope,
withScope,
withSetScope,
withSetIsolationScope: (_isolationScope, callback) => {
return withIsolationScope(callback);
},
getCurrentScope: () => getAsyncContextStack().getScope(),
getIsolationScope: () => getAsyncContextStack().getIsolationScope(),
};
}
export { AsyncContextStack, getStackAsyncContextStrategy };
//# sourceMappingURL=stackStrategy.js.map

View File

@@ -0,0 +1,44 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const additionalItems_1 = require("./additionalItems");
const prefixItems_1 = require("./prefixItems");
const items_1 = require("./items");
const items2020_1 = require("./items2020");
const contains_1 = require("./contains");
const dependencies_1 = require("./dependencies");
const propertyNames_1 = require("./propertyNames");
const additionalProperties_1 = require("./additionalProperties");
const properties_1 = require("./properties");
const patternProperties_1 = require("./patternProperties");
const not_1 = require("./not");
const anyOf_1 = require("./anyOf");
const oneOf_1 = require("./oneOf");
const allOf_1 = require("./allOf");
const if_1 = require("./if");
const thenElse_1 = require("./thenElse");
function getApplicator(draft2020 = false) {
const applicator = [
// any
not_1.default,
anyOf_1.default,
oneOf_1.default,
allOf_1.default,
if_1.default,
thenElse_1.default,
// object
propertyNames_1.default,
additionalProperties_1.default,
dependencies_1.default,
properties_1.default,
patternProperties_1.default,
];
// array
if (draft2020)
applicator.push(prefixItems_1.default, items2020_1.default);
else
applicator.push(additionalItems_1.default, items_1.default);
applicator.push(contains_1.default);
return applicator;
}
exports.default = getApplicator;
//# sourceMappingURL=index.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"index.js","sources":["../../../../../src/integrations/tracing/langgraph/index.ts"],"sourcesContent":["import type { IntegrationFn, LangGraphOptions } from '@sentry/core';\nimport { defineIntegration, LANGGRAPH_INTEGRATION_NAME } from '@sentry/core';\nimport { generateInstrumentOnce } from '@sentry/node-core';\nimport { SentryLangGraphInstrumentation } from './instrumentation';\n\nexport const instrumentLangGraph = generateInstrumentOnce<LangGraphOptions>(\n LANGGRAPH_INTEGRATION_NAME,\n options => new SentryLangGraphInstrumentation(options),\n);\n\nconst _langGraphIntegration = ((options: LangGraphOptions = {}) => {\n return {\n name: LANGGRAPH_INTEGRATION_NAME,\n setupOnce() {\n instrumentLangGraph(options);\n },\n };\n}) satisfies IntegrationFn;\n\n/**\n * Adds Sentry tracing instrumentation for LangGraph.\n *\n * This integration is enabled by default.\n *\n * When configured, this integration automatically instruments LangGraph StateGraph and compiled graph instances\n * to capture telemetry data following OpenTelemetry Semantic Conventions for Generative AI.\n *\n * @example\n * ```javascript\n * import * as Sentry from '@sentry/node';\n *\n * Sentry.init({\n * integrations: [Sentry.langGraphIntegration()],\n * });\n * ```\n *\n * ## Options\n *\n * - `recordInputs`: Whether to record input messages (default: respects `sendDefaultPii` client option)\n * - `recordOutputs`: Whether to record response text (default: respects `sendDefaultPii` client option)\n *\n * ### Default Behavior\n *\n * By default, the integration will:\n * - Record inputs and outputs ONLY if `sendDefaultPii` is set to `true` in your Sentry client options\n * - Otherwise, inputs and outputs are NOT recorded unless explicitly enabled\n *\n * @example\n * ```javascript\n * // Record inputs and outputs when sendDefaultPii is false\n * Sentry.init({\n * integrations: [\n * Sentry.langGraphIntegration({\n * recordInputs: true,\n * recordOutputs: true\n * })\n * ],\n * });\n *\n * // Never record inputs/outputs regardless of sendDefaultPii\n * Sentry.init({\n * sendDefaultPii: true,\n * integrations: [\n * Sentry.langGraphIntegration({\n * recordInputs: false,\n * recordOutputs: false\n * })\n * ],\n * });\n * ```\n *\n * ## Captured Operations\n *\n * The integration captures the following LangGraph operations:\n * - **Agent Creation** (`StateGraph.compile()`) - Creates a `gen_ai.create_agent` span\n * - **Agent Invocation** (`CompiledGraph.invoke()`) - Creates a `gen_ai.invoke_agent` span\n *\n * ## Captured Data\n *\n * When `recordInputs` and `recordOutputs` are enabled, the integration captures:\n * - Input messages from the graph state\n * - Output messages and LLM responses\n * - Tool calls made during agent execution\n * - Agent and graph names\n * - Available tools configured in the graph\n *\n */\nexport const langGraphIntegration = defineIntegration(_langGraphIntegration);\n"],"names":["generateInstrumentOnce","LANGGRAPH_INTEGRATION_NAME","SentryLangGraphInstrumentation","defineIntegration"],"mappings":";;;;;;AAKO,MAAM,mBAAA,GAAsBA,+BAAsB;AACzD,EAAEC,+BAA0B;AAC5B,EAAE,WAAW,IAAIC,8CAA8B,CAAC,OAAO,CAAC;AACxD;;AAEA,MAAM,qBAAA,IAAyB,CAAC,OAAO,GAAqB,EAAE,KAAK;AACnE,EAAE,OAAO;AACT,IAAI,IAAI,EAAED,+BAA0B;AACpC,IAAI,SAAS,GAAG;AAChB,MAAM,mBAAmB,CAAC,OAAO,CAAC;AAClC,IAAI,CAAC;AACL,GAAG;AACH,CAAC,CAAA;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;MACa,oBAAA,GAAuBE,sBAAiB,CAAC,qBAAqB;;;;;"}

View File

@@ -0,0 +1,614 @@
import { SetArray, put, remove } from './set-array';
import {
encode,
// encodeGeneratedRanges,
// encodeOriginalScopes
} from '@jridgewell/sourcemap-codec';
import { TraceMap, decodedMappings } from '@jridgewell/trace-mapping';
import {
COLUMN,
SOURCES_INDEX,
SOURCE_LINE,
SOURCE_COLUMN,
NAMES_INDEX,
} from './sourcemap-segment';
import type { SourceMapInput } from '@jridgewell/trace-mapping';
// import type { OriginalScope, GeneratedRange } from '@jridgewell/sourcemap-codec';
import type { SourceMapSegment } from './sourcemap-segment';
import type {
DecodedSourceMap,
EncodedSourceMap,
Pos,
Mapping,
// BindingExpressionRange,
// OriginalPos,
// OriginalScopeInfo,
// GeneratedRangeInfo,
} from './types';
export type { DecodedSourceMap, EncodedSourceMap, Mapping };
export type Options = {
file?: string | null;
sourceRoot?: string | null;
};
const NO_NAME = -1;
/**
* Provides the state to generate a sourcemap.
*/
export class GenMapping {
declare private _names: SetArray<string>;
declare private _sources: SetArray<string>;
declare private _sourcesContent: (string | null)[];
declare private _mappings: SourceMapSegment[][];
// private declare _originalScopes: OriginalScope[][];
// private declare _generatedRanges: GeneratedRange[];
declare private _ignoreList: SetArray<number>;
declare file: string | null | undefined;
declare sourceRoot: string | null | undefined;
constructor({ file, sourceRoot }: Options = {}) {
this._names = new SetArray();
this._sources = new SetArray();
this._sourcesContent = [];
this._mappings = [];
// this._originalScopes = [];
// this._generatedRanges = [];
this.file = file;
this.sourceRoot = sourceRoot;
this._ignoreList = new SetArray();
}
}
interface PublicMap {
_names: GenMapping['_names'];
_sources: GenMapping['_sources'];
_sourcesContent: GenMapping['_sourcesContent'];
_mappings: GenMapping['_mappings'];
// _originalScopes: GenMapping['_originalScopes'];
// _generatedRanges: GenMapping['_generatedRanges'];
_ignoreList: GenMapping['_ignoreList'];
}
/**
* Typescript doesn't allow friend access to private fields, so this just casts the map into a type
* with public access modifiers.
*/
function cast(map: unknown): PublicMap {
return map as any;
}
/**
* A low-level API to associate a generated position with an original source position. Line and
* column here are 0-based, unlike `addMapping`.
*/
export function addSegment(
map: GenMapping,
genLine: number,
genColumn: number,
source?: null,
sourceLine?: null,
sourceColumn?: null,
name?: null,
content?: null,
): void;
export function addSegment(
map: GenMapping,
genLine: number,
genColumn: number,
source: string,
sourceLine: number,
sourceColumn: number,
name?: null,
content?: string | null,
): void;
export function addSegment(
map: GenMapping,
genLine: number,
genColumn: number,
source: string,
sourceLine: number,
sourceColumn: number,
name: string,
content?: string | null,
): void;
export function addSegment(
map: GenMapping,
genLine: number,
genColumn: number,
source?: string | null,
sourceLine?: number | null,
sourceColumn?: number | null,
name?: string | null,
content?: string | null,
): void {
return addSegmentInternal(
false,
map,
genLine,
genColumn,
source,
sourceLine,
sourceColumn,
name,
content,
);
}
/**
* A high-level API to associate a generated position with an original source position. Line is
* 1-based, but column is 0-based, due to legacy behavior in `source-map` library.
*/
export function addMapping(
map: GenMapping,
mapping: {
generated: Pos;
source?: null;
original?: null;
name?: null;
content?: null;
},
): void;
export function addMapping(
map: GenMapping,
mapping: {
generated: Pos;
source: string;
original: Pos;
name?: null;
content?: string | null;
},
): void;
export function addMapping(
map: GenMapping,
mapping: {
generated: Pos;
source: string;
original: Pos;
name: string;
content?: string | null;
},
): void;
export function addMapping(
map: GenMapping,
mapping: {
generated: Pos;
source?: string | null;
original?: Pos | null;
name?: string | null;
content?: string | null;
},
): void {
return addMappingInternal(false, map, mapping as Parameters<typeof addMappingInternal>[2]);
}
/**
* Same as `addSegment`, but will only add the segment if it generates useful information in the
* resulting map. This only works correctly if segments are added **in order**, meaning you should
* not add a segment with a lower generated line/column than one that came before.
*/
export const maybeAddSegment: typeof addSegment = (
map,
genLine,
genColumn,
source,
sourceLine,
sourceColumn,
name,
content,
) => {
return addSegmentInternal(
true,
map,
genLine,
genColumn,
source,
sourceLine,
sourceColumn,
name,
content,
);
};
/**
* Same as `addMapping`, but will only add the mapping if it generates useful information in the
* resulting map. This only works correctly if mappings are added **in order**, meaning you should
* not add a mapping with a lower generated line/column than one that came before.
*/
export const maybeAddMapping: typeof addMapping = (map, mapping) => {
return addMappingInternal(true, map, mapping as Parameters<typeof addMappingInternal>[2]);
};
/**
* Adds/removes the content of the source file to the source map.
*/
export function setSourceContent(map: GenMapping, source: string, content: string | null): void {
const {
_sources: sources,
_sourcesContent: sourcesContent,
// _originalScopes: originalScopes,
} = cast(map);
const index = put(sources, source);
sourcesContent[index] = content;
// if (index === originalScopes.length) originalScopes[index] = [];
}
export function setIgnore(map: GenMapping, source: string, ignore = true) {
const {
_sources: sources,
_sourcesContent: sourcesContent,
_ignoreList: ignoreList,
// _originalScopes: originalScopes,
} = cast(map);
const index = put(sources, source);
if (index === sourcesContent.length) sourcesContent[index] = null;
// if (index === originalScopes.length) originalScopes[index] = [];
if (ignore) put(ignoreList, index);
else remove(ignoreList, index);
}
/**
* Returns a sourcemap object (with decoded mappings) suitable for passing to a library that expects
* a sourcemap, or to JSON.stringify.
*/
export function toDecodedMap(map: GenMapping): DecodedSourceMap {
const {
_mappings: mappings,
_sources: sources,
_sourcesContent: sourcesContent,
_names: names,
_ignoreList: ignoreList,
// _originalScopes: originalScopes,
// _generatedRanges: generatedRanges,
} = cast(map);
removeEmptyFinalLines(mappings);
return {
version: 3,
file: map.file || undefined,
names: names.array,
sourceRoot: map.sourceRoot || undefined,
sources: sources.array,
sourcesContent,
mappings,
// originalScopes,
// generatedRanges,
ignoreList: ignoreList.array,
};
}
/**
* Returns a sourcemap object (with encoded mappings) suitable for passing to a library that expects
* a sourcemap, or to JSON.stringify.
*/
export function toEncodedMap(map: GenMapping): EncodedSourceMap {
const decoded = toDecodedMap(map);
return Object.assign({}, decoded, {
// originalScopes: decoded.originalScopes.map((os) => encodeOriginalScopes(os)),
// generatedRanges: encodeGeneratedRanges(decoded.generatedRanges as GeneratedRange[]),
mappings: encode(decoded.mappings as SourceMapSegment[][]),
});
}
/**
* Constructs a new GenMapping, using the already present mappings of the input.
*/
export function fromMap(input: SourceMapInput): GenMapping {
const map = new TraceMap(input);
const gen = new GenMapping({ file: map.file, sourceRoot: map.sourceRoot });
putAll(cast(gen)._names, map.names);
putAll(cast(gen)._sources, map.sources as string[]);
cast(gen)._sourcesContent = map.sourcesContent || map.sources.map(() => null);
cast(gen)._mappings = decodedMappings(map) as GenMapping['_mappings'];
// TODO: implement originalScopes/generatedRanges
if (map.ignoreList) putAll(cast(gen)._ignoreList, map.ignoreList);
return gen;
}
/**
* Returns an array of high-level mapping objects for every recorded segment, which could then be
* passed to the `source-map` library.
*/
export function allMappings(map: GenMapping): Mapping[] {
const out: Mapping[] = [];
const { _mappings: mappings, _sources: sources, _names: names } = cast(map);
for (let i = 0; i < mappings.length; i++) {
const line = mappings[i];
for (let j = 0; j < line.length; j++) {
const seg = line[j];
const generated = { line: i + 1, column: seg[COLUMN] };
let source: string | undefined = undefined;
let original: Pos | undefined = undefined;
let name: string | undefined = undefined;
if (seg.length !== 1) {
source = sources.array[seg[SOURCES_INDEX]];
original = { line: seg[SOURCE_LINE] + 1, column: seg[SOURCE_COLUMN] };
if (seg.length === 5) name = names.array[seg[NAMES_INDEX]];
}
out.push({ generated, source, original, name } as Mapping);
}
}
return out;
}
// This split declaration is only so that terser can elminiate the static initialization block.
function addSegmentInternal<S extends string | null | undefined>(
skipable: boolean,
map: GenMapping,
genLine: number,
genColumn: number,
source: S,
sourceLine: S extends string ? number : null | undefined,
sourceColumn: S extends string ? number : null | undefined,
name: S extends string ? string | null | undefined : null | undefined,
content: S extends string ? string | null | undefined : null | undefined,
): void {
const {
_mappings: mappings,
_sources: sources,
_sourcesContent: sourcesContent,
_names: names,
// _originalScopes: originalScopes,
} = cast(map);
const line = getIndex(mappings, genLine);
const index = getColumnIndex(line, genColumn);
if (!source) {
if (skipable && skipSourceless(line, index)) return;
return insert(line, index, [genColumn]);
}
// Sigh, TypeScript can't figure out sourceLine and sourceColumn aren't nullish if source
// isn't nullish.
assert<number>(sourceLine);
assert<number>(sourceColumn);
const sourcesIndex = put(sources, source);
const namesIndex = name ? put(names, name) : NO_NAME;
if (sourcesIndex === sourcesContent.length) sourcesContent[sourcesIndex] = content ?? null;
// if (sourcesIndex === originalScopes.length) originalScopes[sourcesIndex] = [];
if (skipable && skipSource(line, index, sourcesIndex, sourceLine, sourceColumn, namesIndex)) {
return;
}
return insert(
line,
index,
name
? [genColumn, sourcesIndex, sourceLine, sourceColumn, namesIndex]
: [genColumn, sourcesIndex, sourceLine, sourceColumn],
);
}
function assert<T>(_val: unknown): asserts _val is T {
// noop.
}
function getIndex<T>(arr: T[][], index: number): T[] {
for (let i = arr.length; i <= index; i++) {
arr[i] = [];
}
return arr[index];
}
function getColumnIndex(line: SourceMapSegment[], genColumn: number): number {
let index = line.length;
for (let i = index - 1; i >= 0; index = i--) {
const current = line[i];
if (genColumn >= current[COLUMN]) break;
}
return index;
}
function insert<T>(array: T[], index: number, value: T) {
for (let i = array.length; i > index; i--) {
array[i] = array[i - 1];
}
array[index] = value;
}
function removeEmptyFinalLines(mappings: SourceMapSegment[][]) {
const { length } = mappings;
let len = length;
for (let i = len - 1; i >= 0; len = i, i--) {
if (mappings[i].length > 0) break;
}
if (len < length) mappings.length = len;
}
function putAll<T extends string | number>(setarr: SetArray<T>, array: T[]) {
for (let i = 0; i < array.length; i++) put(setarr, array[i]);
}
function skipSourceless(line: SourceMapSegment[], index: number): boolean {
// The start of a line is already sourceless, so adding a sourceless segment to the beginning
// doesn't generate any useful information.
if (index === 0) return true;
const prev = line[index - 1];
// If the previous segment is also sourceless, then adding another sourceless segment doesn't
// genrate any new information. Else, this segment will end the source/named segment and point to
// a sourceless position, which is useful.
return prev.length === 1;
}
function skipSource(
line: SourceMapSegment[],
index: number,
sourcesIndex: number,
sourceLine: number,
sourceColumn: number,
namesIndex: number,
): boolean {
// A source/named segment at the start of a line gives position at that genColumn
if (index === 0) return false;
const prev = line[index - 1];
// If the previous segment is sourceless, then we're transitioning to a source.
if (prev.length === 1) return false;
// If the previous segment maps to the exact same source position, then this segment doesn't
// provide any new position information.
return (
sourcesIndex === prev[SOURCES_INDEX] &&
sourceLine === prev[SOURCE_LINE] &&
sourceColumn === prev[SOURCE_COLUMN] &&
namesIndex === (prev.length === 5 ? prev[NAMES_INDEX] : NO_NAME)
);
}
function addMappingInternal<S extends string | null | undefined>(
skipable: boolean,
map: GenMapping,
mapping: {
generated: Pos;
source: S;
original: S extends string ? Pos : null | undefined;
name: S extends string ? string | null | undefined : null | undefined;
content: S extends string ? string | null | undefined : null | undefined;
},
) {
const { generated, source, original, name, content } = mapping;
if (!source) {
return addSegmentInternal(
skipable,
map,
generated.line - 1,
generated.column,
null,
null,
null,
null,
null,
);
}
assert<Pos>(original);
return addSegmentInternal(
skipable,
map,
generated.line - 1,
generated.column,
source as string,
original.line - 1,
original.column,
name,
content,
);
}
/*
export function addOriginalScope(
map: GenMapping,
data: {
start: Pos;
end: Pos;
source: string;
kind: string;
name?: string;
variables?: string[];
},
): OriginalScopeInfo {
const { start, end, source, kind, name, variables } = data;
const {
_sources: sources,
_sourcesContent: sourcesContent,
_originalScopes: originalScopes,
_names: names,
} = cast(map);
const index = put(sources, source);
if (index === sourcesContent.length) sourcesContent[index] = null;
if (index === originalScopes.length) originalScopes[index] = [];
const kindIndex = put(names, kind);
const scope: OriginalScope = name
? [start.line - 1, start.column, end.line - 1, end.column, kindIndex, put(names, name)]
: [start.line - 1, start.column, end.line - 1, end.column, kindIndex];
if (variables) {
scope.vars = variables.map((v) => put(names, v));
}
const len = originalScopes[index].push(scope);
return [index, len - 1, variables];
}
*/
// Generated Ranges
/*
export function addGeneratedRange(
map: GenMapping,
data: {
start: Pos;
isScope: boolean;
originalScope?: OriginalScopeInfo;
callsite?: OriginalPos;
},
): GeneratedRangeInfo {
const { start, isScope, originalScope, callsite } = data;
const {
_originalScopes: originalScopes,
_sources: sources,
_sourcesContent: sourcesContent,
_generatedRanges: generatedRanges,
} = cast(map);
const range: GeneratedRange = [
start.line - 1,
start.column,
0,
0,
originalScope ? originalScope[0] : -1,
originalScope ? originalScope[1] : -1,
];
if (originalScope?.[2]) {
range.bindings = originalScope[2].map(() => [[-1]]);
}
if (callsite) {
const index = put(sources, callsite.source);
if (index === sourcesContent.length) sourcesContent[index] = null;
if (index === originalScopes.length) originalScopes[index] = [];
range.callsite = [index, callsite.line - 1, callsite.column];
}
if (isScope) range.isScope = true;
generatedRanges.push(range);
return [range, originalScope?.[2]];
}
export function setEndPosition(range: GeneratedRangeInfo, pos: Pos) {
range[0][2] = pos.line - 1;
range[0][3] = pos.column;
}
export function addBinding(
map: GenMapping,
range: GeneratedRangeInfo,
variable: string,
expression: string | BindingExpressionRange,
) {
const { _names: names } = cast(map);
const bindings = (range[0].bindings ||= []);
const vars = range[1];
const index = vars!.indexOf(variable);
const binding = getIndex(bindings, index);
if (typeof expression === 'string') binding[0] = [put(names, expression)];
else {
const { start } = expression;
binding.push([put(names, expression.expression), start.line - 1, start.column]);
}
}
*/

View File

@@ -0,0 +1,9 @@
// This file is generated automatically by `scripts/build/fp.ts`. Please, don't change it.
import { nextFriday as fn } from "../nextFriday.js";
import { convertToFP } from "./_lib/convertToFP.js";
export const nextFriday = convertToFP(fn, 1);
// Fallback for modularized imports:
export default nextFriday;

View File

@@ -0,0 +1,6 @@
parserOptions:
ecmaVersion: 6
globals:
beforeEach: false
describe: false
it: false

View File

@@ -0,0 +1,46 @@
import { entityKind } from "../../entity.js";
import { QueryPromise } from "../../query-promise.js";
import { type BuildQueryResult, type DBQueryConfig, type TableRelationalConfig, type TablesRelationalConfig } from "../../relations.js";
import type { RunnableQuery } from "../../runnable-query.js";
import type { Query, SQLWrapper } from "../../sql/sql.js";
import type { KnownKeysOnly } from "../../utils.js";
import type { GelDialect } from "../dialect.js";
import type { GelPreparedQuery, GelSession, PreparedQueryConfig } from "../session.js";
import type { GelTable } from "../table.js";
export declare class RelationalQueryBuilder<TSchema extends TablesRelationalConfig, TFields extends TableRelationalConfig> {
private fullSchema;
private schema;
private tableNamesMap;
private table;
private tableConfig;
private dialect;
private session;
static readonly [entityKind]: string;
constructor(fullSchema: Record<string, unknown>, schema: TSchema, tableNamesMap: Record<string, string>, table: GelTable, tableConfig: TableRelationalConfig, dialect: GelDialect, session: GelSession);
findMany<TConfig extends DBQueryConfig<'many', true, TSchema, TFields>>(config?: KnownKeysOnly<TConfig, DBQueryConfig<'many', true, TSchema, TFields>>): GelRelationalQuery<BuildQueryResult<TSchema, TFields, TConfig>[]>;
findFirst<TSelection extends Omit<DBQueryConfig<'many', true, TSchema, TFields>, 'limit'>>(config?: KnownKeysOnly<TSelection, Omit<DBQueryConfig<'many', true, TSchema, TFields>, 'limit'>>): GelRelationalQuery<BuildQueryResult<TSchema, TFields, TSelection> | undefined>;
}
export declare class GelRelationalQuery<TResult> extends QueryPromise<TResult> implements RunnableQuery<TResult, 'gel'>, SQLWrapper {
private fullSchema;
private schema;
private tableNamesMap;
private table;
private tableConfig;
private dialect;
private session;
private config;
private mode;
static readonly [entityKind]: string;
readonly _: {
readonly dialect: 'gel';
readonly result: TResult;
};
constructor(fullSchema: Record<string, unknown>, schema: TablesRelationalConfig, tableNamesMap: Record<string, string>, table: GelTable, tableConfig: TableRelationalConfig, dialect: GelDialect, session: GelSession, config: DBQueryConfig<'many', true> | true, mode: 'many' | 'first');
prepare(name: string): GelPreparedQuery<PreparedQueryConfig & {
execute: TResult;
}>;
private _getQuery;
private _toSQL;
toSQL(): Query;
execute(): Promise<TResult>;
}

View File

@@ -0,0 +1,69 @@
"use strict";
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
var float_exports = {};
__export(float_exports, {
MySqlFloat: () => MySqlFloat,
MySqlFloatBuilder: () => MySqlFloatBuilder,
float: () => float
});
module.exports = __toCommonJS(float_exports);
var import_entity = require("../../entity.cjs");
var import_utils = require("../../utils.cjs");
var import_common = require("./common.cjs");
class MySqlFloatBuilder extends import_common.MySqlColumnBuilderWithAutoIncrement {
static [import_entity.entityKind] = "MySqlFloatBuilder";
constructor(name, config) {
super(name, "number", "MySqlFloat");
this.config.precision = config?.precision;
this.config.scale = config?.scale;
this.config.unsigned = config?.unsigned;
}
/** @internal */
build(table) {
return new MySqlFloat(table, this.config);
}
}
class MySqlFloat extends import_common.MySqlColumnWithAutoIncrement {
static [import_entity.entityKind] = "MySqlFloat";
precision = this.config.precision;
scale = this.config.scale;
unsigned = this.config.unsigned;
getSQLType() {
let type = "";
if (this.precision !== void 0 && this.scale !== void 0) {
type += `float(${this.precision},${this.scale})`;
} else if (this.precision === void 0) {
type += "float";
} else {
type += `float(${this.precision})`;
}
return this.unsigned ? `${type} unsigned` : type;
}
}
function float(a, b) {
const { name, config } = (0, import_utils.getColumnNameAndConfig)(a, b);
return new MySqlFloatBuilder(name, config);
}
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
MySqlFloat,
MySqlFloatBuilder,
float
});
//# sourceMappingURL=float.cjs.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"wifi.js","sources":["../../../src/icons/wifi.ts"],"sourcesContent":["import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name Wifi\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMjBoLjAxIiAvPgogIDxwYXRoIGQ9Ik0yIDguODJhMTUgMTUgMCAwIDEgMjAgMCIgLz4KICA8cGF0aCBkPSJNNSAxMi44NTlhMTAgMTAgMCAwIDEgMTQgMCIgLz4KICA8cGF0aCBkPSJNOC41IDE2LjQyOWE1IDUgMCAwIDEgNyAwIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/wifi\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Wifi = createLucideIcon('Wifi', [\n ['path', { d: 'M12 20h.01', key: 'zekei9' }],\n ['path', { d: 'M2 8.82a15 15 0 0 1 20 0', key: 'dnpr2z' }],\n ['path', { d: 'M5 12.859a10 10 0 0 1 14 0', key: '1x1e6c' }],\n ['path', { d: 'M8.5 16.429a5 5 0 0 1 7 0', key: '1bycff' }],\n]);\n\nexport default Wifi;\n"],"names":[],"mappings":";;;;;;;;;AAaM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,iBAAiB,MAAQ,CAAA,CAAA,CAAA;AAAA,CAAA,CACpC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAE,GAAG,CAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,UAAU,CAAA,CAAA;AAAA,CAAA,CAC3C,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAE,GAAG,CAA4B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,UAAU,CAAA,CAAA;AAAA,CAAA,CACzD,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAE,GAAG,CAA8B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,UAAU,CAAA,CAAA;AAAA,CAAA,CAC3D,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAE,GAAG,CAA6B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,UAAU,CAAA;AAC5D,CAAC,CAAA,CAAA;;"}

View File

@@ -0,0 +1,5 @@
import type { Database } from 'sql.js';
import { BaseSQLiteDatabase } from "../sqlite-core/db.cjs";
import type { DrizzleConfig } from "../utils.cjs";
export type SQLJsDatabase<TSchema extends Record<string, unknown> = Record<string, never>> = BaseSQLiteDatabase<'sync', void, TSchema>;
export declare function drizzle<TSchema extends Record<string, unknown> = Record<string, never>>(client: Database, config?: DrizzleConfig<TSchema>): SQLJsDatabase<TSchema>;

View File

@@ -0,0 +1,51 @@
"use strict";
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
var sqlite_core_exports = {};
module.exports = __toCommonJS(sqlite_core_exports);
__reExport(sqlite_core_exports, require("./alias.cjs"), module.exports);
__reExport(sqlite_core_exports, require("./checks.cjs"), module.exports);
__reExport(sqlite_core_exports, require("./columns/index.cjs"), module.exports);
__reExport(sqlite_core_exports, require("./db.cjs"), module.exports);
__reExport(sqlite_core_exports, require("./dialect.cjs"), module.exports);
__reExport(sqlite_core_exports, require("./foreign-keys.cjs"), module.exports);
__reExport(sqlite_core_exports, require("./indexes.cjs"), module.exports);
__reExport(sqlite_core_exports, require("./primary-keys.cjs"), module.exports);
__reExport(sqlite_core_exports, require("./query-builders/index.cjs"), module.exports);
__reExport(sqlite_core_exports, require("./session.cjs"), module.exports);
__reExport(sqlite_core_exports, require("./subquery.cjs"), module.exports);
__reExport(sqlite_core_exports, require("./table.cjs"), module.exports);
__reExport(sqlite_core_exports, require("./unique-constraint.cjs"), module.exports);
__reExport(sqlite_core_exports, require("./utils.cjs"), module.exports);
__reExport(sqlite_core_exports, require("./view.cjs"), module.exports);
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
...require("./alias.cjs"),
...require("./checks.cjs"),
...require("./columns/index.cjs"),
...require("./db.cjs"),
...require("./dialect.cjs"),
...require("./foreign-keys.cjs"),
...require("./indexes.cjs"),
...require("./primary-keys.cjs"),
...require("./query-builders/index.cjs"),
...require("./session.cjs"),
...require("./subquery.cjs"),
...require("./table.cjs"),
...require("./unique-constraint.cjs"),
...require("./utils.cjs"),
...require("./view.cjs")
});
//# sourceMappingURL=index.cjs.map

View File

@@ -0,0 +1,168 @@
import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js";
const eraValues = {
narrow: ["eaa.", "jaa."],
abbreviated: ["eaa.", "jaa."],
wide: ["ennen ajanlaskun alkua", "jälkeen ajanlaskun alun"],
};
const quarterValues = {
narrow: ["1", "2", "3", "4"],
abbreviated: ["Q1", "Q2", "Q3", "Q4"],
wide: ["1. kvartaali", "2. kvartaali", "3. kvartaali", "4. kvartaali"],
};
const monthValues = {
narrow: ["T", "H", "M", "H", "T", "K", "H", "E", "S", "L", "M", "J"],
abbreviated: [
"tammi",
"helmi",
"maalis",
"huhti",
"touko",
"kesä",
"heinä",
"elo",
"syys",
"loka",
"marras",
"joulu",
],
wide: [
"tammikuu",
"helmikuu",
"maaliskuu",
"huhtikuu",
"toukokuu",
"kesäkuu",
"heinäkuu",
"elokuu",
"syyskuu",
"lokakuu",
"marraskuu",
"joulukuu",
],
};
const formattingMonthValues = {
narrow: monthValues.narrow,
abbreviated: monthValues.abbreviated,
wide: [
"tammikuuta",
"helmikuuta",
"maaliskuuta",
"huhtikuuta",
"toukokuuta",
"kesäkuuta",
"heinäkuuta",
"elokuuta",
"syyskuuta",
"lokakuuta",
"marraskuuta",
"joulukuuta",
],
};
const dayValues = {
narrow: ["S", "M", "T", "K", "T", "P", "L"],
short: ["su", "ma", "ti", "ke", "to", "pe", "la"],
abbreviated: ["sunn.", "maan.", "tiis.", "kesk.", "torst.", "perj.", "la"],
wide: [
"sunnuntai",
"maanantai",
"tiistai",
"keskiviikko",
"torstai",
"perjantai",
"lauantai",
],
};
const formattingDayValues = {
narrow: dayValues.narrow,
short: dayValues.short,
abbreviated: dayValues.abbreviated,
wide: [
"sunnuntaina",
"maanantaina",
"tiistaina",
"keskiviikkona",
"torstaina",
"perjantaina",
"lauantaina",
],
};
const dayPeriodValues = {
narrow: {
am: "ap",
pm: "ip",
midnight: "keskiyö",
noon: "keskipäivä",
morning: "ap",
afternoon: "ip",
evening: "illalla",
night: "yöllä",
},
abbreviated: {
am: "ap",
pm: "ip",
midnight: "keskiyö",
noon: "keskipäivä",
morning: "ap",
afternoon: "ip",
evening: "illalla",
night: "yöllä",
},
wide: {
am: "ap",
pm: "ip",
midnight: "keskiyöllä",
noon: "keskipäivällä",
morning: "aamupäivällä",
afternoon: "iltapäivällä",
evening: "illalla",
night: "yöllä",
},
};
const ordinalNumber = (dirtyNumber, _options) => {
const number = Number(dirtyNumber);
return number + ".";
};
export const localize = {
ordinalNumber,
era: buildLocalizeFn({
values: eraValues,
defaultWidth: "wide",
}),
quarter: buildLocalizeFn({
values: quarterValues,
defaultWidth: "wide",
argumentCallback: (quarter) => quarter - 1,
}),
month: buildLocalizeFn({
values: monthValues,
defaultWidth: "wide",
formattingValues: formattingMonthValues,
defaultFormattingWidth: "wide",
}),
day: buildLocalizeFn({
values: dayValues,
defaultWidth: "wide",
formattingValues: formattingDayValues,
defaultFormattingWidth: "wide",
}),
dayPeriod: buildLocalizeFn({
values: dayPeriodValues,
defaultWidth: "wide",
}),
};

View File

@@ -0,0 +1,20 @@
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports.default = nextUntil;
var _collectSiblings = _interopRequireDefault(require("./collectSiblings"));
/**
* Collects all next sibling elements of an element until a given selector is matched.
*
* @param node the referene node
* @param selector the selector to match
*/
function nextUntil(node, selector) {
return (0, _collectSiblings.default)(node, node, selector);
}
module.exports = exports["default"];

View File

@@ -0,0 +1,32 @@
var isSymbol = require('./isSymbol');
/**
* The base implementation of methods like `_.max` and `_.min` which accepts a
* `comparator` to determine the extremum value.
*
* @private
* @param {Array} array The array to iterate over.
* @param {Function} iteratee The iteratee invoked per iteration.
* @param {Function} comparator The comparator used to compare values.
* @returns {*} Returns the extremum value.
*/
function baseExtremum(array, iteratee, comparator) {
var index = -1,
length = array.length;
while (++index < length) {
var value = array[index],
current = iteratee(value);
if (current != null && (computed === undefined
? (current === current && !isSymbol(current))
: comparator(current, computed)
)) {
var computed = current,
result = value;
}
}
return result;
}
module.exports = baseExtremum;

View File

@@ -0,0 +1,25 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = _classApplyDescriptorDestructureSet;
function _classApplyDescriptorDestructureSet(receiver, descriptor) {
if (descriptor.set) {
if (!("__destrObj" in descriptor)) {
descriptor.__destrObj = {
set value(v) {
descriptor.set.call(receiver, v);
}
};
}
return descriptor.__destrObj;
} else {
if (!descriptor.writable) {
throw new TypeError("attempted to set read only private field");
}
return descriptor;
}
}
//# sourceMappingURL=classApplyDescriptorDestructureSet.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"metadata.js","names":["getTranslation","generateMetadata","generateVersionsViewMetadata","collectionConfig","config","globalConfig","i18n","t","entityLabel","labels","singular","label","metaToUse","admin","meta","data","useAsTitle","titleFromData","description","documentTitle","entitySlug","slug","title","components","views","edit","versions","serverURL"],"sources":["../../../src/views/Versions/metadata.ts"],"sourcesContent":["import type { Metadata } from 'next'\nimport type { MetaConfig } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\n\nimport type { GenerateEditViewMetadata } from '../Document/getMetaBySegment.js'\n\nimport { generateMetadata } from '../../utilities/meta.js'\n\n/**\n * @todo Remove the `MetaConfig` type assertions. They are currently required because of how the `Metadata` type from `next` consumes the `URL` type.\n */\nexport const generateVersionsViewMetadata: GenerateEditViewMetadata = async ({\n collectionConfig,\n config,\n globalConfig,\n i18n,\n}): Promise<Metadata> => {\n const { t } = i18n\n\n const entityLabel = collectionConfig\n ? getTranslation(collectionConfig.labels.singular, i18n)\n : globalConfig\n ? getTranslation(globalConfig.label, i18n)\n : ''\n\n let metaToUse: MetaConfig = {\n ...(config.admin.meta || {}),\n }\n\n const data: any = {} // TODO: figure this out\n\n if (collectionConfig) {\n const useAsTitle = collectionConfig?.admin?.useAsTitle || 'id'\n const titleFromData = data?.[useAsTitle]\n\n metaToUse = {\n ...(config.admin.meta || {}),\n description: t('version:viewingVersions', {\n documentTitle: data?.[useAsTitle],\n entitySlug: collectionConfig.slug,\n }),\n title: `${t('version:versions')}${titleFromData ? ` - ${titleFromData}` : ''} - ${entityLabel}`,\n ...(collectionConfig?.admin.meta || {}),\n ...(collectionConfig?.admin?.components?.views?.edit?.versions?.meta || {}),\n }\n }\n\n if (globalConfig) {\n metaToUse = {\n ...(config.admin.meta || {}),\n description: t('version:viewingVersionsGlobal', { entitySlug: globalConfig.slug }),\n title: `${t('version:versions')} - ${entityLabel}`,\n ...((globalConfig?.admin.meta || {}) as MetaConfig),\n ...((globalConfig?.admin?.components?.views?.edit?.versions?.meta || {}) as MetaConfig),\n }\n }\n\n return generateMetadata({\n ...metaToUse,\n serverURL: config.serverURL,\n })\n}\n"],"mappings":"AAGA,SAASA,cAAc,QAAQ;AAI/B,SAASC,gBAAgB,QAAQ;AAEjC;;;AAGA,OAAO,MAAMC,4BAAA,GAAyD,MAAAA,CAAO;EAC3EC,gBAAgB;EAChBC,MAAM;EACNC,YAAY;EACZC;AAAI,CACL;EACC,MAAM;IAAEC;EAAC,CAAE,GAAGD,IAAA;EAEd,MAAME,WAAA,GAAcL,gBAAA,GAChBH,cAAA,CAAeG,gBAAA,CAAiBM,MAAM,CAACC,QAAQ,EAAEJ,IAAA,IACjDD,YAAA,GACEL,cAAA,CAAeK,YAAA,CAAaM,KAAK,EAAEL,IAAA,IACnC;EAEN,IAAIM,SAAA,GAAwB;IAC1B,IAAIR,MAAA,CAAOS,KAAK,CAACC,IAAI,IAAI,CAAC,CAAC;EAC7B;EAEA,MAAMC,IAAA,GAAY,CAAC,EAAE;AAAA;EAErB,IAAIZ,gBAAA,EAAkB;IACpB,MAAMa,UAAA,GAAab,gBAAA,EAAkBU,KAAA,EAAOG,UAAA,IAAc;IAC1D,MAAMC,aAAA,GAAgBF,IAAA,GAAOC,UAAA,CAAW;IAExCJ,SAAA,GAAY;MACV,IAAIR,MAAA,CAAOS,KAAK,CAACC,IAAI,IAAI,CAAC,CAAC;MAC3BI,WAAA,EAAaX,CAAA,CAAE,2BAA2B;QACxCY,aAAA,EAAeJ,IAAA,GAAOC,UAAA,CAAW;QACjCI,UAAA,EAAYjB,gBAAA,CAAiBkB;MAC/B;MACAC,KAAA,EAAO,GAAGf,CAAA,CAAE,sBAAsBU,aAAA,GAAgB,MAAMA,aAAA,EAAe,GAAG,QAAQT,WAAA,EAAa;MAC/F,IAAIL,gBAAA,EAAkBU,KAAA,CAAMC,IAAA,IAAQ,CAAC,CAAC;MACtC,IAAIX,gBAAA,EAAkBU,KAAA,EAAOU,UAAA,EAAYC,KAAA,EAAOC,IAAA,EAAMC,QAAA,EAAUZ,IAAA,IAAQ,CAAC,CAAC;IAC5E;EACF;EAEA,IAAIT,YAAA,EAAc;IAChBO,SAAA,GAAY;MACV,IAAIR,MAAA,CAAOS,KAAK,CAACC,IAAI,IAAI,CAAC,CAAC;MAC3BI,WAAA,EAAaX,CAAA,CAAE,iCAAiC;QAAEa,UAAA,EAAYf,YAAA,CAAagB;MAAK;MAChFC,KAAA,EAAO,GAAGf,CAAA,CAAE,yBAAyBC,WAAA,EAAa;MAClD,IAAKH,YAAA,EAAcQ,KAAA,CAAMC,IAAA,IAAQ,CAAC,CAAC;MACnC,IAAKT,YAAA,EAAcQ,KAAA,EAAOU,UAAA,EAAYC,KAAA,EAAOC,IAAA,EAAMC,QAAA,EAAUZ,IAAA,IAAQ,CAAC,CAAC;IACzE;EACF;EAEA,OAAOb,gBAAA,CAAiB;IACtB,GAAGW,SAAS;IACZe,SAAA,EAAWvB,MAAA,CAAOuB;EACpB;AACF","ignoreList":[]}

View File

@@ -0,0 +1,104 @@
"use strict";
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
var common_exports = {};
__export(common_exports, {
MySqlColumn: () => MySqlColumn,
MySqlColumnBuilder: () => MySqlColumnBuilder,
MySqlColumnBuilderWithAutoIncrement: () => MySqlColumnBuilderWithAutoIncrement,
MySqlColumnWithAutoIncrement: () => MySqlColumnWithAutoIncrement
});
module.exports = __toCommonJS(common_exports);
var import_column_builder = require("../../column-builder.cjs");
var import_column = require("../../column.cjs");
var import_entity = require("../../entity.cjs");
var import_foreign_keys = require("../foreign-keys.cjs");
var import_unique_constraint = require("../unique-constraint.cjs");
class MySqlColumnBuilder extends import_column_builder.ColumnBuilder {
static [import_entity.entityKind] = "MySqlColumnBuilder";
foreignKeyConfigs = [];
references(ref, actions = {}) {
this.foreignKeyConfigs.push({ ref, actions });
return this;
}
unique(name) {
this.config.isUnique = true;
this.config.uniqueName = name;
return this;
}
generatedAlwaysAs(as, config) {
this.config.generated = {
as,
type: "always",
mode: config?.mode ?? "virtual"
};
return this;
}
/** @internal */
buildForeignKeys(column, table) {
return this.foreignKeyConfigs.map(({ ref, actions }) => {
return ((ref2, actions2) => {
const builder = new import_foreign_keys.ForeignKeyBuilder(() => {
const foreignColumn = ref2();
return { columns: [column], foreignColumns: [foreignColumn] };
});
if (actions2.onUpdate) {
builder.onUpdate(actions2.onUpdate);
}
if (actions2.onDelete) {
builder.onDelete(actions2.onDelete);
}
return builder.build(table);
})(ref, actions);
});
}
}
class MySqlColumn extends import_column.Column {
constructor(table, config) {
if (!config.uniqueName) {
config.uniqueName = (0, import_unique_constraint.uniqueKeyName)(table, [config.name]);
}
super(table, config);
this.table = table;
}
static [import_entity.entityKind] = "MySqlColumn";
}
class MySqlColumnBuilderWithAutoIncrement extends MySqlColumnBuilder {
static [import_entity.entityKind] = "MySqlColumnBuilderWithAutoIncrement";
constructor(name, dataType, columnType) {
super(name, dataType, columnType);
this.config.autoIncrement = false;
}
autoincrement() {
this.config.autoIncrement = true;
this.config.hasDefault = true;
return this;
}
}
class MySqlColumnWithAutoIncrement extends MySqlColumn {
static [import_entity.entityKind] = "MySqlColumnWithAutoIncrement";
autoIncrement = this.config.autoIncrement;
}
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
MySqlColumn,
MySqlColumnBuilder,
MySqlColumnBuilderWithAutoIncrement,
MySqlColumnWithAutoIncrement
});
//# sourceMappingURL=common.cjs.map

View File

@@ -0,0 +1,2 @@
const e=require(`../../utils/format-fields.cjs`);function t(t){return()=>{let n=t();return n.method===`GET`&&n.params&&(n.method=`SEARCH`,n.body=JSON.stringify({query:{...n.params,fields:e.formatFields(n.params.fields??[])}}),delete n.params),n}}exports.withSearch=t;
//# sourceMappingURL=with-search.cjs.map

View File

@@ -0,0 +1,19 @@
/**
* NOTE: the `graphql/subscription` module has been deprecated with its
* exported functions integrated into the `graphql/execution` module, to
* better conform with the terminology of the GraphQL specification.
*
* For backwards compatibility, the `graphql/subscription` module
* currently re-exports the moved functions from the `graphql/execution`
* module. In the next major release, the `graphql/subscription` module
* will be dropped entirely.
*/
import type { ExecutionArgs } from '../execution/execute';
/**
* @deprecated use ExecutionArgs instead. Will be removed in v17
*
* ExecutionArgs has been broadened to include all properties within SubscriptionArgs.
* The SubscriptionArgs type is retained for backwards compatibility.
*/
export interface SubscriptionArgs extends ExecutionArgs {}
export { subscribe, createSourceEventStream } from '../execution/subscribe';

View File

@@ -0,0 +1 @@
{"version":3,"file":"deepRequired.js","sourceRoot":"","sources":["../../src/keywords/deepRequired.ts"],"names":[],"mappings":";;;;;AACA,+EAAgD;AAEhD,MAAM,YAAY,GAAsB,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,IAAA,sBAAM,GAAE,CAAC,CAAA;AAEzE,kBAAe,YAAY,CAAA;AAC3B,MAAM,CAAC,OAAO,GAAG,YAAY,CAAA"}

View File

@@ -0,0 +1,257 @@
import { stat, lstat, readdir, realpath } from 'node:fs/promises';
import { Readable } from 'node:stream';
import { resolve as presolve, relative as prelative, join as pjoin, sep as psep } from 'node:path';
export const EntryTypes = {
FILE_TYPE: 'files',
DIR_TYPE: 'directories',
FILE_DIR_TYPE: 'files_directories',
EVERYTHING_TYPE: 'all',
};
const defaultOptions = {
root: '.',
fileFilter: (_entryInfo) => true,
directoryFilter: (_entryInfo) => true,
type: EntryTypes.FILE_TYPE,
lstat: false,
depth: 2147483648,
alwaysStat: false,
highWaterMark: 4096,
};
Object.freeze(defaultOptions);
const RECURSIVE_ERROR_CODE = 'READDIRP_RECURSIVE_ERROR';
const NORMAL_FLOW_ERRORS = new Set(['ENOENT', 'EPERM', 'EACCES', 'ELOOP', RECURSIVE_ERROR_CODE]);
const ALL_TYPES = [
EntryTypes.DIR_TYPE,
EntryTypes.EVERYTHING_TYPE,
EntryTypes.FILE_DIR_TYPE,
EntryTypes.FILE_TYPE,
];
const DIR_TYPES = new Set([
EntryTypes.DIR_TYPE,
EntryTypes.EVERYTHING_TYPE,
EntryTypes.FILE_DIR_TYPE,
]);
const FILE_TYPES = new Set([
EntryTypes.EVERYTHING_TYPE,
EntryTypes.FILE_DIR_TYPE,
EntryTypes.FILE_TYPE,
]);
const isNormalFlowError = (error) => NORMAL_FLOW_ERRORS.has(error.code);
const wantBigintFsStats = process.platform === 'win32';
const emptyFn = (_entryInfo) => true;
const normalizeFilter = (filter) => {
if (filter === undefined)
return emptyFn;
if (typeof filter === 'function')
return filter;
if (typeof filter === 'string') {
const fl = filter.trim();
return (entry) => entry.basename === fl;
}
if (Array.isArray(filter)) {
const trItems = filter.map((item) => item.trim());
return (entry) => trItems.some((f) => entry.basename === f);
}
return emptyFn;
};
/** Readable readdir stream, emitting new files as they're being listed. */
export class ReaddirpStream extends Readable {
constructor(options = {}) {
super({
objectMode: true,
autoDestroy: true,
highWaterMark: options.highWaterMark,
});
const opts = { ...defaultOptions, ...options };
const { root, type } = opts;
this._fileFilter = normalizeFilter(opts.fileFilter);
this._directoryFilter = normalizeFilter(opts.directoryFilter);
const statMethod = opts.lstat ? lstat : stat;
// Use bigint stats if it's windows and stat() supports options (node 10+).
if (wantBigintFsStats) {
this._stat = (path) => statMethod(path, { bigint: true });
}
else {
this._stat = statMethod;
}
this._maxDepth = opts.depth ?? defaultOptions.depth;
this._wantsDir = type ? DIR_TYPES.has(type) : false;
this._wantsFile = type ? FILE_TYPES.has(type) : false;
this._wantsEverything = type === EntryTypes.EVERYTHING_TYPE;
this._root = presolve(root);
this._isDirent = !opts.alwaysStat;
this._statsProp = this._isDirent ? 'dirent' : 'stats';
this._rdOptions = { encoding: 'utf8', withFileTypes: this._isDirent };
// Launch stream with one parent, the root dir.
this.parents = [this._exploreDir(root, 1)];
this.reading = false;
this.parent = undefined;
}
async _read(batch) {
if (this.reading)
return;
this.reading = true;
try {
while (!this.destroyed && batch > 0) {
const par = this.parent;
const fil = par && par.files;
if (fil && fil.length > 0) {
const { path, depth } = par;
const slice = fil.splice(0, batch).map((dirent) => this._formatEntry(dirent, path));
const awaited = await Promise.all(slice);
for (const entry of awaited) {
if (!entry)
continue;
if (this.destroyed)
return;
const entryType = await this._getEntryType(entry);
if (entryType === 'directory' && this._directoryFilter(entry)) {
if (depth <= this._maxDepth) {
this.parents.push(this._exploreDir(entry.fullPath, depth + 1));
}
if (this._wantsDir) {
this.push(entry);
batch--;
}
}
else if ((entryType === 'file' || this._includeAsFile(entry)) &&
this._fileFilter(entry)) {
if (this._wantsFile) {
this.push(entry);
batch--;
}
}
}
}
else {
const parent = this.parents.pop();
if (!parent) {
this.push(null);
break;
}
this.parent = await parent;
if (this.destroyed)
return;
}
}
}
catch (error) {
this.destroy(error);
}
finally {
this.reading = false;
}
}
async _exploreDir(path, depth) {
let files;
try {
files = await readdir(path, this._rdOptions);
}
catch (error) {
this._onError(error);
}
return { files, depth, path };
}
async _formatEntry(dirent, path) {
let entry;
const basename = this._isDirent ? dirent.name : dirent;
try {
const fullPath = presolve(pjoin(path, basename));
entry = { path: prelative(this._root, fullPath), fullPath, basename };
entry[this._statsProp] = this._isDirent ? dirent : await this._stat(fullPath);
}
catch (err) {
this._onError(err);
return;
}
return entry;
}
_onError(err) {
if (isNormalFlowError(err) && !this.destroyed) {
this.emit('warn', err);
}
else {
this.destroy(err);
}
}
async _getEntryType(entry) {
// entry may be undefined, because a warning or an error were emitted
// and the statsProp is undefined
if (!entry && this._statsProp in entry) {
return '';
}
const stats = entry[this._statsProp];
if (stats.isFile())
return 'file';
if (stats.isDirectory())
return 'directory';
if (stats && stats.isSymbolicLink()) {
const full = entry.fullPath;
try {
const entryRealPath = await realpath(full);
const entryRealPathStats = await lstat(entryRealPath);
if (entryRealPathStats.isFile()) {
return 'file';
}
if (entryRealPathStats.isDirectory()) {
const len = entryRealPath.length;
if (full.startsWith(entryRealPath) && full.substr(len, 1) === psep) {
const recursiveError = new Error(`Circular symlink detected: "${full}" points to "${entryRealPath}"`);
// @ts-ignore
recursiveError.code = RECURSIVE_ERROR_CODE;
return this._onError(recursiveError);
}
return 'directory';
}
}
catch (error) {
this._onError(error);
return '';
}
}
}
_includeAsFile(entry) {
const stats = entry && entry[this._statsProp];
return stats && this._wantsEverything && !stats.isDirectory();
}
}
/**
* Streaming version: Reads all files and directories in given root recursively.
* Consumes ~constant small amount of RAM.
* @param root Root directory
* @param options Options to specify root (start directory), filters and recursion depth
*/
export function readdirp(root, options = {}) {
// @ts-ignore
let type = options.entryType || options.type;
if (type === 'both')
type = EntryTypes.FILE_DIR_TYPE; // backwards-compatibility
if (type)
options.type = type;
if (!root) {
throw new Error('readdirp: root argument is required. Usage: readdirp(root, options)');
}
else if (typeof root !== 'string') {
throw new TypeError('readdirp: root argument must be a string. Usage: readdirp(root, options)');
}
else if (type && !ALL_TYPES.includes(type)) {
throw new Error(`readdirp: Invalid type passed. Use one of ${ALL_TYPES.join(', ')}`);
}
options.root = root;
return new ReaddirpStream(options);
}
/**
* Promise version: Reads all files and directories in given root recursively.
* Compared to streaming version, will consume a lot of RAM e.g. when 1 million files are listed.
* @returns array of paths and their entry infos
*/
export function readdirpPromise(root, options = {}) {
return new Promise((resolve, reject) => {
const files = [];
readdirp(root, options)
.on('data', (entry) => files.push(entry))
.on('end', () => resolve(files))
.on('error', (error) => reject(error));
});
}
export default readdirp;

View File

@@ -0,0 +1 @@
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Localizer/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAOvC,OAAO,cAAc,CAAA;AAKrB,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAoFA,CAAA"}

View File

@@ -0,0 +1,64 @@
/**
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*
* @flow strict
*/
import type {LexicalCommand, LexicalEditor, NodeKey, TextNode} from 'lexical';
import * as React from 'react';
export type MenuTextMatch = {
leadOffset: number,
matchingString: string,
replaceableString: string,
};
export type MenuResolution = {
match?: MenuTextMatch,
getRect: () => ClientRect,
};
declare export class MenuOption {
key: string;
ref: {current: HTMLElement | null};
constructor(key: string): void;
setRefElement(element: HTMLElement | null): void;
}
export type MenuRenderFn<TOption> = (
anchorElementRef: {current: HTMLElement | null},
itemProps: {
selectedIndex: number | null,
selectOptionAndCleanUp: (option: TOption) => void,
setHighlightedIndex: (index: number) => void,
options: Array<TOption>,
},
matchingString: string,
) => React.Portal | React.MixedElement | null;
export type TriggerFn = (
text: string,
editor: LexicalEditor,
) => MenuTextMatch | null;
type NodeMenuPluginProps<TOption> = {
onSelectOption: (
option: TOption,
textNodeContainingQuery: TextNode | null,
closeMenu: () => void,
matchingString: string,
) => void,
options: Array<TOption>,
nodeKey: NodeKey | null,
onClose?: () => void,
onOpen?: (resolution: MenuResolution) => void,
menuRenderFn: MenuRenderFn<TOption>,
anchorClassName?: string,
};
declare export function LexicalNodeMenuPlugin<TOption>(
options: NodeMenuPluginProps<TOption>,
): React.MixedElement | null;

View File

@@ -0,0 +1,9 @@
/**
* @license lucide-react v0.441.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
export { default } from './square-percent.js';
//# sourceMappingURL=percent-square.js.map

View File

@@ -0,0 +1,19 @@
/**
* @license lucide-react v0.441.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
import createLucideIcon from '../createLucideIcon.js';
const Contact = createLucideIcon("Contact", [
["path", { d: "M16 2v2", key: "scm5qe" }],
["path", { d: "M7 22v-2a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v2", key: "1waht3" }],
["path", { d: "M8 2v2", key: "pbkmx" }],
["circle", { cx: "12", cy: "11", r: "3", key: "itu57m" }],
["rect", { x: "3", y: "4", width: "18", height: "18", rx: "2", key: "12vinp" }]
]);
export { Contact as default };
//# sourceMappingURL=contact.js.map

View File

@@ -0,0 +1,3 @@
import type { DrizzleAdapter } from './types.js';
export declare function migrateStatus(this: DrizzleAdapter): Promise<void>;
//# sourceMappingURL=migrateStatus.d.ts.map

View File

@@ -0,0 +1,30 @@
/**
* @license lucide-react v0.441.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
import createLucideIcon from '../createLucideIcon.js';
const Flower = createLucideIcon("Flower", [
["circle", { cx: "12", cy: "12", r: "3", key: "1v7zrd" }],
[
"path",
{
d: "M12 16.5A4.5 4.5 0 1 1 7.5 12 4.5 4.5 0 1 1 12 7.5a4.5 4.5 0 1 1 4.5 4.5 4.5 4.5 0 1 1-4.5 4.5",
key: "14wa3c"
}
],
["path", { d: "M12 7.5V9", key: "1oy5b0" }],
["path", { d: "M7.5 12H9", key: "eltsq1" }],
["path", { d: "M16.5 12H15", key: "vk5kw4" }],
["path", { d: "M12 16.5V15", key: "k7eayi" }],
["path", { d: "m8 8 1.88 1.88", key: "nxy4qf" }],
["path", { d: "M14.12 9.88 16 8", key: "1lst6k" }],
["path", { d: "m8 16 1.88-1.88", key: "h2eex1" }],
["path", { d: "M14.12 14.12 16 16", key: "uqkrx3" }]
]);
export { Flower as default };
//# sourceMappingURL=flower.js.map

View File

@@ -0,0 +1,518 @@
"use strict";
/*
* Copyright The OpenTelemetry Authors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.satisfies = void 0;
// This is a custom semantic versioning implementation compatible with the
// `satisfies(version, range, options?)` function from the `semver` npm package;
// with the exception that the `loose` option is not supported.
//
// The motivation for the custom semver implementation is that
// `semver` package has some initialization delay (lots of RegExp init and compile)
// and this leads to coldstart overhead for the OTEL Lambda Node.js layer.
// Hence, we have implemented lightweight version of it internally with required functionalities.
const api_1 = require("@opentelemetry/api");
const VERSION_REGEXP = /^(?:v)?(?<version>(?<major>0|[1-9]\d*)\.(?<minor>0|[1-9]\d*)\.(?<patch>0|[1-9]\d*))(?:-(?<prerelease>(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+(?<build>[0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/;
const RANGE_REGEXP = /^(?<op><|>|=|==|<=|>=|~|\^|~>)?\s*(?:v)?(?<version>(?<major>x|X|\*|0|[1-9]\d*)(?:\.(?<minor>x|X|\*|0|[1-9]\d*))?(?:\.(?<patch>x|X|\*|0|[1-9]\d*))?)(?:-(?<prerelease>(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+(?<build>[0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/;
const operatorResMap = {
'>': [1],
'>=': [0, 1],
'=': [0],
'<=': [-1, 0],
'<': [-1],
'!=': [-1, 1],
};
/**
* Checks given version whether it satisfies given range expression.
* @param version the [version](https://github.com/npm/node-semver#versions) to be checked
* @param range the [range](https://github.com/npm/node-semver#ranges) expression for version check
* @param options options to configure semver satisfy check
*/
function satisfies(version, range, options) {
// Strict semver format check
if (!_validateVersion(version)) {
api_1.diag.error(`Invalid version: ${version}`);
return false;
}
// If range is empty, satisfy check succeeds regardless what version is
if (!range) {
return true;
}
// Cleanup range
range = range.replace(/([<>=~^]+)\s+/g, '$1');
// Parse version
const parsedVersion = _parseVersion(version);
if (!parsedVersion) {
return false;
}
const allParsedRanges = [];
// Check given version whether it satisfies given range expression
const checkResult = _doSatisfies(parsedVersion, range, allParsedRanges, options);
// If check result is OK,
// do another final check for pre-release, if pre-release check is included by option
if (checkResult && !options?.includePrerelease) {
return _doPreleaseCheck(parsedVersion, allParsedRanges);
}
return checkResult;
}
exports.satisfies = satisfies;
function _validateVersion(version) {
return typeof version === 'string' && VERSION_REGEXP.test(version);
}
function _doSatisfies(parsedVersion, range, allParsedRanges, options) {
if (range.includes('||')) {
// A version matches a range if and only if
// every comparator in at least one of the ||-separated comparator sets is satisfied by the version
const ranges = range.trim().split('||');
for (const r of ranges) {
if (_checkRange(parsedVersion, r, allParsedRanges, options)) {
return true;
}
}
return false;
}
else if (range.includes(' - ')) {
// Hyphen ranges: https://github.com/npm/node-semver#hyphen-ranges-xyz---abc
range = replaceHyphen(range, options);
}
else if (range.includes(' ')) {
// Multiple separated ranges and all needs to be satisfied for success
const ranges = range
.trim()
.replace(/\s{2,}/g, ' ')
.split(' ');
for (const r of ranges) {
if (!_checkRange(parsedVersion, r, allParsedRanges, options)) {
return false;
}
}
return true;
}
// Check given parsed version with given range
return _checkRange(parsedVersion, range, allParsedRanges, options);
}
function _checkRange(parsedVersion, range, allParsedRanges, options) {
range = _normalizeRange(range, options);
if (range.includes(' ')) {
// If there are multiple ranges separated, satisfy each of them
return _doSatisfies(parsedVersion, range, allParsedRanges, options);
}
else {
// Validate and parse range
const parsedRange = _parseRange(range);
allParsedRanges.push(parsedRange);
// Check parsed version by parsed range
return _satisfies(parsedVersion, parsedRange);
}
}
function _satisfies(parsedVersion, parsedRange) {
// If range is invalid, satisfy check fails (no error throw)
if (parsedRange.invalid) {
return false;
}
// If range is empty or wildcard, satisfy check succeeds regardless what version is
if (!parsedRange.version || _isWildcard(parsedRange.version)) {
return true;
}
// Compare version segment first
let comparisonResult = _compareVersionSegments(parsedVersion.versionSegments || [], parsedRange.versionSegments || []);
// If versions segments are equal, compare by pre-release segments
if (comparisonResult === 0) {
const versionPrereleaseSegments = parsedVersion.prereleaseSegments || [];
const rangePrereleaseSegments = parsedRange.prereleaseSegments || [];
if (!versionPrereleaseSegments.length && !rangePrereleaseSegments.length) {
comparisonResult = 0;
}
else if (!versionPrereleaseSegments.length &&
rangePrereleaseSegments.length) {
comparisonResult = 1;
}
else if (versionPrereleaseSegments.length &&
!rangePrereleaseSegments.length) {
comparisonResult = -1;
}
else {
comparisonResult = _compareVersionSegments(versionPrereleaseSegments, rangePrereleaseSegments);
}
}
// Resolve check result according to comparison operator
return operatorResMap[parsedRange.op]?.includes(comparisonResult);
}
function _doPreleaseCheck(parsedVersion, allParsedRanges) {
if (parsedVersion.prerelease) {
return allParsedRanges.some(r => r.prerelease && r.version === parsedVersion.version);
}
return true;
}
function _normalizeRange(range, options) {
range = range.trim();
range = replaceCaret(range, options);
range = replaceTilde(range);
range = replaceXRange(range, options);
range = range.trim();
return range;
}
function isX(id) {
return !id || id.toLowerCase() === 'x' || id === '*';
}
function _parseVersion(versionString) {
const match = versionString.match(VERSION_REGEXP);
if (!match) {
api_1.diag.error(`Invalid version: ${versionString}`);
return undefined;
}
const version = match.groups.version;
const prerelease = match.groups.prerelease;
const build = match.groups.build;
const versionSegments = version.split('.');
const prereleaseSegments = prerelease?.split('.');
return {
op: undefined,
version,
versionSegments,
versionSegmentCount: versionSegments.length,
prerelease,
prereleaseSegments,
prereleaseSegmentCount: prereleaseSegments ? prereleaseSegments.length : 0,
build,
};
}
function _parseRange(rangeString) {
if (!rangeString) {
return {};
}
const match = rangeString.match(RANGE_REGEXP);
if (!match) {
api_1.diag.error(`Invalid range: ${rangeString}`);
return {
invalid: true,
};
}
let op = match.groups.op;
const version = match.groups.version;
const prerelease = match.groups.prerelease;
const build = match.groups.build;
const versionSegments = version.split('.');
const prereleaseSegments = prerelease?.split('.');
if (op === '==') {
op = '=';
}
return {
op: op || '=',
version,
versionSegments,
versionSegmentCount: versionSegments.length,
prerelease,
prereleaseSegments,
prereleaseSegmentCount: prereleaseSegments ? prereleaseSegments.length : 0,
build,
};
}
function _isWildcard(s) {
return s === '*' || s === 'x' || s === 'X';
}
function _parseVersionString(v) {
const n = parseInt(v, 10);
return isNaN(n) ? v : n;
}
function _normalizeVersionType(a, b) {
if (typeof a === typeof b) {
if (typeof a === 'number') {
return [a, b];
}
else if (typeof a === 'string') {
return [a, b];
}
else {
throw new Error('Version segments can only be strings or numbers');
}
}
else {
return [String(a), String(b)];
}
}
function _compareVersionStrings(v1, v2) {
if (_isWildcard(v1) || _isWildcard(v2)) {
return 0;
}
const [parsedV1, parsedV2] = _normalizeVersionType(_parseVersionString(v1), _parseVersionString(v2));
if (parsedV1 > parsedV2) {
return 1;
}
else if (parsedV1 < parsedV2) {
return -1;
}
return 0;
}
function _compareVersionSegments(v1, v2) {
for (let i = 0; i < Math.max(v1.length, v2.length); i++) {
const res = _compareVersionStrings(v1[i] || '0', v2[i] || '0');
if (res !== 0) {
return res;
}
}
return 0;
}
////////////////////////////////////////////////////////////////////////////////
// The rest of this file is adapted from portions of https://github.com/npm/node-semver/tree/868d4bb
// License:
/*
* The ISC License
*
* Copyright (c) Isaac Z. Schlueter and Contributors
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
* IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
const LETTERDASHNUMBER = '[a-zA-Z0-9-]';
const NUMERICIDENTIFIER = '0|[1-9]\\d*';
const NONNUMERICIDENTIFIER = `\\d*[a-zA-Z-]${LETTERDASHNUMBER}*`;
const GTLT = '((?:<|>)?=?)';
const PRERELEASEIDENTIFIER = `(?:${NUMERICIDENTIFIER}|${NONNUMERICIDENTIFIER})`;
const PRERELEASE = `(?:-(${PRERELEASEIDENTIFIER}(?:\\.${PRERELEASEIDENTIFIER})*))`;
const BUILDIDENTIFIER = `${LETTERDASHNUMBER}+`;
const BUILD = `(?:\\+(${BUILDIDENTIFIER}(?:\\.${BUILDIDENTIFIER})*))`;
const XRANGEIDENTIFIER = `${NUMERICIDENTIFIER}|x|X|\\*`;
const XRANGEPLAIN = `[v=\\s]*(${XRANGEIDENTIFIER})` +
`(?:\\.(${XRANGEIDENTIFIER})` +
`(?:\\.(${XRANGEIDENTIFIER})` +
`(?:${PRERELEASE})?${BUILD}?` +
`)?)?`;
const XRANGE = `^${GTLT}\\s*${XRANGEPLAIN}$`;
const XRANGE_REGEXP = new RegExp(XRANGE);
const HYPHENRANGE = `^\\s*(${XRANGEPLAIN})` + `\\s+-\\s+` + `(${XRANGEPLAIN})` + `\\s*$`;
const HYPHENRANGE_REGEXP = new RegExp(HYPHENRANGE);
const LONETILDE = '(?:~>?)';
const TILDE = `^${LONETILDE}${XRANGEPLAIN}$`;
const TILDE_REGEXP = new RegExp(TILDE);
const LONECARET = '(?:\\^)';
const CARET = `^${LONECARET}${XRANGEPLAIN}$`;
const CARET_REGEXP = new RegExp(CARET);
// Borrowed from https://github.com/npm/node-semver/blob/868d4bbe3d318c52544f38d5f9977a1103e924c2/classes/range.js#L285
//
// ~, ~> --> * (any, kinda silly)
// ~2, ~2.x, ~2.x.x, ~>2, ~>2.x ~>2.x.x --> >=2.0.0 <3.0.0-0
// ~2.0, ~2.0.x, ~>2.0, ~>2.0.x --> >=2.0.0 <2.1.0-0
// ~1.2, ~1.2.x, ~>1.2, ~>1.2.x --> >=1.2.0 <1.3.0-0
// ~1.2.3, ~>1.2.3 --> >=1.2.3 <1.3.0-0
// ~1.2.0, ~>1.2.0 --> >=1.2.0 <1.3.0-0
// ~0.0.1 --> >=0.0.1 <0.1.0-0
function replaceTilde(comp) {
const r = TILDE_REGEXP;
return comp.replace(r, (_, M, m, p, pr) => {
let ret;
if (isX(M)) {
ret = '';
}
else if (isX(m)) {
ret = `>=${M}.0.0 <${+M + 1}.0.0-0`;
}
else if (isX(p)) {
// ~1.2 == >=1.2.0 <1.3.0-0
ret = `>=${M}.${m}.0 <${M}.${+m + 1}.0-0`;
}
else if (pr) {
ret = `>=${M}.${m}.${p}-${pr} <${M}.${+m + 1}.0-0`;
}
else {
// ~1.2.3 == >=1.2.3 <1.3.0-0
ret = `>=${M}.${m}.${p} <${M}.${+m + 1}.0-0`;
}
return ret;
});
}
// Borrowed from https://github.com/npm/node-semver/blob/868d4bbe3d318c52544f38d5f9977a1103e924c2/classes/range.js#L329
//
// ^ --> * (any, kinda silly)
// ^2, ^2.x, ^2.x.x --> >=2.0.0 <3.0.0-0
// ^2.0, ^2.0.x --> >=2.0.0 <3.0.0-0
// ^1.2, ^1.2.x --> >=1.2.0 <2.0.0-0
// ^1.2.3 --> >=1.2.3 <2.0.0-0
// ^1.2.0 --> >=1.2.0 <2.0.0-0
// ^0.0.1 --> >=0.0.1 <0.0.2-0
// ^0.1.0 --> >=0.1.0 <0.2.0-0
function replaceCaret(comp, options) {
const r = CARET_REGEXP;
const z = options?.includePrerelease ? '-0' : '';
return comp.replace(r, (_, M, m, p, pr) => {
let ret;
if (isX(M)) {
ret = '';
}
else if (isX(m)) {
ret = `>=${M}.0.0${z} <${+M + 1}.0.0-0`;
}
else if (isX(p)) {
if (M === '0') {
ret = `>=${M}.${m}.0${z} <${M}.${+m + 1}.0-0`;
}
else {
ret = `>=${M}.${m}.0${z} <${+M + 1}.0.0-0`;
}
}
else if (pr) {
if (M === '0') {
if (m === '0') {
ret = `>=${M}.${m}.${p}-${pr} <${M}.${m}.${+p + 1}-0`;
}
else {
ret = `>=${M}.${m}.${p}-${pr} <${M}.${+m + 1}.0-0`;
}
}
else {
ret = `>=${M}.${m}.${p}-${pr} <${+M + 1}.0.0-0`;
}
}
else {
if (M === '0') {
if (m === '0') {
ret = `>=${M}.${m}.${p}${z} <${M}.${m}.${+p + 1}-0`;
}
else {
ret = `>=${M}.${m}.${p}${z} <${M}.${+m + 1}.0-0`;
}
}
else {
ret = `>=${M}.${m}.${p} <${+M + 1}.0.0-0`;
}
}
return ret;
});
}
// Borrowed from https://github.com/npm/node-semver/blob/868d4bbe3d318c52544f38d5f9977a1103e924c2/classes/range.js#L390
function replaceXRange(comp, options) {
const r = XRANGE_REGEXP;
return comp.replace(r, (ret, gtlt, M, m, p, pr) => {
const xM = isX(M);
const xm = xM || isX(m);
const xp = xm || isX(p);
const anyX = xp;
if (gtlt === '=' && anyX) {
gtlt = '';
}
// if we're including prereleases in the match, then we need
// to fix this to -0, the lowest possible prerelease value
pr = options?.includePrerelease ? '-0' : '';
if (xM) {
if (gtlt === '>' || gtlt === '<') {
// nothing is allowed
ret = '<0.0.0-0';
}
else {
// nothing is forbidden
ret = '*';
}
}
else if (gtlt && anyX) {
// we know patch is an x, because we have any x at all.
// replace X with 0
if (xm) {
m = 0;
}
p = 0;
if (gtlt === '>') {
// >1 => >=2.0.0
// >1.2 => >=1.3.0
gtlt = '>=';
if (xm) {
M = +M + 1;
m = 0;
p = 0;
}
else {
m = +m + 1;
p = 0;
}
}
else if (gtlt === '<=') {
// <=0.7.x is actually <0.8.0, since any 0.7.x should
// pass. Similarly, <=7.x is actually <8.0.0, etc.
gtlt = '<';
if (xm) {
M = +M + 1;
}
else {
m = +m + 1;
}
}
if (gtlt === '<') {
pr = '-0';
}
ret = `${gtlt + M}.${m}.${p}${pr}`;
}
else if (xm) {
ret = `>=${M}.0.0${pr} <${+M + 1}.0.0-0`;
}
else if (xp) {
ret = `>=${M}.${m}.0${pr} <${M}.${+m + 1}.0-0`;
}
return ret;
});
}
// Borrowed from https://github.com/npm/node-semver/blob/868d4bbe3d318c52544f38d5f9977a1103e924c2/classes/range.js#L488
//
// 1.2 - 3.4.5 => >=1.2.0 <=3.4.5
// 1.2.3 - 3.4 => >=1.2.0 <3.5.0-0 Any 3.4.x will do
// 1.2 - 3.4 => >=1.2.0 <3.5.0-0
function replaceHyphen(comp, options) {
const r = HYPHENRANGE_REGEXP;
return comp.replace(r, (_, from, fM, fm, fp, fpr, fb, to, tM, tm, tp, tpr) => {
if (isX(fM)) {
from = '';
}
else if (isX(fm)) {
from = `>=${fM}.0.0${options?.includePrerelease ? '-0' : ''}`;
}
else if (isX(fp)) {
from = `>=${fM}.${fm}.0${options?.includePrerelease ? '-0' : ''}`;
}
else if (fpr) {
from = `>=${from}`;
}
else {
from = `>=${from}${options?.includePrerelease ? '-0' : ''}`;
}
if (isX(tM)) {
to = '';
}
else if (isX(tm)) {
to = `<${+tM + 1}.0.0-0`;
}
else if (isX(tp)) {
to = `<${tM}.${+tm + 1}.0-0`;
}
else if (tpr) {
to = `<=${tM}.${tm}.${tp}-${tpr}`;
}
else if (options?.includePrerelease) {
to = `<${tM}.${tm}.${+tp + 1}-0`;
}
else {
to = `<=${to}`;
}
return `${from} ${to}`.trim();
});
}
//# sourceMappingURL=semver.js.map

View File

@@ -0,0 +1,9 @@
import { Parser, Printer } from "../index.js";
export declare const parsers: {
graphql: Parser;
};
export declare const printers: {
graphql: Printer;
};

View File

@@ -0,0 +1,35 @@
'use strict'
const { join } = require('path')
const { tmpdir } = require('os')
const { unlinkSync } = require('fs')
const t = require('tap')
const files = []
let count = 0
function file () {
const file = join(tmpdir(), `thread-stream-${process.pid}-${count++}`)
files.push(file)
return file
}
process.on('beforeExit', () => {
t.comment('unlink files')
for (const file of files) {
try {
t.comment(`unliking ${file}`)
unlinkSync(file)
} catch (e) {
console.log(e)
}
}
t.comment('unlink completed')
})
module.exports.file = file
if (process.env.SKIP_PROCESS_EXIT_CHECK !== 'true') {
const why = require('why-is-node-running')
setInterval(why, 10000).unref()
}

View File

@@ -0,0 +1,34 @@
import {SourceLocation} from './source_location';
/**
* A span of text within a source file.
*
* @category Logger
*/
export interface SourceSpan {
/** The beginning of this span, inclusive. */
start: SourceLocation;
/**
* The end of this span, exclusive.
*
* If {@link start} and {@link end} refer to the same location, the span has
* zero length and refers to the point immediately after {@link start} and
* before the next character.
*/
end: SourceLocation;
/** The canonical URL of the file this span refers to. */
url?: URL;
/** The text covered by the span. */
text: string;
/**
* Text surrounding the span.
*
* If this is set, it must include only whole lines, and it must include at
* least all line(s) which are partially covered by this span.
*/
context?: string;
}

View File

@@ -0,0 +1,15 @@
import { FormatMode, FormatName } from "./formats";
import type { Plugin, Format } from "ajv";
export { FormatMode, FormatName } from "./formats";
export { LimitFormatError } from "./limit";
export interface FormatOptions {
mode?: FormatMode;
formats?: FormatName[];
keywords?: boolean;
}
export declare type FormatsPluginOptions = FormatName[] | FormatOptions;
export interface FormatsPlugin extends Plugin<FormatsPluginOptions> {
get: (format: FormatName, mode?: FormatMode) => Format;
}
declare const formatsPlugin: FormatsPlugin;
export default formatsPlugin;

View File

@@ -0,0 +1,164 @@
import { DEBUG_BUILD } from '../../debug-build.js';
import { debug } from '../../utils/debug-logger.js';
import { fill } from '../../utils/object.js';
import { captureError } from './errorCapture.js';
/**
* Handler method wrapping for MCP server instrumentation
*
* Provides automatic error capture and span correlation for tool, resource,
* and prompt handlers.
*/
/**
* Generic function to wrap MCP server method handlers
* @internal
* @param serverInstance - MCP server instance
* @param methodName - Method name to wrap (tool, resource, prompt)
*/
function wrapMethodHandler(serverInstance, methodName) {
fill(serverInstance, methodName, originalMethod => {
return function ( name, ...args) {
const handler = args[args.length - 1];
if (typeof handler !== 'function') {
return (originalMethod ).call(this, name, ...args);
}
const wrappedHandler = createWrappedHandler(handler , methodName, name);
return (originalMethod ).call(this, name, ...args.slice(0, -1), wrappedHandler);
};
});
}
/**
* Creates a wrapped handler with span correlation and error capture
* @internal
* @param originalHandler - Original handler function
* @param methodName - MCP method name
* @param handlerName - Handler identifier
* @returns Wrapped handler function
*/
function createWrappedHandler(originalHandler, methodName, handlerName) {
return function ( ...handlerArgs) {
try {
return createErrorCapturingHandler.call(this, originalHandler, methodName, handlerName, handlerArgs);
} catch (error) {
DEBUG_BUILD && debug.warn('MCP handler wrapping failed:', error);
return originalHandler.apply(this, handlerArgs);
}
};
}
/**
* Creates an error-capturing wrapper for handler execution
* @internal
* @param originalHandler - Original handler function
* @param methodName - MCP method name
* @param handlerName - Handler identifier
* @param handlerArgs - Handler arguments
* @param extraHandlerData - Additional handler context
* @returns Handler execution result
*/
function createErrorCapturingHandler(
originalHandler,
methodName,
handlerName,
handlerArgs,
) {
try {
const result = originalHandler.apply(this, handlerArgs);
if (result && typeof result === 'object' && typeof (result ).then === 'function') {
return Promise.resolve(result).catch(error => {
captureHandlerError(error, methodName, handlerName);
throw error;
});
}
return result;
} catch (error) {
captureHandlerError(error , methodName, handlerName);
throw error;
}
}
/**
* Captures handler execution errors based on handler type
* @internal
* @param error - Error to capture
* @param methodName - MCP method name
* @param handlerName - Handler identifier
*/
function captureHandlerError(error, methodName, handlerName) {
try {
const extraData = {};
if (methodName === 'tool') {
extraData.tool_name = handlerName;
if (
error.name === 'ProtocolValidationError' ||
error.message.includes('validation') ||
error.message.includes('protocol')
) {
captureError(error, 'validation', extraData);
} else if (
error.name === 'ServerTimeoutError' ||
error.message.includes('timed out') ||
error.message.includes('timeout')
) {
captureError(error, 'timeout', extraData);
} else {
captureError(error, 'tool_execution', extraData);
}
} else if (methodName === 'resource') {
extraData.resource_uri = handlerName;
captureError(error, 'resource_execution', extraData);
} else if (methodName === 'prompt') {
extraData.prompt_name = handlerName;
captureError(error, 'prompt_execution', extraData);
}
} catch (captureErr) {
// noop
}
}
/**
* Wraps tool handlers to associate them with request spans
* @param serverInstance - MCP server instance
*/
function wrapToolHandlers(serverInstance) {
wrapMethodHandler(serverInstance, 'tool');
}
/**
* Wraps resource handlers to associate them with request spans
* @param serverInstance - MCP server instance
*/
function wrapResourceHandlers(serverInstance) {
wrapMethodHandler(serverInstance, 'resource');
}
/**
* Wraps prompt handlers to associate them with request spans
* @param serverInstance - MCP server instance
*/
function wrapPromptHandlers(serverInstance) {
wrapMethodHandler(serverInstance, 'prompt');
}
/**
* Wraps all MCP handler types (tool, resource, prompt) for span correlation
* @param serverInstance - MCP server instance
*/
function wrapAllMCPHandlers(serverInstance) {
wrapToolHandlers(serverInstance);
wrapResourceHandlers(serverInstance);
wrapPromptHandlers(serverInstance);
}
export { wrapAllMCPHandlers, wrapPromptHandlers, wrapResourceHandlers, wrapToolHandlers };
//# sourceMappingURL=handlers.js.map

View File

@@ -0,0 +1,135 @@
'use client';
import { c as _c } from "react/compiler-runtime";
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
import { ChevronIcon } from '@payloadcms/ui';
import * as React from 'react';
const chars = {
leftCurlyBracket: '\u007B',
leftSquareBracket: '\u005B',
rightCurlyBracket: '\u007D',
rightSquareBracket: '\u005D'
};
const baseClass = 'query-inspector';
const Bracket = ({
type,
comma = false,
position
}) => {
const rightBracket = type === 'object' ? chars.rightCurlyBracket : chars.rightSquareBracket;
const leftBracket = type === 'object' ? chars.leftCurlyBracket : chars.leftSquareBracket;
const bracketToRender = position === 'end' ? rightBracket : leftBracket;
return /*#__PURE__*/_jsxs("span", {
className: `${baseClass}__bracket ${baseClass}__bracket--position-${position}`,
children: [bracketToRender, position === 'end' && comma ? ',' : null]
});
};
export const RenderJSON = t0 => {
const $ = _c(2);
const {
isEmpty: t1,
object,
objectKey,
parentType: t2,
trailingComma: t3
} = t0;
const isEmpty = t1 === undefined ? false : t1;
const parentType = t2 === undefined ? "object" : t2;
const trailingComma = t3 === undefined ? false : t3;
const objectKeys = object ? Object.keys(object) : [];
const objectLength = objectKeys.length;
const [isOpen, setIsOpen] = React.useState(true);
const isNested = parentType === "object" || parentType === "array";
let t4;
if ($[0] !== isOpen) {
t4 = () => setIsOpen(!isOpen);
$[0] = isOpen;
$[1] = t4;
} else {
t4 = $[1];
}
return _jsxs("li", {
className: isNested ? `${baseClass}__row-line--nested` : "",
children: [_jsxs("button", {
"aria-label": "toggle",
className: `${baseClass}__list-toggle ${isEmpty ? `${baseClass}__list-toggle--empty` : ""}`,
onClick: t4,
type: "button",
children: [isEmpty ? null : _jsx(ChevronIcon, {
className: `${baseClass}__toggle-row-icon ${baseClass}__toggle-row-icon--${isOpen ? "open" : "closed"}`
}), _jsxs("span", {
children: [objectKey && `"${objectKey}": `, _jsx(Bracket, {
position: "start",
type: parentType
}), isEmpty ? _jsx(Bracket, {
comma: trailingComma,
position: "end",
type: parentType
}) : null]
})]
}), _jsx("ul", {
className: `${baseClass}__json-children ${isNested ? `${baseClass}__json-children--nested` : ""}`,
children: isOpen && objectKeys.map((key, keyIndex) => {
let value = object[key];
let type;
const isLastKey = keyIndex === objectLength - 1;
if (value === null) {
type = "null";
} else {
if (value instanceof Date) {
type = "date";
value = value.toISOString();
} else {
if (Array.isArray(value)) {
type = "array";
} else {
if (typeof value === "object") {
type = "object";
} else {
if (typeof value === "number") {
type = "number";
} else {
if (typeof value === "boolean") {
type = "boolean";
} else {
type = "string";
}
}
}
}
}
}
if (type === "object" || type === "array") {
return _jsx(RenderJSON, {
isEmpty: value.length === 0 || Object.keys(value).length === 0,
object: value,
objectKey: parentType === "object" ? key : undefined,
parentType: type,
trailingComma: !isLastKey
}, `${key}-${keyIndex}`);
}
if (type === "date" || type === "string" || type === "null" || type === "number" || type === "boolean") {
const parentHasKey = Boolean(parentType === "object" && key);
const rowClasses = [`${baseClass}__row-line`, `${baseClass}__value-type--${type}`, `${baseClass}__row-line--${objectKey ? "nested" : "top"}`].filter(Boolean).join(" ");
return _jsxs("li", {
className: rowClasses,
children: [parentHasKey ? _jsx("span", {
children: `"${key}": `
}) : null, _jsx("span", {
className: `${baseClass}__value`,
children: JSON.stringify(value)
}), isLastKey ? "" : ","]
}, `${key}-${keyIndex}`);
}
})
}), !isEmpty && _jsx("span", {
className: isNested ? `${baseClass}__bracket--nested` : "",
children: _jsx(Bracket, {
comma: trailingComma,
position: "end",
type: parentType
})
})]
});
};
//# sourceMappingURL=index.js.map

View File

@@ -0,0 +1,8 @@
import type { SanitizedCollectionConfig } from '../index.js';
export declare const addFolderFieldToCollection: ({ collection, collectionSpecific, folderFieldName, folderSlug, }: {
collection: SanitizedCollectionConfig;
collectionSpecific: boolean;
folderFieldName: string;
folderSlug: string;
}) => void;
//# sourceMappingURL=addFolderFieldToCollection.d.ts.map

View File

@@ -0,0 +1 @@
export type Merge<Object1, Object2> = Omit<Object1, keyof Object2> & Object2;

View File

@@ -0,0 +1,14 @@
import { getMixer } from './complex.mjs';
import { mixNumber } from './number.mjs';
function mix(from, to, p) {
if (typeof from === "number" &&
typeof to === "number" &&
typeof p === "number") {
return mixNumber(from, to, p);
}
const mixer = getMixer(from);
return mixer(from, to);
}
export { mix };

View File

@@ -0,0 +1,31 @@
"use strict";
exports.getTimezoneOffsetInMilliseconds = getTimezoneOffsetInMilliseconds;
var _index = require("../toDate.cjs");
/**
* Google Chrome as of 67.0.3396.87 introduced timezones with offset that includes seconds.
* They usually appear for dates that denote time before the timezones were introduced
* (e.g. for 'Europe/Prague' timezone the offset is GMT+00:57:44 before 1 October 1891
* and GMT+01:00:00 after that date)
*
* Date#getTimezoneOffset returns the offset in minutes and would return 57 for the example above,
* which would lead to incorrect calculations.
*
* This function returns the timezone offset in milliseconds that takes seconds in account.
*/
function getTimezoneOffsetInMilliseconds(date) {
const _date = (0, _index.toDate)(date);
const utcDate = new Date(
Date.UTC(
_date.getFullYear(),
_date.getMonth(),
_date.getDate(),
_date.getHours(),
_date.getMinutes(),
_date.getSeconds(),
_date.getMilliseconds(),
),
);
utcDate.setUTCFullYear(_date.getFullYear());
return +date - +utcDate;
}

View File

@@ -0,0 +1,11 @@
const formatRelativeLocale = {
lastWeek: "eeee'ที่แล้วเวลา' p",
yesterday: "'เมื่อวานนี้เวลา' p",
today: "'วันนี้เวลา' p",
tomorrow: "'พรุ่งนี้เวลา' p",
nextWeek: "eeee 'เวลา' p",
other: "P",
};
export const formatRelative = (token, _date, _baseDate, _options) =>
formatRelativeLocale[token];

View File

@@ -0,0 +1,4 @@
import { GraphQLScalarType } from 'graphql';
export declare const GraphQLJSON: GraphQLScalarType<any, any>;
export declare const GraphQLJSONObject: GraphQLScalarType<any, any>;
//# sourceMappingURL=index.d.ts.map

View File

@@ -0,0 +1,28 @@
// ../config.js accepts options via environment variables
const options = {}
if (process.env.DOTENV_CONFIG_ENCODING != null) {
options.encoding = process.env.DOTENV_CONFIG_ENCODING
}
if (process.env.DOTENV_CONFIG_PATH != null) {
options.path = process.env.DOTENV_CONFIG_PATH
}
if (process.env.DOTENV_CONFIG_QUIET != null) {
options.quiet = process.env.DOTENV_CONFIG_QUIET
}
if (process.env.DOTENV_CONFIG_DEBUG != null) {
options.debug = process.env.DOTENV_CONFIG_DEBUG
}
if (process.env.DOTENV_CONFIG_OVERRIDE != null) {
options.override = process.env.DOTENV_CONFIG_OVERRIDE
}
if (process.env.DOTENV_CONFIG_DOTENV_KEY != null) {
options.DOTENV_KEY = process.env.DOTENV_CONFIG_DOTENV_KEY
}
module.exports = options

View File

@@ -0,0 +1,14 @@
import type { DrizzleAdapter, DrizzleTransaction } from '../types.js';
type Args = {
adapter: DrizzleAdapter;
db: DrizzleAdapter['drizzle'] | DrizzleTransaction;
localeColumnName?: string;
parentColumnName?: string;
parentID: unknown;
pathColumnName?: string;
rows: Record<string, unknown>[];
tableName: string;
};
export declare const deleteExistingRowsByPath: ({ adapter, db, localeColumnName, parentColumnName, parentID, pathColumnName, rows, tableName, }: Args) => Promise<void>;
export {};
//# sourceMappingURL=deleteExistingRowsByPath.d.ts.map

View File

@@ -0,0 +1,96 @@
// https://tools.ietf.org/html/rfc3986#appendix-A
Prism.languages.uri = {
'scheme': {
pattern: /^[a-z][a-z0-9+.-]*:/im,
greedy: true,
inside: {
'scheme-delimiter': /:$/
}
},
'fragment': {
pattern: /#[\w\-.~!$&'()*+,;=%:@/?]*/,
inside: {
'fragment-delimiter': /^#/
}
},
'query': {
pattern: /\?[\w\-.~!$&'()*+,;=%:@/?]*/,
inside: {
'query-delimiter': {
pattern: /^\?/,
greedy: true
},
'pair-delimiter': /[&;]/,
'pair': {
pattern: /^[^=][\s\S]*/,
inside: {
'key': /^[^=]+/,
'value': {
pattern: /(^=)[\s\S]+/,
lookbehind: true
}
}
}
}
},
'authority': {
pattern: RegExp(
/^\/\//.source
// [ userinfo "@" ]
+ /(?:[\w\-.~!$&'()*+,;=%:]*@)?/.source
// host
+ (
'(?:'
// IP-literal
+ /\[(?:[0-9a-fA-F:.]{2,48}|v[0-9a-fA-F]+\.[\w\-.~!$&'()*+,;=]+)\]/.source
+ '|'
// IPv4address or registered name
+ /[\w\-.~!$&'()*+,;=%]*/.source
+ ')'
)
// [ ":" port ]
+ /(?::\d*)?/.source,
'm'
),
inside: {
'authority-delimiter': /^\/\//,
'user-info-segment': {
pattern: /^[\w\-.~!$&'()*+,;=%:]*@/,
inside: {
'user-info-delimiter': /@$/,
'user-info': /^[\w\-.~!$&'()*+,;=%:]+/
}
},
'port-segment': {
pattern: /:\d*$/,
inside: {
'port-delimiter': /^:/,
'port': /^\d+/
}
},
'host': {
pattern: /[\s\S]+/,
inside: {
'ip-literal': {
pattern: /^\[[\s\S]+\]$/,
inside: {
'ip-literal-delimiter': /^\[|\]$/,
'ipv-future': /^v[\s\S]+/,
'ipv6-address': /^[\s\S]+/
}
},
'ipv4-address': /^(?:(?:[03-9]\d?|[12]\d{0,2})\.){3}(?:[03-9]\d?|[12]\d{0,2})$/
}
}
}
},
'path': {
pattern: /^[\w\-.~!$&'()*+,;=%:@/]+/m,
inside: {
'path-separator': /\//
}
}
};
Prism.languages.url = Prism.languages.uri;

View File

@@ -0,0 +1,21 @@
import { _ as _object_without_properties_loose } from "./_object_without_properties_loose.js";
function _object_without_properties(source, excluded) {
if (source == null) return {};
var target = _object_without_properties_loose(source, excluded);
var key, i;
if (Object.getOwnPropertySymbols) {
var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
for (i = 0; i < sourceSymbolKeys.length; i++) {
key = sourceSymbolKeys[i];
if (excluded.indexOf(key) >= 0) continue;
if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
target[key] = source[key];
}
}
return target;
}
export { _object_without_properties as _ };

View File

@@ -0,0 +1,29 @@
import { DirectusFolder } from "../../../schema/folder.cjs";
import { NestedPartial } from "../../../types/utils.cjs";
import { ApplyQueryFields } from "../../../types/output.cjs";
import { Query } from "../../../types/query.cjs";
import { RestCommand } from "../../types.cjs";
//#region src/rest/commands/create/folders.d.ts
type CreateFolderOutput<Schema, TQuery extends Query<Schema, Item>, Item extends object = DirectusFolder<Schema>> = ApplyQueryFields<Schema, Item, TQuery['fields']>;
/**
* Create multiple new (virtual) folders.
*
* @param item The folder to create
* @param query Optional return data query
*
* @returns Returns the folder object of the folder that was created.
*/
declare const createFolders: <Schema, const TQuery extends Query<Schema, DirectusFolder<Schema>>>(items: NestedPartial<DirectusFolder<Schema>>[], query?: TQuery) => RestCommand<CreateFolderOutput<Schema, TQuery>[], Schema>;
/**
* Create a new (virtual) folder.
*
* @param item The folder to create
* @param query Optional return data query
*
* @returns Returns the folder object of the folder that was created.
*/
declare const createFolder: <Schema, const TQuery extends Query<Schema, DirectusFolder<Schema>>>(item: NestedPartial<DirectusFolder<Schema>>, query?: TQuery) => RestCommand<CreateFolderOutput<Schema, TQuery>, Schema>;
//#endregion
export { CreateFolderOutput, createFolder, createFolders };
//# sourceMappingURL=folders.d.cts.map

View File

@@ -0,0 +1,7 @@
import type { AnySQLiteSelect } from "../sqlite-core/index.cjs";
import { SQLiteRelationalQuery } from "../sqlite-core/query-builders/query.cjs";
export declare const useLiveQuery: <T extends Pick<AnySQLiteSelect, "_" | "then"> | SQLiteRelationalQuery<"sync", unknown>>(query: T, deps?: unknown[]) => {
readonly data: Awaited<T>;
readonly error: Error | undefined;
readonly updatedAt: Date | undefined;
};

View File

@@ -0,0 +1 @@
{"version":3,"file":"files.js","sources":["../../../src/icons/files.ts"],"sourcesContent":["import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name Files\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjAgN2gtM2EyIDIgMCAwIDEtMi0yVjIiIC8+CiAgPHBhdGggZD0iTTkgMThhMiAyIDAgMCAxLTItMlY0YTIgMiAwIDAgMSAyLTJoN2w0IDR2MTBhMiAyIDAgMCAxLTIgMloiIC8+CiAgPHBhdGggZD0iTTMgNy42djEyLjhBMS42IDEuNiAwIDAgMCA0LjYgMjJoOS44IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/files\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Files = createLucideIcon('Files', [\n ['path', { d: 'M20 7h-3a2 2 0 0 1-2-2V2', key: 'x099mo' }],\n ['path', { d: 'M9 18a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h7l4 4v10a2 2 0 0 1-2 2Z', key: '18t6ie' }],\n ['path', { d: 'M3 7.6v12.8A1.6 1.6 0 0 0 4.6 22h9.8', key: '1nja0z' }],\n]);\n\nexport default Files;\n"],"names":[],"mappings":";;;;;;;;;AAaM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,iBAAiB,OAAS,CAAA,CAAA,CAAA;AAAA,CAAA,CACtC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAE,GAAG,CAA4B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,UAAU,CAAA,CAAA;AAAA,CAAA,CACzD,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAE,GAAG,CAA+D,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,UAAU,CAAA,CAAA;AAAA,CAAA,CAC5F,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAE,GAAG,CAAwC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,UAAU,CAAA;AACvE,CAAC,CAAA,CAAA;;"}

View File

@@ -0,0 +1,4 @@
export declare const getTime: import("./types.js").FPFn1<
number,
string | number | Date
>;

View File

@@ -0,0 +1,8 @@
/** IdGenerator provides an interface for generating Trace Id and Span Id */
export interface IdGenerator {
/** Returns a trace ID composed of 32 lowercase hex characters. */
generateTraceId(): string;
/** Returns a span ID composed of 16 lowercase hex characters. */
generateSpanId(): string;
}
//# sourceMappingURL=IdGenerator.d.ts.map

View File

@@ -0,0 +1,36 @@
import { jsx as _jsx } from "react/jsx-runtime";
import React from 'react';
import { LogoutClient } from './LogoutClient.js';
const baseClass = 'logout';
export const LogoutView = ({
inactivity,
initPageResult,
searchParams
}) => {
const {
req: {
payload: {
config: {
routes: {
admin: adminRoute
}
}
}
}
} = initPageResult;
return /*#__PURE__*/_jsx("div", {
className: `${baseClass}`,
children: /*#__PURE__*/_jsx(LogoutClient, {
adminRoute: adminRoute,
inactivity: inactivity,
redirect: searchParams.redirect
})
});
};
export function LogoutInactivity(props) {
return /*#__PURE__*/_jsx(LogoutView, {
inactivity: true,
...props
});
}
//# sourceMappingURL=index.js.map

View File

@@ -0,0 +1 @@
module.exports={A:{A:{"2":"K D E F A B zC"},B:{"1":"0 1 2 3 4 5 6 7 8 Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB I","2":"C L M G N O P"},C:{"1":"0 1 2 3 4 5 6 7 8 dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B WC 6B XC 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC NC Q H R YC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB I ZC aC OC 1C 2C 3C","2":"9 0C VC J bB K D E F A B C L M G N O P cB AB BB CB DB EB FB GB HB IB 4C 5C"},D:{"1":"0 1 2 3 4 5 6 7 8 iB jB kB lB mB nB oB pB qB rB sB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B WC 6B XC 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC NC Q H R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB I ZC aC OC","2":"9 J bB K D E F A B C L M G N O P cB AB BB CB DB EB FB GB HB IB dB eB fB gB hB","260":"tB"},E:{"1":"B C L M G cC PC QC BD CD DD dC eC RC ED SC fC gC hC iC jC FD TC kC lC mC nC oC GD UC pC qC rC sC HD tC uC vC wC ID","2":"J bB K D 6C bC 7C 8C","132":"E F A 9C AD"},F:{"1":"0 1 2 3 4 5 6 7 8 BB CB DB EB FB GB HB IB dB eB fB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC CC DC EC FC GC HC IC JC KC LC MC NC Q H R YC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z","2":"9 F B C G N O P cB AB JD KD LD MD PC xC ND QC","260":"gB"},G:{"1":"WD XD YD ZD aD bD cD dD eD fD gD hD dC eC RC iD SC fC gC hC iC jC jD TC kC lC mC nC oC kD UC pC qC rC sC lD tC uC vC wC","2":"bC OD yC PD QD RD","132":"E SD TD UD VD"},H:{"2":"mD"},I:{"1":"I","2":"VC J nD oD pD qD yC rD sD"},J:{"2":"D A"},K:{"1":"H","2":"A B C PC xC QC"},L:{"1":"I"},M:{"1":"OC"},N:{"2":"A B"},O:{"1":"RC"},P:{"1":"9 J AB BB CB DB EB FB GB HB IB tD uD vD wD xD cC yD zD 0D 1D 2D SC TC UC 3D"},Q:{"1":"4D"},R:{"1":"5D"},S:{"1":"6D 7D"}},B:4,C:"CSS background-blend-mode",D:true};

View File

@@ -0,0 +1 @@
{"version":3,"file":"buildForeignKeyName.d.ts","sourceRoot":"","sources":["../../src/utilities/buildForeignKeyName.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAEjD,eAAO,MAAM,mBAAmB,+BAI7B;IACD,OAAO,EAAE,cAAc,CAAA;IACvB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,KAAG,MAkBH,CAAA"}

View File

@@ -0,0 +1,49 @@
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
const currentScopes = require('./currentScopes.js');
const debugBuild = require('./debug-build.js');
const debugLogger = require('./utils/debug-logger.js');
/** A class object that can instantiate Client objects. */
/**
* Internal function to create a new SDK client instance. The client is
* installed and then bound to the current scope.
*
* @param clientClass The client class to instantiate.
* @param options Options to pass to the client.
*/
function initAndBind(
clientClass,
options,
) {
if (options.debug === true) {
if (debugBuild.DEBUG_BUILD) {
debugLogger.debug.enable();
} else {
// use `console.warn` rather than `debug.warn` since by non-debug bundles have all `debug.x` statements stripped
debugLogger.consoleSandbox(() => {
// eslint-disable-next-line no-console
console.warn('[Sentry] Cannot initialize SDK with `debug` option using a non-debug bundle.');
});
}
}
const scope = currentScopes.getCurrentScope();
scope.update(options.initialScope);
const client = new clientClass(options);
setCurrentClient(client);
client.init();
return client;
}
/**
* Make the given client the current client.
*/
function setCurrentClient(client) {
currentScopes.getCurrentScope().setClient(client);
}
exports.initAndBind = initAndBind;
exports.setCurrentClient = setCurrentClient;
//# sourceMappingURL=sdk.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"folders.js","names":[],"sources":["../../../../src/rest/commands/read/folders.ts"],"sourcesContent":["import type { DirectusFolder } from '../../../schema/folder.js';\nimport type { ApplyQueryFields, Query } from '../../../types/index.js';\nimport type { RestCommand } from '../../types.js';\nimport { throwIfEmpty } from '../../utils/index.js';\n\nexport type ReadFolderOutput<\n\tSchema,\n\tTQuery extends Query<Schema, Item>,\n\tItem extends object = DirectusFolder<Schema>,\n> = ApplyQueryFields<Schema, Item, TQuery['fields']>;\n\n/**\n * List all folders that exist in Directus.\n * @param query The query parameters\n * @returns An array of up to limit folder objects. If no items are available, data will be an empty array.\n */\nexport const readFolders =\n\t<Schema, const TQuery extends Query<Schema, DirectusFolder<Schema>>>(\n\t\tquery?: TQuery,\n\t): RestCommand<ReadFolderOutput<Schema, TQuery>[], Schema> =>\n\t() => ({\n\t\tpath: `/folders`,\n\t\tparams: query ?? {},\n\t\tmethod: 'GET',\n\t});\n\n/**\n * List an existing folder by primary key.\n * @param key The primary key of the dashboard\n * @param query The query parameters\n * @returns Returns a folder object if a valid primary key was provided.\n * @throws Will throw if key is empty\n */\nexport const readFolder =\n\t<Schema, const TQuery extends Query<Schema, DirectusFolder<Schema>>>(\n\t\tkey: DirectusFolder<Schema>['id'],\n\t\tquery?: TQuery,\n\t): RestCommand<ReadFolderOutput<Schema, TQuery>, Schema> =>\n\t() => {\n\t\tthrowIfEmpty(String(key), 'Key cannot be empty');\n\n\t\treturn {\n\t\t\tpath: `/folders/${key}`,\n\t\t\tparams: query ?? {},\n\t\t\tmethod: 'GET',\n\t\t};\n\t};\n"],"mappings":"6DAgBA,MAAa,EAEX,QAEM,CACN,KAAM,WACN,OAAQ,GAAS,EAAE,CACnB,OAAQ,MACR,EASW,GAEX,EACA,SAGA,EAAa,OAAO,EAAI,CAAE,sBAAsB,CAEzC,CACN,KAAM,YAAY,IAClB,OAAQ,GAAS,EAAE,CACnB,OAAQ,MACR"}

View File

@@ -0,0 +1,58 @@
(function (Prism) {
var powershell = Prism.languages.powershell = {
'comment': [
{
pattern: /(^|[^`])<#[\s\S]*?#>/,
lookbehind: true
},
{
pattern: /(^|[^`])#.*/,
lookbehind: true
}
],
'string': [
{
pattern: /"(?:`[\s\S]|[^`"])*"/,
greedy: true,
inside: null // see below
},
{
pattern: /'(?:[^']|'')*'/,
greedy: true
}
],
// Matches name spaces as well as casts, attribute decorators. Force starting with letter to avoid matching array indices
// Supports two levels of nested brackets (e.g. `[OutputType([System.Collections.Generic.List[int]])]`)
'namespace': /\[[a-z](?:\[(?:\[[^\]]*\]|[^\[\]])*\]|[^\[\]])*\]/i,
'boolean': /\$(?:false|true)\b/i,
'variable': /\$\w+\b/,
// Cmdlets and aliases. Aliases should come last, otherwise "write" gets preferred over "write-host" for example
// Get-Command | ?{ $_.ModuleName -match "Microsoft.PowerShell.(Util|Core|Management)" }
// Get-Alias | ?{ $_.ReferencedCommand.Module.Name -match "Microsoft.PowerShell.(Util|Core|Management)" }
'function': [
/\b(?:Add|Approve|Assert|Backup|Block|Checkpoint|Clear|Close|Compare|Complete|Compress|Confirm|Connect|Convert|ConvertFrom|ConvertTo|Copy|Debug|Deny|Disable|Disconnect|Dismount|Edit|Enable|Enter|Exit|Expand|Export|Find|ForEach|Format|Get|Grant|Group|Hide|Import|Initialize|Install|Invoke|Join|Limit|Lock|Measure|Merge|Move|New|Open|Optimize|Out|Ping|Pop|Protect|Publish|Push|Read|Receive|Redo|Register|Remove|Rename|Repair|Request|Reset|Resize|Resolve|Restart|Restore|Resume|Revoke|Save|Search|Select|Send|Set|Show|Skip|Sort|Split|Start|Step|Stop|Submit|Suspend|Switch|Sync|Tee|Test|Trace|Unblock|Undo|Uninstall|Unlock|Unprotect|Unpublish|Unregister|Update|Use|Wait|Watch|Where|Write)-[a-z]+\b/i,
/\b(?:ac|cat|chdir|clc|cli|clp|clv|compare|copy|cp|cpi|cpp|cvpa|dbp|del|diff|dir|ebp|echo|epal|epcsv|epsn|erase|fc|fl|ft|fw|gal|gbp|gc|gci|gcs|gdr|gi|gl|gm|gp|gps|group|gsv|gu|gv|gwmi|iex|ii|ipal|ipcsv|ipsn|irm|iwmi|iwr|kill|lp|ls|measure|mi|mount|move|mp|mv|nal|ndr|ni|nv|ogv|popd|ps|pushd|pwd|rbp|rd|rdr|ren|ri|rm|rmdir|rni|rnp|rp|rv|rvpa|rwmi|sal|saps|sasv|sbp|sc|select|set|shcm|si|sl|sleep|sls|sort|sp|spps|spsv|start|sv|swmi|tee|trcm|type|write)\b/i
],
// per http://technet.microsoft.com/en-us/library/hh847744.aspx
'keyword': /\b(?:Begin|Break|Catch|Class|Continue|Data|Define|Do|DynamicParam|Else|ElseIf|End|Exit|Filter|Finally|For|ForEach|From|Function|If|InlineScript|Parallel|Param|Process|Return|Sequence|Switch|Throw|Trap|Try|Until|Using|Var|While|Workflow)\b/i,
'operator': {
pattern: /(^|\W)(?:!|-(?:b?(?:and|x?or)|as|(?:Not)?(?:Contains|In|Like|Match)|eq|ge|gt|is(?:Not)?|Join|le|lt|ne|not|Replace|sh[lr])\b|-[-=]?|\+[+=]?|[*\/%]=?)/i,
lookbehind: true
},
'punctuation': /[|{}[\];(),.]/
};
// Variable interpolation inside strings, and nested expressions
powershell.string[0].inside = {
'function': {
// Allow for one level of nesting
pattern: /(^|[^`])\$\((?:\$\([^\r\n()]*\)|(?!\$\()[^\r\n)])*\)/,
lookbehind: true,
inside: powershell
},
'boolean': powershell.boolean,
'variable': powershell.variable,
};
}(Prism));

View File

@@ -0,0 +1,5 @@
import type { DefaultCellComponentProps, JSONFieldClient } from 'payload';
import React from 'react';
import './index.scss';
export declare const JSONCell: React.FC<DefaultCellComponentProps<JSONFieldClient>>;
//# sourceMappingURL=index.d.ts.map

View File

@@ -0,0 +1,417 @@
'use strict'
const test = require('tape')
const pino = require('../browser')
function noop () {}
test('throws if transmit object does not have send function', ({ end, throws }) => {
throws(() => {
pino({ browser: { transmit: {} } })
})
throws(() => {
pino({ browser: { transmit: { send: 'not a func' } } })
})
end()
})
test('calls send function after write', ({ end, is }) => {
let c = 0
const logger = pino({
browser: {
write: () => {
c++
},
transmit: {
send () { is(c, 1) }
}
}
})
logger.fatal({ test: 'test' })
end()
})
test('passes send function the logged level', ({ end, is }) => {
const logger = pino({
browser: {
write () {},
transmit: {
send (level) {
is(level, 'fatal')
}
}
}
})
logger.fatal({ test: 'test' })
end()
})
test('passes send function message strings in logEvent object when asObject is not set', ({ end, same, is }) => {
const logger = pino({
browser: {
write: noop,
transmit: {
send (level, { messages }) {
is(messages[0], 'test')
is(messages[1], 'another test')
}
}
}
})
logger.fatal('test', 'another test')
end()
})
test('passes send function message objects in logEvent object when asObject is not set', ({ end, same, is }) => {
const logger = pino({
browser: {
write: noop,
transmit: {
send (level, { messages }) {
same(messages[0], { test: 'test' })
is(messages[1], 'another test')
}
}
}
})
logger.fatal({ test: 'test' }, 'another test')
end()
})
test('passes send function message strings in logEvent object when asObject is set', ({ end, same, is }) => {
const logger = pino({
browser: {
asObject: true,
write: noop,
transmit: {
send (level, { messages }) {
is(messages[0], 'test')
is(messages[1], 'another test')
}
}
}
})
logger.fatal('test', 'another test')
end()
})
test('passes send function message objects in logEvent object when asObject is set', ({ end, same, is }) => {
const logger = pino({
browser: {
asObject: true,
write: noop,
transmit: {
send (level, { messages }) {
same(messages[0], { test: 'test' })
is(messages[1], 'another test')
}
}
}
})
logger.fatal({ test: 'test' }, 'another test')
end()
})
test('supplies a timestamp (ts) in logEvent object which is exactly the same as the `time` property in asObject mode', ({ end, is }) => {
let expected
const logger = pino({
browser: {
asObject: true, // implicit because `write`, but just to be explicit
write (o) {
expected = o.time
},
transmit: {
send (level, logEvent) {
is(logEvent.ts, expected)
}
}
}
})
logger.fatal('test')
end()
})
test('passes send function child bindings via logEvent object', ({ end, same, is }) => {
const logger = pino({
browser: {
write: noop,
transmit: {
send (level, logEvent) {
const messages = logEvent.messages
const bindings = logEvent.bindings
same(bindings[0], { first: 'binding' })
same(bindings[1], { second: 'binding2' })
same(messages[0], { test: 'test' })
is(messages[1], 'another test')
}
}
}
})
logger
.child({ first: 'binding' })
.child({ second: 'binding2' })
.fatal({ test: 'test' }, 'another test')
end()
})
test('passes send function level:{label, value} via logEvent object', ({ end, is }) => {
const logger = pino({
browser: {
write: noop,
transmit: {
send (level, logEvent) {
const label = logEvent.level.label
const value = logEvent.level.value
is(label, 'fatal')
is(value, 60)
}
}
}
})
logger.fatal({ test: 'test' }, 'another test')
end()
})
test('calls send function according to transmit.level', ({ end, is }) => {
let c = 0
const logger = pino({
browser: {
write: noop,
transmit: {
level: 'error',
send (level) {
c++
if (c === 1) is(level, 'error')
if (c === 2) is(level, 'fatal')
}
}
}
})
logger.warn('ignored')
logger.error('test')
logger.fatal('test')
end()
})
test('transmit.level defaults to logger level', ({ end, is }) => {
let c = 0
const logger = pino({
level: 'error',
browser: {
write: noop,
transmit: {
send (level) {
c++
if (c === 1) is(level, 'error')
if (c === 2) is(level, 'fatal')
}
}
}
})
logger.warn('ignored')
logger.error('test')
logger.fatal('test')
end()
})
test('transmit.level is effective even if lower than logger level', ({ end, is }) => {
let c = 0
const logger = pino({
level: 'error',
browser: {
write: noop,
transmit: {
level: 'info',
send (level) {
c++
if (c === 1) is(level, 'warn')
if (c === 2) is(level, 'error')
if (c === 3) is(level, 'fatal')
}
}
}
})
logger.warn('ignored')
logger.error('test')
logger.fatal('test')
end()
})
test('applies all serializers to messages and bindings (serialize:false - default)', ({ end, same, is }) => {
const logger = pino({
serializers: {
first: () => 'first',
second: () => 'second',
test: () => 'serialize it'
},
browser: {
write: noop,
transmit: {
send (level, logEvent) {
const messages = logEvent.messages
const bindings = logEvent.bindings
same(bindings[0], { first: 'first' })
same(bindings[1], { second: 'second' })
same(messages[0], { test: 'serialize it' })
is(messages[1].type, 'Error')
}
}
}
})
logger
.child({ first: 'binding' })
.child({ second: 'binding2' })
.fatal({ test: 'test' }, Error())
end()
})
test('applies all serializers to messages and bindings (serialize:true)', ({ end, same, is }) => {
const logger = pino({
serializers: {
first: () => 'first',
second: () => 'second',
test: () => 'serialize it'
},
browser: {
serialize: true,
write: noop,
transmit: {
send (level, logEvent) {
const messages = logEvent.messages
const bindings = logEvent.bindings
same(bindings[0], { first: 'first' })
same(bindings[1], { second: 'second' })
same(messages[0], { test: 'serialize it' })
is(messages[1].type, 'Error')
}
}
}
})
logger
.child({ first: 'binding' })
.child({ second: 'binding2' })
.fatal({ test: 'test' }, Error())
end()
})
test('extracts correct bindings and raw messages over multiple transmits', ({ end, same, is }) => {
let messages = null
let bindings = null
const logger = pino({
browser: {
write: noop,
transmit: {
send (level, logEvent) {
messages = logEvent.messages
bindings = logEvent.bindings
}
}
}
})
const child = logger.child({ child: true })
const grandchild = child.child({ grandchild: true })
logger.fatal({ test: 'parent:test1' })
logger.fatal({ test: 'parent:test2' })
same([], bindings)
same([{ test: 'parent:test2' }], messages)
child.fatal({ test: 'child:test1' })
child.fatal({ test: 'child:test2' })
same([{ child: true }], bindings)
same([{ test: 'child:test2' }], messages)
grandchild.fatal({ test: 'grandchild:test1' })
grandchild.fatal({ test: 'grandchild:test2' })
same([{ child: true }, { grandchild: true }], bindings)
same([{ test: 'grandchild:test2' }], messages)
end()
})
test('does not log below configured level', ({ end, is }) => {
let message = null
const logger = pino({
level: 'info',
browser: {
write (o) {
message = o.msg
},
transmit: {
send () { }
}
}
})
logger.debug('this message is silent')
is(message, null)
end()
})
test('silent level prevents logging even with transmit', ({ end, fail }) => {
const logger = pino({
level: 'silent',
browser: {
write () {
fail('no data should be logged by the write method')
},
transmit: {
send () {
fail('no data should be logged by the send method')
}
}
}
})
Object.keys(pino.levels.values).forEach((level) => {
logger[level]('ignored')
})
end()
})
test('does not call send when transmit.level is set to silent', ({ end, fail, is }) => {
let c = 0
const logger = pino({
level: 'trace',
browser: {
write () {
c++
},
transmit: {
level: 'silent',
send () {
fail('no data should be logged by the transmit method')
}
}
}
})
const levels = Object.keys(pino.levels.values)
levels.forEach((level) => {
logger[level]('message')
})
is(c, levels.length, 'write must be called exactly once per level')
end()
})

View File

@@ -0,0 +1,48 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.OptionValidator = void 0;
var _findSuggestion = require("./find-suggestion.js");
class OptionValidator {
constructor(descriptor) {
this.descriptor = descriptor;
}
validateTopLevelOptions(options, TopLevelOptionShape) {
const validOptionNames = Object.keys(TopLevelOptionShape);
for (const option of Object.keys(options)) {
if (!validOptionNames.includes(option)) {
throw new Error(this.formatMessage(`'${option}' is not a valid top-level option.
- Did you mean '${(0, _findSuggestion.findSuggestion)(option, validOptionNames)}'?`));
}
}
}
validateBooleanOption(name, value, defaultValue) {
if (value === undefined) {
return defaultValue;
} else {
this.invariant(typeof value === "boolean", `'${name}' option must be a boolean.`);
}
return value;
}
validateStringOption(name, value, defaultValue) {
if (value === undefined) {
return defaultValue;
} else {
this.invariant(typeof value === "string", `'${name}' option must be a string.`);
}
return value;
}
invariant(condition, message) {
if (!condition) {
throw new Error(this.formatMessage(message));
}
}
formatMessage(message) {
return `${this.descriptor}: ${message}`;
}
}
exports.OptionValidator = OptionValidator;
//# sourceMappingURL=validator.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"withNullableType.d.ts","sourceRoot":"","sources":["../../src/schema/withNullableType.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAC1C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAIjD,eAAO,MAAM,gBAAgB,uDAK1B;IACD,KAAK,EAAE,kBAAkB,CAAA;IACzB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,iBAAiB,EAAE,OAAO,CAAA;IAC1B,IAAI,EAAE,WAAW,CAAA;CAClB,KAAG,WAkBH,CAAA"}

View File

@@ -0,0 +1,3 @@
export const defaultAccess = ({ req: { user } })=>Boolean(user);
//# sourceMappingURL=defaultAccess.js.map

View File

@@ -0,0 +1,44 @@
"use strict";
exports.isSameHour = isSameHour;
var _index = require("./_lib/normalizeDates.cjs");
var _index2 = require("./startOfHour.cjs");
/**
* The {@link isSameHour} function options.
*/
/**
* @name isSameHour
* @category Hour Helpers
* @summary Are the given dates in the same hour (and same day)?
*
* @description
* Are the given dates in the same hour (and same day)?
*
* @param dateLeft - The first date to check
* @param dateRight - The second date to check
* @param options - An object with options
*
* @returns The dates are in the same hour (and same day)
*
* @example
* // Are 4 September 2014 06:00:00 and 4 September 06:30:00 in the same hour?
* const result = isSameHour(new Date(2014, 8, 4, 6, 0), new Date(2014, 8, 4, 6, 30))
* //=> true
*
* @example
* // Are 4 September 2014 06:00:00 and 5 September 06:00:00 in the same hour?
* const result = isSameHour(new Date(2014, 8, 4, 6, 0), new Date(2014, 8, 5, 6, 0))
* //=> false
*/
function isSameHour(dateLeft, dateRight, options) {
const [dateLeft_, dateRight_] = (0, _index.normalizeDates)(
options?.in,
dateLeft,
dateRight,
);
return (
+(0, _index2.startOfHour)(dateLeft_) ===
+(0, _index2.startOfHour)(dateRight_)
);
}

View File

@@ -0,0 +1,180 @@
'use strict';
const WIN_SLASH = '\\\\/';
const WIN_NO_SLASH = `[^${WIN_SLASH}]`;
/**
* Posix glob regex
*/
const DOT_LITERAL = '\\.';
const PLUS_LITERAL = '\\+';
const QMARK_LITERAL = '\\?';
const SLASH_LITERAL = '\\/';
const ONE_CHAR = '(?=.)';
const QMARK = '[^/]';
const END_ANCHOR = `(?:${SLASH_LITERAL}|$)`;
const START_ANCHOR = `(?:^|${SLASH_LITERAL})`;
const DOTS_SLASH = `${DOT_LITERAL}{1,2}${END_ANCHOR}`;
const NO_DOT = `(?!${DOT_LITERAL})`;
const NO_DOTS = `(?!${START_ANCHOR}${DOTS_SLASH})`;
const NO_DOT_SLASH = `(?!${DOT_LITERAL}{0,1}${END_ANCHOR})`;
const NO_DOTS_SLASH = `(?!${DOTS_SLASH})`;
const QMARK_NO_DOT = `[^.${SLASH_LITERAL}]`;
const STAR = `${QMARK}*?`;
const SEP = '/';
const POSIX_CHARS = {
DOT_LITERAL,
PLUS_LITERAL,
QMARK_LITERAL,
SLASH_LITERAL,
ONE_CHAR,
QMARK,
END_ANCHOR,
DOTS_SLASH,
NO_DOT,
NO_DOTS,
NO_DOT_SLASH,
NO_DOTS_SLASH,
QMARK_NO_DOT,
STAR,
START_ANCHOR,
SEP
};
/**
* Windows glob regex
*/
const WINDOWS_CHARS = {
...POSIX_CHARS,
SLASH_LITERAL: `[${WIN_SLASH}]`,
QMARK: WIN_NO_SLASH,
STAR: `${WIN_NO_SLASH}*?`,
DOTS_SLASH: `${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$)`,
NO_DOT: `(?!${DOT_LITERAL})`,
NO_DOTS: `(?!(?:^|[${WIN_SLASH}])${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$))`,
NO_DOT_SLASH: `(?!${DOT_LITERAL}{0,1}(?:[${WIN_SLASH}]|$))`,
NO_DOTS_SLASH: `(?!${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$))`,
QMARK_NO_DOT: `[^.${WIN_SLASH}]`,
START_ANCHOR: `(?:^|[${WIN_SLASH}])`,
END_ANCHOR: `(?:[${WIN_SLASH}]|$)`,
SEP: '\\'
};
/**
* POSIX Bracket Regex
*/
const POSIX_REGEX_SOURCE = {
alnum: 'a-zA-Z0-9',
alpha: 'a-zA-Z',
ascii: '\\x00-\\x7F',
blank: ' \\t',
cntrl: '\\x00-\\x1F\\x7F',
digit: '0-9',
graph: '\\x21-\\x7E',
lower: 'a-z',
print: '\\x20-\\x7E ',
punct: '\\-!"#$%&\'()\\*+,./:;<=>?@[\\]^_`{|}~',
space: ' \\t\\r\\n\\v\\f',
upper: 'A-Z',
word: 'A-Za-z0-9_',
xdigit: 'A-Fa-f0-9'
};
module.exports = {
MAX_LENGTH: 1024 * 64,
POSIX_REGEX_SOURCE,
// regular expressions
REGEX_BACKSLASH: /\\(?![*+?^${}(|)[\]])/g,
REGEX_NON_SPECIAL_CHARS: /^[^@![\].,$*+?^{}()|\\/]+/,
REGEX_SPECIAL_CHARS: /[-*+?.^${}(|)[\]]/,
REGEX_SPECIAL_CHARS_BACKREF: /(\\?)((\W)(\3*))/g,
REGEX_SPECIAL_CHARS_GLOBAL: /([-*+?.^${}(|)[\]])/g,
REGEX_REMOVE_BACKSLASH: /(?:\[.*?[^\\]\]|\\(?=.))/g,
// Replace globs with equivalent patterns to reduce parsing time.
REPLACEMENTS: {
__proto__: null,
'***': '*',
'**/**': '**',
'**/**/**': '**'
},
// Digits
CHAR_0: 48, /* 0 */
CHAR_9: 57, /* 9 */
// Alphabet chars.
CHAR_UPPERCASE_A: 65, /* A */
CHAR_LOWERCASE_A: 97, /* a */
CHAR_UPPERCASE_Z: 90, /* Z */
CHAR_LOWERCASE_Z: 122, /* z */
CHAR_LEFT_PARENTHESES: 40, /* ( */
CHAR_RIGHT_PARENTHESES: 41, /* ) */
CHAR_ASTERISK: 42, /* * */
// Non-alphabetic chars.
CHAR_AMPERSAND: 38, /* & */
CHAR_AT: 64, /* @ */
CHAR_BACKWARD_SLASH: 92, /* \ */
CHAR_CARRIAGE_RETURN: 13, /* \r */
CHAR_CIRCUMFLEX_ACCENT: 94, /* ^ */
CHAR_COLON: 58, /* : */
CHAR_COMMA: 44, /* , */
CHAR_DOT: 46, /* . */
CHAR_DOUBLE_QUOTE: 34, /* " */
CHAR_EQUAL: 61, /* = */
CHAR_EXCLAMATION_MARK: 33, /* ! */
CHAR_FORM_FEED: 12, /* \f */
CHAR_FORWARD_SLASH: 47, /* / */
CHAR_GRAVE_ACCENT: 96, /* ` */
CHAR_HASH: 35, /* # */
CHAR_HYPHEN_MINUS: 45, /* - */
CHAR_LEFT_ANGLE_BRACKET: 60, /* < */
CHAR_LEFT_CURLY_BRACE: 123, /* { */
CHAR_LEFT_SQUARE_BRACKET: 91, /* [ */
CHAR_LINE_FEED: 10, /* \n */
CHAR_NO_BREAK_SPACE: 160, /* \u00A0 */
CHAR_PERCENT: 37, /* % */
CHAR_PLUS: 43, /* + */
CHAR_QUESTION_MARK: 63, /* ? */
CHAR_RIGHT_ANGLE_BRACKET: 62, /* > */
CHAR_RIGHT_CURLY_BRACE: 125, /* } */
CHAR_RIGHT_SQUARE_BRACKET: 93, /* ] */
CHAR_SEMICOLON: 59, /* ; */
CHAR_SINGLE_QUOTE: 39, /* ' */
CHAR_SPACE: 32, /* */
CHAR_TAB: 9, /* \t */
CHAR_UNDERSCORE: 95, /* _ */
CHAR_VERTICAL_LINE: 124, /* | */
CHAR_ZERO_WIDTH_NOBREAK_SPACE: 65279, /* \uFEFF */
/**
* Create EXTGLOB_CHARS
*/
extglobChars(chars) {
return {
'!': { type: 'negate', open: '(?:(?!(?:', close: `))${chars.STAR})` },
'?': { type: 'qmark', open: '(?:', close: ')?' },
'+': { type: 'plus', open: '(?:', close: ')+' },
'*': { type: 'star', open: '(?:', close: ')*' },
'@': { type: 'at', open: '(?:', close: ')' }
};
},
/**
* Create GLOB_CHARS
*/
globChars(win32) {
return win32 === true ? WINDOWS_CHARS : POSIX_CHARS;
}
};

View File

@@ -0,0 +1 @@
{"version":3,"file":"cropImage.d.ts","sourceRoot":"","sources":["../../src/uploads/cropImage.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AACjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAQ7C,KAAK,aAAa,GAAG;IACnB,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IAC7B,UAAU,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;IAC7C,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC,CAAA;IAC5B,cAAc,EAAE,MAAM,CAAA;IACtB,GAAG,CAAC,EAAE,cAAc,CAAA;IACpB,KAAK,EAAE,eAAe,CAAC,OAAO,CAAC,CAAA;IAC/B,aAAa,EAAE,MAAM,CAAA;IACrB,YAAY,CAAC,EAAE,YAAY,CAAA;CAC5B,CAAA;AACD,wBAAsB,SAAS,CAAC,EAC9B,QAAQ,EACR,UAAU,EACV,IAAI,EAAE,OAAO,EACb,cAAc,EACd,GAAG,EACH,KAAK,EACL,aAAa,EACb,YAAY,GACb,EAAE,aAAa;;;;;;;;;;GA8Df"}

View File

@@ -0,0 +1,68 @@
"use strict";
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
var primary_keys_exports = {};
__export(primary_keys_exports, {
PrimaryKey: () => PrimaryKey,
PrimaryKeyBuilder: () => PrimaryKeyBuilder,
primaryKey: () => primaryKey
});
module.exports = __toCommonJS(primary_keys_exports);
var import_entity = require("../entity.cjs");
var import_table = require("./table.cjs");
function primaryKey(...config) {
if (config[0].columns) {
return new PrimaryKeyBuilder(config[0].columns, config[0].name);
}
return new PrimaryKeyBuilder(config);
}
class PrimaryKeyBuilder {
static [import_entity.entityKind] = "MySqlPrimaryKeyBuilder";
/** @internal */
columns;
/** @internal */
name;
constructor(columns, name) {
this.columns = columns;
this.name = name;
}
/** @internal */
build(table) {
return new PrimaryKey(table, this.columns, this.name);
}
}
class PrimaryKey {
constructor(table, columns, name) {
this.table = table;
this.columns = columns;
this.name = name;
}
static [import_entity.entityKind] = "MySqlPrimaryKey";
columns;
name;
getName() {
return this.name ?? `${this.table[import_table.MySqlTable.Symbol.Name]}_${this.columns.map((column) => column.name).join("_")}_pk`;
}
}
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
PrimaryKey,
PrimaryKeyBuilder,
primaryKey
});
//# sourceMappingURL=primary-keys.cjs.map

View File

@@ -0,0 +1,104 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.wrapNativeSuper = void 0;
//@ts-ignore
function wrapNativeSuper(Class) {
var _cache = typeof Map === "function" ? new Map() : undefined;
//@ts-ignore
exports.wrapNativeSuper = wrapNativeSuper = function wrapNativeSuper(Class) {
if (Class === null || !_isNativeFunction(Class))
return Class;
if (typeof Class !== "function") {
throw new TypeError("Super expression must either be null or a function");
}
if (typeof _cache !== "undefined") {
if (_cache.has(Class))
return _cache.get(Class);
_cache.set(Class, Wrapper);
}
function Wrapper() {
//@ts-ignore
return _construct(Class, arguments, _getPrototypeOf(this).constructor);
}
Wrapper.prototype = Object.create(Class.prototype, {
constructor: {
value: Wrapper,
enumerable: false,
writable: true,
configurable: true,
},
});
return _setPrototypeOf(Wrapper, Class);
};
return wrapNativeSuper(Class);
}
exports.wrapNativeSuper = wrapNativeSuper;
function isNativeReflectConstruct() {
if (typeof Reflect === "undefined" || !Reflect.construct)
return false;
//@ts-ignore
if (Reflect.construct.sham)
return false;
if (typeof Proxy === "function")
return true;
try {
Date.prototype.toString.call(Reflect.construct(Date, [], function () { }));
return true;
}
catch (e) {
return false;
}
}
//@ts-ignore
function _construct(Parent, args, Class) {
if (isNativeReflectConstruct()) {
//@ts-ignore
_construct = Reflect.construct;
}
else {
//@ts-ignore
_construct = function _construct(Parent, args, Class) {
var a = [null];
a.push.apply(a, args);
//@ts-ignore
var Constructor = Function.bind.apply(Parent, a);
//@ts-ignore
var instance = new Constructor();
if (Class)
_setPrototypeOf(instance, Class.prototype);
return instance;
};
}
//@ts-ignore
return _construct.apply(null, arguments);
}
function _isNativeFunction(fn) {
return Function.toString.call(fn).indexOf("[native code]") !== -1;
}
//@ts-ignore
function _setPrototypeOf(o, p) {
//@ts-ignore
_setPrototypeOf =
Object.setPrototypeOf ||
//@ts-ignore
function _setPrototypeOf(o, p) {
o.__proto__ = p;
return o;
};
return _setPrototypeOf(o, p);
}
//@ts-ignore
function _getPrototypeOf(o) {
//@ts-ignore
_getPrototypeOf = Object.setPrototypeOf
? Object.getPrototypeOf
: function _getPrototypeOf(
//@ts-ignore
o) {
return o.__proto__ || Object.getPrototypeOf(o);
};
return _getPrototypeOf(o);
}
module.exports = {
wrapNativeSuper,
};

View File

@@ -0,0 +1,2 @@
import{throwIfEmpty as e}from"../../utils/throw-if-empty.js";const t=e=>()=>({path:`/notifications`,params:e??{},method:`GET`}),n=(t,n)=>()=>(e(String(t),`Key cannot be empty`),{path:`/notifications/${t}`,params:n??{},method:`GET`});export{n as readNotification,t as readNotifications};
//# sourceMappingURL=notifications.js.map

View File

@@ -0,0 +1,107 @@
<a href="https://marked.js.org">
<img width="60px" height="60px" src="https://marked.js.org/img/logo-black.svg" align="right" />
</a>
# Marked
[![npm](https://badgen.net/npm/v/marked)](https://www.npmjs.com/package/marked)
[![gzip size](https://badgen.net/badgesize/gzip/https://cdn.jsdelivr.net/npm/marked/marked.min.js)](https://cdn.jsdelivr.net/npm/marked/marked.min.js)
[![install size](https://badgen.net/packagephobia/install/marked)](https://packagephobia.now.sh/result?p=marked)
[![downloads](https://badgen.net/npm/dt/marked)](https://www.npmjs.com/package/marked)
[![github actions](https://github.com/markedjs/marked/workflows/Tests/badge.svg)](https://github.com/markedjs/marked/actions)
[![snyk](https://snyk.io/test/npm/marked/badge.svg)](https://snyk.io/test/npm/marked)
- ⚡ built for speed
- ⬇️ low-level compiler for parsing markdown without caching or blocking for long periods of time
- ⚖️ light-weight while implementing all markdown features from the supported flavors & specifications
- 🌐 works in a browser, on a server, or from a command line interface (CLI)
## Demo
Checkout the [demo page](https://marked.js.org/demo/) to see marked in action ⛹️
## Docs
Our [documentation pages](https://marked.js.org) are also rendered using marked 💯
Also read about:
* [Options](https://marked.js.org/using_advanced)
* [Extensibility](https://marked.js.org/using_pro)
## Compatibility
**Node.js:** Only [current and LTS](https://nodejs.org/en/about/releases/) Node.js versions are supported. End of life Node.js versions may become incompatible with Marked at any point in time.
**Browser:** Not IE11 :)
## Installation
**CLI:**
```sh
npm install -g marked
```
**In-browser:**
```sh
npm install marked
```
## Usage
### Warning: 🚨 Marked does not [sanitize](https://marked.js.org/using_advanced#options) the output HTML. Please use a sanitize library, like [DOMPurify](https://github.com/cure53/DOMPurify) (recommended), [sanitize-html](https://github.com/apostrophecms/sanitize-html) or [insane](https://github.com/bevacqua/insane) on the *output* HTML! 🚨
```
DOMPurify.sanitize(marked.parse(`<img src="x" onerror="alert('not happening')">`));
```
**CLI**
``` bash
# Example with stdin input
$ marked -o hello.html
hello world
^D
$ cat hello.html
<p>hello world</p>
```
```bash
# Print all options
$ marked --help
```
**Browser**
```html
<!doctype html>
<html>
<head>
<meta charset="utf-8"/>
<title>Marked in the browser</title>
</head>
<body>
<div id="content"></div>
<script src="https://cdn.jsdelivr.net/npm/marked/marked.min.js"></script>
<script>
document.getElementById('content').innerHTML =
marked.parse('# Marked in the browser\n\nRendered by **marked**.');
</script>
</body>
</html>
```
or import esm module
```html
<script type="module">
import { marked } from "https://cdn.jsdelivr.net/npm/marked/lib/marked.esm.js";
document.getElementById('content').innerHTML =
marked.parse('# Marked in the browser\n\nRendered by **marked**.');
</script>
```
## License
Copyright (c) 2011-2022, Christopher Jeffrey. (MIT License)

View File

@@ -0,0 +1,12 @@
import type { SanitizedCollectionConfig, TypeWithID } from '../../../collections/config/types.js';
import type { Payload } from '../../../index.js';
import type { PayloadRequest } from '../../../types/index.js';
type Args = {
collection: SanitizedCollectionConfig;
doc: Record<string, unknown> & TypeWithID;
payload: Payload;
req: PayloadRequest;
};
export declare const resetLoginAttempts: ({ collection, doc, payload, req, }: Args) => Promise<void>;
export {};
//# sourceMappingURL=resetLoginAttempts.d.ts.map

View File

@@ -0,0 +1,50 @@
/**
* MIT License
*
* Copyright (c) 2020 Engineering at FullStory
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*
*/
/**
* The following code is based on the FullStory Babel plugin, but has been modified to work
* with Sentry products:
*
* - Added `sentry` to data properties, i.e `data-sentry-component`
* - Converted to TypeScript
* - Code cleanups
*/
import type * as Babel from "@babel/core";
import type { PluginObj, PluginPass } from "@babel/core";
interface AnnotationOpts {
native?: boolean;
"annotate-fragments"?: boolean;
ignoredComponents?: string[];
}
interface FragmentContext {
fragmentAliases: Set<string>;
reactNamespaceAliases: Set<string>;
}
interface AnnotationPluginPass extends PluginPass {
opts: AnnotationOpts;
sentryFragmentContext?: FragmentContext;
}
type AnnotationPlugin = PluginObj<AnnotationPluginPass>;
export { experimentalComponentNameAnnotatePlugin } from "./experimental";
export default function componentNameAnnotatePlugin({ types: t }: typeof Babel): AnnotationPlugin;

Some files were not shown because too many files have changed in this diff Show More