@inpageedit/core 0.13.1 → 0.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +20 -20
- package/dist/{BasePlugin-Bf2UuIHF.js → BasePlugin-CU8beLYu.js} +17 -26
- package/dist/BasePlugin-CU8beLYu.js.map +1 -0
- package/dist/IconQuickEdit-CMCQncyj.js.map +1 -1
- package/dist/InputBox-nQKtiWtZ.js.map +1 -1
- package/dist/{PluginPrefSync-Dn1Xsiqz.js → PluginPrefSync-B-gPsC2n.js} +124 -128
- package/dist/PluginPrefSync-B-gPsC2n.js.map +1 -0
- package/dist/PluginStoreApp-CDteVCBG.js +453 -0
- package/dist/PluginStoreApp-CDteVCBG.js.map +1 -0
- package/dist/{endpoints-DgyuoRZd.js → Preferences-85Q9FAmb.js} +589 -565
- package/dist/Preferences-85Q9FAmb.js.map +1 -0
- package/dist/WatchlistAction-BbNAyryN.js.map +1 -1
- package/dist/components/index.js.map +1 -1
- package/dist/{index-DqA6EAM6.js → index-19CgGBI0.js} +1419 -921
- package/dist/index-19CgGBI0.js.map +1 -0
- package/dist/{index-B7c6jL9x.js → index-BKIf3i0I.js} +146 -137
- package/dist/index-BKIf3i0I.js.map +1 -0
- package/dist/{index-CCRMmnwk.js → index-BrtFJ-M0.js} +67 -66
- package/dist/index-BrtFJ-M0.js.map +1 -0
- package/dist/index-CG38LlAh.js.map +1 -1
- package/dist/index-CM_6yF2v.js.map +1 -1
- package/dist/index-CQr1DJ8n.js +173 -0
- package/dist/index-CQr1DJ8n.js.map +1 -0
- package/dist/{index-BQ-cHWkJ.js → index-CVTBg5O9.js} +66 -48
- package/dist/index-CVTBg5O9.js.map +1 -0
- package/dist/index-Ci82vLXg.js +179 -0
- package/dist/index-Ci82vLXg.js.map +1 -0
- package/dist/{index-BwdWyHLe.js → index-D3iZhRMJ.js} +93 -93
- package/dist/index-D3iZhRMJ.js.map +1 -0
- package/dist/index-DD5CVCfD.js.map +1 -1
- package/dist/{index-BJ7_Q1mB.js → index-DGtq21uW.js} +17 -16
- package/dist/index-DGtq21uW.js.map +1 -0
- package/dist/index-DXL7teb0.js +394 -0
- package/dist/index-DXL7teb0.js.map +1 -0
- package/dist/index-DjPpAyfE.js +116 -0
- package/dist/index-DjPpAyfE.js.map +1 -0
- package/dist/{index-eSlbrNqF.js → index-rpiO9fpc.js} +4 -5
- package/dist/{index-eSlbrNqF.js.map → index-rpiO9fpc.js.map} +1 -1
- package/dist/index.d.ts +318 -25
- package/dist/index.js +32 -26
- package/dist/index.js.map +1 -1
- package/dist/makeCallable-LDU0xZMJ.js.map +1 -1
- package/dist/models/index.js +174 -154
- package/dist/models/index.js.map +1 -1
- package/dist/noop-ClDc6zv4.js.map +1 -1
- package/dist/plugins/index.js +10 -10
- package/dist/services/index.js +1 -1
- package/dist/style.css +1 -1
- package/dist/vueHooks-l04s8cIl.js.map +1 -1
- package/lib/index.umd.js +20 -12
- package/lib/index.umd.js.map +1 -1
- package/lib/style.css +1 -1
- package/package.json +4 -4
- package/dist/BasePlugin-Bf2UuIHF.js.map +0 -1
- package/dist/PluginPrefSync-Dn1Xsiqz.js.map +0 -1
- package/dist/PluginStoreApp-CpOLArL7.js +0 -452
- package/dist/PluginStoreApp-CpOLArL7.js.map +0 -1
- package/dist/Preferences-DS4-CFWe.js +0 -9
- package/dist/Preferences-DS4-CFWe.js.map +0 -1
- package/dist/endpoints-DgyuoRZd.js.map +0 -1
- package/dist/index-2RfILgXm.js +0 -180
- package/dist/index-2RfILgXm.js.map +0 -1
- package/dist/index-B7c6jL9x.js.map +0 -1
- package/dist/index-BJ7_Q1mB.js.map +0 -1
- package/dist/index-BNh95-x2.js +0 -115
- package/dist/index-BNh95-x2.js.map +0 -1
- package/dist/index-BQ-cHWkJ.js.map +0 -1
- package/dist/index-BwdWyHLe.js.map +0 -1
- package/dist/index-CCRMmnwk.js.map +0 -1
- package/dist/index-CnIpUF9x.js +0 -173
- package/dist/index-CnIpUF9x.js.map +0 -1
- package/dist/index-CyG7_IYz.js +0 -394
- package/dist/index-CyG7_IYz.js.map +0 -1
- package/dist/index-DqA6EAM6.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"endpoints-DgyuoRZd.js","sources":["../src/polyfills/Promise.withResolvers.ts","../../../node_modules/.pnpm/cosmokit@1.8.0/node_modules/cosmokit/lib/index.mjs","../../../node_modules/.pnpm/@cordisjs+core@3.18.1/node_modules/@cordisjs/core/lib/index.mjs","../../../node_modules/.pnpm/schemastery@3.17.1/node_modules/schemastery/lib/index.mjs","../src/constants/endpoints.ts"],"sourcesContent":["export const promiseWithResolvers = <T extends unknown = any>() => {\r\n let resolve!: (value: T | PromiseLike<T>) => void\r\n let reject!: (reason?: any) => void\r\n const promise = new Promise<T>((res, rej) => {\r\n resolve = res\r\n reject = rej\r\n })\r\n return { promise, resolve, reject }\r\n}\r\n\r\nif (!Promise.withResolvers) {\r\n Promise.withResolvers = promiseWithResolvers\r\n}\r\n","var __defProp = Object.defineProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\n\n// src/misc.ts\nfunction noop() {\n}\n__name(noop, \"noop\");\nfunction isNullable(value) {\n return value === null || value === void 0;\n}\n__name(isNullable, \"isNullable\");\nfunction isNonNullable(value) {\n return !isNullable(value);\n}\n__name(isNonNullable, \"isNonNullable\");\nfunction isPlainObject(data) {\n return data && typeof data === \"object\" && !Array.isArray(data);\n}\n__name(isPlainObject, \"isPlainObject\");\nfunction filterKeys(object, filter) {\n return Object.fromEntries(Object.entries(object).filter(([key, value]) => filter(key, value)));\n}\n__name(filterKeys, \"filterKeys\");\nfunction mapValues(object, transform) {\n return Object.fromEntries(Object.entries(object).map(([key, value]) => [key, transform(value, key)]));\n}\n__name(mapValues, \"mapValues\");\nfunction pick(source, keys, forced) {\n if (!keys) return { ...source };\n const result = {};\n for (const key of keys) {\n if (forced || source[key] !== void 0) result[key] = source[key];\n }\n return result;\n}\n__name(pick, \"pick\");\nfunction omit(source, keys) {\n if (!keys) return { ...source };\n const result = { ...source };\n for (const key of keys) {\n Reflect.deleteProperty(result, key);\n }\n return result;\n}\n__name(omit, \"omit\");\nfunction defineProperty(object, key, value) {\n return Object.defineProperty(object, key, { writable: true, value, enumerable: false });\n}\n__name(defineProperty, \"defineProperty\");\n\n// src/array.ts\nfunction contain(array1, array2) {\n return array2.every((item) => array1.includes(item));\n}\n__name(contain, \"contain\");\nfunction intersection(array1, array2) {\n return array1.filter((item) => array2.includes(item));\n}\n__name(intersection, \"intersection\");\nfunction difference(array1, array2) {\n return array1.filter((item) => !array2.includes(item));\n}\n__name(difference, \"difference\");\nfunction union(array1, array2) {\n return Array.from(/* @__PURE__ */ new Set([...array1, ...array2]));\n}\n__name(union, \"union\");\nfunction deduplicate(array) {\n return [...new Set(array)];\n}\n__name(deduplicate, \"deduplicate\");\nfunction remove(list, item) {\n const index = list?.indexOf(item);\n if (index >= 0) {\n list.splice(index, 1);\n return true;\n } else {\n return false;\n }\n}\n__name(remove, \"remove\");\nfunction makeArray(source) {\n return Array.isArray(source) ? source : isNullable(source) ? [] : [source];\n}\n__name(makeArray, \"makeArray\");\n\n// src/types.ts\nfunction is(type, value) {\n if (arguments.length === 1) return (value2) => is(type, value2);\n return type in globalThis && value instanceof globalThis[type] || Object.prototype.toString.call(value).slice(8, -1) === type;\n}\n__name(is, \"is\");\nfunction isArrayBufferLike(value) {\n return is(\"ArrayBuffer\", value) || is(\"SharedArrayBuffer\", value);\n}\n__name(isArrayBufferLike, \"isArrayBufferLike\");\nfunction isArrayBufferSource(value) {\n return isArrayBufferLike(value) || ArrayBuffer.isView(value);\n}\n__name(isArrayBufferSource, \"isArrayBufferSource\");\nvar Binary;\n((Binary2) => {\n Binary2.is = isArrayBufferLike;\n Binary2.isSource = isArrayBufferSource;\n function fromSource(source) {\n if (ArrayBuffer.isView(source)) {\n return source.buffer.slice(source.byteOffset, source.byteOffset + source.byteLength);\n } else {\n return source;\n }\n }\n Binary2.fromSource = fromSource;\n __name(fromSource, \"fromSource\");\n function toBase64(source) {\n if (typeof Buffer !== \"undefined\") {\n return Buffer.from(source).toString(\"base64\");\n }\n let binary = \"\";\n const bytes = new Uint8Array(source);\n for (let i = 0; i < bytes.byteLength; i++) {\n binary += String.fromCharCode(bytes[i]);\n }\n return btoa(binary);\n }\n Binary2.toBase64 = toBase64;\n __name(toBase64, \"toBase64\");\n function fromBase64(source) {\n if (typeof Buffer !== \"undefined\") return fromSource(Buffer.from(source, \"base64\"));\n return Uint8Array.from(atob(source), (c) => c.charCodeAt(0));\n }\n Binary2.fromBase64 = fromBase64;\n __name(fromBase64, \"fromBase64\");\n function toHex(source) {\n if (typeof Buffer !== \"undefined\") return Buffer.from(source).toString(\"hex\");\n return Array.from(new Uint8Array(source), (byte) => byte.toString(16).padStart(2, \"0\")).join(\"\");\n }\n Binary2.toHex = toHex;\n __name(toHex, \"toHex\");\n function fromHex(source) {\n if (typeof Buffer !== \"undefined\") return fromSource(Buffer.from(source, \"hex\"));\n const hex = source.length % 2 === 0 ? source : source.slice(0, source.length - 1);\n const buffer = [];\n for (let i = 0; i < hex.length; i += 2) {\n buffer.push(parseInt(`${hex[i]}${hex[i + 1]}`, 16));\n }\n return Uint8Array.from(buffer).buffer;\n }\n Binary2.fromHex = fromHex;\n __name(fromHex, \"fromHex\");\n})(Binary || (Binary = {}));\nvar base64ToArrayBuffer = Binary.fromBase64;\nvar arrayBufferToBase64 = Binary.toBase64;\nvar hexToArrayBuffer = Binary.fromHex;\nvar arrayBufferToHex = Binary.toHex;\nfunction clone(source, refs = /* @__PURE__ */ new Map()) {\n if (!source || typeof source !== \"object\") return source;\n if (is(\"Date\", source)) return new Date(source.valueOf());\n if (is(\"RegExp\", source)) return new RegExp(source.source, source.flags);\n if (isArrayBufferLike(source)) return source.slice(0);\n if (ArrayBuffer.isView(source)) return source.buffer.slice(source.byteOffset, source.byteOffset + source.byteLength);\n const cached = refs.get(source);\n if (cached) return cached;\n if (Array.isArray(source)) {\n const result2 = [];\n refs.set(source, result2);\n source.forEach((value, index) => {\n result2[index] = Reflect.apply(clone, null, [value, refs]);\n });\n return result2;\n }\n const result = Object.create(Object.getPrototypeOf(source));\n refs.set(source, result);\n for (const key of Reflect.ownKeys(source)) {\n const descriptor = { ...Reflect.getOwnPropertyDescriptor(source, key) };\n if (\"value\" in descriptor) {\n descriptor.value = Reflect.apply(clone, null, [descriptor.value, refs]);\n }\n Reflect.defineProperty(result, key, descriptor);\n }\n return result;\n}\n__name(clone, \"clone\");\nfunction deepEqual(a, b, strict) {\n if (a === b) return true;\n if (!strict && isNullable(a) && isNullable(b)) return true;\n if (typeof a !== typeof b) return false;\n if (typeof a !== \"object\") return false;\n if (!a || !b) return false;\n function check(test, then) {\n return test(a) ? test(b) ? then(a, b) : false : test(b) ? false : void 0;\n }\n __name(check, \"check\");\n return check(Array.isArray, (a2, b2) => a2.length === b2.length && a2.every((item, index) => deepEqual(item, b2[index]))) ?? check(is(\"Date\"), (a2, b2) => a2.valueOf() === b2.valueOf()) ?? check(is(\"RegExp\"), (a2, b2) => a2.source === b2.source && a2.flags === b2.flags) ?? check(isArrayBufferLike, (a2, b2) => {\n if (a2.byteLength !== b2.byteLength) return false;\n const viewA = new Uint8Array(a2);\n const viewB = new Uint8Array(b2);\n for (let i = 0; i < viewA.length; i++) {\n if (viewA[i] !== viewB[i]) return false;\n }\n return true;\n }) ?? Object.keys({ ...a, ...b }).every((key) => deepEqual(a[key], b[key], strict));\n}\n__name(deepEqual, \"deepEqual\");\n\n// src/string.ts\nfunction capitalize(source) {\n return source.charAt(0).toUpperCase() + source.slice(1);\n}\n__name(capitalize, \"capitalize\");\nfunction uncapitalize(source) {\n return source.charAt(0).toLowerCase() + source.slice(1);\n}\n__name(uncapitalize, \"uncapitalize\");\nfunction camelCase(source) {\n return source.replace(/[_-][a-z]/g, (str) => str.slice(1).toUpperCase());\n}\n__name(camelCase, \"camelCase\");\nfunction tokenize(source, delimiters, delimiter) {\n const output = [];\n let state = 0 /* DELIM */;\n for (let i = 0; i < source.length; i++) {\n const code = source.charCodeAt(i);\n if (code >= 65 && code <= 90) {\n if (state === 1 /* UPPER */) {\n const next = source.charCodeAt(i + 1);\n if (next >= 97 && next <= 122) {\n output.push(delimiter);\n }\n output.push(code + 32);\n } else {\n if (state !== 0 /* DELIM */) {\n output.push(delimiter);\n }\n output.push(code + 32);\n }\n state = 1 /* UPPER */;\n } else if (code >= 97 && code <= 122) {\n output.push(code);\n state = 2 /* LOWER */;\n } else if (delimiters.includes(code)) {\n if (state !== 0 /* DELIM */) {\n output.push(delimiter);\n }\n state = 0 /* DELIM */;\n } else {\n output.push(code);\n }\n }\n return String.fromCharCode(...output);\n}\n__name(tokenize, \"tokenize\");\nfunction paramCase(source) {\n return tokenize(source, [45, 95], 45);\n}\n__name(paramCase, \"paramCase\");\nfunction snakeCase(source) {\n return tokenize(source, [45, 95], 95);\n}\n__name(snakeCase, \"snakeCase\");\nvar camelize = camelCase;\nvar hyphenate = paramCase;\nfunction formatProperty(key) {\n if (typeof key !== \"string\") return `[${key.toString()}]`;\n return /^[a-z_$][\\w$]*$/i.test(key) ? `.${key}` : `[${JSON.stringify(key)}]`;\n}\n__name(formatProperty, \"formatProperty\");\nfunction trimSlash(source) {\n return source.replace(/\\/$/, \"\");\n}\n__name(trimSlash, \"trimSlash\");\nfunction sanitize(source) {\n if (!source.startsWith(\"/\")) source = \"/\" + source;\n return trimSlash(source);\n}\n__name(sanitize, \"sanitize\");\n\n// src/time.ts\nvar Time;\n((Time2) => {\n Time2.millisecond = 1;\n Time2.second = 1e3;\n Time2.minute = Time2.second * 60;\n Time2.hour = Time2.minute * 60;\n Time2.day = Time2.hour * 24;\n Time2.week = Time2.day * 7;\n let timezoneOffset = (/* @__PURE__ */ new Date()).getTimezoneOffset();\n function setTimezoneOffset(offset) {\n timezoneOffset = offset;\n }\n Time2.setTimezoneOffset = setTimezoneOffset;\n __name(setTimezoneOffset, \"setTimezoneOffset\");\n function getTimezoneOffset() {\n return timezoneOffset;\n }\n Time2.getTimezoneOffset = getTimezoneOffset;\n __name(getTimezoneOffset, \"getTimezoneOffset\");\n function getDateNumber(date = /* @__PURE__ */ new Date(), offset) {\n if (typeof date === \"number\") date = new Date(date);\n if (offset === void 0) offset = timezoneOffset;\n return Math.floor((date.valueOf() / Time2.minute - offset) / 1440);\n }\n Time2.getDateNumber = getDateNumber;\n __name(getDateNumber, \"getDateNumber\");\n function fromDateNumber(value, offset) {\n const date = new Date(value * Time2.day);\n if (offset === void 0) offset = timezoneOffset;\n return new Date(+date + offset * Time2.minute);\n }\n Time2.fromDateNumber = fromDateNumber;\n __name(fromDateNumber, \"fromDateNumber\");\n const numeric = /\\d+(?:\\.\\d+)?/.source;\n const timeRegExp = new RegExp(`^${[\n \"w(?:eek(?:s)?)?\",\n \"d(?:ay(?:s)?)?\",\n \"h(?:our(?:s)?)?\",\n \"m(?:in(?:ute)?(?:s)?)?\",\n \"s(?:ec(?:ond)?(?:s)?)?\"\n ].map((unit) => `(${numeric}${unit})?`).join(\"\")}$`);\n function parseTime(source) {\n const capture = timeRegExp.exec(source);\n if (!capture) return 0;\n return (parseFloat(capture[1]) * Time2.week || 0) + (parseFloat(capture[2]) * Time2.day || 0) + (parseFloat(capture[3]) * Time2.hour || 0) + (parseFloat(capture[4]) * Time2.minute || 0) + (parseFloat(capture[5]) * Time2.second || 0);\n }\n Time2.parseTime = parseTime;\n __name(parseTime, \"parseTime\");\n function parseDate(date) {\n const parsed = parseTime(date);\n if (parsed) {\n date = Date.now() + parsed;\n } else if (/^\\d{1,2}(:\\d{1,2}){1,2}$/.test(date)) {\n date = `${(/* @__PURE__ */ new Date()).toLocaleDateString()}-${date}`;\n } else if (/^\\d{1,2}-\\d{1,2}-\\d{1,2}(:\\d{1,2}){1,2}$/.test(date)) {\n date = `${(/* @__PURE__ */ new Date()).getFullYear()}-${date}`;\n }\n return date ? new Date(date) : /* @__PURE__ */ new Date();\n }\n Time2.parseDate = parseDate;\n __name(parseDate, \"parseDate\");\n function format(ms) {\n const abs = Math.abs(ms);\n if (abs >= Time2.day - Time2.hour / 2) {\n return Math.round(ms / Time2.day) + \"d\";\n } else if (abs >= Time2.hour - Time2.minute / 2) {\n return Math.round(ms / Time2.hour) + \"h\";\n } else if (abs >= Time2.minute - Time2.second / 2) {\n return Math.round(ms / Time2.minute) + \"m\";\n } else if (abs >= Time2.second) {\n return Math.round(ms / Time2.second) + \"s\";\n }\n return ms + \"ms\";\n }\n Time2.format = format;\n __name(format, \"format\");\n function toDigits(source, length = 2) {\n return source.toString().padStart(length, \"0\");\n }\n Time2.toDigits = toDigits;\n __name(toDigits, \"toDigits\");\n function template(template2, time = /* @__PURE__ */ new Date()) {\n return template2.replace(\"yyyy\", time.getFullYear().toString()).replace(\"yy\", time.getFullYear().toString().slice(2)).replace(\"MM\", toDigits(time.getMonth() + 1)).replace(\"dd\", toDigits(time.getDate())).replace(\"hh\", toDigits(time.getHours())).replace(\"mm\", toDigits(time.getMinutes())).replace(\"ss\", toDigits(time.getSeconds())).replace(\"SSS\", toDigits(time.getMilliseconds(), 3));\n }\n Time2.template = template;\n __name(template, \"template\");\n})(Time || (Time = {}));\nexport {\n Binary,\n Time,\n arrayBufferToBase64,\n arrayBufferToHex,\n base64ToArrayBuffer,\n camelCase,\n camelize,\n capitalize,\n clone,\n contain,\n deduplicate,\n deepEqual,\n defineProperty,\n difference,\n filterKeys,\n formatProperty,\n hexToArrayBuffer,\n hyphenate,\n intersection,\n is,\n isNonNullable,\n isNullable,\n isPlainObject,\n makeArray,\n mapValues,\n noop,\n omit,\n paramCase,\n pick,\n remove,\n sanitize,\n snakeCase,\n trimSlash,\n uncapitalize,\n union,\n mapValues as valueMap\n};\n//# sourceMappingURL=index.mjs.map\n","var __defProp = Object.defineProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\n\n// src/context.ts\nimport { defineProperty as defineProperty6 } from \"cosmokit\";\n\n// src/events.ts\nimport { defineProperty as defineProperty3, remove } from \"cosmokit\";\n\n// src/reflect.ts\nimport { defineProperty as defineProperty2, isNullable } from \"cosmokit\";\n\n// src/utils.ts\nimport { defineProperty } from \"cosmokit\";\nvar symbols = {\n // internal symbols\n shadow: Symbol.for(\"cordis.shadow\"),\n receiver: Symbol.for(\"cordis.receiver\"),\n original: Symbol.for(\"cordis.original\"),\n // context symbols\n store: Symbol.for(\"cordis.store\"),\n events: Symbol.for(\"cordis.events\"),\n static: Symbol.for(\"cordis.static\"),\n filter: Symbol.for(\"cordis.filter\"),\n expose: Symbol.for(\"cordis.expose\"),\n isolate: Symbol.for(\"cordis.isolate\"),\n internal: Symbol.for(\"cordis.internal\"),\n intercept: Symbol.for(\"cordis.intercept\"),\n // service symbols\n setup: Symbol.for(\"cordis.setup\"),\n invoke: Symbol.for(\"cordis.invoke\"),\n extend: Symbol.for(\"cordis.extend\"),\n tracker: Symbol.for(\"cordis.tracker\"),\n provide: Symbol.for(\"cordis.provide\"),\n immediate: Symbol.for(\"cordis.immediate\")\n};\nvar GeneratorFunction = function* () {\n}.constructor;\nvar AsyncGeneratorFunction = async function* () {\n}.constructor;\nfunction isConstructor(func) {\n if (!func.prototype) return false;\n if (func instanceof GeneratorFunction) return false;\n if (AsyncGeneratorFunction !== Function && func instanceof AsyncGeneratorFunction) return false;\n return true;\n}\n__name(isConstructor, \"isConstructor\");\nfunction resolveConfig(plugin, config) {\n const schema = plugin[\"Config\"] || plugin[\"schema\"];\n if (schema && plugin[\"schema\"] !== false) config = schema(config);\n return config ?? {};\n}\n__name(resolveConfig, \"resolveConfig\");\nfunction isUnproxyable(value) {\n return [Map, Set, Date, Promise].some((constructor) => value instanceof constructor);\n}\n__name(isUnproxyable, \"isUnproxyable\");\nfunction joinPrototype(proto1, proto2) {\n if (proto1 === Object.prototype) return proto2;\n const result = Object.create(joinPrototype(Object.getPrototypeOf(proto1), proto2));\n for (const key of Reflect.ownKeys(proto1)) {\n Object.defineProperty(result, key, Object.getOwnPropertyDescriptor(proto1, key));\n }\n return result;\n}\n__name(joinPrototype, \"joinPrototype\");\nfunction isObject(value) {\n return value && (typeof value === \"object\" || typeof value === \"function\");\n}\n__name(isObject, \"isObject\");\nfunction getTraceable(ctx, value, noTrap) {\n if (!isObject(value)) return value;\n if (Object.hasOwn(value, symbols.shadow)) {\n return Object.getPrototypeOf(value);\n }\n const tracker = value[symbols.tracker];\n if (!tracker) return value;\n return createTraceable(ctx, value, tracker, noTrap);\n}\n__name(getTraceable, \"getTraceable\");\nfunction withProps(target, props) {\n if (!props) return target;\n return new Proxy(target, {\n get: /* @__PURE__ */ __name((target2, prop, receiver) => {\n if (prop in props && prop !== \"constructor\") return Reflect.get(props, prop, receiver);\n return Reflect.get(target2, prop, receiver);\n }, \"get\"),\n set: /* @__PURE__ */ __name((target2, prop, value, receiver) => {\n if (prop in props && prop !== \"constructor\") return Reflect.set(props, prop, value, receiver);\n return Reflect.set(target2, prop, value, receiver);\n }, \"set\")\n });\n}\n__name(withProps, \"withProps\");\nfunction withProp(target, prop, value) {\n return withProps(target, Object.defineProperty(/* @__PURE__ */ Object.create(null), prop, {\n value,\n writable: false\n }));\n}\n__name(withProp, \"withProp\");\nfunction createShadow(ctx, target, property, receiver) {\n if (!property) return receiver;\n const origin = Reflect.getOwnPropertyDescriptor(target, property)?.value;\n if (!origin) return receiver;\n return withProp(receiver, property, ctx.extend({ [symbols.shadow]: origin }));\n}\n__name(createShadow, \"createShadow\");\nfunction createShadowMethod(ctx, value, outer, shadow) {\n return new Proxy(value, {\n apply: /* @__PURE__ */ __name((target, thisArg, args) => {\n if (thisArg === outer) thisArg = shadow;\n args = args.map((arg) => {\n if (typeof arg !== \"function\" || arg[symbols.original]) return arg;\n return new Proxy(arg, {\n get: /* @__PURE__ */ __name((target2, prop, receiver) => {\n if (prop === symbols.original) return target2;\n const value2 = Reflect.get(target2, prop, receiver);\n if (prop === \"toString\" && value2 === Function.prototype.toString) {\n return function(...args2) {\n return Reflect.apply(value2, this === receiver ? target2 : this, args2);\n };\n }\n return value2;\n }, \"get\"),\n apply: /* @__PURE__ */ __name((target2, thisArg2, args2) => {\n return Reflect.apply(target2, getTraceable(ctx, thisArg2), args2.map((arg2) => getTraceable(ctx, arg2)));\n }, \"apply\"),\n construct: /* @__PURE__ */ __name((target2, args2, newTarget) => {\n return Reflect.construct(target2, args2.map((arg2) => getTraceable(ctx, arg2)), newTarget);\n }, \"construct\")\n });\n });\n return getTraceable(ctx, Reflect.apply(target, thisArg, args));\n }, \"apply\")\n });\n}\n__name(createShadowMethod, \"createShadowMethod\");\nfunction createTraceable(ctx, value, tracker, noTrap) {\n if (ctx[symbols.shadow]) {\n ctx = Object.getPrototypeOf(ctx);\n }\n const proxy = new Proxy(value, {\n get: /* @__PURE__ */ __name((target, prop, receiver) => {\n if (prop === symbols.original) return target;\n if (prop === tracker.property) return ctx;\n if (typeof prop === \"symbol\") {\n return Reflect.get(target, prop, receiver);\n }\n if (tracker.associate && ctx[symbols.internal][`${tracker.associate}.${prop}`]) {\n return Reflect.get(ctx, `${tracker.associate}.${prop}`, withProp(ctx, symbols.receiver, receiver));\n }\n const shadow = createShadow(ctx, target, tracker.property, receiver);\n const innerValue = Reflect.get(target, prop, shadow);\n const innerTracker = innerValue?.[symbols.tracker];\n if (innerTracker) {\n return createTraceable(ctx, innerValue, innerTracker);\n } else if (!noTrap && typeof innerValue === \"function\") {\n return createShadowMethod(ctx, innerValue, receiver, shadow);\n } else {\n return innerValue;\n }\n }, \"get\"),\n set: /* @__PURE__ */ __name((target, prop, value2, receiver) => {\n if (prop === symbols.original) return false;\n if (prop === tracker.property) return false;\n if (typeof prop === \"symbol\") {\n return Reflect.set(target, prop, value2, receiver);\n }\n if (tracker.associate && ctx[symbols.internal][`${tracker.associate}.${prop}`]) {\n return Reflect.set(ctx, `${tracker.associate}.${prop}`, value2, withProp(ctx, symbols.receiver, receiver));\n }\n const shadow = createShadow(ctx, target, tracker.property, receiver);\n return Reflect.set(target, prop, value2, shadow);\n }, \"set\"),\n apply: /* @__PURE__ */ __name((target, thisArg, args) => {\n return applyTraceable(proxy, target, thisArg, args);\n }, \"apply\")\n });\n return proxy;\n}\n__name(createTraceable, \"createTraceable\");\nfunction applyTraceable(proxy, value, thisArg, args) {\n if (!value[symbols.invoke]) return Reflect.apply(value, thisArg, args);\n return value[symbols.invoke].apply(proxy, args);\n}\n__name(applyTraceable, \"applyTraceable\");\nfunction createCallable(name, proto, tracker) {\n const self = /* @__PURE__ */ __name(function(...args) {\n const proxy = createTraceable(self[\"ctx\"], self, tracker);\n return applyTraceable(proxy, self, this, args);\n }, \"self\");\n defineProperty(self, \"name\", name);\n return Object.setPrototypeOf(self, proto);\n}\n__name(createCallable, \"createCallable\");\n\n// src/reflect.ts\nvar ReflectService = class _ReflectService {\n constructor(ctx) {\n this.ctx = ctx;\n defineProperty2(this, symbols.tracker, {\n associate: \"reflect\",\n property: \"ctx\"\n });\n this._mixin(\"reflect\", [\"get\", \"set\", \"provide\", \"accessor\", \"mixin\", \"alias\"]);\n this._mixin(\"scope\", [\"config\", \"runtime\", \"effect\", \"collect\", \"accept\", \"decline\"]);\n this._mixin(\"registry\", [\"using\", \"inject\", \"plugin\"]);\n this._mixin(\"lifecycle\", [\"on\", \"once\", \"parallel\", \"emit\", \"serial\", \"bail\", \"start\", \"stop\"]);\n }\n static {\n __name(this, \"ReflectService\");\n }\n static resolveInject(ctx, name) {\n let internal = ctx[symbols.internal][name];\n while (internal?.type === \"alias\") {\n name = internal.name;\n internal = ctx[symbols.internal][name];\n }\n return [name, internal];\n }\n static checkInject(ctx, name, error) {\n ctx = ctx[symbols.shadow] ?? ctx;\n if ([\"prototype\", \"then\", \"registry\", \"lifecycle\"].includes(name)) return;\n if (name[0] === \"$\" || name[0] === \"_\") return;\n if (!ctx.runtime.plugin) return;\n if (ctx.bail(ctx, \"internal/inject\", name)) return;\n const lines = error.stack.split(\"\\n\");\n lines.splice(1, 1);\n error.stack = lines.join(\"\\n\");\n ctx.emit(ctx, \"internal/warning\", error);\n }\n static handler = {\n get: /* @__PURE__ */ __name((target, prop, ctx) => {\n if (typeof prop !== \"string\") return Reflect.get(target, prop, ctx);\n if (Reflect.has(target, prop)) {\n return getTraceable(ctx, Reflect.get(target, prop, ctx), true);\n }\n const [name, internal] = _ReflectService.resolveInject(target, prop);\n const error = new Error(`property ${name} is not registered, declare it as \\`inject\\` to suppress this warning`);\n if (!internal) {\n _ReflectService.checkInject(ctx, name, error);\n return Reflect.get(target, name, ctx);\n } else if (internal.type === \"accessor\") {\n return internal.get.call(ctx, ctx[symbols.receiver]);\n } else {\n if (!internal.builtin) _ReflectService.checkInject(ctx, name, error);\n return ctx.reflect.get(name);\n }\n }, \"get\"),\n set: /* @__PURE__ */ __name((target, prop, value, ctx) => {\n if (typeof prop !== \"string\") return Reflect.set(target, prop, value, ctx);\n const [name, internal] = _ReflectService.resolveInject(target, prop);\n if (!internal) {\n return Reflect.set(target, name, value, ctx);\n }\n if (internal.type === \"accessor\") {\n if (!internal.set) return false;\n return internal.set.call(ctx, value, ctx[symbols.receiver]);\n } else {\n ctx.reflect.set(name, value);\n return true;\n }\n }, \"set\"),\n has: /* @__PURE__ */ __name((target, prop) => {\n if (typeof prop !== \"string\") return Reflect.has(target, prop);\n if (Reflect.has(target, prop)) return true;\n const [, internal] = _ReflectService.resolveInject(target, prop);\n return !!internal;\n }, \"has\")\n };\n get(name) {\n const internal = this.ctx[symbols.internal][name];\n if (internal?.type !== \"service\") return;\n const key = this.ctx[symbols.isolate][name];\n const value = this.ctx[symbols.store][key]?.value;\n return getTraceable(this.ctx, value);\n }\n set(name, value) {\n this.provide(name);\n const key = this.ctx[symbols.isolate][name];\n const oldValue = this.ctx[symbols.store][key]?.value;\n value ??= void 0;\n let dispose = /* @__PURE__ */ __name(() => {\n }, \"dispose\");\n if (oldValue === value) return dispose;\n if (!isNullable(value) && !isNullable(oldValue)) {\n throw new Error(`service ${name} has been registered`);\n }\n const ctx = this.ctx;\n if (!isNullable(value)) {\n dispose = ctx.effect(() => () => {\n ctx.set(name, void 0);\n });\n }\n if (isUnproxyable(value)) {\n ctx.emit(ctx, \"internal/warning\", new Error(`service ${name} is an unproxyable object, which may lead to unexpected behavior`));\n }\n const self = Object.create(ctx);\n self[symbols.filter] = (ctx2) => {\n return ctx[symbols.isolate][name] === ctx2[symbols.isolate][name];\n };\n ctx.emit(self, \"internal/before-service\", name, value);\n ctx[symbols.store][key] = { value, source: ctx };\n ctx.emit(self, \"internal/service\", name, oldValue);\n return dispose;\n }\n provide(name, value, builtin) {\n const internal = this.ctx.root[symbols.internal];\n if (name in internal) return;\n const key = Symbol(name);\n internal[name] = { type: \"service\", builtin };\n this.ctx.root[symbols.isolate][name] = key;\n if (!isObject(value)) return;\n this.ctx[symbols.store][key] = { value, source: null };\n defineProperty2(value, symbols.tracker, {\n associate: name,\n property: \"ctx\"\n });\n }\n _accessor(name, options) {\n const internal = this.ctx.root[symbols.internal];\n if (name in internal) return () => {\n };\n internal[name] = { type: \"accessor\", ...options };\n return () => delete this.ctx.root[symbols.isolate][name];\n }\n accessor(name, options) {\n this.ctx.scope.effect(() => {\n return this._accessor(name, options);\n });\n }\n alias(name, aliases) {\n const internal = this.ctx.root[symbols.internal];\n if (name in internal) return;\n for (const key of aliases) {\n internal[key] ||= { type: \"alias\", name };\n }\n }\n _mixin(source, mixins) {\n const entries = Array.isArray(mixins) ? mixins.map((key) => [key, key]) : Object.entries(mixins);\n const getTarget = typeof source === \"string\" ? (ctx) => ctx[source] : () => source;\n const disposables = entries.map(([key, value]) => {\n return this._accessor(value, {\n get(receiver) {\n const service = getTarget(this);\n if (isNullable(service)) return service;\n const mixin = receiver ? withProps(receiver, service) : service;\n const value2 = Reflect.get(service, key, mixin);\n if (typeof value2 !== \"function\") return value2;\n return value2.bind(mixin ?? service);\n },\n set(value2, receiver) {\n const service = getTarget(this);\n const mixin = receiver ? withProps(receiver, service) : service;\n return Reflect.set(service, key, value2, mixin);\n }\n });\n });\n return () => disposables.forEach((dispose) => dispose());\n }\n mixin(source, mixins) {\n this.ctx.scope.effect(() => {\n return this._mixin(source, mixins);\n });\n }\n trace(value) {\n return getTraceable(this.ctx, value);\n }\n bind(callback) {\n return new Proxy(callback, {\n apply: /* @__PURE__ */ __name((target, thisArg, args) => {\n return target.apply(this.trace(thisArg), args.map((arg) => this.trace(arg)));\n }, \"apply\")\n });\n }\n};\nvar reflect_default = ReflectService;\n\n// src/events.ts\nfunction isBailed(value) {\n return value !== null && value !== false && value !== void 0;\n}\n__name(isBailed, \"isBailed\");\nvar Lifecycle = class {\n constructor(ctx) {\n this.ctx = ctx;\n defineProperty3(this, symbols.tracker, {\n associate: \"lifecycle\",\n property: \"ctx\"\n });\n defineProperty3(this.on(\"internal/listener\", function(name, listener, options) {\n const method = options.prepend ? \"unshift\" : \"push\";\n if (name === \"ready\") {\n if (!this.lifecycle.isActive) return;\n this.scope.ensure(async () => listener());\n return () => false;\n } else if (name === \"dispose\") {\n this.scope.disposables[method](listener);\n defineProperty3(listener, \"name\", \"event <dispose>\");\n return () => remove(this.scope.disposables, listener);\n } else if (name === \"fork\") {\n this.scope.runtime.forkables[method](listener);\n return this.scope.collect(\"event <fork>\", () => remove(this.scope.runtime.forkables, listener));\n }\n }), Context.static, ctx.scope);\n for (const level of [\"info\", \"error\", \"warning\"]) {\n defineProperty3(this.on(`internal/${level}`, (format, ...param) => {\n if (this._hooks[`internal/${level}`].length > 1) return;\n console.info(format, ...param);\n }), Context.static, ctx.scope);\n }\n defineProperty3(this.on(\"internal/before-service\", function(name) {\n for (const runtime of this.registry.values()) {\n if (!runtime.inject[name]?.required) continue;\n const scopes = runtime.isReusable ? runtime.children : [runtime];\n for (const scope of scopes) {\n if (!this[symbols.filter](scope.ctx)) continue;\n scope.updateStatus();\n scope.reset();\n }\n }\n }, { global: true }), Context.static, ctx.scope);\n defineProperty3(this.on(\"internal/service\", function(name) {\n for (const runtime of this.registry.values()) {\n if (!runtime.inject[name]?.required) continue;\n const scopes = runtime.isReusable ? runtime.children : [runtime];\n for (const scope of scopes) {\n if (!this[symbols.filter](scope.ctx)) continue;\n scope.start();\n }\n }\n }, { global: true }), Context.static, ctx.scope);\n const checkInject = /* @__PURE__ */ __name((scope, name) => {\n if (!scope.runtime.plugin) return false;\n for (const key in scope.runtime.inject) {\n if (name === reflect_default.resolveInject(scope.ctx, key)[0]) return true;\n }\n return checkInject(scope.parent.scope, name);\n }, \"checkInject\");\n defineProperty3(this.on(\"internal/inject\", function(name) {\n return checkInject(this.scope, name);\n }, { global: true }), Context.static, ctx.scope);\n }\n static {\n __name(this, \"Lifecycle\");\n }\n isActive = false;\n _tasks = /* @__PURE__ */ new Set();\n _hooks = {};\n async flush() {\n while (this._tasks.size) {\n await Promise.all(Array.from(this._tasks));\n }\n }\n filterHooks(hooks, thisArg) {\n thisArg = getTraceable(this.ctx, thisArg);\n return hooks.slice().filter((hook) => {\n const filter = thisArg?.[Context.filter];\n return hook.global || !filter || filter.call(thisArg, hook.ctx);\n });\n }\n *dispatch(type, args) {\n const thisArg = typeof args[0] === \"object\" || typeof args[0] === \"function\" ? args.shift() : null;\n const name = args.shift();\n if (name !== \"internal/event\") {\n this.emit(\"internal/event\", type, name, args, thisArg);\n }\n for (const hook of this.filterHooks(this._hooks[name] || [], thisArg)) {\n yield hook.callback.apply(thisArg, args);\n }\n }\n async parallel(...args) {\n await Promise.all(this.dispatch(\"emit\", args));\n }\n emit(...args) {\n Array.from(this.dispatch(\"emit\", args));\n }\n async serial(...args) {\n for await (const result of this.dispatch(\"serial\", args)) {\n if (isBailed(result)) return result;\n }\n }\n bail(...args) {\n for (const result of this.dispatch(\"bail\", args)) {\n if (isBailed(result)) return result;\n }\n }\n register(label, hooks, callback, options) {\n const method = options.prepend ? \"unshift\" : \"push\";\n hooks[method]({ ctx: this.ctx, callback, ...options });\n return this.ctx.state.collect(label, () => this.unregister(hooks, callback));\n }\n unregister(hooks, callback) {\n const index = hooks.findIndex((hook) => hook.callback === callback);\n if (index >= 0) {\n hooks.splice(index, 1);\n return true;\n }\n }\n on(name, listener, options) {\n if (typeof options !== \"object\") {\n options = { prepend: options };\n }\n this.ctx.scope.assertActive();\n listener = this.ctx.reflect.bind(listener);\n const result = this.bail(this.ctx, \"internal/listener\", name, listener, options);\n if (result) return result;\n const hooks = this._hooks[name] ||= [];\n const label = typeof name === \"string\" ? `event <${name}>` : \"event (Symbol)\";\n return this.register(label, hooks, listener, options);\n }\n once(name, listener, options) {\n const dispose = this.on(name, function(...args) {\n dispose();\n return listener.apply(this, args);\n }, options);\n return dispose;\n }\n async start() {\n this.isActive = true;\n const hooks = this._hooks.ready || [];\n while (hooks.length) {\n const { ctx, callback } = hooks.shift();\n ctx.scope.ensure(async () => callback());\n }\n await this.flush();\n }\n async stop() {\n this.isActive = false;\n this.ctx.scope.reset();\n }\n};\nvar events_default = Lifecycle;\n\n// src/registry.ts\nimport { defineProperty as defineProperty5 } from \"cosmokit\";\n\n// src/scope.ts\nimport { deepEqual, defineProperty as defineProperty4, isNullable as isNullable2, remove as remove2 } from \"cosmokit\";\nvar ScopeStatus = /* @__PURE__ */ ((ScopeStatus2) => {\n ScopeStatus2[ScopeStatus2[\"PENDING\"] = 0] = \"PENDING\";\n ScopeStatus2[ScopeStatus2[\"LOADING\"] = 1] = \"LOADING\";\n ScopeStatus2[ScopeStatus2[\"ACTIVE\"] = 2] = \"ACTIVE\";\n ScopeStatus2[ScopeStatus2[\"FAILED\"] = 3] = \"FAILED\";\n ScopeStatus2[ScopeStatus2[\"DISPOSED\"] = 4] = \"DISPOSED\";\n return ScopeStatus2;\n})(ScopeStatus || {});\nvar CordisError = class _CordisError extends Error {\n constructor(code, message) {\n super(message ?? _CordisError.Code[code]);\n this.code = code;\n }\n static {\n __name(this, \"CordisError\");\n }\n};\n((CordisError2) => {\n CordisError2.Code = {\n INACTIVE_EFFECT: \"cannot create effect on inactive context\"\n };\n})(CordisError || (CordisError = {}));\nvar EffectScope = class {\n constructor(parent, config) {\n this.parent = parent;\n this.config = config;\n this.uid = parent.registry ? parent.registry.counter : 0;\n this.ctx = this.context = parent.extend({ scope: this });\n this.proxy = new Proxy({}, {\n get: /* @__PURE__ */ __name((target, key) => Reflect.get(this.config, key), \"get\")\n });\n }\n static {\n __name(this, \"EffectScope\");\n }\n uid;\n ctx;\n disposables = [];\n error;\n status = 0 /* PENDING */;\n isActive = false;\n // Same as `this.ctx`, but with a more specific type.\n context;\n proxy;\n acceptors = [];\n tasks = /* @__PURE__ */ new Set();\n hasError = false;\n get _config() {\n return this.runtime.isReactive ? this.proxy : this.config;\n }\n assertActive() {\n if (this.uid !== null || this.isActive) return;\n throw new CordisError(\"INACTIVE_EFFECT\");\n }\n effect(callback, config) {\n this.assertActive();\n const result = isConstructor(callback) ? new callback(this.ctx, config) : callback(this.ctx, config);\n let disposed = false;\n const original = typeof result === \"function\" ? result : result.dispose.bind(result);\n const wrapped = /* @__PURE__ */ __name((...args) => {\n if (disposed) return;\n disposed = true;\n remove2(this.disposables, wrapped);\n return original(...args);\n }, \"wrapped\");\n this.disposables.push(wrapped);\n if (typeof result === \"function\") return wrapped;\n result.dispose = wrapped;\n return result;\n }\n collect(label, callback) {\n const dispose = defineProperty4(() => {\n remove2(this.disposables, dispose);\n return callback();\n }, \"name\", label);\n this.disposables.push(dispose);\n return dispose;\n }\n restart() {\n this.reset();\n this.error = null;\n this.hasError = false;\n this.status = 0 /* PENDING */;\n this.start();\n }\n _getStatus() {\n if (this.uid === null) return 4 /* DISPOSED */;\n if (this.hasError) return 3 /* FAILED */;\n if (this.tasks.size) return 1 /* LOADING */;\n if (this.ready) return 2 /* ACTIVE */;\n return 0 /* PENDING */;\n }\n updateStatus(callback) {\n const oldValue = this.status;\n callback?.();\n this.status = this._getStatus();\n if (oldValue !== this.status) {\n this.context.emit(\"internal/status\", this, oldValue);\n }\n }\n ensure(callback) {\n const task = callback().catch((reason) => {\n this.context.emit(this.ctx, \"internal/error\", reason);\n this.cancel(reason);\n }).finally(() => {\n this.updateStatus(() => this.tasks.delete(task));\n this.context.events._tasks.delete(task);\n });\n this.updateStatus(() => this.tasks.add(task));\n this.context.events._tasks.add(task);\n }\n cancel(reason) {\n this.error = reason;\n this.updateStatus(() => this.hasError = true);\n this.reset();\n }\n get ready() {\n return Object.entries(this.runtime.inject).every(([name, inject]) => {\n return !inject.required || !isNullable2(this.ctx.get(name));\n });\n }\n reset() {\n this.isActive = false;\n this.disposables = this.disposables.splice(0).filter((dispose) => {\n if (this.uid !== null && dispose[Context.static] === this) return true;\n (async () => dispose())().catch((reason) => {\n this.context.emit(this.ctx, \"internal/error\", reason);\n });\n });\n }\n init(error) {\n if (!this.config) {\n this.cancel(error);\n } else {\n this.start();\n }\n }\n start() {\n if (!this.ready || this.isActive || this.uid === null) return true;\n this.isActive = true;\n this.updateStatus(() => this.hasError = false);\n }\n accept(...args) {\n const keys = Array.isArray(args[0]) ? args.shift() : null;\n const acceptor = { keys, callback: args[0], ...args[1] };\n return this.effect(() => {\n this.acceptors.push(acceptor);\n if (acceptor.immediate) acceptor.callback?.(this.config);\n return () => remove2(this.acceptors, acceptor);\n });\n }\n decline(keys) {\n return this.accept(keys, () => true);\n }\n checkUpdate(resolved, forced) {\n if (forced || !this.config) return [true, true];\n if (forced === false) return [false, false];\n const modified = /* @__PURE__ */ Object.create(null);\n const checkPropertyUpdate = /* @__PURE__ */ __name((key) => {\n const result = modified[key] ??= !deepEqual(this.config[key], resolved[key]);\n hasUpdate ||= result;\n return result;\n }, \"checkPropertyUpdate\");\n const ignored = /* @__PURE__ */ new Set();\n let hasUpdate = false, shouldRestart = false;\n let fallback = this.runtime.isReactive || null;\n for (const { keys, callback, passive } of this.acceptors) {\n if (!keys) {\n fallback ||= !passive;\n } else if (passive) {\n keys?.forEach((key) => ignored.add(key));\n } else {\n let hasUpdate2 = false;\n for (const key of keys) {\n hasUpdate2 ||= checkPropertyUpdate(key);\n }\n if (!hasUpdate2) continue;\n }\n const result = callback?.(resolved);\n if (result) shouldRestart = true;\n }\n for (const key in { ...this.config, ...resolved }) {\n if (fallback === false) continue;\n if (!(key in modified) && !ignored.has(key)) {\n const hasUpdate2 = checkPropertyUpdate(key);\n if (fallback === null) shouldRestart ||= hasUpdate2;\n }\n }\n return [hasUpdate, shouldRestart];\n }\n};\nvar ForkScope = class extends EffectScope {\n constructor(parent, runtime, config, error) {\n super(parent, config);\n this.runtime = runtime;\n this.dispose = defineProperty4(parent.scope.collect(`fork <${parent.runtime.name}>`, () => {\n this.uid = null;\n this.reset();\n this.context.emit(\"internal/fork\", this);\n const result = remove2(runtime.disposables, this.dispose);\n if (remove2(runtime.children, this) && !runtime.children.length) {\n parent.registry.delete(runtime.plugin);\n }\n return result;\n }), Context.static, runtime);\n runtime.children.push(this);\n runtime.disposables.push(this.dispose);\n this.context.emit(\"internal/fork\", this);\n this.init(error);\n }\n static {\n __name(this, \"ForkScope\");\n }\n dispose;\n start() {\n if (super.start()) return true;\n for (const fork of this.runtime.forkables) {\n this.ensure(async () => fork(this.context, this._config));\n }\n }\n update(config, forced) {\n const oldConfig = this.config;\n const state = this.runtime.isForkable ? this : this.runtime;\n if (state.config !== oldConfig) return;\n let resolved;\n try {\n resolved = resolveConfig(this.runtime.plugin, config);\n } catch (error) {\n this.context.emit(\"internal/error\", error);\n return this.cancel(error);\n }\n const [hasUpdate, shouldRestart] = state.checkUpdate(resolved, forced);\n this.context.emit(\"internal/before-update\", this, config);\n this.config = resolved;\n state.config = resolved;\n if (hasUpdate) {\n this.context.emit(\"internal/update\", this, oldConfig);\n }\n if (shouldRestart) state.restart();\n }\n};\nvar MainScope = class extends EffectScope {\n constructor(ctx, plugin, config, error) {\n super(ctx, config);\n this.plugin = plugin;\n if (!plugin) {\n this.name = \"root\";\n this.isActive = true;\n } else {\n this.setup();\n this.init(error);\n }\n }\n static {\n __name(this, \"MainScope\");\n }\n value;\n runtime = this;\n schema;\n name;\n inject = /* @__PURE__ */ Object.create(null);\n forkables = [];\n children = [];\n isReusable = false;\n isReactive = false;\n get isForkable() {\n return this.forkables.length > 0;\n }\n fork(parent, config, error) {\n return new ForkScope(parent, this, config, error);\n }\n dispose() {\n this.uid = null;\n this.reset();\n this.context.emit(\"internal/runtime\", this);\n return true;\n }\n setup() {\n const { name } = this.plugin;\n if (name && name !== \"apply\") this.name = name;\n this.schema = this.plugin[\"Config\"] || this.plugin[\"schema\"];\n this.inject = Inject.resolve(this.plugin[\"using\"] || this.plugin[\"inject\"]);\n this.isReusable = this.plugin[\"reusable\"];\n this.isReactive = this.plugin[\"reactive\"];\n this.context.emit(\"internal/runtime\", this);\n if (this.isReusable) {\n this.forkables.push(this.apply);\n }\n }\n apply = /* @__PURE__ */ __name((context, config) => {\n if (typeof this.plugin !== \"function\") {\n return this.plugin.apply(context, config);\n } else if (isConstructor(this.plugin)) {\n const instance = new this.plugin(context, config);\n const name = instance[Context.expose];\n if (name) {\n context.set(name, instance);\n }\n if (instance[\"fork\"]) {\n this.forkables.push(instance[\"fork\"].bind(instance));\n }\n return instance;\n } else {\n return this.plugin(context, config);\n }\n }, \"apply\");\n reset() {\n super.reset();\n for (const fork of this.children) {\n fork.reset();\n }\n }\n start() {\n if (super.start()) return true;\n if (!this.isReusable && this.plugin) {\n this.ensure(async () => this.value = this.apply(this.ctx, this._config));\n }\n for (const fork of this.children) {\n fork.start();\n }\n }\n update(config, forced) {\n if (this.isForkable) {\n const warning = new Error(`attempting to update forkable plugin \"${this.plugin.name}\", which may lead to unexpected behavior`);\n this.context.emit(this.ctx, \"internal/warning\", warning);\n }\n const oldConfig = this.config;\n let resolved;\n try {\n resolved = resolveConfig(this.runtime.plugin || this.context.constructor, config);\n } catch (error) {\n this.context.emit(\"internal/error\", error);\n return this.cancel(error);\n }\n const [hasUpdate, shouldRestart] = this.checkUpdate(resolved, forced);\n const state = this.children.find((fork) => fork.config === oldConfig);\n this.config = resolved;\n if (state) {\n this.context.emit(\"internal/before-update\", state, config);\n state.config = resolved;\n if (hasUpdate) {\n this.context.emit(\"internal/update\", state, oldConfig);\n }\n }\n if (shouldRestart) this.restart();\n }\n};\n\n// src/registry.ts\nfunction isApplicable(object) {\n return object && typeof object === \"object\" && typeof object.apply === \"function\";\n}\n__name(isApplicable, \"isApplicable\");\nfunction Inject(inject) {\n return function(value, ctx) {\n if (ctx.kind === \"class\") {\n value.inject = inject;\n } else if (ctx.kind === \"method\") {\n ctx.addInitializer(function() {\n const property = this[symbols.tracker]?.property;\n if (!property) throw new Error(\"missing context tracker\");\n this[property].inject(inject, (ctx2) => {\n value.call(withProps(this, { [property]: ctx2 }));\n });\n });\n } else {\n throw new Error(\"@Inject can only be used on class or class methods\");\n }\n };\n}\n__name(Inject, \"Inject\");\n((Inject2) => {\n function resolve(inject) {\n if (!inject) return {};\n if (Array.isArray(inject)) {\n return Object.fromEntries(inject.map((name) => [name, { required: true }]));\n }\n const { required, optional, ...rest } = inject;\n if (Array.isArray(required)) {\n Object.assign(rest, Object.fromEntries(required.map((name) => [name, { required: true }])));\n }\n if (Array.isArray(optional)) {\n Object.assign(rest, Object.fromEntries(optional.map((name) => [name, { required: false }])));\n }\n return rest;\n }\n Inject2.resolve = resolve;\n __name(resolve, \"resolve\");\n})(Inject || (Inject = {}));\nvar Registry = class {\n constructor(ctx, config) {\n this.ctx = ctx;\n defineProperty5(this, symbols.tracker, {\n associate: \"registry\",\n property: \"ctx\"\n });\n this.context = ctx;\n const runtime = new MainScope(ctx, null, config);\n ctx.scope = runtime;\n runtime.ctx = ctx;\n this.set(null, runtime);\n }\n static {\n __name(this, \"Registry\");\n }\n _counter = 0;\n _internal = /* @__PURE__ */ new Map();\n context;\n get counter() {\n return ++this._counter;\n }\n get size() {\n return this._internal.size;\n }\n resolve(plugin, assert = false) {\n if (plugin === null) return plugin;\n if (typeof plugin === \"function\") return plugin;\n if (isApplicable(plugin)) return plugin.apply;\n if (assert) throw new Error('invalid plugin, expect function or object with an \"apply\" method, received ' + typeof plugin);\n }\n get(plugin) {\n const key = this.resolve(plugin);\n return key && this._internal.get(key);\n }\n has(plugin) {\n const key = this.resolve(plugin);\n return !!key && this._internal.has(key);\n }\n set(plugin, state) {\n const key = this.resolve(plugin);\n this._internal.set(key, state);\n }\n delete(plugin) {\n const key = this.resolve(plugin);\n const runtime = key && this._internal.get(key);\n if (!runtime) return;\n this._internal.delete(key);\n runtime.dispose();\n return runtime;\n }\n keys() {\n return this._internal.keys();\n }\n values() {\n return this._internal.values();\n }\n entries() {\n return this._internal.entries();\n }\n forEach(callback) {\n return this._internal.forEach(callback);\n }\n using(inject, callback) {\n return this.inject(inject, callback);\n }\n inject(inject, callback) {\n return this.plugin({ inject, apply: callback, name: callback.name });\n }\n plugin(plugin, config, error) {\n this.resolve(plugin, true);\n this.ctx.scope.assertActive();\n if (!error) {\n try {\n config = resolveConfig(plugin, config);\n } catch (reason) {\n this.context.emit(this.ctx, \"internal/error\", reason);\n error = reason;\n config = null;\n }\n }\n let runtime = this.get(plugin);\n if (runtime) {\n if (!runtime.isForkable) {\n this.context.emit(this.ctx, \"internal/warning\", new Error(`duplicate plugin detected: ${plugin.name}`));\n }\n return runtime.fork(this.ctx, config, error);\n }\n runtime = new MainScope(this.ctx, plugin, config, error);\n this.set(plugin, runtime);\n return runtime.fork(this.ctx, config, error);\n }\n};\nvar registry_default = Registry;\n\n// src/context.ts\nvar Context = class _Context {\n static {\n __name(this, \"Context\");\n }\n static store = symbols.store;\n static events = symbols.events;\n static static = symbols.static;\n static filter = symbols.filter;\n static expose = symbols.expose;\n static isolate = symbols.isolate;\n static internal = symbols.internal;\n static intercept = symbols.intercept;\n static origin = \"ctx\";\n static current = \"ctx\";\n static is(value) {\n return !!value?.[_Context.is];\n }\n static {\n _Context.is[Symbol.toPrimitive] = () => Symbol.for(\"cordis.is\");\n _Context.prototype[_Context.is] = true;\n }\n /** @deprecated use `Service.traceable` instead */\n static associate(object, name) {\n return object;\n }\n constructor(config) {\n config = resolveConfig(this.constructor, config);\n this[symbols.store] = /* @__PURE__ */ Object.create(null);\n this[symbols.isolate] = /* @__PURE__ */ Object.create(null);\n this[symbols.internal] = /* @__PURE__ */ Object.create(null);\n this[symbols.intercept] = /* @__PURE__ */ Object.create(null);\n const self = new Proxy(this, reflect_default.handler);\n self.root = self;\n self.reflect = new reflect_default(self);\n self.registry = new registry_default(self, config);\n self.lifecycle = new events_default(self);\n const attach = /* @__PURE__ */ __name((internal) => {\n if (!internal) return;\n attach(Object.getPrototypeOf(internal));\n for (const key of Object.getOwnPropertyNames(internal)) {\n const constructor = internal[key][\"prototype\"]?.constructor;\n if (!constructor) continue;\n self[internal[key][\"key\"]] = new constructor(self, config);\n defineProperty6(self[internal[key][\"key\"]], \"ctx\", self);\n }\n }, \"attach\");\n attach(this[symbols.internal]);\n return self;\n }\n [Symbol.for(\"nodejs.util.inspect.custom\")]() {\n return `Context <${this.name}>`;\n }\n get name() {\n let runtime = this.runtime;\n while (runtime && !runtime.name) {\n runtime = runtime.parent.runtime;\n }\n return runtime?.name;\n }\n get events() {\n return this.lifecycle;\n }\n /** @deprecated */\n get state() {\n return this.scope;\n }\n extend(meta = {}) {\n const source = Reflect.getOwnPropertyDescriptor(this, symbols.shadow)?.value;\n const self = Object.assign(Object.create(getTraceable(this, this)), meta);\n if (!source) return self;\n return Object.assign(Object.create(self), { [symbols.shadow]: source });\n }\n isolate(name, label) {\n const shadow = Object.create(this[symbols.isolate]);\n shadow[name] = label ?? Symbol(name);\n return this.extend({ [symbols.isolate]: shadow });\n }\n intercept(name, config) {\n const intercept = Object.create(this[symbols.intercept]);\n intercept[name] = config;\n return this.extend({ [symbols.intercept]: intercept });\n }\n};\nContext.prototype[Context.internal] = /* @__PURE__ */ Object.create(null);\n\n// src/service.ts\nimport { defineProperty as defineProperty7 } from \"cosmokit\";\nvar Service = class _Service {\n static {\n __name(this, \"Service\");\n }\n static setup = symbols.setup;\n static invoke = symbols.invoke;\n static extend = symbols.extend;\n static tracker = symbols.tracker;\n static provide = symbols.provide;\n static immediate = symbols.immediate;\n start() {\n }\n stop() {\n }\n ctx;\n name;\n config;\n constructor(...args) {\n let _ctx, name, immediate, config;\n if (Context.is(args[0])) {\n _ctx = args[0];\n if (typeof args[1] === \"string\") {\n name = args[1];\n immediate = args[2];\n } else {\n config = args[1];\n }\n } else {\n config = args[0];\n }\n name ??= this.constructor[symbols.provide];\n immediate ??= this.constructor[symbols.immediate];\n let self = this;\n const tracker = {\n associate: name,\n property: \"ctx\"\n };\n if (self[symbols.invoke]) {\n self = createCallable(name, joinPrototype(Object.getPrototypeOf(this), Function.prototype), tracker);\n }\n if (_ctx) {\n self.ctx = _ctx;\n } else {\n self[symbols.setup]();\n }\n self.name = name;\n self.config = config;\n defineProperty7(self, symbols.tracker, tracker);\n self.ctx.provide(name);\n self.ctx.runtime.name = name;\n if (immediate) {\n if (_ctx) self[symbols.expose] = name;\n else self.ctx.set(name, self);\n }\n self.ctx.on(\"ready\", async () => {\n await Promise.resolve();\n await self.start();\n if (!immediate) self.ctx.set(name, self);\n });\n self.ctx.on(\"dispose\", () => self.stop());\n return self;\n }\n [symbols.filter](ctx) {\n return ctx[symbols.isolate][this.name] === this.ctx[symbols.isolate][this.name];\n }\n [symbols.setup]() {\n this.ctx = new Context();\n }\n [symbols.extend](props) {\n let self;\n if (this[_Service.invoke]) {\n self = createCallable(this.name, this, this[symbols.tracker]);\n } else {\n self = Object.create(this);\n }\n return Object.assign(self, props);\n }\n static [Symbol.hasInstance](instance) {\n let constructor = instance.constructor;\n while (constructor) {\n constructor = constructor.prototype?.constructor;\n if (constructor === this) return true;\n constructor = Object.getPrototypeOf(constructor);\n }\n return false;\n }\n};\nexport {\n Context,\n CordisError,\n EffectScope,\n ForkScope,\n Inject,\n events_default as Lifecycle,\n MainScope,\n reflect_default as ReflectService,\n registry_default as Registry,\n ScopeStatus,\n Service,\n createCallable,\n getTraceable,\n isBailed,\n isConstructor,\n isObject,\n isUnproxyable,\n joinPrototype,\n resolveConfig,\n symbols,\n withProps\n};\n//# sourceMappingURL=index.mjs.map\n","var __defProp = Object.defineProperty;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\nvar __commonJS = (cb, mod) => function __require() {\n return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;\n};\n\n// src/index.ts\nimport { Binary, clone, deepEqual, filterKeys, isNullable, isPlainObject, pick, valueMap } from \"cosmokit\";\nvar require_index = __commonJS({\n \"src/index.ts\"(exports, module) {\n var kSchema = Symbol.for(\"schemastery\");\n var kValidationError = Symbol.for(\"ValidationError\");\n globalThis.__schemastery_index__ ??= 0;\n var ValidationError = class extends TypeError {\n constructor(message, options) {\n let prefix = \"$\";\n for (const segment of options.path || []) {\n if (typeof segment === \"string\") {\n prefix += \".\" + segment;\n } else if (typeof segment === \"number\") {\n prefix += \"[\" + segment + \"]\";\n } else if (typeof segment === \"symbol\") {\n prefix += `[Symbol(${segment.toString()})]`;\n }\n }\n if (prefix.startsWith(\".\")) prefix = prefix.slice(1);\n super((prefix === \"$\" ? \"\" : `${prefix} `) + message);\n this.options = options;\n }\n static {\n __name(this, \"ValidationError\");\n }\n name = \"ValidationError\";\n static is(error) {\n return !!error?.[kValidationError];\n }\n };\n Object.defineProperty(ValidationError.prototype, kValidationError, {\n value: true\n });\n var Schema = /* @__PURE__ */ __name(function(options) {\n const schema = /* @__PURE__ */ __name(function(data, options2 = {}) {\n return Schema.resolve(data, schema, options2)[0];\n }, \"schema\");\n if (options.refs) {\n const refs2 = valueMap(options.refs, (options2) => new Schema(options2));\n const getRef = /* @__PURE__ */ __name((uid) => refs2[uid], \"getRef\");\n for (const key in refs2) {\n const options2 = refs2[key];\n options2.sKey = getRef(options2.sKey);\n options2.inner = getRef(options2.inner);\n options2.list = options2.list && options2.list.map(getRef);\n options2.dict = options2.dict && valueMap(options2.dict, getRef);\n }\n return refs2[options.uid];\n }\n Object.assign(schema, options);\n if (typeof schema.callback === \"string\") {\n try {\n schema.callback = new Function(\"return \" + schema.callback)();\n } catch {\n }\n }\n Object.defineProperty(schema, \"uid\", { value: globalThis.__schemastery_index__++ });\n Object.setPrototypeOf(schema, Schema.prototype);\n schema.meta ||= {};\n schema.toString = schema.toString.bind(schema);\n return schema;\n }, \"Schema\");\n Schema.prototype = Object.create(Function.prototype);\n Schema.prototype[kSchema] = true;\n Schema.ValidationError = ValidationError;\n var refs;\n Schema.prototype.toJSON = /* @__PURE__ */ __name(function toJSON() {\n if (refs) {\n refs[this.uid] ??= JSON.parse(JSON.stringify({ ...this }));\n return this.uid;\n }\n refs = { [this.uid]: { ...this } };\n refs[this.uid] = JSON.parse(JSON.stringify({ ...this }));\n const result = { uid: this.uid, refs };\n refs = void 0;\n return result;\n }, \"toJSON\");\n Schema.prototype.set = /* @__PURE__ */ __name(function set(key, value) {\n this.dict[key] = value;\n return this;\n }, \"set\");\n Schema.prototype.push = /* @__PURE__ */ __name(function push(value) {\n this.list.push(value);\n return this;\n }, \"push\");\n function mergeDesc(original, messages) {\n const result = typeof original === \"string\" ? { \"\": original } : { ...original };\n for (const locale in messages) {\n const value = messages[locale];\n if (value?.$description || value?.$desc) {\n result[locale] = value.$description || value.$desc;\n } else if (typeof value === \"string\") {\n result[locale] = value;\n }\n }\n return result;\n }\n __name(mergeDesc, \"mergeDesc\");\n function getInner(value) {\n return value?.$value ?? value?.$inner;\n }\n __name(getInner, \"getInner\");\n function extractKeys(data) {\n return filterKeys(data ?? {}, (key) => !key.startsWith(\"$\"));\n }\n __name(extractKeys, \"extractKeys\");\n Schema.prototype.i18n = /* @__PURE__ */ __name(function i18n(messages) {\n const schema = Schema(this);\n const desc = mergeDesc(schema.meta.description, messages);\n if (Object.keys(desc).length) schema.meta.description = desc;\n if (schema.dict) {\n schema.dict = valueMap(schema.dict, (inner, key) => {\n return inner.i18n(valueMap(messages, (data) => getInner(data)?.[key] ?? data?.[key]));\n });\n }\n if (schema.list) {\n schema.list = schema.list.map((inner, index) => {\n return inner.i18n(valueMap(messages, (data = {}) => {\n if (Array.isArray(getInner(data))) return getInner(data)[index];\n if (Array.isArray(data)) return data[index];\n return extractKeys(data);\n }));\n });\n }\n if (schema.inner) {\n schema.inner = schema.inner.i18n(valueMap(messages, (data) => {\n if (getInner(data)) return getInner(data);\n return extractKeys(data);\n }));\n }\n if (schema.sKey) {\n schema.sKey = schema.sKey.i18n(valueMap(messages, (data) => data?.$key));\n }\n return schema;\n }, \"i18n\");\n Schema.prototype.extra = /* @__PURE__ */ __name(function extra(key, value) {\n const schema = Schema(this);\n schema.meta = { ...schema.meta, [key]: value };\n return schema;\n }, \"extra\");\n for (const key of [\"required\", \"disabled\", \"collapse\", \"hidden\", \"loose\"]) {\n Object.assign(Schema.prototype, {\n [key](value = true) {\n const schema = Schema(this);\n schema.meta = { ...schema.meta, [key]: value };\n return schema;\n }\n });\n }\n Schema.prototype.deprecated = /* @__PURE__ */ __name(function deprecated() {\n const schema = Schema(this);\n schema.meta.badges ||= [];\n schema.meta.badges.push({ text: \"deprecated\", type: \"danger\" });\n return schema;\n }, \"deprecated\");\n Schema.prototype.experimental = /* @__PURE__ */ __name(function experimental() {\n const schema = Schema(this);\n schema.meta.badges ||= [];\n schema.meta.badges.push({ text: \"experimental\", type: \"warning\" });\n return schema;\n }, \"experimental\");\n Schema.prototype.pattern = /* @__PURE__ */ __name(function pattern(regexp) {\n const schema = Schema(this);\n const pattern2 = pick(regexp, [\"source\", \"flags\"]);\n schema.meta = { ...schema.meta, pattern: pattern2 };\n return schema;\n }, \"pattern\");\n Schema.prototype.simplify = /* @__PURE__ */ __name(function simplify(value) {\n if (deepEqual(value, this.meta.default, this.type === \"dict\")) return null;\n if (isNullable(value)) return value;\n if (this.type === \"object\" || this.type === \"dict\") {\n const result = {};\n for (const key in value) {\n const schema = this.type === \"object\" ? this.dict[key] : this.inner;\n const item = schema?.simplify(value[key]);\n if (this.type === \"dict\" || !isNullable(item)) result[key] = item;\n }\n if (deepEqual(result, this.meta.default, this.type === \"dict\")) return null;\n return result;\n } else if (this.type === \"array\" || this.type === \"tuple\") {\n const result = [];\n value.forEach((value2, index) => {\n const schema = this.type === \"array\" ? this.inner : this.list[index];\n const item = schema ? schema.simplify(value2) : value2;\n result.push(item);\n });\n return result;\n } else if (this.type === \"intersect\") {\n const result = {};\n for (const item of this.list) {\n Object.assign(result, item.simplify(value));\n }\n return result;\n } else if (this.type === \"union\") {\n for (const schema of this.list) {\n try {\n Schema.resolve(value, schema, {});\n return schema.simplify(value);\n } catch {\n }\n }\n }\n return value;\n }, \"simplify\");\n Schema.prototype.toString = /* @__PURE__ */ __name(function toString(inline) {\n return formatters[this.type]?.(this, inline) ?? `Schema<${this.type}>`;\n }, \"toString\");\n Schema.prototype.role = /* @__PURE__ */ __name(function role(role, extra) {\n const schema = Schema(this);\n schema.meta = { ...schema.meta, role, extra };\n return schema;\n }, \"role\");\n for (const key of [\"default\", \"link\", \"comment\", \"description\", \"max\", \"min\", \"step\"]) {\n Object.assign(Schema.prototype, {\n [key](value) {\n const schema = Schema(this);\n schema.meta = { ...schema.meta, [key]: value };\n return schema;\n }\n });\n }\n var resolvers = {};\n Schema.extend = /* @__PURE__ */ __name(function extend(type, resolve) {\n resolvers[type] = resolve;\n }, \"extend\");\n Schema.resolve = /* @__PURE__ */ __name(function resolve(data, schema, options = {}, strict = false) {\n if (!schema) return [data];\n if (options.ignore?.(data, schema)) return [data];\n if (isNullable(data) && schema.type !== \"lazy\") {\n if (schema.meta.required) throw new ValidationError(`missing required value`, options);\n let current = schema;\n let fallback = schema.meta.default;\n while (current?.type === \"intersect\" && isNullable(fallback)) {\n current = current.list[0];\n fallback = current?.meta.default;\n }\n if (isNullable(fallback)) return [data];\n data = clone(fallback);\n }\n const callback = resolvers[schema.type];\n if (!callback) throw new ValidationError(`unsupported type \"${schema.type}\"`, options);\n try {\n return callback(data, schema, options, strict);\n } catch (error) {\n if (!schema.meta.loose) throw error;\n return [schema.meta.default];\n }\n }, \"resolve\");\n Schema.from = /* @__PURE__ */ __name(function from(source) {\n if (isNullable(source)) {\n return Schema.any();\n } else if ([\"string\", \"number\", \"boolean\"].includes(typeof source)) {\n return Schema.const(source).required();\n } else if (source[kSchema]) {\n return source;\n } else if (typeof source === \"function\") {\n switch (source) {\n case String:\n return Schema.string().required();\n case Number:\n return Schema.number().required();\n case Boolean:\n return Schema.boolean().required();\n case Function:\n return Schema.function().required();\n default:\n return Schema.is(source).required();\n }\n } else {\n throw new TypeError(`cannot infer schema from ${source}`);\n }\n }, \"from\");\n Schema.lazy = /* @__PURE__ */ __name(function lazy(builder) {\n const toJSON = /* @__PURE__ */ __name(() => {\n if (!schema.inner[kSchema]) {\n schema.inner = schema.builder();\n schema.inner.meta = { ...schema.meta, ...schema.inner.meta };\n }\n return schema.inner.toJSON();\n }, \"toJSON\");\n const schema = new Schema({ type: \"lazy\", builder, inner: { toJSON } });\n return schema;\n }, \"lazy\");\n Schema.natural = /* @__PURE__ */ __name(function natural() {\n return Schema.number().step(1).min(0);\n }, \"natural\");\n Schema.percent = /* @__PURE__ */ __name(function percent() {\n return Schema.number().step(0.01).min(0).max(1).role(\"slider\");\n }, \"percent\");\n Schema.date = /* @__PURE__ */ __name(function date() {\n return Schema.union([\n Schema.is(Date),\n Schema.transform(Schema.string().role(\"datetime\"), (value, options) => {\n const date2 = new Date(value);\n if (isNaN(+date2)) throw new ValidationError(`invalid date \"${value}\"`, options);\n return date2;\n }, true)\n ]);\n }, \"date\");\n Schema.regExp = /* @__PURE__ */ __name(function regExp(flag = \"\") {\n return Schema.union([\n Schema.is(RegExp),\n Schema.transform(Schema.string().role(\"regexp\", { flag }), (value, options) => {\n try {\n return new RegExp(value, flag);\n } catch (e) {\n throw new ValidationError(e.message, options);\n }\n }, true)\n ]);\n }, \"regExp\");\n Schema.arrayBuffer = /* @__PURE__ */ __name(function arrayBuffer(encoding) {\n return Schema.union([\n Schema.is(ArrayBuffer),\n Schema.is(SharedArrayBuffer),\n Schema.transform(Schema.any(), (value, options) => {\n if (Binary.isSource(value)) return Binary.fromSource(value);\n throw new ValidationError(`expected ArrayBufferSource but got ${value}`, options);\n }, true),\n ...encoding ? [Schema.transform(Schema.string(), (value, options) => {\n try {\n return encoding === \"base64\" ? Binary.fromBase64(value) : Binary.fromHex(value);\n } catch (e) {\n throw new ValidationError(e.message, options);\n }\n }, true)] : []\n ]);\n }, \"arrayBuffer\");\n Schema.extend(\"lazy\", (data, schema, options, strict) => {\n if (!schema.inner[kSchema]) {\n schema.inner = schema.builder();\n schema.inner.meta = { ...schema.meta, ...schema.inner.meta };\n }\n return Schema.resolve(data, schema.inner, options, strict);\n });\n Schema.extend(\"any\", (data) => {\n return [data];\n });\n Schema.extend(\"never\", (data, _, options) => {\n throw new ValidationError(`expected nullable but got ${data}`, options);\n });\n Schema.extend(\"const\", (data, { value }, options) => {\n if (deepEqual(data, value)) return [value];\n throw new ValidationError(`expected ${value} but got ${data}`, options);\n });\n function checkWithinRange(data, meta, description, options, skipMin = false) {\n const { max = Infinity, min = -Infinity } = meta;\n if (data > max) throw new ValidationError(`expected ${description} <= ${max} but got ${data}`, options);\n if (data < min && !skipMin) throw new ValidationError(`expected ${description} >= ${min} but got ${data}`, options);\n }\n __name(checkWithinRange, \"checkWithinRange\");\n Schema.extend(\"string\", (data, { meta }, options) => {\n if (typeof data !== \"string\") throw new ValidationError(`expected string but got ${data}`, options);\n if (meta.pattern) {\n const regexp = new RegExp(meta.pattern.source, meta.pattern.flags);\n if (!regexp.test(data)) throw new ValidationError(`expect string to match regexp ${regexp}`, options);\n }\n checkWithinRange(data.length, meta, \"string length\", options);\n return [data];\n });\n function decimalShift(data, digits) {\n const str = data.toString();\n if (str.includes(\"e\")) return data * Math.pow(10, digits);\n const index = str.indexOf(\".\");\n if (index === -1) return data * Math.pow(10, digits);\n const frac = str.slice(index + 1);\n const integer = str.slice(0, index);\n if (frac.length <= digits) return +(integer + frac.padEnd(digits, \"0\"));\n return +(integer + frac.slice(0, digits) + \".\" + frac.slice(digits));\n }\n __name(decimalShift, \"decimalShift\");\n function isMultipleOf(data, min, step) {\n step = Math.abs(step);\n if (!/^\\d+\\.\\d+$/.test(step.toString())) {\n return (data - min) % step === 0;\n }\n const index = step.toString().indexOf(\".\");\n const digits = step.toString().slice(index + 1).length;\n return Math.abs(decimalShift(data, digits) - decimalShift(min, digits)) % decimalShift(step, digits) === 0;\n }\n __name(isMultipleOf, \"isMultipleOf\");\n Schema.extend(\"number\", (data, { meta }, options) => {\n if (typeof data !== \"number\") throw new ValidationError(`expected number but got ${data}`, options);\n checkWithinRange(data, meta, \"number\", options);\n const { step } = meta;\n if (step && !isMultipleOf(data, meta.min ?? 0, step)) {\n throw new ValidationError(`expected number multiple of ${step} but got ${data}`, options);\n }\n return [data];\n });\n Schema.extend(\"boolean\", (data, _, options) => {\n if (typeof data === \"boolean\") return [data];\n throw new ValidationError(`expected boolean but got ${data}`, options);\n });\n Schema.extend(\"bitset\", (data, { bits, meta }, options) => {\n let value = 0, keys = [];\n if (typeof data === \"number\") {\n value = data;\n for (const key in bits) {\n if (data & bits[key]) {\n keys.push(key);\n }\n }\n } else if (Array.isArray(data)) {\n keys = data;\n for (const key of keys) {\n if (typeof key !== \"string\") throw new ValidationError(`expected string but got ${key}`, options);\n if (key in bits) value |= bits[key];\n }\n } else {\n throw new ValidationError(`expected number or array but got ${data}`, options);\n }\n if (value === meta.default) return [value];\n return [value, keys];\n });\n Schema.extend(\"function\", (data, _, options) => {\n if (typeof data === \"function\") return [data];\n throw new ValidationError(`expected function but got ${data}`, options);\n });\n Schema.extend(\"is\", (data, { constructor }, options) => {\n if (typeof constructor === \"function\") {\n if (data instanceof constructor) return [data];\n throw new ValidationError(`expected ${constructor.name} but got ${data}`, options);\n } else {\n if (isNullable(data)) {\n throw new ValidationError(`expected ${constructor} but got ${data}`, options);\n }\n let prototype = Object.getPrototypeOf(data);\n while (prototype) {\n if (prototype.constructor?.name === constructor) return [data];\n prototype = Object.getPrototypeOf(prototype);\n }\n throw new ValidationError(`expected ${constructor} but got ${data}`, options);\n }\n });\n function property(data, key, schema, options) {\n try {\n const [value, adapted] = Schema.resolve(data[key], schema, {\n ...options,\n path: [...options.path || [], key]\n });\n if (adapted !== void 0) data[key] = adapted;\n return value;\n } catch (e) {\n if (!options?.autofix) throw e;\n delete data[key];\n return schema.meta.default;\n }\n }\n __name(property, \"property\");\n Schema.extend(\"array\", (data, { inner, meta }, options) => {\n if (!Array.isArray(data)) throw new ValidationError(`expected array but got ${data}`, options);\n checkWithinRange(data.length, meta, \"array length\", options, !isNullable(inner.meta.default));\n return [data.map((_, index) => property(data, index, inner, options))];\n });\n Schema.extend(\"dict\", (data, { inner, sKey }, options, strict) => {\n if (!isPlainObject(data)) throw new ValidationError(`expected object but got ${data}`, options);\n const result = {};\n for (const key in data) {\n let rKey;\n try {\n rKey = Schema.resolve(key, sKey, options)[0];\n } catch (error) {\n if (strict) continue;\n throw error;\n }\n result[rKey] = property(data, key, inner, options);\n data[rKey] = data[key];\n if (key !== rKey) delete data[key];\n }\n return [result];\n });\n Schema.extend(\"tuple\", (data, { list }, options, strict) => {\n if (!Array.isArray(data)) throw new ValidationError(`expected array but got ${data}`, options);\n const result = list.map((inner, index) => property(data, index, inner, options));\n if (strict) return [result];\n result.push(...data.slice(list.length));\n return [result];\n });\n function merge(result, data) {\n for (const key in data) {\n if (key in result) continue;\n result[key] = data[key];\n }\n }\n __name(merge, \"merge\");\n Schema.extend(\"object\", (data, { dict }, options, strict) => {\n if (!isPlainObject(data)) throw new ValidationError(`expected object but got ${data}`, options);\n const result = {};\n for (const key in dict) {\n const value = property(data, key, dict[key], options);\n if (!isNullable(value) || key in data) {\n result[key] = value;\n }\n }\n if (!strict) merge(result, data);\n return [result];\n });\n Schema.extend(\"union\", (data, { list, toString }, options, strict) => {\n const messages = [];\n for (const inner of list) {\n try {\n return Schema.resolve(data, inner, options, strict);\n } catch (error) {\n messages.push(error);\n }\n }\n throw new ValidationError(`expected ${toString()} but got ${JSON.stringify(data)}`, options);\n });\n Schema.extend(\"intersect\", (data, { list, toString }, options, strict) => {\n if (!list.length) return [data];\n let result;\n for (const inner of list) {\n const value = Schema.resolve(data, inner, options, true)[0];\n if (isNullable(value)) continue;\n if (isNullable(result)) {\n result = value;\n } else if (typeof result !== typeof value) {\n throw new ValidationError(`expected ${toString()} but got ${JSON.stringify(data)}`, options);\n } else if (typeof value === \"object\") {\n merge(result ??= {}, value);\n } else if (result !== value) {\n throw new ValidationError(`expected ${toString()} but got ${JSON.stringify(data)}`, options);\n }\n }\n if (!strict && isPlainObject(data)) merge(result, data);\n return [result];\n });\n Schema.extend(\"transform\", (data, { inner, callback, preserve }, options) => {\n const [result, adapted = data] = Schema.resolve(data, inner, options, true);\n if (preserve) {\n return [callback(result)];\n } else {\n return [callback(result), callback(adapted)];\n }\n });\n var formatters = {};\n function defineMethod(name, keys, format) {\n formatters[name] = format;\n Object.assign(Schema, {\n [name](...args) {\n const schema = new Schema({ type: name });\n keys.forEach((key, index) => {\n switch (key) {\n case \"sKey\":\n schema.sKey = args[index] ?? Schema.string();\n break;\n case \"inner\":\n schema.inner = Schema.from(args[index]);\n break;\n case \"list\":\n schema.list = args[index].map(Schema.from);\n break;\n case \"dict\":\n schema.dict = valueMap(args[index], Schema.from);\n break;\n case \"bits\": {\n schema.bits = {};\n for (const key2 in args[index]) {\n if (typeof args[index][key2] !== \"number\") continue;\n schema.bits[key2] = args[index][key2];\n }\n break;\n }\n case \"callback\": {\n const callback = schema.callback = args[index];\n callback[\"toJSON\"] ||= () => callback.toString();\n break;\n }\n case \"constructor\": {\n const constructor = schema.constructor = args[index];\n if (typeof constructor === \"function\") {\n ;\n constructor[\"toJSON\"] ||= () => constructor[\"name\"];\n }\n break;\n }\n default:\n schema[key] = args[index];\n }\n });\n if (name === \"object\" || name === \"dict\") {\n schema.meta.default = {};\n } else if (name === \"array\" || name === \"tuple\") {\n schema.meta.default = [];\n } else if (name === \"bitset\") {\n schema.meta.default = 0;\n }\n return schema;\n }\n });\n }\n __name(defineMethod, \"defineMethod\");\n defineMethod(\"is\", [\"constructor\"], ({ constructor }) => {\n if (typeof constructor === \"function\") {\n return constructor.name;\n } else {\n return constructor;\n }\n });\n defineMethod(\"any\", [], () => \"any\");\n defineMethod(\"never\", [], () => \"never\");\n defineMethod(\"const\", [\"value\"], ({ value }) => typeof value === \"string\" ? JSON.stringify(value) : value);\n defineMethod(\"string\", [], () => \"string\");\n defineMethod(\"number\", [], () => \"number\");\n defineMethod(\"boolean\", [], () => \"boolean\");\n defineMethod(\"bitset\", [\"bits\"], () => \"bitset\");\n defineMethod(\"function\", [], () => \"function\");\n defineMethod(\"array\", [\"inner\"], ({ inner }) => `${inner.toString(true)}[]`);\n defineMethod(\"dict\", [\"inner\", \"sKey\"], ({ inner, sKey }) => `{ [key: ${sKey.toString()}]: ${inner.toString()} }`);\n defineMethod(\"tuple\", [\"list\"], ({ list }) => `[${list.map((inner) => inner.toString()).join(\", \")}]`);\n defineMethod(\"object\", [\"dict\"], ({ dict }) => {\n if (Object.keys(dict).length === 0) return \"{}\";\n return `{ ${Object.entries(dict).map(([key, inner]) => {\n return `${key}${inner.meta.required ? \"\" : \"?\"}: ${inner.toString()}`;\n }).join(\", \")} }`;\n });\n defineMethod(\"union\", [\"list\"], ({ list }, inline) => {\n const result = list.map(({ toString: format }) => format()).join(\" | \");\n return inline ? `(${result})` : result;\n });\n defineMethod(\"intersect\", [\"list\"], ({ list }) => {\n return `${list.map((inner) => inner.toString(true)).join(\" & \")}`;\n });\n defineMethod(\"transform\", [\"inner\", \"callback\", \"preserve\"], ({ inner }, isInner) => inner.toString(isInner));\n module.exports = Schema;\n }\n});\nexport default require_index();\n//# sourceMappingURL=index.mjs.map\n","export enum Endpoints {\n ANALYTICS_API_BASE = 'https://analytics.ipe.wiki/api/v6',\n ANALYTICS_DASH_URL = 'https://analytics.ipe.wiki',\n GITHUB_URL = 'https://github.com/inpageedit/inpageedit-next',\n HOME_URL = 'https://www.ipe.wiki/',\n UPDATE_LOGS_URL = 'https://www.ipe.wiki/changelogs/',\n PLUGIN_REGISTRY_URL = 'https://registry.ipe.wiki/registry.v1.json',\n}\n"],"names":["promiseWithResolvers","resolve","reject","res","rej","__defProp","__name","target","value","noop","isNullable","isNonNullable","isPlainObject","data","filterKeys","object","filter","key","mapValues","transform","pick","source","keys","forced","result","omit","defineProperty","contain","array1","array2","item","intersection","difference","union","deduplicate","array","remove","list","index","makeArray","is","type","value2","isArrayBufferLike","isArrayBufferSource","Binary","Binary2","fromSource","toBase64","binary","bytes","i","fromBase64","c","toHex","byte","fromHex","hex","buffer","clone","refs","cached","result2","descriptor","deepEqual","a","b","strict","check","test","then","a2","b2","viewA","viewB","capitalize","uncapitalize","camelCase","str","tokenize","delimiters","delimiter","output","state","code","next","paramCase","snakeCase","formatProperty","trimSlash","sanitize","Time","Time2","timezoneOffset","setTimezoneOffset","offset","getTimezoneOffset","getDateNumber","date","fromDateNumber","numeric","timeRegExp","unit","parseTime","capture","parseDate","parsed","format","ms","abs","toDigits","length","template","template2","time","symbols","GeneratorFunction","AsyncGeneratorFunction","isConstructor","func","resolveConfig","plugin","config","schema","isUnproxyable","constructor","joinPrototype","proto1","proto2","isObject","getTraceable","ctx","noTrap","tracker","createTraceable","withProps","props","target2","prop","receiver","withProp","createShadow","property","origin","createShadowMethod","outer","shadow","thisArg","args","arg","args2","thisArg2","arg2","newTarget","proxy","innerValue","innerTracker","applyTraceable","createCallable","name","proto","self","ReflectService","_ReflectService","defineProperty2","internal","error","lines","oldValue","dispose","ctx2","builtin","options","aliases","mixins","entries","getTarget","disposables","service","mixin","callback","reflect_default","isBailed","Lifecycle","defineProperty3","listener","method","Context","level","param","runtime","scopes","scope","checkInject","hooks","hook","label","events_default","CordisError","_CordisError","message","CordisError2","EffectScope","parent","disposed","original","wrapped","remove2","defineProperty4","task","reason","inject","isNullable2","acceptor","resolved","modified","checkPropertyUpdate","hasUpdate","ignored","shouldRestart","fallback","passive","hasUpdate2","ForkScope","fork","oldConfig","MainScope","Inject","context","instance","warning","isApplicable","Inject2","required","optional","rest","Registry","defineProperty5","assert","registry_default","_Context","attach","defineProperty6","meta","intercept","Service","_Service","_ctx","immediate","defineProperty7","__getOwnPropNames","__commonJS","cb","mod","require_index","exports","module","kSchema","kValidationError","ValidationError","prefix","segment","Schema","options2","refs2","valueMap","getRef","uid","mergeDesc","messages","locale","getInner","extractKeys","desc","inner","regexp","pattern2","inline","formatters","role","extra","resolvers","current","builder","toJSON","date2","flag","e","encoding","_","checkWithinRange","description","skipMin","max","min","decimalShift","digits","frac","integer","isMultipleOf","step","bits","prototype","adapted","sKey","rKey","merge","dict","toString","preserve","defineMethod","key2","isInner","Endpoints"],"mappings":"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","x_google_ignoreList":[1,2,3]}
|
package/dist/index-2RfILgXm.js
DELETED
|
@@ -1,180 +0,0 @@
|
|
|
1
|
-
import { j as i, P as S } from "./index-CM_6yF2v.js";
|
|
2
|
-
import { R as E } from "./Preferences-DS4-CFWe.js";
|
|
3
|
-
import { B as j } from "./BasePlugin-Bf2UuIHF.js";
|
|
4
|
-
import { T as q } from "./index-DD5CVCfD.js";
|
|
5
|
-
import { C as v, I as F } from "./InputBox-nQKtiWtZ.js";
|
|
6
|
-
import { I, S as k } from "./endpoints-DgyuoRZd.js";
|
|
7
|
-
var T = Object.create, p = Object.defineProperty, B = Object.getOwnPropertyDescriptor, b = (t, e) => (e = Symbol[t]) ? e : Symbol.for("Symbol." + t), _ = (t) => {
|
|
8
|
-
throw TypeError(t);
|
|
9
|
-
}, C = (t, e, r) => e in t ? p(t, e, { enumerable: !0, configurable: !0, writable: !0, value: r }) : t[e] = r, Q = (t, e) => p(t, "name", { value: e, configurable: !0 }), z = (t) => [, , , T(t?.[b("metadata")] ?? null)], D = ["class", "method", "getter", "setter", "accessor", "field", "value", "get", "set"], x = (t) => t !== void 0 && typeof t != "function" ? _("Function expected") : t, N = (t, e, r, a, o) => ({ kind: D[t], name: e, metadata: a, addInitializer: (n) => r._ ? _("Already initialized") : o.push(x(n || null)) }), O = (t, e) => C(e, b("metadata"), t[3]), R = (t, e, r, a) => {
|
|
10
|
-
for (var o = 0, n = t[e >> 1], s = n && n.length; o < s; o++) n[o].call(r);
|
|
11
|
-
return a;
|
|
12
|
-
}, L = (t, e, r, a, o, n) => {
|
|
13
|
-
var s, c, l, d = e & 7, f = !1, w = 0, y = t[w] || (t[w] = []), m = d && (o = o.prototype, d < 5 && (d > 3 || !f) && B(o, r));
|
|
14
|
-
Q(o, r);
|
|
15
|
-
for (var u = a.length - 1; u >= 0; u--)
|
|
16
|
-
l = N(d, r, c = {}, t[3], y), s = (0, a[u])(o, l), c._ = 1, x(s) && (o = s);
|
|
17
|
-
return O(t, o), m && p(o, r, m), f ? d ^ 4 ? n : m : o;
|
|
18
|
-
}, M, g, P;
|
|
19
|
-
M = [E(
|
|
20
|
-
k.object({
|
|
21
|
-
"quickMove.reason": k.string().default("[IPE-NEXT] Quick move")
|
|
22
|
-
}).description("Quick move options").extra("category", "editor")
|
|
23
|
-
), I(["modal", "wiki"])];
|
|
24
|
-
class h extends (P = j) {
|
|
25
|
-
constructor(e) {
|
|
26
|
-
super(e, {}, "quick-move"), this.ctx = e, e.set("quickMove", this);
|
|
27
|
-
}
|
|
28
|
-
start() {
|
|
29
|
-
this.ctx.inject(["toolbox"], (e) => {
|
|
30
|
-
this.injectToolbox(e);
|
|
31
|
-
});
|
|
32
|
-
}
|
|
33
|
-
injectToolbox(e) {
|
|
34
|
-
const r = window.mw?.config.get("wgPageName") || "", a = window.mw?.config.get("wgIsProbablyEditable");
|
|
35
|
-
e.toolbox.addButton({
|
|
36
|
-
id: "quick-move",
|
|
37
|
-
icon: /* @__PURE__ */ i(
|
|
38
|
-
"svg",
|
|
39
|
-
{
|
|
40
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
41
|
-
width: "24",
|
|
42
|
-
height: "24",
|
|
43
|
-
viewBox: "0 0 24 24",
|
|
44
|
-
fill: "none",
|
|
45
|
-
stroke: "currentColor",
|
|
46
|
-
"stroke-width": "2",
|
|
47
|
-
"stroke-linecap": "round",
|
|
48
|
-
"stroke-linejoin": "round",
|
|
49
|
-
class: "icon icon-tabler icons-tabler-outline icon-tabler-forms",
|
|
50
|
-
children: [
|
|
51
|
-
/* @__PURE__ */ i("path", { stroke: "none", d: "M0 0h24v24H0z", fill: "none" }),
|
|
52
|
-
/* @__PURE__ */ i("path", { d: "M12 3a3 3 0 0 0 -3 3v12a3 3 0 0 0 3 3" }),
|
|
53
|
-
/* @__PURE__ */ i("path", { d: "M6 3a3 3 0 0 1 3 3v12a3 3 0 0 1 -3 3" }),
|
|
54
|
-
/* @__PURE__ */ i("path", { d: "M13 7h7a1 1 0 0 1 1 1v8a1 1 0 0 1 -1 1h-7" }),
|
|
55
|
-
/* @__PURE__ */ i("path", { d: "M5 7h-1a1 1 0 0 0 -1 1v8a1 1 0 0 0 1 1h1" }),
|
|
56
|
-
/* @__PURE__ */ i("path", { d: "M17 12h.01" }),
|
|
57
|
-
/* @__PURE__ */ i("path", { d: "M13 12h.01" })
|
|
58
|
-
]
|
|
59
|
-
}
|
|
60
|
-
),
|
|
61
|
-
tooltip: "Quick Move",
|
|
62
|
-
group: "group1",
|
|
63
|
-
index: 1,
|
|
64
|
-
onClick: () => {
|
|
65
|
-
this.showModal(
|
|
66
|
-
a ? {
|
|
67
|
-
lockFromField: !0,
|
|
68
|
-
from: r
|
|
69
|
-
} : {}
|
|
70
|
-
);
|
|
71
|
-
}
|
|
72
|
-
});
|
|
73
|
-
}
|
|
74
|
-
async showModal(e) {
|
|
75
|
-
const r = await this.ctx.preferences.get("quickMove.reason"), a = this.ctx.modal.createObject({
|
|
76
|
-
title: "Quick Move",
|
|
77
|
-
content: /* @__PURE__ */ i(S, {}),
|
|
78
|
-
className: "quick-move compact-buttons",
|
|
79
|
-
sizeClass: "smallToMedium",
|
|
80
|
-
center: !0
|
|
81
|
-
}).init();
|
|
82
|
-
let o = null;
|
|
83
|
-
return a.setContent(
|
|
84
|
-
/* @__PURE__ */ i(
|
|
85
|
-
"form",
|
|
86
|
-
{
|
|
87
|
-
ref: (n) => o = n,
|
|
88
|
-
style: {
|
|
89
|
-
display: "flex",
|
|
90
|
-
flexDirection: "column",
|
|
91
|
-
gap: "1rem"
|
|
92
|
-
},
|
|
93
|
-
onSubmit: (n) => {
|
|
94
|
-
if (n.preventDefault(), o?.checkValidity(), !o?.reportValidity())
|
|
95
|
-
return;
|
|
96
|
-
const s = new FormData(o), c = {
|
|
97
|
-
from: s.get("from")?.toString().trim(),
|
|
98
|
-
to: s.get("to")?.toString().trim(),
|
|
99
|
-
reason: s.get("reason") || "",
|
|
100
|
-
movetalk: s.get("movetalk") === "on",
|
|
101
|
-
movesubpages: s.get("movesubpages") === "on",
|
|
102
|
-
noredirect: s.get("noredirect") === "on"
|
|
103
|
-
};
|
|
104
|
-
if (!c.from || !c.to) {
|
|
105
|
-
this.ctx.modal.notify("error", {
|
|
106
|
-
title: "Failed to move",
|
|
107
|
-
content: "From and to are required."
|
|
108
|
-
});
|
|
109
|
-
return;
|
|
110
|
-
}
|
|
111
|
-
this.ctx.emit("quick-move/submit", { ctx: this.ctx, modal: a, payload: c }), a.setLoadingState(!0), this.movePage(c).then(() => {
|
|
112
|
-
location.reload();
|
|
113
|
-
}).catch((l) => {
|
|
114
|
-
a.setLoadingState(!1), this.ctx.modal.notify("error", {
|
|
115
|
-
title: "Failed to move",
|
|
116
|
-
content: l instanceof Error ? l.message : String(l)
|
|
117
|
-
});
|
|
118
|
-
});
|
|
119
|
-
},
|
|
120
|
-
children: [
|
|
121
|
-
/* @__PURE__ */ i(
|
|
122
|
-
q,
|
|
123
|
-
{
|
|
124
|
-
inputs: [
|
|
125
|
-
{
|
|
126
|
-
label: "Move from",
|
|
127
|
-
name: "from",
|
|
128
|
-
value: e?.from,
|
|
129
|
-
required: !0
|
|
130
|
-
},
|
|
131
|
-
{
|
|
132
|
-
label: "Move to",
|
|
133
|
-
name: "to",
|
|
134
|
-
value: e?.to,
|
|
135
|
-
required: !0
|
|
136
|
-
}
|
|
137
|
-
]
|
|
138
|
-
}
|
|
139
|
-
),
|
|
140
|
-
/* @__PURE__ */ i("div", { children: /* @__PURE__ */ i(v, { name: "movetalk", id: "movetalk", checked: e?.movetalk, children: "Move talk page" }) }),
|
|
141
|
-
/* @__PURE__ */ i("div", { children: /* @__PURE__ */ i(v, { name: "movesubpages", id: "movesubpages", checked: e?.movesubpages, children: "Move subpage(s) (up to 100)" }) }),
|
|
142
|
-
this.ctx.wiki.hasRight("suppressredirect") && /* @__PURE__ */ i("div", { children: /* @__PURE__ */ i(v, { name: "noredirect", id: "noredirect", checked: e?.noredirect, children: "Move without leaving a redirect" }) }),
|
|
143
|
-
/* @__PURE__ */ i(
|
|
144
|
-
F,
|
|
145
|
-
{
|
|
146
|
-
label: "Reason",
|
|
147
|
-
id: "reason",
|
|
148
|
-
name: "reason",
|
|
149
|
-
value: e?.reason ?? r ?? ""
|
|
150
|
-
}
|
|
151
|
-
)
|
|
152
|
-
]
|
|
153
|
-
}
|
|
154
|
-
)
|
|
155
|
-
), a.setButtons([
|
|
156
|
-
{
|
|
157
|
-
label: "Move",
|
|
158
|
-
className: "is-primary is-ghost",
|
|
159
|
-
method: () => {
|
|
160
|
-
o?.dispatchEvent(new Event("submit"));
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
]), a.show();
|
|
164
|
-
}
|
|
165
|
-
async movePage(e) {
|
|
166
|
-
const { from: r, to: a, reason: o = "", ...n } = e;
|
|
167
|
-
if (!r || !a)
|
|
168
|
-
throw new Error("From and to titles are required.");
|
|
169
|
-
if (r === a)
|
|
170
|
-
throw new Error("From and to titles cannot be the same.");
|
|
171
|
-
return (await this.ctx.wikiPage.newFromTitle(r)).moveTo(a, o, n);
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
g = z(P);
|
|
175
|
-
h = L(g, 0, "PluginQuickMove", M, h);
|
|
176
|
-
R(g, 1, h);
|
|
177
|
-
export {
|
|
178
|
-
h as PluginQuickMove
|
|
179
|
-
};
|
|
180
|
-
//# sourceMappingURL=index-2RfILgXm.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-2RfILgXm.js","sources":["../src/plugins/quick-move/index.tsx"],"sourcesContent":["import { Inject, InPageEdit, Schema } from '@/InPageEdit'\nimport { IPEModal } from '@inpageedit/modal'\n\ndeclare module '@/InPageEdit' {\n interface InPageEdit {\n quickMove: PluginQuickMove\n }\n interface Events {\n 'quick-move/init-options'(payload: {\n ctx: InPageEdit\n options: Partial<QuickMoveOptions>\n }): void\n 'quick-move/show-modal'(payload: { ctx: InPageEdit; modal: IPEModal }): void\n 'quick-move/submit'(payload: {\n ctx: InPageEdit\n modal: IPEModal\n payload: MovePageOptions\n }): void\n }\n interface PreferencesMap {\n 'quickMove.reason': string\n }\n}\n\nexport interface MovePageOptions {\n from: string\n to: string\n reason?: string\n movetalk?: boolean\n movesubpages?: boolean\n noredirect?: boolean\n}\nexport interface QuickMoveOptions extends Partial<MovePageOptions> {\n lockFromField?: boolean\n lockToField?: boolean\n}\n\n@RegisterPreferences(\n Schema.object({\n 'quickMove.reason': Schema.string().default('[IPE-NEXT] Quick move'),\n })\n .description('Quick move options')\n .extra('category', 'editor')\n)\n@Inject(['modal', 'wiki'])\nexport class PluginQuickMove extends BasePlugin {\n constructor(public ctx: InPageEdit) {\n super(ctx, {}, 'quick-move')\n ctx.set('quickMove', this)\n }\n\n protected start(): Promise<void> | void {\n this.ctx.inject(['toolbox'], (ctx) => {\n this.injectToolbox(ctx)\n })\n }\n\n private injectToolbox(ctx: InPageEdit) {\n const curPageName = window.mw?.config.get('wgPageName') || ''\n const canEdit = window.mw?.config.get('wgIsProbablyEditable')\n ctx.toolbox.addButton({\n id: 'quick-move',\n icon: (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n class=\"icon icon-tabler icons-tabler-outline icon-tabler-forms\"\n >\n <path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\" />\n <path d=\"M12 3a3 3 0 0 0 -3 3v12a3 3 0 0 0 3 3\" />\n <path d=\"M6 3a3 3 0 0 1 3 3v12a3 3 0 0 1 -3 3\" />\n <path d=\"M13 7h7a1 1 0 0 1 1 1v8a1 1 0 0 1 -1 1h-7\" />\n <path d=\"M5 7h-1a1 1 0 0 0 -1 1v8a1 1 0 0 0 1 1h1\" />\n <path d=\"M17 12h.01\" />\n <path d=\"M13 12h.01\" />\n </svg>\n ),\n tooltip: 'Quick Move',\n group: 'group1',\n index: 1,\n onClick: () => {\n this.showModal(\n canEdit\n ? {\n lockFromField: true,\n from: curPageName,\n }\n : {}\n )\n },\n })\n }\n\n async showModal(options?: Partial<QuickMoveOptions>) {\n const reason = await this.ctx.preferences.get('quickMove.reason')\n const modal = this.ctx.modal\n .createObject({\n title: 'Quick Move',\n content: (<ProgressBar />) as HTMLElement,\n className: 'quick-move compact-buttons',\n sizeClass: 'smallToMedium',\n center: true,\n })\n .init()\n\n let formRef: HTMLFormElement | null = null\n modal.setContent(\n (\n <form\n ref={(el) => (formRef = el)}\n style={{\n display: 'flex',\n flexDirection: 'column',\n gap: '1rem',\n }}\n onSubmit={(e) => {\n e.preventDefault()\n formRef?.checkValidity()\n if (!formRef?.reportValidity()) {\n return\n }\n const formData = new FormData(formRef!)\n const options = {\n from: formData.get('from')?.toString().trim()!,\n to: formData.get('to')?.toString().trim()!,\n reason: (formData.get('reason') as string) || '',\n movetalk: formData.get('movetalk') === 'on',\n movesubpages: formData.get('movesubpages') === 'on',\n noredirect: formData.get('noredirect') === 'on',\n }\n if (!options.from || !options.to) {\n this.ctx.modal.notify('error', {\n title: 'Failed to move',\n content: 'From and to are required.',\n })\n return\n }\n this.ctx.emit('quick-move/submit', { ctx: this.ctx, modal, payload: options })\n modal.setLoadingState(true)\n this.movePage(options)\n .then(() => {\n location.reload()\n })\n .catch((error) => {\n modal.setLoadingState(false)\n this.ctx.modal.notify('error', {\n title: 'Failed to move',\n content: error instanceof Error ? error.message : String(error),\n })\n })\n }}\n >\n <TwinSwapInput\n inputs={[\n {\n label: 'Move from',\n name: 'from',\n value: options?.from,\n required: true,\n },\n {\n label: 'Move to',\n name: 'to',\n value: options?.to,\n required: true,\n },\n ]}\n />\n <div>\n <CheckBox name=\"movetalk\" id=\"movetalk\" checked={options?.movetalk}>\n Move talk page\n </CheckBox>\n </div>\n <div>\n <CheckBox name=\"movesubpages\" id=\"movesubpages\" checked={options?.movesubpages}>\n Move subpage(s) (up to 100)\n </CheckBox>\n </div>\n {this.ctx.wiki.hasRight('suppressredirect') && (\n <div>\n <CheckBox name=\"noredirect\" id=\"noredirect\" checked={options?.noredirect}>\n Move without leaving a redirect\n </CheckBox>\n </div>\n )}\n <InputBox\n label=\"Reason\"\n id=\"reason\"\n name=\"reason\"\n value={options?.reason ?? reason ?? ''}\n />\n </form>\n ) as HTMLElement\n )\n\n modal.setButtons([\n {\n label: 'Move',\n className: 'is-primary is-ghost',\n method: () => {\n formRef?.dispatchEvent(new Event('submit'))\n },\n },\n ])\n\n return modal.show()\n }\n\n async movePage(options: MovePageOptions) {\n const { from, to, reason = '', ...rest } = options\n\n if (!from || !to) {\n throw new Error('From and to titles are required.')\n }\n if (from === to) {\n throw new Error('From and to titles cannot be the same.')\n }\n\n const wikiPage = await this.ctx.wikiPage.newFromTitle(from)\n return wikiPage.moveTo(to, reason, rest)\n }\n}\n"],"names":["_PluginQuickMove_decorators","_init","_a","RegisterPreferences","Schema","Inject","PluginQuickMove","BasePlugin","ctx","curPageName","canEdit","jsxs","jsx","options","reason","modal","ProgressBar","formRef","el","e","formData","error","TwinSwapInput","CheckBox","InputBox","from","to","rest","__decoratorStart","__decorateElement","__runInitializers"],"mappings":"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"}
|