zova-core 5.1.21 → 5.1.23
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/dist/core/sys/resource.d.ts +0 -1
- package/dist/core/sys/resource.d.ts.map +1 -1
- package/dist/decorator/class/use.d.ts.map +1 -1
- package/dist/index.js +10 -8
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
- package/src/core/sys/resource.ts +9 -8
- package/src/decorator/class/use.ts +1 -3
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/types/utils/cast.ts","../src/vueExtra/computed.ts","../src/core/sys/metadata.ts","../src/mappedClass/type.ts","../src/mappedClass/utils.ts","../src/utils/uuid.ts","../src/core/sys/sysFake.ts","../src/bean/beanSimple.ts","../src/core/sys/util.ts","../src/core/sys/resource.ts","../src/utils/stateLock.ts","../src/bean/beanBaseSimple.ts","../src/bean/resource/error/beanScopeError.ts","../src/bean/resource/error/errorInternal.ts","../src/bean/resource/error/errorClass.ts","../src/bean/resource/error/type.ts","../src/bean/resource/locale/beanScopeLocale.ts","../src/bean/resource/locale/type.ts","../src/bean/vueDecorators/utils.ts","../src/bean/beanBase.ts","../src/bean/beanAopBase.ts","../src/bean/beanAopMethodBase.ts","../src/decorator/class/beanInfo.ts","../src/decorator/class/createBeanDecorator.ts","../src/decorator/class/preload.ts","../src/decorator/class/proxyDisable.ts","../src/vueExtra/ref.ts","../src/decorator/class/use.ts","../src/decorator/class/useComposable.ts","../src/decorator/class/useScope.ts","../src/decorator/class/virtual.ts","../src/decorator/type/functionable.ts","../src/decorator/vueExtra/types.ts","../src/decorator/vueExtra/createVueDecorator.ts","../src/decorator/vueExtra/model.ts","../src/decorator/vueExtra/vueDecorators.ts","../src/bean/vueDecorators/computed.ts","../src/composables/useContext.ts","../src/composables/onControllerCreated.ts","../src/bean/vueDecorators/controllerCreated.ts","../src/composables/onControllerMounted.ts","../src/bean/vueDecorators/controllerMounted.ts","../src/bean/vueDecorators/emit.ts","../src/vueExtra/useModel.ts","../src/bean/vueDecorators/model.ts","../src/bean/vueDecorators/raw.ts","../src/bean/vueDecorators/shallow.ts","../src/bean/vueDecorators/watch.ts","../src/bean/vueDecorators/watchEffect.ts","../src/bean/vueDecorators/index.ts","../src/bean/beanContainer.ts","../src/bean/beanControllerBase.ts","../src/bean/type.ts","../src/bean/beanControllerLike.ts","../src/bean/beanControllerPageBase.ts","../src/bean/beanRenderLike.ts","../src/bean/beanRenderBase.ts","../src/bean/beanStyleBase.ts","../src/bean/scope/beanScopeUtil.ts","../src/bean/scope/beanScopeBase.ts","../src/utils/zod-enhance.ts","../src/core/sys/config.ts","../src/core/sys/constant.ts","../src/types/interface/module.ts","../src/core/component/cookie.ts","../src/core/component/event.ts","../src/core/logger/logger.ts","../src/composables/useSys.ts","../src/components/createZovaComponentAsync.ts","../src/core/sys/component.ts","../src/core/sys/error.ts","../src/core/component/locale.ts","../src/core/sys/locale.ts","../src/core/sys/module.ts","../src/core/sys/meta.ts","../src/core/sys/sys.ts","../src/plugins/bean.ts","../src/bootstrap.ts","../src/components/clientOnly.ts","../src/core/context/component.ts","../src/core/context/hooks.ts","../src/core/context/state.ts","../src/core/context/meta.ts","../src/core/context/util.ts","../src/core/context/context.ts","../src/composables/useController.ts","../src/components/component.ts","../src/composables/useApp.ts","../src/core/component/component.ts","../src/core/component/error.ts","../src/core/component/module.ts","../src/core/app/meta.ts","../src/core/app/util.ts","../src/core/app/application.ts","../src/core/app/locale.ts","../src/core/logger/format.ts","../src/mappedClass/mixinClass.ts","../src/mappedClass/omitClass.ts","../src/mappedClass/partialClass.ts","../src/mappedClass/pickClass.ts","../src/plugins/zova.ts","../src/utils/customKey.ts","../src/vueExtra/composable.ts","../src/vueExtra/customRef.ts"],"sourcesContent":["export function cast<T = any>(source: unknown) {\n return source as T;\n}\n\ndeclare global {\n function parseInt(num: number, radix?: number): number;\n function parseInt(num: any, radix?: number): number;\n}\n","import type { ComputedGetter, DebuggerOptions, WritableComputedOptions } from 'vue';\n\nimport { computed } from 'vue';\n\nexport function useComputed<T>(getter: ComputedGetter<T>, debugOptions?: DebuggerOptions): T;\nexport function useComputed<T>(options: WritableComputedOptions<T>, debugOptions?: DebuggerOptions): T;\nexport function useComputed(options, debugOptions) {\n return computed(options, debugOptions);\n}\n","import { isUndefined } from '@cabloy/utils';\nimport 'reflect-metadata';\n\nexport type MetadataKey = symbol | string;\n\nexport class AppMetadata {\n defineMetadata<V>(metadataKey: MetadataKey, metadataValue: V, target: object, prop?: MetadataKey) {\n if (isUndefined(prop)) {\n Reflect.defineMetadata(metadataKey, metadataValue, target);\n } else {\n Reflect.defineMetadata(metadataKey, metadataValue, target, prop);\n }\n }\n\n getOwnMetadata<V>(metadataKey: MetadataKey, target: object, prop?: MetadataKey): V | undefined {\n if (isUndefined(prop)) return Reflect.getOwnMetadata(metadataKey, target);\n return Reflect.getOwnMetadata(metadataKey, target, prop);\n }\n\n getMetadata<V>(metadataKey: MetadataKey, target: object, prop?: MetadataKey): V | undefined {\n if (isUndefined(prop)) return Reflect.getMetadata(metadataKey, target);\n return Reflect.getMetadata(metadataKey, target, prop);\n }\n\n getOwnMetadataArray<Entry>(inherit: boolean, metadataKey: MetadataKey, target: object, prop?: MetadataKey): Array<Entry> {\n let own: Array<Entry> | undefined = this.getOwnMetadata(metadataKey, target, prop);\n if (!own) {\n if (!inherit) {\n own = [];\n } else {\n const parent: Array<Entry> | undefined = this.getMetadata(metadataKey, target, prop);\n if (parent) {\n own = parent.slice();\n } else {\n own = [];\n }\n }\n this.defineMetadata(metadataKey, own, target, prop);\n }\n return own;\n }\n\n getOwnMetadataMap<K extends PropertyKey, V>(inherit: boolean, metadataKey: MetadataKey, target: object, prop?: MetadataKey): Record<K, V> {\n let own: Record<K, V> | undefined = this.getOwnMetadata(metadataKey, target, prop);\n if (!own) {\n if (!inherit) {\n own = {} as Record<K, V>;\n } else {\n const parent: Record<K, V> | undefined = this.getMetadata(metadataKey, target, prop);\n if (parent) {\n own = Object.assign({}, parent);\n } else {\n own = {} as Record<K, V>;\n }\n }\n this.defineMetadata(metadataKey, own, target, prop);\n }\n return own;\n }\n\n getDesignType(target: object, prop?: MetadataKey) {\n return this.getMetadata('design:type', target as any, prop);\n }\n\n getDesignParamtypes(target: object, prop?: MetadataKey) {\n return this.getMetadata('design:paramtypes', target, prop);\n }\n\n getDesignReturntype(target: object, prop?: MetadataKey) {\n return this.getMetadata('design:returntype', target, prop);\n }\n}\n\nexport const appMetadata = new AppMetadata();\n","import type { MetadataKey } from '../core/sys/metadata.ts';\n\nexport const SymbolMappedClassMetadataKeys = Symbol('SymbolMappedClassMetakeys');\n\nexport type MappedClassMetadataKeys = Record<MetadataKey, IMappedClassMetadataOptions | undefined>;\n\nexport interface IMappedClassMetadataOptions {\n partialClass?: Function;\n}\n","import type { MetadataKey } from '../core/sys/metadata.ts';\nimport type { Constructable } from '../decorator/index.ts';\nimport type { IMappedClassMetadataOptions, MappedClassMetadataKeys } from './type.ts';\n\nimport { appMetadata } from '../core/sys/metadata.ts';\nimport { SymbolMappedClassMetadataKeys } from './type.ts';\n\nexport function registerMappedClassMetadataKey(target: object, metadataKey: MetadataKey, options?: IMappedClassMetadataOptions) {\n const metadataKeys = appMetadata.getOwnMetadataMap<MetadataKey, IMappedClassMetadataOptions | undefined>(\n true,\n SymbolMappedClassMetadataKeys,\n target,\n );\n if (!Object.hasOwn(metadataKeys, metadataKey)) {\n metadataKeys[metadataKey] = options;\n }\n}\n\nexport function getMappedClassMetadataKeys(target: object): MappedClassMetadataKeys | undefined {\n return appMetadata.getMetadata<MappedClassMetadataKeys>(SymbolMappedClassMetadataKeys, target);\n}\n\nexport function copyPropertiesOfClasses(target: Constructable, sources: Constructable[], filter?: Function) {\n for (const source of sources) {\n copyProperties(target, source, ['constructor', 'prototype', 'length', 'name'], filter); // copy static\n copyProperties(target.prototype, source.prototype, ['constructor', 'prototype'], filter); // copy prototype\n }\n}\n\nexport function copyProperties(target: object, source: object, keysIgnore: MetadataKey[], filter?: Function) {\n const protos: object[] = [];\n let _proto = source;\n while (_proto) {\n if (!['Object'].includes(_proto.constructor?.name) && !Object.hasOwn(_proto, 'arguments')) {\n protos.unshift(_proto);\n }\n _proto = Object.getPrototypeOf(_proto);\n }\n for (const proto of protos) {\n for (const key of Reflect.ownKeys(proto)) {\n if (keysIgnore.includes(key)) continue;\n if (filter && !filter(key)) continue;\n // desc\n const desc = Object.getOwnPropertyDescriptor(proto, key)!;\n Object.defineProperty(target, key, desc);\n // metadata\n const metaKeys = Reflect.getOwnMetadataKeys(proto, key);\n for (const metaKey of metaKeys) {\n const metaValue = Reflect.getOwnMetadata(metaKey, proto, key);\n Reflect.defineMetadata(metaKey, metaValue, target, key);\n }\n }\n }\n}\n\nexport function copyMetadataOfClasses(target: object, sources: object[], transform?: Function) {\n //\n const metadataKeys = {};\n for (const source of sources) {\n const _metadataKeys = getMappedClassMetadataKeys(source);\n if (_metadataKeys) {\n Object.assign(metadataKeys, _metadataKeys);\n }\n }\n //\n for (const metadataKey of Object.getOwnPropertySymbols(metadataKeys)) {\n const metadataKeyOptions = metadataKeys[metadataKey];\n const rulesNew = {};\n for (const source of sources) {\n const rules = appMetadata.getMetadata(metadataKey, source);\n if (!rules) continue;\n if (!transform) {\n Object.assign(rulesNew, rules);\n } else {\n for (const key in rules) {\n const ruleNew = transform(rules, key, metadataKeyOptions);\n if (ruleNew !== undefined) {\n rulesNew[key] = ruleNew;\n }\n }\n }\n }\n appMetadata.defineMetadata(metadataKey, rulesNew, target);\n }\n}\n","/**\n * Based on the work of https://github.com/jchook/uuid-random\n */\n\nlet buf;\nlet bufIdx = 0;\nconst hexBytes: any[] = Array.from({ length: 256 });\n\n// Pre-calculate toString(16) for speed\nfor (let i = 0; i < 256; i++) {\n hexBytes[i] = (i + 0x100).toString(16).substring(1);\n}\n\n// Use best available PRNG\nconst randomBytes = (() => {\n // Node & Browser support\n const lib: any = typeof crypto !== 'undefined' ? crypto : typeof window !== 'undefined' ? window.crypto || (<any>window).msCrypto : void 0;\n\n if (lib !== void 0) {\n if (lib.randomBytes !== void 0) {\n return lib.randomBytes;\n }\n if (lib.getRandomValues !== void 0) {\n return n => {\n const bytes = new Uint8Array(n);\n lib.getRandomValues(bytes);\n return bytes;\n };\n }\n }\n\n return n => {\n const r: number[] = [];\n for (let i = n; i > 0; i--) {\n r.push(Math.floor(Math.random() * 256));\n }\n return r;\n };\n})();\n\n// Buffer random numbers for speed\n// Reduce memory usage by decreasing this number (min 16)\n// or improve speed by increasing this number (try 16384)\nconst BUFFER_SIZE = 4096;\n\nexport function uuid() {\n // Buffer some random bytes for speed\n if (buf === void 0 || bufIdx + 16 > BUFFER_SIZE) {\n bufIdx = 0;\n buf = randomBytes(BUFFER_SIZE);\n }\n\n const b = Array.prototype.slice.call(buf, bufIdx, (bufIdx += 16));\n b[6] = (b[6] & 0x0f) | 0x40;\n b[8] = (b[8] & 0x3f) | 0x80;\n\n return `${hexBytes[b[0]] + hexBytes[b[1]] + hexBytes[b[2]] + hexBytes[b[3]]}-${hexBytes[b[4]]}${hexBytes[b[5]]}-${hexBytes[b[6]]}${\n hexBytes[b[7]]\n }-${hexBytes[b[8]]}${hexBytes[b[9]]}-${hexBytes[b[10]]}${hexBytes[b[11]]}${hexBytes[b[12]]}${hexBytes[b[13]]}${hexBytes[b[14]]}${hexBytes[b[15]]}`;\n}\n","import type { ZovaSys } from './sys.ts';\n\nlet _sys: ZovaSys;\n\nexport function getSys() {\n return _sys;\n}\n\nexport function setSys(sys: ZovaSys) {\n _sys = sys;\n}\n","import type { ZovaApplication } from '../core/app/index.ts';\nimport type { ZovaContext } from '../core/context/index.ts';\nimport type { ZovaSys } from '../core/sys/sys.ts';\n\nexport class BeanSimple {\n protected sys: ZovaSys;\n protected app: ZovaApplication;\n protected ctx: ZovaContext;\n\n protected get bean() {\n return this.ctx ? this.ctx.bean : this.sys.bean;\n }\n}\n","import { extend } from '@cabloy/extend';\nimport { combineApiPathControllerAndAction, defaultPathSerializer, isEmptyObject } from '@cabloy/utils';\nimport DeepEqual from 'deep-equal';\nimport { isReactive, reactive } from 'vue';\n\nimport type { IBeanRecord, IBeanScopeRecord, TypeBeanScopeRecordKeys } from '../../bean/type.ts';\nimport type { IBeanSceneRecord } from '../../decorator/interface/beanOptions.ts';\nimport type { TypeAuthToken } from '../../types/utils/auth.ts';\n\nimport { BeanSimple } from '../../bean/beanSimple.ts';\nimport { cast } from '../../types/utils/cast.ts';\nimport { uuid as _uuid } from '../../utils/uuid.ts';\n\nexport interface IApiActionConfigPrepareOptions {\n query?: {};\n authToken?: TypeAuthToken;\n openapiSchema?: boolean;\n headers?: {};\n}\n\nexport class SysUtil extends BeanSimple {\n getAbsoluteUrlFromPagePath(path?: string, ignoreHost?: boolean, ignorePublicPath?: boolean) {\n let prefix = ignoreHost\n ? ''\n : process.env.DEV\n ? `http://${this.sys.env.DEV_SERVER_HOSTNAME || 'localhost'}:${this.sys.env.DEV_SERVER_PORT}`\n : `${this.sys.env.SSR_PROD_PROTOCOL}://${this.sys.env.SSR_PROD_HOST}`;\n if (!ignorePublicPath && this.sys.env.APP_PUBLIC_PATH) {\n prefix = `${prefix}/${this.sys.env.APP_PUBLIC_PATH}`;\n }\n return `${prefix}${path || ''}`;\n }\n\n getPagePathFromAbsoluteUrl(url: string, ignorePublicPath?: boolean) {\n let pagePath: string;\n if (isHttpUrl(url)) {\n const _url = new URL(url);\n pagePath = _url.pathname + _url.search;\n } else {\n pagePath = url;\n }\n if (!ignorePublicPath && this.sys.env.APP_PUBLIC_PATH) {\n const prefix = `/${this.sys.env.APP_PUBLIC_PATH}`;\n if (pagePath.startsWith(prefix)) {\n pagePath = pagePath.substring(prefix.length);\n }\n }\n return pagePath;\n }\n\n getApiBaseURL(useApiPrefix: boolean = true) {\n let baseURL = this.sys.config.api.baseURL || '';\n if (useApiPrefix) {\n baseURL = `${baseURL}${this.sys.config.api.prefix || ''}`;\n }\n return baseURL;\n }\n\n getOpenApiBaseURL(envName: string): string {\n if (process.env.CLIENT) {\n return this.sys.env[envName] || this.sys.env.OPENAPI_BASE_URL_DEFAULT || this.sys.env.API_BASE_URL;\n } else {\n return this.sys.env[envName] || this.sys.env.OPENAPI_BASE_URL_DEFAULT || this.sys.env.SSR_API_BASE_URL;\n }\n }\n\n getApiPath<K extends string | undefined = string | undefined>(path: K): K extends string ? string : undefined {\n if (!path) return path as any;\n if (path.startsWith('//')) {\n path = path.substring(1) as any;\n } else {\n path = (this.sys.config.api.prefix + path) as any;\n }\n return path as any;\n }\n\n apiActionPathTranslate(pathName: string, pathParams?: Record<string, any>): string {\n return defaultPathSerializer(pathName, pathParams);\n }\n\n apiActionConfigPrepare(baseURL?: string, options?: IApiActionConfigPrepareOptions, authToken?: TypeAuthToken) {\n // custom\n const optionsCustom: any = {\n params: options?.query,\n query: undefined,\n };\n const interceptors = {};\n // authToken\n authToken = options?.authToken === undefined ? authToken : options?.authToken;\n if (authToken !== undefined) {\n interceptors['a-interceptor:jwt'] = { authToken };\n }\n // openapiSchema\n if (options?.openapiSchema) {\n interceptors['a-interceptor:headers'] = { openapiSchema: options?.openapiSchema };\n }\n if (!isEmptyObject(interceptors)) {\n optionsCustom.interceptors = interceptors;\n }\n // extend\n return deepExtend(\n {\n baseURL: baseURL || this.getApiBaseURL(false),\n },\n options,\n optionsCustom,\n );\n }\n\n getModuleConfigSafe<K extends TypeBeanScopeRecordKeys>(moduleName: K): IBeanScopeRecord[K] extends { config?: infer CONFIG } ? CONFIG : undefined {\n const module = this.sys.meta.module.get(moduleName);\n if (module) {\n const scope = this.sys.bean.scope(moduleName);\n return cast(scope).config;\n }\n let config = this.sys.config.modules[moduleName as any];\n if (!config) {\n config = this.sys.config.modules[moduleName as any] = {} as any;\n }\n return config;\n }\n\n getModuleConfigOriginal<K extends TypeBeanScopeRecordKeys>(\n moduleName: K,\n ): IBeanScopeRecord[K] extends { config?: infer CONFIG } ? CONFIG : undefined {\n return this.sys.configOriginal.modules![moduleName as any] ?? {};\n }\n\n parseResourceApi(resource: string, api?: string) {\n const parts = resource.split(':');\n return api ?? combineApiPathControllerAndAction(parts[0], parts[1], undefined, true, true, this.sys.env.API_PREFIX);\n }\n}\n\nexport function uuid(): string {\n return _uuid();\n}\n\nexport function isUuid(str: string): boolean {\n if (!str) return false;\n const length = str.length;\n return length === 36 || length === 32;\n}\n\n// for hold on CustomRefImpl\nexport function objectAssignReactive<T = any>(...args): T {\n let target = args[0];\n if (!target || typeof target !== 'object') throw new Error('invalid args');\n if (!isReactive(target)) {\n target = reactive(target);\n }\n for (let i = 1; i < args.length; i++) {\n const source = args[i];\n if (!source) continue;\n const keys = Object.getOwnPropertyNames(source);\n for (const key of keys) {\n const desc = Object.getOwnPropertyDescriptor(source, key);\n target[key] = desc?.value;\n }\n }\n return target;\n}\n\nexport function deepExtend<T = any>(...args): T {\n return extend(true, ...args);\n}\n\nexport function deepEqual(actual: unknown, expected: unknown, opts?: { strict?: boolean }): boolean {\n return DeepEqual(actual, expected, opts);\n}\n\nexport function disposeInstance(instance: any) {\n instance?.__dispose__?.();\n}\n\nexport function polyfillDispose(instance: any) {\n if (!instance || instance.__dispose__) return;\n Object.getPrototypeOf(instance).__dispose__ = () => {};\n}\n\nexport function beanFullNameFromOnionName(onionName: string, sceneName: keyof IBeanSceneRecord): keyof IBeanRecord {\n return onionName.replace(':', `.${sceneName}.`) as unknown as keyof IBeanRecord;\n}\n\nexport function onionNameFromBeanFullName(beanFullName: string, sceneName: keyof IBeanSceneRecord): string {\n return beanFullName.replace(`.${sceneName}.`, ':');\n}\n\nexport function convertToUnit(str: number, unit?: string): string;\nexport function convertToUnit(str: string | number | null | undefined, unit?: string): string | undefined;\nexport function convertToUnit(str: string | number | null | undefined, unit: string = 'px'): string | undefined {\n if (str === undefined || str === null || str === '') {\n return undefined;\n }\n const num = Number(str);\n if (Number.isNaN(num)) {\n return String(str);\n } else if (!Number.isFinite(num)) {\n return undefined;\n } else {\n return `${num}${unit}`;\n }\n}\n\nexport function isHttpUrl(url?: string): boolean {\n return !!url && (url.startsWith('http://') || url.startsWith('https://'));\n}\n","import { isClass } from '@cabloy/utils';\nimport { parseLastWord, skipLastWord, skipPrefix, splitWords } from '@cabloy/word-utils';\n\nimport type { IBeanRecord } from '../../bean/type.ts';\nimport type {\n Constructable,\n Functionable,\n IBeanSceneRecord,\n IDecoratorBeanInfoOptions,\n IDecoratorBeanOptionsBase,\n IDecoratorUseOptionsBase,\n} from '../../decorator/index.js';\nimport type { MetadataKey } from './metadata.ts';\n\nimport { registerMappedClassMetadataKey } from '../../mappedClass/utils.ts';\nimport { cast } from '../../types/utils/cast.ts';\nimport { uuid } from '../../utils/uuid.ts';\nimport { appMetadata } from './metadata.ts';\nimport { getSys } from './sysFake.ts';\nimport { deepExtend } from './util.ts';\n\nexport const DecoratorBeanFullName = Symbol('Decorator#BeanFullName');\nexport const SymbolDecoratorBeanInfo = Symbol('SymbolDecoratorBeanInfo');\nexport const SymbolDecoratorProxyDisable = Symbol('SymbolDecoratorProxyDisable');\nexport const SymbolDecoratorPreload = Symbol('SymbolDecoratorPreload');\nexport const SymbolDecoratorVirtual = Symbol('SymbolDecoratorVirtual');\nexport const SymbolDecoratorUse = Symbol('SymbolDecoratorUse');\nexport const DecoratorBeanFullNameOfComposable = Symbol('Decorator#BeanFullNameOfComposable');\n\nexport type IAppResourceRecord = Record<string, IDecoratorBeanOptionsBase>;\n\nexport class AppResource {\n beans: Record<string, IDecoratorBeanOptionsBase> = {};\n scenes: Record<string, Record<string, IAppResourceRecord>> = {};\n\n /** @internal */\n public dispose() {\n // just need override state rather than clearing state\n // this.beans = {};\n // this.scenes = {};\n }\n\n addUse(target: object, options: IDecoratorUseOptionsBase) {\n registerMappedClassMetadataKey(target, SymbolDecoratorUse);\n const uses = appMetadata.getOwnMetadataMap(true, SymbolDecoratorUse, target);\n uses[options.prop] = options;\n if (process.env.DEV) {\n if (typeof options.prop === 'string' && !options.prop.startsWith('$$')) {\n console.error(`inject prop name should start with $$: ${options.prop}`);\n }\n }\n }\n\n getUses(target: object): Record<MetadataKey, IDecoratorUseOptionsBase> | undefined {\n return appMetadata.getMetadata(SymbolDecoratorUse, target);\n }\n\n addBean<T>(beanOptions: Partial<IDecoratorBeanOptionsBase<T>>) {\n const { beanClass, options, optionsPrimitive } = beanOptions;\n // virtual\n const virtual = appMetadata.getOwnMetadata<boolean>(SymbolDecoratorVirtual, beanClass!);\n // name\n const { scene, name } = this._parseSceneAndBeanName(beanClass!, beanOptions.scene, beanOptions.name);\n // beanInfo\n const beanInfo = appMetadata.getOwnMetadata<IDecoratorBeanInfoOptions>(SymbolDecoratorBeanInfo, beanClass!);\n // module\n const module = beanInfo?.module;\n if (!module) throw new Error(`module name not parsed for bean: ${scene}.${name}`);\n // beanFullName\n const beanFullName = `${module}.${scene}.${name}`;\n // moduleBelong\n const moduleBelong = this._parseModuleBelong(module, beanClass, virtual);\n // options\n const options2 = this._prepareOnionOptions(options, optionsPrimitive, scene, `${module}:${name}`);\n // beanOptions2\n const beanOptions2 = {\n ...beanOptions,\n module,\n scene: scene as keyof IBeanSceneRecord,\n name,\n beanFullName,\n moduleBelong,\n options: options2,\n } as IDecoratorBeanOptionsBase<T>;\n // record\n this.beans[beanFullName] = beanOptions2;\n if (!this.scenes[scene!]) this.scenes[scene!] = {};\n if (!this.scenes[scene!][module]) this.scenes[scene!][module] = {};\n this.scenes[scene!][module][beanFullName] = beanOptions2;\n // set metadata\n appMetadata.defineMetadata(DecoratorBeanFullName, beanFullName, beanOptions2.beanClass);\n // ok\n return beanOptions2;\n }\n\n getBeanFullName<T>(A: Constructable<T> | undefined): string | undefined;\n getBeanFullName<K extends keyof IBeanRecord>(beanFullName: K | undefined): K | undefined;\n getBeanFullName(beanFullName: string | undefined): string | undefined;\n getBeanFullName(beanFullName) {\n if (!beanFullName) return beanFullName;\n if (typeof beanFullName === 'function' && isClass(beanFullName)) {\n return appMetadata.getOwnMetadata(DecoratorBeanFullName, beanFullName);\n }\n return beanFullName;\n }\n\n getBeanFullNameOfComposable(beanComposable: Functionable | undefined): string | undefined {\n if (!beanComposable) return;\n if (!beanComposable[DecoratorBeanFullNameOfComposable]) {\n beanComposable[DecoratorBeanFullNameOfComposable] = `__composable__:${uuid()}`;\n }\n return beanComposable[DecoratorBeanFullNameOfComposable];\n }\n\n getBean<T>(A: Constructable<T>): IDecoratorBeanOptionsBase<T> | undefined;\n getBean<K extends keyof IBeanRecord>(beanFullName: K): IDecoratorBeanOptionsBase<IBeanRecord[K]> | undefined;\n getBean<T>(beanFullName: string): IDecoratorBeanOptionsBase<T> | undefined;\n getBean<T>(beanFullName): IDecoratorBeanOptionsBase<T> | undefined {\n const fullName = this.getBeanFullName(beanFullName);\n if (!fullName) return null!;\n return this.beans[fullName] as IDecoratorBeanOptionsBase<T>;\n }\n\n _fixClassName(className: string) {\n while (className.endsWith('2')) {\n className = className.substring(0, className.length - 1);\n }\n return className;\n }\n\n _parseSceneAndBeanName<T>(beanClass: Constructable<T>, scene?: string, name?: string): { scene: string; name: string } {\n if (scene && name) {\n return { scene, name };\n }\n // bean class name\n let beanClassName = this._fixClassName(beanClass.name);\n // skip prefix: Bean\n if (beanClassName.toLowerCase().startsWith('bean')) {\n beanClassName = beanClassName.substring('bean'.length);\n }\n // name\n if (!name) {\n if (scene) {\n name = skipPrefix(beanClassName, scene, true)!;\n } else {\n name = parseLastWord(beanClassName, true)!;\n }\n }\n // scene\n if (!scene) {\n scene = skipLastWord(beanClassName, name, true)!;\n scene = splitWords(scene, true, '.')!;\n }\n // ok\n return { scene, name };\n }\n\n _parseModuleBelong(module, beanClass, virtual) {\n if (!virtual) return module;\n // check parent\n let moduleBelong;\n let parent = Object.getPrototypeOf(beanClass);\n while (parent) {\n const beanOptions = this.getBean(parent);\n if (beanOptions && beanOptions.moduleBelong) {\n moduleBelong = beanOptions.moduleBelong;\n break;\n }\n parent = Object.getPrototypeOf(parent);\n }\n return moduleBelong;\n }\n\n _getModuleBelong<T>(A: Constructable<T>): string | undefined;\n _getModuleBelong<K extends keyof IBeanRecord>(beanFullName: K): string | undefined;\n _getModuleBelong(beanFullName: string): string | undefined;\n _getModuleBelong<T>(beanFullName: Constructable<T> | string): string | undefined {\n const beanOptions = this.getBean(beanFullName as any);\n return beanOptions?.moduleBelong;\n }\n\n _getModuleName<T>(A: Constructable<T>): string | undefined;\n _getModuleName<K extends keyof IBeanRecord>(beanFullName: K): string | undefined;\n _getModuleName(beanFullName: string): string | undefined;\n _getModuleName<T>(beanFullName: Constructable<T> | string): string | undefined {\n const beanOptions = this.getBean(beanFullName as any);\n return beanOptions?.module;\n }\n\n _prepareOnionOptions(options: unknown, optionsPrimitive: boolean | undefined, scene: any, name: string) {\n const sys = getSys();\n const optionsConfig = cast(sys.config).onions[scene]?.[name];\n if (optionsPrimitive) {\n return optionsConfig === undefined ? options : optionsConfig;\n } else {\n return deepExtend({}, options, optionsConfig);\n }\n }\n}\n\nexport const appResource = new AppResource();\n","import { reactive } from 'vue';\n\nconst SymbolWaitPromise = Symbol('SymbolWaitPromise');\n\nlet __counter = 0;\n\nexport class StateLock {\n private _state: boolean;\n private _resolve?: Function;\n\n static create() {\n return reactive(new StateLock()) as StateLock;\n }\n\n protected constructor() {\n this._state = false;\n __counter++;\n }\n\n get state() {\n return this._state;\n }\n\n touch() {\n if (this._state === true) return;\n this._state = true;\n __counter--;\n // console.log('-----lock counter: ', __counter);\n if (this._resolve) {\n this._resolve.call(undefined, null);\n this._resolve = undefined;\n }\n }\n\n async wait() {\n if (!this[SymbolWaitPromise]) {\n this[SymbolWaitPromise] = this._waitInner();\n }\n return this[SymbolWaitPromise];\n }\n\n private async _waitInner() {\n return new Promise(resolve => {\n // condition check should place in the promise inner\n if (this.state) return resolve(null);\n this._resolve = resolve;\n });\n }\n}\n","import type { IDecoratorBeanOptionsBase } from '../decorator/interface/beanOptions.ts';\n\nimport { appResource } from '../core/sys/resource.ts';\nimport { StateLock } from '../utils/stateLock.ts';\nimport { BeanSimple } from './beanSimple.ts';\n\nexport const SymbolBeanFullName = Symbol('SymbolBeanFullName');\nexport const SymbolBeanInstanceKey = Symbol('SymbolBeanInstanceKey');\nexport const SymbolModuleBelong = Symbol('SymbolModuleBelong');\nexport const SymbolModuleName = Symbol('SymbolModuleName');\nexport const SymbolInited = Symbol('SymbolInited');\nconst SymbolDebugCounter = Symbol('SymbolDebugCounter');\n\nlet __debugCounter = 0;\n\nexport class BeanBaseSimple extends BeanSimple {\n private [SymbolBeanFullName]: string;\n private [SymbolBeanInstanceKey]: string;\n // @ts-ignore: ignore\n private [SymbolInited]: StateLock;\n\n constructor() {\n super();\n this[SymbolInited] = StateLock.create();\n if (process.env.DEV) {\n this[SymbolDebugCounter] = ++__debugCounter;\n }\n }\n\n protected get [SymbolModuleBelong]() {\n const moduleBelong = appResource._getModuleBelong(this[SymbolBeanFullName]);\n if (!moduleBelong) throw new Error(`not found module belong: ${this[SymbolBeanFullName]}`);\n return moduleBelong;\n }\n\n protected get [SymbolModuleName]() {\n const moduleName = appResource._getModuleName(this[SymbolBeanFullName]);\n if (!moduleName) throw new Error(`not found module name: ${this[SymbolBeanFullName]}`);\n return moduleName;\n }\n\n public get $beanFullName() {\n return this[SymbolBeanFullName];\n }\n\n public get $beanInstanceKey() {\n return this[SymbolBeanInstanceKey];\n }\n\n protected get $beanOptions(): IDecoratorBeanOptionsBase {\n return appResource.getBean(this[SymbolBeanFullName] || (this.constructor as any))!;\n }\n\n public get $onionName() {\n const parts = this.$beanFullName.split('.');\n return `${parts[0]}:${parts[2]}`;\n }\n\n public get $onionOptions(): unknown | undefined {\n return this.$beanOptions.options;\n }\n}\n","import type { IModuleError } from './type.ts';\n\nimport { BeanSimple } from '../../beanSimple.ts';\n\nconst BeanModuleScope = Symbol('BeanScopeError#ModuleScope');\n\nexport class BeanScopeError extends BeanSimple {\n private [BeanModuleScope]: string;\n private __instances: Record<string, IModuleError> = {};\n\n constructor(moduleScope) {\n super();\n this[BeanModuleScope] = moduleScope;\n }\n\n protected __get__(prop: string) {\n if (!this.__instances[prop]) {\n this.__instances[prop] = this.app.meta.error.createScopeError(this[BeanModuleScope], prop);\n }\n return this.__instances[prop];\n }\n}\n","/* eslint-disable */\nexport const errorsInternal = {\n '0': 'Success',\n '1': 'Unknown Error',\n '100': 'Continue',\n '101': 'Switching Protocols',\n '102': 'Processing',\n '103': 'Early hints',\n '200': 'OK',\n '201': 'Created',\n '202': 'Accepted',\n '203': 'Non-Authoritative Information',\n '204': 'No Content',\n '205': 'Reset Content',\n '206': 'Partial Content',\n '207': 'Multi-Status',\n '208': 'Already Reported',\n '226': 'IM Used',\n '300': 'Multiple Choices',\n '301': 'Moved Permanently',\n '302': 'Found',\n '303': 'See Other',\n '304': 'Not Modified',\n '305': 'Use Proxy',\n '307': 'Temporary Redirect',\n '308': 'Permanent Redirect',\n '400': 'Bad Request',\n '401': 'Unauthorized',\n '402': 'Payment Required',\n '403': 'Forbidden',\n '404': 'Not Found',\n '405': 'Method Not Allowed',\n '406': 'Not Acceptable',\n '407': 'Proxy Authentication Required',\n '408': 'Request Timeout',\n '409': 'Conflict',\n '410': 'Gone',\n '411': 'Length Required',\n '412': 'Precondition Failed',\n '413': 'Payload Too Large',\n '414': 'URI Too Long',\n '415': 'Unsupported Media Type',\n '416': 'Range Not Satisfiable',\n '417': 'Expectation Failed',\n '418': \"I'm a teapot\",\n '421': 'Misdirected Request',\n '422': 'Unprocessable Entity',\n '423': 'Locked',\n '424': 'Failed Dependency',\n '425': 'Too Early',\n '426': 'Upgrade Required',\n '428': 'Precondition Required',\n '429': 'Too Many Requests',\n '431': 'Request Header Fields Too Large',\n '451': 'Unavailable For Legal Reasons',\n '500': 'Internal Server Error',\n '501': 'Not Implemented',\n '502': 'Bad Gateway',\n '503': 'Service Unavailable',\n '504': 'Gateway Timeout',\n '505': 'HTTP Version Not Supported',\n '506': 'Variant Also Negotiates',\n '507': 'Insufficient Storage',\n '508': 'Loop Detected',\n '509': 'Bandwidth Limit Exceeded',\n '510': 'Not Extended',\n '511': 'Network Authentication Required',\n '600': 'Component Unmounted',\n};\n\nexport type TypeErrorsInternal = typeof errorsInternal;\nexport type TypeErrorsInternalKeys = keyof TypeErrorsInternal;\n","import { BeanSimple } from '../../beanSimple.ts';\nimport { errorsInternal } from './errorInternal.ts';\n\nexport class ErrorClass extends BeanSimple {\n /** @internal */\n public async initialize() {}\n\n // code/message,args\n throw(module, code, ...args): never {\n const body = this.parseFail(module, code, ...args);\n const err = new Error();\n err.code = body.code;\n err.message = body.message;\n if (body.code < 500) err.status = body.code;\n throw err;\n }\n\n // code/message,args\n parseFail(module, code, ...args) {\n if (typeof code === 'object') return code;\n return this.parseCode(module, 1, code, ...args);\n }\n\n // parseCode\n parseCode(module, codeDefault, code, ...args) {\n const ebError = this.sys.meta.error.errors[module];\n\n // '403'->403\n if (typeof code === 'string' && /^\\d+$/.test(code)) {\n code = Number(code);\n }\n\n // convert from enum\n let text;\n if (code && typeof code === 'string') {\n text = code;\n code = ebError[code];\n }\n\n if (code === undefined || code === null || code === '') {\n code = codeDefault;\n }\n\n let message: string;\n if (code <= 1000) {\n message = this.app.meta.locale.getText(true, undefined, undefined, errorsInternal[code], ...args);\n } else {\n message = this.app.meta.locale.getText(false, module, undefined, text || code, ...args);\n }\n\n code = __combineErrorCode(module, code);\n return { code, message };\n }\n}\n\nfunction __combineErrorCode(module, code) {\n if (typeof code !== 'number' || code <= 1000) return code;\n return module ? `${module}:${code}` : code;\n}\n","import type { ComponentPublicInstance } from 'vue';\n\nimport type { IErrorObject } from './errorObject.ts';\n\nexport const SymbolErrorInstanceInfo = Symbol('SymbolErrorInstanceInfo');\n\nexport interface IErrorInstanceInfo {\n instance?: ComponentPublicInstance | null;\n info?: string;\n}\n\nexport interface IErrorHandlerEventData {\n err: Error;\n instance?: ComponentPublicInstance | null;\n info?: string;\n}\n\nexport type IErrorHandlerEventResult = Error | undefined;\n\nexport interface IModuleError {\n throw(...args: any[]): never;\n parseFail(...args: any[]): IErrorObject;\n}\n\nexport type TypeModuleErrors<T> = {\n [prop in keyof T]: IModuleError;\n};\n\ndeclare module 'zova-core' {\n export interface IEventRecord {\n 'app:errorHandler': { data: IErrorHandlerEventData; result: IErrorHandlerEventResult };\n }\n}\n","import type { IModuleLocale } from './type.ts';\n\nimport { BeanSimple } from '../../beanSimple.ts';\n\nconst BeanModuleScope = Symbol('BeanScopeLocale#ModuleScope');\n\nexport class BeanScopeLocale extends BeanSimple {\n // @ts-ignore: ignore\n private [BeanModuleScope]: string;\n private __instances: Record<string, IModuleLocale> = {};\n\n constructor(moduleScope) {\n super();\n this[BeanModuleScope] = moduleScope;\n }\n\n protected __get__(prop: string) {\n if (!this.__instances[prop]) {\n const metaLocale = this.app ? this.app.meta.locale : this.sys.meta.locale;\n this.__instances[prop] = metaLocale.createScopeLocaleText(this[BeanModuleScope], prop);\n }\n return this.__instances[prop];\n }\n}\n","export const LocaleModuleNameSeparator = '::';\n\nexport interface IModuleLocale {\n (...args: any[]): string;\n locale: <T extends keyof ILocaleRecord>(locale: T, ...args: any[]) => string;\n}\n\nexport interface IModuleLocaleText {\n (text: string, ...args: any[]): string;\n locale: <T extends keyof ILocaleRecord>(locale: T, text: string, ...args: any[]) => string;\n}\n\nexport type TypeModuleLocales<T> = {\n [prop in keyof T]: IModuleLocale;\n};\n\nexport type TypeLocaleBase = 'en-us';\n\nexport interface ILocaleRecord {\n 'en-us': never;\n 'zh-cn': never;\n}\n","import { shallowReactive } from 'vue';\n\nconst SymbolVueDecorators = Symbol('Bean#SymbolVueDecorators');\n\nexport function getVueDecoratorValues(beanInstance) {\n if (!beanInstance[SymbolVueDecorators]) {\n beanInstance[SymbolVueDecorators] = shallowReactive({});\n }\n return beanInstance[SymbolVueDecorators];\n}\n\nexport function getVueDecoratorValue(beanInstance, prop: string, index: number, fn?: Function) {\n const key = `${prop}:${index}`;\n const values = getVueDecoratorValues(beanInstance);\n if (!values[key] && fn) {\n values[key] = fn();\n }\n return values[key];\n}\n\nexport function setVueDecoratorValue(beanInstance, prop: string, index: number, value: any) {\n const key = `${prop}:${index}`;\n const values = getVueDecoratorValues(beanInstance);\n values[key] = value;\n}\n","import type { Logger } from '@cabloy/logger';\nimport type { ReactiveMarker } from '@vue/reactivity';\nimport type {\n ComputedGetter,\n DebuggerOptions,\n MultiWatchSources,\n RendererNode,\n WatchCallback,\n WatchEffect,\n WatchEffectOptions,\n WatchHandle,\n WatchOptions,\n WatchSource,\n WritableComputedOptions,\n} from 'vue';\n\nimport { watch, watchEffect, watchPostEffect, watchSyncEffect } from 'vue';\n\nimport type { AppEvent } from '../core/component/event.ts';\nimport type { ILoggerChildRecord, ILoggerClientRecord } from '../core/logger/types.ts';\nimport type { FunctionAsync } from '../decorator/type/functionable.ts';\nimport type { MapSources, MaybeUndefined } from '../vueExtra/watch.ts';\nimport type { IErrorHandlerEventResult, IModuleLocaleText, IZovaComponentRecord } from './resource/index.ts';\n\nimport { cast } from '../types/utils/cast.ts';\nimport { useComputed } from '../vueExtra/computed.ts';\nimport { BeanBaseSimple, SymbolModuleBelong } from './beanBaseSimple.ts';\nimport { SymbolErrorInstanceInfo } from './resource/index.ts';\nimport { getVueDecoratorValue } from './vueDecorators/utils.ts';\n\nconst SymbolText = Symbol('SymbolText');\nconst SymbolLogger = Symbol('SymbolLogger');\nconst SymbolLoggerChildren = Symbol('SymbolLoggerChildren');\n\nexport class BeanBase extends BeanBaseSimple {\n private [SymbolText]: IModuleLocaleText;\n private [SymbolLogger]: Record<keyof ILoggerClientRecord, Logger> = {} as any;\n private [SymbolLoggerChildren]: Record<keyof ILoggerClientRecord, Record<string, Logger>> = {} as any;\n\n protected get $el(): RendererNode {\n if (!this.ctx) {\n throw new Error('$el can not be used inside global bean.');\n }\n return this.ctx.meta.el;\n }\n\n protected get $text(): IModuleLocaleText {\n if (!this[SymbolText]) {\n this[SymbolText] = this.app.meta.locale.createLocaleText(this[SymbolModuleBelong]);\n }\n return this[SymbolText];\n }\n\n protected get $logger() {\n return this.$loggerClient('default');\n }\n\n protected $loggerClient(clientName: keyof ILoggerClientRecord) {\n if (!this[SymbolLogger][clientName]) {\n this[SymbolLogger][clientName] = this.sys.meta.logger.get(clientName).child({ beanFullName: this.$beanFullName });\n }\n return this[SymbolLogger][clientName];\n }\n\n protected $loggerChild(childName: keyof ILoggerChildRecord, clientName: keyof ILoggerClientRecord = 'default') {\n if (!this[SymbolLoggerChildren][clientName]) this[SymbolLoggerChildren][clientName] = {} as never;\n if (!this[SymbolLoggerChildren][clientName][childName]) {\n this[SymbolLoggerChildren][clientName][childName] = this.sys.meta.logger.get(clientName).child({\n beanFullName: this.$beanFullName,\n name: childName,\n });\n }\n return this[SymbolLoggerChildren][clientName][childName];\n }\n\n protected get $event(): AppEvent {\n return this.app.meta.event;\n }\n\n // need not\n // protected async __init__() {}\n // protected __dispose__() {}\n\n public get scope(): unknown {\n return this.bean.scope(this[SymbolModuleBelong] as never);\n }\n\n protected $watchHandle(prop: string | Function, index?: number): WatchHandle {\n if (typeof prop === 'function') {\n prop = prop.name;\n }\n return getVueDecoratorValue(this, prop, index ?? 0);\n }\n\n protected $renderFreeze(freeze: boolean) {\n return cast(this.ctx.instance).ctx.renderFreeze(freeze);\n }\n\n protected async $renderFreezeScope<RESULT>(fn: FunctionAsync<RESULT>): Promise<RESULT | undefined> {\n if (this.ctx.disposed) return;\n return await cast(this.ctx.instance).ctx.renderFreezeScope(fn);\n }\n\n protected $onCreated(fn: any) {\n this.ctx.meta.hooks.onCreated(fn);\n }\n\n protected $onMounted(fn: any) {\n this.ctx.meta.hooks.onMounted(fn);\n }\n\n protected $errorHandler(err: unknown, info?: string): IErrorHandlerEventResult {\n if (err instanceof Error && err[SymbolErrorInstanceInfo]) {\n delete err[SymbolErrorInstanceInfo];\n }\n return this.app?.vue.config.errorHandler!(err, this.ctx.instance as any, info!) as unknown as IErrorHandlerEventResult;\n }\n\n protected $useComputed<T>(getter: ComputedGetter<T>, debugOptions?: DebuggerOptions): T;\n protected $useComputed<T>(options: WritableComputedOptions<T>, debugOptions?: DebuggerOptions): T;\n protected $useComputed(options, debugOptions) {\n return this.ctx.util.instanceScope(() => {\n return useComputed(options, debugOptions);\n });\n }\n\n protected $watchEffect(effect: WatchEffect, options?: WatchEffectOptions): WatchHandle {\n return this.ctx.util.instanceScope(() => {\n return watchEffect(effect, options);\n });\n }\n\n protected $watchPostEffect(effect: WatchEffect, options?: DebuggerOptions): WatchHandle {\n return this.ctx.util.instanceScope(() => {\n return watchPostEffect(effect, options);\n });\n }\n\n protected $watchSyncEffect(effect: WatchEffect, options?: DebuggerOptions): WatchHandle {\n return this.ctx.util.instanceScope(() => {\n return watchSyncEffect(effect, options);\n });\n }\n\n protected $watch<T, Immediate extends Readonly<boolean> = false>(\n source: WatchSource<T>,\n cb: WatchCallback<T, MaybeUndefined<T, Immediate>>,\n options?: WatchOptions<Immediate>,\n ): WatchHandle;\n protected $watch<T extends Readonly<MultiWatchSources>, Immediate extends Readonly<boolean> = false>(\n sources: readonly [...T] | T,\n cb: [T] extends [ReactiveMarker] ? WatchCallback<T, MaybeUndefined<T, Immediate>> : WatchCallback<MapSources<T, false>, MapSources<T, Immediate>>,\n options?: WatchOptions<Immediate>,\n ): WatchHandle;\n protected $watch<T extends MultiWatchSources, Immediate extends Readonly<boolean> = false>(\n sources: [...T],\n cb: WatchCallback<MapSources<T, false>, MapSources<T, Immediate>>,\n options?: WatchOptions<Immediate>,\n ): WatchHandle;\n protected $watch<T extends object, Immediate extends Readonly<boolean> = false>(\n source: T,\n cb: WatchCallback<T, MaybeUndefined<T, Immediate>>,\n options?: WatchOptions<Immediate>,\n ): WatchHandle {\n return this.ctx.util.instanceScope(() => {\n return watch(source, cb, options);\n });\n }\n\n protected $onControllerCreated(fn: any) {\n return this.ctx.util.instanceScope(() => {\n return this.ctx.meta.hooks.onCreated(fn);\n });\n }\n\n protected $controllerMounted(fn: any) {\n return this.ctx.util.instanceScope(() => {\n return this.ctx.meta.hooks.onMounted(fn);\n });\n }\n\n protected $zovaComponent<K extends keyof IZovaComponentRecord>(componentName: K): IZovaComponentRecord[K];\n protected $zovaComponent(module: string, name: string);\n protected $zovaComponent(module: string, name?: string) {\n return this.sys.meta.component.getZovaComponent(module, name!);\n }\n\n // need not\n // public dispose() {\n // const self = cast(this);\n // if (self.__dispose__) {\n // self.__dispose__();\n // }\n // }\n}\n","import { BeanBase } from './beanBase.ts';\n\nexport class BeanAopBase extends BeanBase {}\n","import { BeanBase } from './beanBase.ts';\n\nexport class BeanAopMethodBase extends BeanBase {}\n","import type { IDecoratorBeanInfoOptions } from '../interface/beanOptions.ts';\n\nimport { appMetadata } from '../../core/sys/metadata.ts';\nimport { SymbolDecoratorBeanInfo } from '../../core/sys/resource.ts';\n\nexport function BeanInfo(options: IDecoratorBeanInfoOptions): ClassDecorator {\n return function (target) {\n // set metadata\n appMetadata.defineMetadata(SymbolDecoratorBeanInfo, options, target);\n };\n}\n","import type { IBeanSceneRecord } from '../interface/beanOptions.ts';\nimport type { Constructable } from '../type/constructable.ts';\nimport type { ContainerScope } from '../type/containerScope.ts';\n\nimport { appResource } from '../../core/sys/resource.ts';\n\nexport function createBeanDecorator<T>(\n scene: keyof IBeanSceneRecord,\n containerScope?: ContainerScope,\n markReactive?: boolean,\n options?: T,\n optionsPrimitive?: boolean,\n fn?: (target: Constructable) => void,\n): ClassDecorator {\n return function (target) {\n // name\n const name = scene === 'scope' ? 'module' : undefined;\n // add\n appResource.addBean({\n scene,\n name,\n containerScope,\n markReactive,\n beanClass: target as unknown as Constructable,\n options,\n optionsPrimitive,\n });\n // fn\n fn && fn(target as unknown as Constructable);\n };\n}\n","import { appMetadata } from '../../core/sys/metadata.ts';\nimport { SymbolDecoratorPreload } from '../../core/sys/resource.ts';\n\nexport function Preload(): ClassDecorator {\n return function (target) {\n // set metadata\n appMetadata.defineMetadata(SymbolDecoratorPreload, true, target);\n };\n}\n","import { appMetadata } from '../../core/sys/metadata.ts';\nimport { SymbolDecoratorProxyDisable } from '../../core/sys/resource.ts';\n\nexport function ProxyDisable(): ClassDecorator {\n return function (target) {\n // set metadata\n appMetadata.defineMetadata(SymbolDecoratorProxyDisable, true, target);\n };\n}\n","import type { Ref, UnwrapRef } from 'vue';\n\nimport { toRef } from 'vue';\n\nexport function useRef<T>(value: T): T extends () => infer R ? R : T extends Ref ? UnwrapRef<T> : UnwrapRef<T>;\nexport function useRef<T extends object, K extends keyof T>(object: T, key: K): T[K];\nexport function useRef<T extends object, K extends keyof T>(object: T, key: K, defaultValue: T[K]): Exclude<T[K], undefined>;\nexport function useRef(object, key?, defaultValue?) {\n return toRef(object, key, defaultValue);\n}\n","import { evaluateExpressions, isNilOrEmptyString } from '@cabloy/utils';\n\nimport type { IBeanRecord } from '../../bean/type.ts';\nimport type { MetadataKey } from '../../core/sys/metadata.ts';\nimport type {\n Constructable,\n IDecoratorUseOptions,\n IDecoratorUseOptionsBase,\n IInjectSelectorInfo,\n IUsePrepareArgResult,\n TypeDecoratorUseOptionsInitArg,\n} from '../index.js';\n\nimport { appMetadata } from '../../core/sys/metadata.ts';\nimport { appResource } from '../../core/sys/resource.ts';\nimport { useRef } from '../../vueExtra/ref.ts';\n\nexport function Use(options?: IDecoratorUseOptions): PropertyDecorator & MethodDecorator;\nexport function Use<T extends keyof IBeanRecord>(beanFullName?: T): PropertyDecorator & MethodDecorator;\nexport function Use(options?: IDecoratorUseOptions | string): PropertyDecorator & MethodDecorator {\n return function (target: object, prop: MetadataKey, descriptor?: PropertyDescriptor) {\n if (!options) options = {};\n if (typeof options === 'string') {\n options = { beanFullName: options } as unknown as IDecoratorUseOptions;\n }\n // beanClass\n const beanClass = appMetadata.getDesignType(target, prop) as Constructable;\n // record\n appResource.addUse(target, {\n ...options,\n prop,\n beanClass,\n descriptor,\n });\n // chech beanClass\n if (process.env.CLIENT && process.env.DEV) {\n const moduleSource = appResource._getModuleName(beanClass);\n if (moduleSource) {\n window.setTimeout(() => {\n const moduleTarget = appResource._getModuleName(target.constructor as any);\n if (moduleSource !== moduleTarget) {\n console.error(\n `inject class should be imported by type, such as: import type { ${appResource._fixClassName(beanClass.name)} } from 'zova-module-xxx-xxx'`,\n );\n }\n }, 0);\n }\n }\n };\n}\n\nexport function usePrepareArg(arg: (() => any) | any, withSelector?: boolean, markReactive?: boolean): any {\n return {\n withSelector,\n markReactive,\n args: [arg],\n };\n}\n\nexport function usePrepareArgs(args: Array<(() => any) | any>, withSelector?: boolean, markReactive?: boolean): any {\n return {\n withSelector,\n markReactive,\n args,\n };\n}\n\nexport function __prepareInjectSelectorInfo(beanInstance, useOptions: IDecoratorUseOptionsBase): IInjectSelectorInfo {\n let selectorInfo = __prepareInjectSelectorInfo_descriptor(beanInstance, useOptions);\n if (!selectorInfo) {\n selectorInfo = __prepareInjectSelectorInfo_init(beanInstance, useOptions);\n }\n if (!selectorInfo && !isNilOrEmptyString(useOptions.selector)) {\n const selector = evaluateExpressions(useOptions.selector, {\n self: beanInstance,\n sys: beanInstance.sys,\n app: beanInstance.app,\n ctx: beanInstance.ctx,\n });\n return { withSelector: true, args: [selector] };\n }\n return selectorInfo ?? { withSelector: false, args: [] };\n}\n\nfunction __prepareInjectSelectorInfo_descriptor(beanInstance, useOptions: IDecoratorUseOptionsBase): IInjectSelectorInfo | undefined {\n const fnGet = useOptions.descriptor?.get;\n if (!fnGet) return;\n const res: IUsePrepareArgResult = fnGet.call(beanInstance);\n if (!res) return;\n const withSelector = res.withSelector ?? false;\n const markReactive = res.markReactive ?? true;\n const args = res.args.map((arg, index) => {\n return typeof arg === 'function' ? (markReactive && (!withSelector || index > 0) ? useRef(arg) : arg()) : arg;\n });\n return { withSelector, args };\n}\n\nfunction __prepareInjectSelectorInfo_init(beanInstance, useOptions: IDecoratorUseOptionsBase): IInjectSelectorInfo | undefined {\n const init = useOptions.init;\n if (!init) return;\n const withSelector = init.withSelector ?? false;\n const markReactive = init.markReactive ?? true;\n const _args = init.args ?? [init.arg];\n if (!_args) return;\n const args = _args.map((arg, index) => __prepareInjectSelectorInfo_init_arg(beanInstance, arg, markReactive && (!withSelector || index > 0)));\n return { withSelector, args };\n}\n\nfunction __prepareInjectSelectorInfo_init_arg(beanInstance, arg: TypeDecoratorUseOptionsInitArg, reactive: boolean): any {\n const context = { self: beanInstance, sys: beanInstance.sys, app: beanInstance.app, ctx: beanInstance.ctx };\n if (reactive && evaluateExpressions(arg, context, undefined, true)) {\n return useRef(() => evaluateExpressions(arg, context));\n }\n return evaluateExpressions(arg, context);\n}\n","import type { MetadataKey } from '../../core/sys/metadata.ts';\nimport type { Functionable, IDecoratorUseComposableOptions } from '../index.ts';\n\nimport { appResource } from '../../core/sys/resource.ts';\n\nexport function UseComposable(options: IDecoratorUseComposableOptions | Functionable): PropertyDecorator & MethodDecorator {\n return function (target: object, prop: MetadataKey, descriptor?: PropertyDescriptor) {\n if (typeof options === 'function') {\n options = { beanComposable: options } as IDecoratorUseComposableOptions;\n }\n // record\n appResource.addUse(target, {\n ...options,\n prop,\n descriptor,\n });\n };\n}\n","import type { IBeanScopeRecord } from '../../bean/type.ts';\nimport type { MetadataKey } from '../../core/sys/metadata.ts';\nimport type { IDecoratorUseScopeOptions } from '../index.ts';\n\nimport { appResource } from '../../core/sys/resource.ts';\n\nexport function UseScope(options: IDecoratorUseScopeOptions): PropertyDecorator;\nexport function UseScope<T extends keyof IBeanScopeRecord>(module?: T): PropertyDecorator;\nexport function UseScope(options?: IDecoratorUseScopeOptions | string): PropertyDecorator {\n return function (target: object, prop: MetadataKey) {\n if (!options) throw new Error('should specify the module name');\n if (typeof options === 'string') {\n options = { module: options } as unknown as IDecoratorUseScopeOptions;\n }\n const beanFullName = `${options.module}.scope.module`;\n // record\n appResource.addUse(target, {\n ...options,\n prop,\n beanFullName,\n });\n };\n}\n","import { appMetadata } from '../../core/sys/metadata.ts';\nimport { SymbolDecoratorVirtual } from '../../core/sys/resource.ts';\n\nexport function Virtual(): ClassDecorator {\n return function (target) {\n // set metadata\n appMetadata.defineMetadata(SymbolDecoratorVirtual, true, target);\n };\n}\n","export type Functionable<T = void> = (...args: any[]) => T;\nexport type FunctionAsync<RESULT> = () => Promise<RESULT>;\nexport type Next<DATA = any, RESULT = any> = (data?: DATA) => Promise<RESULT>;\nexport type NextSync<DATA = any, RESULT = any> = (data?: DATA) => RESULT;\nexport type NextGeneral<DATA = any, RESULT = any> = (data?: DATA) => Promise<RESULT> | RESULT;\nexport const functionNoop = () => {};\nexport type FunctionAny = (...args: any[]) => any;\n","import type { WatchOptions } from '@cabloy/vue-reactivity';\nimport type { WatchEffectOptions } from '@cabloy/vue-runtime-core';\n\nexport const SymbolDecoratorVueElements = Symbol('SymbolDecoratorVueElements');\n\nexport type TypeDecoratorVue =\n | 'computed'\n | 'emit'\n | 'watch'\n | 'watchEffect'\n | 'raw'\n | 'shallow'\n | 'readonly'\n | 'shallowReadonly'\n | 'model'\n | 'controllerCreated'\n | 'controllerMounted';\n\nexport interface IDecoratorVueElement<OPTIONS = any> {\n type: TypeDecoratorVue;\n descriptor: PropertyDescriptor;\n options?: OPTIONS;\n}\n\nexport interface IDecoratorVueEmitOptions {\n eventName?: string;\n}\n\nexport interface IDecoratorVueWatchOptions {\n path?: string;\n watchOptions?: WatchOptions;\n}\n\nexport interface IDecoratorVueWatchEffectOptions {\n watchEffectOptions?: WatchEffectOptions;\n}\n\nexport interface IDecoratorVueModelOptions {\n modelName?: string;\n}\n","import type { MetadataKey } from '../../core/sys/metadata.ts';\nimport type { IDecoratorVueElement, TypeDecoratorVue } from './types.ts';\n\nimport { appMetadata } from '../../core/sys/metadata.ts';\nimport { SymbolDecoratorVueElements } from './types.ts';\n\nexport function createVueDecorator<OPTIONS>(type: TypeDecoratorVue, options?: OPTIONS): PropertyDecorator & MethodDecorator {\n return function (target: object, prop: MetadataKey, descriptor?: PropertyDescriptor) {\n const vues = appMetadata.getOwnMetadataMap<MetadataKey, IDecoratorVueElement<OPTIONS>[]>(true, SymbolDecoratorVueElements, target);\n if (!vues[prop]) vues[prop] = [];\n vues[prop].push({\n type,\n descriptor: descriptor!,\n options,\n });\n };\n}\n","export function modelSet(fn: Function) {\n return fn();\n}\n\nexport function modelGet<T>(args, fn: (value: T) => T) {\n return fn(args[0]);\n}\n","import type { WatchEffectOptions, WatchOptions } from 'vue';\n\nimport { createVueDecorator } from './createVueDecorator.ts';\n\nexport function Computed(): MethodDecorator {\n return createVueDecorator('computed');\n}\n\nexport function Emit(eventName?: string): MethodDecorator {\n return createVueDecorator('emit', { eventName });\n}\n\nexport function Watch(path?: string, watchOptions?: WatchOptions): MethodDecorator {\n return createVueDecorator('watch', { path, watchOptions });\n}\n\nexport function WatchEffect(watchEffectOptions?: WatchEffectOptions): MethodDecorator {\n return createVueDecorator('watchEffect', { watchEffectOptions });\n}\n\nexport function Raw(): PropertyDecorator {\n return createVueDecorator('raw');\n}\n\nexport function Shallow(): PropertyDecorator {\n return createVueDecorator('shallow');\n}\n\nexport function Readonly(): PropertyDecorator {\n return createVueDecorator('readonly');\n}\n\nexport function ShallowReadonly(): PropertyDecorator {\n return createVueDecorator('shallowReadonly');\n}\n\nexport function ModelValue(modelName?: string): PropertyDecorator {\n return createVueDecorator('model', { modelName });\n}\n\nexport function ControllerCreated(): MethodDecorator {\n return createVueDecorator('controllerCreated');\n}\n\nexport function ControllerMounted(): MethodDecorator {\n return createVueDecorator('controllerMounted');\n}\n","import type { IDecoratorVueElement } from '../../decorator/vueExtra/types.ts';\n\nimport { useComputed } from '../../vueExtra/computed.ts';\nimport { getVueDecoratorValue } from './utils.ts';\n\nexport function computed(beanInstance, _beanFullName: string, prop: string, vueElement: IDecoratorVueElement, index: number) {\n const { descriptor } = vueElement;\n Object.defineProperty(beanInstance, prop, {\n enumerable: false,\n configurable: true,\n get() {\n return getVueDecoratorValue(beanInstance, prop, index, () => {\n if (!descriptor.set) {\n return useComputed(() => {\n return descriptor.get?.apply(beanInstance);\n });\n } else {\n return useComputed({\n get() {\n return descriptor.get?.apply(beanInstance);\n },\n set(value) {\n descriptor.set!.call(beanInstance, value);\n },\n });\n }\n });\n },\n });\n}\n","import { getCurrentInstance } from 'vue';\n\nimport type { ZovaContext } from '../core/context/context.ts';\n\nexport function useContext(): ZovaContext {\n const instance = getCurrentInstance();\n return instance?.zova as ZovaContext;\n}\n","import { useContext } from './useContext.ts';\n\nexport const SymbolCreatedFns = Symbol('SymbolCreatedFns');\n\nexport function onControllerCreated(fn: any) {\n const ctx = useContext();\n if (!ctx) {\n throw new Error('run in the invalid context');\n }\n ctx.meta.hooks.onCreated(fn);\n}\n","import type { IDecoratorVueElement, IDecoratorVueWatchOptions } from '../../decorator/vueExtra/types.ts';\n\nimport { onControllerCreated } from '../../composables/onControllerCreated.ts';\n\nexport function controllerCreated(\n beanInstance,\n _beanFullName: string,\n _prop: string,\n vueElement: IDecoratorVueElement<IDecoratorVueWatchOptions>,\n _index: number,\n) {\n const { descriptor } = vueElement;\n onControllerCreated(() => {\n return descriptor.value.call(beanInstance);\n });\n}\n","import { useContext } from './useContext.ts';\n\nexport function onControllerMounted(fn: any) {\n const ctx = useContext();\n if (!ctx) {\n throw new Error('run in the invalid context');\n }\n ctx.meta.hooks.onMounted(fn);\n}\n","import type { IDecoratorVueElement, IDecoratorVueWatchOptions } from '../../decorator/vueExtra/types.ts';\n\nimport { onControllerMounted } from '../../composables/onControllerMounted.ts';\n\nexport function controllerMounted(\n beanInstance,\n _beanFullName: string,\n _prop: string,\n vueElement: IDecoratorVueElement<IDecoratorVueWatchOptions>,\n _index: number,\n) {\n const { descriptor } = vueElement;\n onControllerMounted(() => {\n return descriptor.value.call(beanInstance);\n });\n}\n","import { isPromise } from '@cabloy/utils';\nimport { toLowerCaseFirstChar, toUpperCaseFirstChar } from '@cabloy/word-utils';\n\nimport type { IDecoratorVueElement, IDecoratorVueEmitOptions } from '../../decorator/vueExtra/types.ts';\n\nimport { getVueDecoratorValue } from './utils.ts';\n\nexport function emit(beanInstance, _beanFullName: string, prop: string, vueElement: IDecoratorVueElement, index: number) {\n const { descriptor } = vueElement;\n Object.defineProperty(beanInstance, prop, {\n enumerable: false,\n configurable: true,\n get() {\n return getVueDecoratorValue(beanInstance, prop, index, () => {\n return function (...args: any[]) {\n const returnValue = descriptor.value.apply(beanInstance, args);\n if (isPromise(returnValue)) {\n return returnValue.then(returnValue => {\n return __emitHandler(returnValue, args, beanInstance, prop, vueElement);\n });\n } else {\n return __emitHandler(returnValue, args, beanInstance, prop, vueElement);\n }\n };\n });\n },\n });\n}\n\nfunction __emitHandler(returnValue: any, args: any[], beanInstance, prop: string, vueElement: IDecoratorVueElement<IDecoratorVueEmitOptions>) {\n // eventName\n let eventName = vueElement.options?.eventName;\n if (!eventName) {\n if (prop.startsWith('emit')) {\n eventName = toLowerCaseFirstChar(prop.substring('emit'.length));\n } else {\n eventName = prop;\n }\n }\n // func\n const propName = `on${toUpperCaseFirstChar(eventName)}`;\n const func = beanInstance.$props?.[propName];\n if (!func) return;\n // emit\n if (returnValue === undefined) {\n func(...args);\n } else {\n func(returnValue, ...args);\n }\n // return\n return returnValue;\n}\n","import type { Ref } from '@vue/reactivity';\n\nimport { isNil } from '@cabloy/utils';\nimport { customRef } from '@vue/reactivity';\nimport { camelize, EMPTY_OBJ, hasChanged, hyphenate } from '@vue/shared';\nimport { getCurrentInstance, watchSyncEffect } from 'vue';\n\nimport type { BeanBase } from '../bean/beanBase.ts';\nimport type { DefineModelOptions, ModelRef } from '../bean/type.ts';\n\nexport function useModel<M extends PropertyKey, T extends Record<string, any>, K extends keyof T, G = T[K], S = T[K]>(\n this: BeanBase,\n props: T,\n name: K,\n options?: DefineModelOptions<T[K], G, S>,\n): ModelRef<T[K], M, G, S>;\nexport function useModel(this: BeanBase, props: Record<string, any>, name: string, options: DefineModelOptions = EMPTY_OBJ): Ref {\n const i = getCurrentInstance();\n if (!i) {\n throw new Error('useModel() called without active instance.');\n }\n\n const propsDefault = Object.getPrototypeOf(this).constructor.$propsDefault;\n const propType = typeof propsDefault[name];\n\n const camelizedName = camelize(name);\n\n const modifiers = getModelModifiers(props, camelizedName);\n\n const res = customRef((track, trigger) => {\n let localValue: any;\n let prevSetValue: any = EMPTY_OBJ;\n let prevEmittedValue: any;\n\n watchSyncEffect(() => {\n const propValue = props[camelizedName];\n if (hasChanged(localValue, propValue)) {\n localValue = propValue;\n trigger();\n }\n });\n\n return {\n get() {\n track();\n return coerceValueType(propType, options.get ? options.get(localValue) : localValue);\n },\n\n set(value) {\n const emittedValue = coerceValueType(propType, options.set ? options.set(value) : value);\n if (!hasChanged(emittedValue, localValue) && !(prevSetValue !== EMPTY_OBJ && hasChanged(value, prevSetValue))) {\n return;\n }\n // local update\n localValue = value;\n trigger();\n // update\n const rawProps = i.vnode!.props;\n rawProps?.[`onUpdate:${name}`]?.(emittedValue);\n // #10279: if the local value is converted via a setter but the value\n // emitted to parent was the same, the parent will not trigger any\n // updates and there will be no prop sync. However the local input state\n // may be out of sync, so we need to force an update here.\n if (hasChanged(value, emittedValue) && hasChanged(value, prevSetValue) && !hasChanged(emittedValue, prevEmittedValue)) {\n trigger();\n }\n prevSetValue = value;\n prevEmittedValue = emittedValue;\n },\n };\n });\n\n res[Symbol.iterator] = () => {\n let i = 0;\n return {\n next() {\n if (i < 2) {\n return { value: i++ ? modifiers || EMPTY_OBJ : res, done: false };\n } else {\n return { done: true };\n }\n },\n };\n };\n\n return res;\n}\n\nexport function getModelModifiers(props: Record<string, any>, modelName: string): Record<string, boolean> | undefined {\n return modelName === 'modelValue' || modelName === 'model-value'\n ? props.modelModifiers\n : props[`${modelName}Modifiers`] || props[`${camelize(modelName)}Modifiers`] || props[`${hyphenate(modelName)}Modifiers`];\n}\n\nexport function coerceValueType(type: string, value: any) {\n if (['undefined', 'null'].includes(type)) return value;\n if (isNil(value)) return value;\n if ((typeof value as any) === type) return value;\n let _value;\n if (type === 'number') {\n if (Number.isNaN(Number(value))) {\n _value = value;\n } else {\n _value = Number(value);\n }\n } else if (type === 'boolean') {\n _value = value === 'false' || value === '0' ? false : Boolean(value);\n } else if (type === 'string') {\n _value = String(value);\n } else {\n _value = value;\n }\n // ok\n return _value;\n}\n","import { toLowerCaseFirstChar } from '@cabloy/word-utils';\n\nimport type { IDecoratorVueElement, IDecoratorVueModelOptions } from '../../decorator/vueExtra/types.ts';\nimport type { BeanContainer } from '../beanContainer.ts';\nimport type { DefineModelOptions } from '../type.ts';\n\nimport { cast } from '../../types/utils/cast.ts';\nimport { useModel } from '../../vueExtra/useModel.ts';\nimport { getVueDecoratorValue } from './utils.ts';\n\nexport function model(\n this: BeanContainer,\n beanInstance,\n _beanFullName: string,\n prop: string,\n vueElement: IDecoratorVueElement<IDecoratorVueModelOptions>,\n index: number,\n) {\n const self = this;\n const { descriptor } = vueElement;\n Object.defineProperty(beanInstance, prop, {\n enumerable: false,\n configurable: true,\n get() {\n return getVueDecoratorValue(beanInstance, prop, index, () => {\n // modelName\n let modelName = vueElement.options?.modelName;\n if (!modelName) {\n if (prop === 'modelValue') {\n modelName = prop;\n } else {\n if (prop.startsWith('model')) {\n modelName = toLowerCaseFirstChar(prop.substring('model'.length));\n } else {\n modelName = prop;\n }\n }\n }\n // options\n const useModelOptions: DefineModelOptions = {};\n if (descriptor.get) {\n useModelOptions.get = value => {\n return cast(descriptor.get!).call(beanInstance, value);\n };\n }\n if (descriptor.set) {\n useModelOptions.set = value => {\n return descriptor.set!.call(beanInstance, value);\n };\n }\n return self.runWithInstanceScopeOrAppContext(() => {\n return useModel.call(beanInstance, beanInstance.$props, modelName, useModelOptions);\n });\n });\n },\n });\n}\n","import { markRaw } from 'vue';\n\nimport type { IDecoratorVueElement } from '../../decorator/vueExtra/types.ts';\n\nimport { getVueDecoratorValue, setVueDecoratorValue } from './utils.ts';\n\nexport function raw(beanInstance, _beanFullName: string, prop: string, _vueElement: IDecoratorVueElement, index: number) {\n const initialValue = beanInstance[prop];\n Object.defineProperty(beanInstance, prop, {\n enumerable: false,\n configurable: true,\n get() {\n return getVueDecoratorValue(beanInstance, prop, index, () => {\n return initialValue && typeof initialValue === 'object' ? markRaw(initialValue) : initialValue;\n });\n },\n set(value) {\n setVueDecoratorValue(beanInstance, prop, index, markRaw(value));\n return true;\n },\n });\n}\n","import { shallowReactive } from 'vue';\n\nimport type { IDecoratorVueElement } from '../../decorator/vueExtra/types.ts';\n\nimport { getVueDecoratorValue, setVueDecoratorValue } from './utils.ts';\n\nexport function shallow(beanInstance, _beanFullName: string, prop: string, _vueElement: IDecoratorVueElement, index: number) {\n const initialValue = beanInstance[prop];\n Object.defineProperty(beanInstance, prop, {\n enumerable: false,\n configurable: true,\n get() {\n return getVueDecoratorValue(beanInstance, prop, index, () => {\n return initialValue && typeof initialValue === 'object' ? shallowReactive(initialValue) : initialValue;\n });\n },\n set(value) {\n setVueDecoratorValue(beanInstance, prop, index, shallowReactive(value));\n return true;\n },\n });\n}\n","import { getProperty } from '@cabloy/utils';\nimport { toLowerCaseFirstChar } from '@cabloy/word-utils';\nimport { watch as vueWatch } from 'vue';\n\nimport type { IDecoratorVueElement, IDecoratorVueWatchOptions } from '../../decorator/vueExtra/types.ts';\n\nimport { getVueDecoratorValue } from './utils.ts';\n\nexport function watch(beanInstance, _beanFullName: string, prop: string, vueElement: IDecoratorVueElement<IDecoratorVueWatchOptions>, index: number) {\n const { descriptor, options } = vueElement;\n // getter\n let keySource = `${prop}Source`;\n let getter;\n if (options?.path) {\n getter = () => {\n return getProperty(beanInstance, options.path!, '.');\n };\n } else if (beanInstance[keySource]) {\n getter = () => {\n return beanInstance[keySource]();\n };\n } else {\n if (prop.startsWith('watch')) {\n keySource = toLowerCaseFirstChar(prop.substring('watch'.length));\n } else {\n keySource = prop;\n }\n getter = () => {\n return beanInstance[keySource];\n };\n }\n // watch\n getVueDecoratorValue(beanInstance, prop, index, () => {\n return vueWatch(\n getter,\n (newValue, oldValue) => {\n descriptor.value.call(beanInstance, newValue, oldValue);\n },\n options?.watchOptions,\n );\n });\n}\n","import { watchEffect as vueWatchEffect } from 'vue';\n\nimport type { IDecoratorVueElement, IDecoratorVueWatchEffectOptions } from '../../decorator/vueExtra/types.ts';\n\nimport { getVueDecoratorValue } from './utils.ts';\n\nexport function watchEffect(\n beanInstance,\n _beanFullName: string,\n prop: string,\n vueElement: IDecoratorVueElement<IDecoratorVueWatchEffectOptions>,\n index: number,\n) {\n const { descriptor, options } = vueElement;\n // watchEffect\n getVueDecoratorValue(beanInstance, prop, index, () => {\n return vueWatchEffect(() => {\n descriptor.value.call(beanInstance);\n }, options?.watchEffectOptions);\n });\n}\n","import { computed } from './computed.ts';\nimport { controllerCreated } from './controllerCreated.ts';\nimport { controllerMounted } from './controllerMounted.ts';\nimport { emit } from './emit.ts';\nimport { model } from './model.ts';\nimport { raw } from './raw.ts';\nimport { shallow } from './shallow.ts';\nimport { watch } from './watch.ts';\nimport { watchEffect } from './watchEffect.ts';\n\nexport const vueDecorators = {\n computed,\n emit,\n watch,\n watchEffect,\n raw,\n shallow,\n model,\n controllerCreated,\n controllerMounted,\n};\n","import { compose } from '@cabloy/compose';\nimport { isClass, isNilOrEmptyString } from '@cabloy/utils';\nimport { inject as composableInject, provide as composableProvide, markRaw, reactive, shallowReactive } from 'vue';\n\nimport type { ZovaApplication, ZovaContext, ZovaSys } from '../core/index.ts';\nimport type { MetadataKey } from '../core/sys/metadata.ts';\nimport type {\n Constructable,\n ContainerType,\n Functionable,\n IDecoratorBeanOptionsBase,\n IDecoratorUseOptions,\n IDecoratorUseOptionsBase,\n IDecoratorVueElement,\n} from '../decorator/index.js';\nimport type { IInjectRecord } from '../types/interface/inject.ts';\nimport type { IBeanRecord, IBeanScopeRecord, IControllerData, TypeBeanScopeRecordKeys } from './type.ts';\n\nimport { appMetadata } from '../core/sys/metadata.ts';\nimport { appResource, SymbolDecoratorProxyDisable } from '../core/sys/resource.ts';\nimport { __prepareInjectSelectorInfo, SymbolDecoratorVueElements } from '../decorator/index.ts';\nimport { cast } from '../types/utils/cast.ts';\nimport { useComputed } from '../vueExtra/computed.ts';\nimport { BeanAopBase } from './beanAopBase.ts';\nimport { BeanBase } from './beanBase.ts';\nimport { SymbolBeanFullName, SymbolBeanInstanceKey, SymbolInited } from './beanBaseSimple.ts';\nimport { BeanSimple } from './beanSimple.ts';\nimport { vueDecorators } from './vueDecorators/index.ts';\n\nconst SymbolBeanContainerParent = Symbol('SymbolBeanContainerParent');\nconst SymbolProxyMagic = Symbol('SymbolProxyMagic');\nconst SymbolProxyAopMethod = Symbol('SymbolProxyAopMethod');\nconst SymbolCacheAopChains = Symbol('SymbolCacheAopChains');\nconst SymbolCacheAopChainsKey = Symbol('SymbolCacheAopChainsKey');\nconst SymbolGetBeanSelectorInnerPromises = Symbol('SymbolGetBeanSelectorInnerPromises');\nexport const SymbolBeanContainerInstances = Symbol('SymbolBeanContainerInstances');\n\nexport interface BeanContainer {}\n\nexport class BeanContainer {\n private sys: ZovaSys;\n private app: ZovaApplication;\n private ctx: ZovaContext;\n\n // fullName / uuid / propName\n private [SymbolBeanContainerInstances]: Record<MetadataKey, unknown> = shallowReactive({});\n\n private [SymbolGetBeanSelectorInnerPromises]: Record<string, Promise<any> | undefined> = {};\n\n static create(sys: ZovaSys, app: ZovaApplication, ctx: ZovaContext | null) {\n const beanContainer = new BeanContainer(sys, app, ctx);\n const proxy = new Proxy(beanContainer, {\n get(obj, prop) {\n if (typeof prop === 'symbol') return obj[prop];\n if (obj[prop]) return obj[prop];\n return obj._getBeanSyncOnly(prop);\n },\n });\n return markRaw(proxy);\n }\n\n protected constructor(sys: ZovaSys, app: ZovaApplication, ctx: ZovaContext | null) {\n this.sys = sys;\n this.app = app;\n this.ctx = ctx as any;\n }\n\n /** @internal */\n public dispose() {\n const beanInstances = this[SymbolBeanContainerInstances];\n for (const prop in beanInstances) {\n if (prop.startsWith('$$')) continue;\n const beanInstance = cast(beanInstances[prop]);\n if (beanInstance && !(beanInstance instanceof BeanAopBase) && beanInstance.__dispose__) {\n if (this.containerType === 'sys') {\n this.sys.meta.module._monkeyModuleSync(false, 'beanDispose', undefined, this, beanInstance);\n beanInstance.__dispose__();\n this.sys.meta.module._monkeyModuleSync(false, 'beanDisposed', undefined, this, beanInstance);\n } else {\n this.app.meta.module._monkeyModuleSync(false, 'beanDispose', undefined, this, beanInstance);\n this.runWithInstanceScopeOrAppContext(() => {\n beanInstance.__dispose__();\n });\n this.app.meta.module._monkeyModuleSync(false, 'beanDisposed', undefined, this, beanInstance);\n }\n }\n }\n this[SymbolBeanContainerInstances] = shallowReactive({});\n this[SymbolBeanContainerParent] = undefined;\n this[SymbolGetBeanSelectorInnerPromises] = {};\n }\n\n get containerType(): ContainerType {\n if (!this.ctx) return 'sys';\n if (!this.app || this.ctx.bean === this.app.bean) return 'app';\n return 'ctx';\n }\n\n get parent(): BeanContainer | null {\n if (this[SymbolBeanContainerParent] === undefined) {\n this[SymbolBeanContainerParent] = this._getParent();\n }\n return this[SymbolBeanContainerParent];\n }\n\n private _getParent(): BeanContainer | null {\n if (this.containerType === 'sys') return null;\n let parent = this.ctx?.instance?.parent;\n while (parent) {\n const beanContainerParent = parent.zova?.bean;\n if (beanContainerParent) return beanContainerParent;\n parent = parent.parent;\n }\n return this.sys.bean;\n }\n\n runWithInstanceScopeOrAppContext(fn, tracking?: boolean) {\n if (this.containerType === 'sys') return fn();\n if (this.ctx) {\n return this.ctx.util.instanceScope(fn, tracking);\n } else {\n return this.app.vue.runWithContext(fn);\n }\n }\n\n provide<K extends keyof IInjectRecord>(injectKey: K, value: IInjectRecord[K]) {\n return this.ctx.util.instanceScope(() => {\n return composableProvide(injectKey, value as any);\n });\n }\n\n inject<K extends keyof IInjectRecord>(injectKey: K): IInjectRecord[K];\n inject<K extends keyof IInjectRecord>(injectKey: K, defaultValue: IInjectRecord[K], treatDefaultAsFactory?: false): IInjectRecord[K];\n inject<K extends keyof IInjectRecord>(\n injectKey: K,\n defaultValue: IInjectRecord[K] | (() => IInjectRecord[K]),\n treatDefaultAsFactory?: true,\n ): IInjectRecord[K];\n inject(injectKey, defaultValue?, treatDefaultAsFactory?) {\n return this.ctx.util.instanceScope(() => {\n return composableInject(injectKey, defaultValue, treatDefaultAsFactory);\n });\n }\n\n defineProperty<T>(obj: T, prop: string, attributes: PropertyDescriptor & ThisType<any>): T {\n const self = this;\n const attrs = { ...attributes };\n if (attributes.get) {\n attrs.get = function () {\n const innerKey = `__innerKey_${prop}`;\n if (!obj[innerKey]) {\n self.runWithInstanceScopeOrAppContext(() => {\n __setPropertyValue(obj as any, innerKey, attributes.get!(), true);\n });\n }\n return obj[innerKey];\n };\n }\n return Object.defineProperty(obj, prop, attrs);\n }\n\n /** get specific module's scope */\n scope<K extends TypeBeanScopeRecordKeys>(moduleScope: K): IBeanScopeRecord[K];\n // scope<T>(moduleScope: string): T;\n scope<T>(moduleScope: string): T {\n // ctx->app\n if (this.containerType === 'ctx') {\n return this.app.bean.scope(moduleScope as never);\n }\n // sys/app\n return this._getBeanSyncOnly(`${moduleScope}.scope.module`);\n }\n\n async getScope<K extends TypeBeanScopeRecordKeys>(moduleScope: K): Promise<IBeanScopeRecord[K]>;\n // async getScope<T>(moduleScope: string): Promise<T>;\n async getScope<T>(moduleScope: string): Promise<T> {\n // ctx->app\n if (this.containerType === 'ctx') {\n return await this.app.bean.getScope(moduleScope as never);\n }\n // module: load\n await this._useModule(moduleScope);\n return this.scope(moduleScope as never);\n }\n\n _setBean<T>(key: string, instance: T) {\n this[SymbolBeanContainerInstances][key] = instance;\n }\n\n _getBeanSync<K extends keyof IBeanRecord>(beanFullName: K, markReactive?: boolean, forceLoad?: boolean): IBeanRecord[K] | undefined;\n _getBeanSync<T>(key: string, markReactive?: boolean, forceLoad?: boolean): T | undefined;\n _getBeanSync<T>(key: string, markReactive?: boolean, forceLoad?: boolean): T | undefined {\n const beanInstance: any = this[SymbolBeanContainerInstances][key];\n if (beanInstance === undefined) {\n // bean not loaded, so async load to raise the next call\n if (forceLoad !== false) {\n this._getBean(key as any, markReactive);\n }\n return undefined;\n }\n if (beanInstance && beanInstance[SymbolInited] && !beanInstance[SymbolInited].state) {\n return undefined;\n }\n return beanInstance as T;\n }\n\n _getBeanSyncOnly<T>(key: MetadataKey): T {\n return this[SymbolBeanContainerInstances][key] as T;\n }\n\n async _getBean<T>(A: Constructable<T>, markReactive?: boolean, ...args): Promise<T>;\n async _getBean<K extends keyof IBeanRecord>(beanFullName: K, markReactive?: boolean, ...args): Promise<IBeanRecord[K]>;\n // async _getBean<T>(beanFullName: string, markReactive?: boolean, ...args): Promise<T>;\n async _getBean<T>(beanFullName: Constructable<T> | string, markReactive?: boolean, ...args): Promise<T> {\n return await this._getBeanSelectorInner(true, null, undefined, beanFullName, markReactive, false, ...args);\n }\n\n async _getBeanSelector<T>(A: Constructable<T>, markReactive?: boolean, selector?: string, ...args): Promise<T>;\n async _getBeanSelector<K extends keyof IBeanRecord>(beanFullName: K, markReactive?: boolean, selector?: string, ...args): Promise<IBeanRecord[K]>;\n // async _getBeanSelector<T>(beanFullName: string, markReactive?: boolean, selector?: string): Promise<T>;\n async _getBeanSelector<T>(beanFullName: Constructable<T> | string, markReactive?: boolean, selector?: string, ...args): Promise<T> {\n return await this._getBeanSelectorInner(true, null, undefined, beanFullName, markReactive, true, selector, ...args);\n }\n\n _getBeanSelectorInnerSync<T>(beanComposable: Functionable | undefined, beanFullName: Constructable<T> | string | undefined, selector?: string): T {\n // fullName\n const fullName = this._getBeanFullNameByComposableOrClassSync(beanComposable, beanFullName);\n if (!fullName) {\n // not found\n return null!;\n }\n const key = __getSelectorKey(fullName, true, selector);\n return this[SymbolBeanContainerInstances][key] as T;\n }\n\n async _getBeanSelectorInner<T>(\n newBeanForce: boolean,\n recordProp: MetadataKey | null,\n beanComposable: Functionable | undefined,\n beanFullName: Constructable<T> | string | undefined,\n markReactive?: boolean,\n withSelector?: boolean,\n ...args\n ): Promise<T> {\n // fullName\n const fullName = await this._getBeanFullNameByComposableOrClass(beanComposable, beanFullName);\n if (!fullName) {\n // not found\n return null!;\n }\n const key = __getSelectorKey(fullName, withSelector, args[0]);\n if (this[SymbolBeanContainerInstances][key] === undefined && newBeanForce) {\n if (!this[SymbolGetBeanSelectorInnerPromises][key]) {\n this[SymbolGetBeanSelectorInnerPromises][key] = this._getBeanSelectorInnerPromise(\n recordProp,\n beanComposable,\n fullName,\n markReactive,\n withSelector,\n ...args,\n );\n }\n await this[SymbolGetBeanSelectorInnerPromises][key];\n }\n if (this[SymbolBeanContainerInstances][key] && this[SymbolGetBeanSelectorInnerPromises][key]) {\n // maybe instance exists, while promise not await complete\n await this[SymbolGetBeanSelectorInnerPromises][key];\n this[SymbolGetBeanSelectorInnerPromises][key] = undefined;\n }\n return this[SymbolBeanContainerInstances][key] as T;\n }\n\n private async _getBeanSelectorInnerPromise<T>(\n recordProp: MetadataKey | null,\n beanComposable: Functionable | undefined,\n fullName: Constructable<T> | string | undefined,\n markReactive?: boolean,\n withSelector?: boolean,\n ...args\n ): Promise<T> {\n return await this._newBeanInner(true, recordProp, null, beanComposable, fullName, markReactive, withSelector, ...args);\n }\n\n _newBeanSimple<T>(A: Constructable<T>, markReactive: boolean, ...args): T {\n // prepare\n const beanInstance = this._prepareBeanInstanceSimple(undefined, A, A, args, markReactive);\n // init\n if (!(beanInstance instanceof BeanAopBase) && beanInstance.__init__) {\n beanInstance.__init__(...args);\n }\n // ok\n return beanInstance;\n }\n\n async _newBean<T>(A: Constructable<T>, markReactive?: boolean, ...args): Promise<T>;\n async _newBean<K extends keyof IBeanRecord>(beanFullName: K, markReactive?: boolean, ...args): Promise<IBeanRecord[K]>;\n // async _newBean<T>(beanFullName: string, markReactive?: boolean, ...args): Promise<T>;\n async _newBean<T>(beanFullName: Constructable<T> | string, markReactive?: boolean, ...args): Promise<T> {\n return await this._newBeanInner(false, null, null, undefined, beanFullName, markReactive, false, ...args);\n }\n\n async _newBeanSelector<T>(A: Constructable<T>, markReactive?: boolean, selector?: string, ...args): Promise<T>;\n async _newBeanSelector<K extends keyof IBeanRecord>(beanFullName: K, markReactive?: boolean, selector?: string, ...args): Promise<IBeanRecord[K]>;\n // async _newBeanSelector<T>(beanFullName: string, markReactive?: boolean, selector?: string, ...args): Promise<T>;\n async _newBeanSelector<T>(beanFullName: Constructable<T> | string, markReactive?: boolean, selector?: string, ...args): Promise<T> {\n return await this._newBean(beanFullName as any, markReactive, selector, ...args);\n }\n\n /** @internal */\n public async _newBeanInner<T>(\n record: boolean,\n recordProp: MetadataKey | null,\n controllerData: any,\n beanComposable: Functionable | undefined,\n beanFullName: Constructable<T> | string | undefined,\n markReactive?: boolean,\n withSelector?: boolean,\n ...args\n ): Promise<T> {\n // bean composable\n if (beanComposable) {\n return await this._createBeanInstance<T>(\n record,\n recordProp,\n controllerData,\n beanComposable,\n undefined,\n undefined,\n args,\n false,\n markReactive,\n withSelector,\n );\n }\n // bean options\n const beanOptions = await this._getBeanOptionsForce(beanFullName);\n if (!beanOptions) {\n // class\n if (typeof beanFullName === 'function' && isClass(beanFullName)) {\n return await this._createBeanInstance<T>(\n record,\n recordProp,\n controllerData,\n undefined,\n undefined,\n beanFullName,\n args,\n false,\n markReactive,\n withSelector,\n );\n }\n // throw new Error(`bean not found: ${beanFullName}`);\n return null!;\n }\n // beanFullName\n return await this._createBeanInstance<T>(\n record,\n recordProp,\n controllerData,\n undefined,\n beanOptions.beanFullName,\n beanOptions.beanClass as Constructable<T>,\n args,\n cast(beanOptions.scene) === 'aop',\n // default is true: same as inject prop\n markReactive ?? beanOptions.markReactive ?? true,\n withSelector,\n );\n }\n\n private _getBeanFullNameByComposableOrClassSync(beanComposable: Functionable | undefined, beanFullName: any) {\n // bean composable\n if (beanComposable) {\n return appResource.getBeanFullNameOfComposable(beanComposable);\n }\n // bean options\n const beanOptions = this._getBeanOptionsForceSync(beanFullName);\n if (!beanOptions) {\n // not found\n return undefined;\n }\n return beanOptions.beanFullName;\n }\n\n private async _getBeanFullNameByComposableOrClass(beanComposable: Functionable | undefined, beanFullName: any) {\n // bean composable\n if (beanComposable) {\n return appResource.getBeanFullNameOfComposable(beanComposable);\n }\n // check beanFullName: for app controller/render\n if (!beanFullName) {\n // not found\n return undefined;\n }\n // bean options\n const beanOptions = await this._getBeanOptionsForce(beanFullName);\n if (!beanOptions) {\n // not found\n return undefined;\n }\n return beanOptions.beanFullName;\n }\n\n private _getBeanOptionsForceSync(beanFullName: any) {\n return appResource.getBean(beanFullName);\n }\n\n private async _getBeanOptionsForce(beanFullName: any) {\n // class\n if (typeof beanFullName === 'function' && isClass(beanFullName)) {\n return appResource.getBean(beanFullName);\n }\n // module: name\n const parts = beanFullName.split('.');\n // module: load\n await this._useModule(parts[0]);\n // get\n return appResource.getBean(beanFullName);\n }\n\n private async _createBeanInstance<T>(\n record: boolean,\n recordProp: MetadataKey | null,\n controllerData: IControllerData,\n beanComposable: Functionable | undefined,\n beanFullName: string | undefined,\n beanClass: Constructable<T> | undefined,\n args: any[],\n aop: boolean | undefined,\n markReactive: boolean | undefined,\n withSelector?: boolean,\n ): Promise<T> {\n // prepare\n const beanInstance = await this._prepareBeanInstance(beanComposable, beanFullName, beanClass, args, markReactive, aop);\n // special for controller\n if (controllerData) {\n beanInstance.__initControllerData(controllerData);\n }\n // record\n if (record) {\n // fullName\n const fullName = await this._getBeanFullNameByComposableOrClass(beanComposable, beanFullName);\n if (fullName) {\n const key = __getSelectorKey(fullName, withSelector, args[0]);\n __setPropertyValue(beanInstance, SymbolBeanInstanceKey, key, false);\n this[SymbolBeanContainerInstances][key] = beanInstance;\n }\n // always record for app/ctx bean\n if (recordProp) {\n this.__recordProp(recordProp, fullName, beanInstance, true);\n }\n }\n // init\n if (!beanComposable) {\n await this._initBeanInstance(beanFullName, beanInstance, args);\n }\n // ok\n return beanInstance;\n }\n\n private async _prepareBeanInstance(beanComposable: Functionable | undefined, beanFullName, beanClass, args, markReactive, aop) {\n // prepare\n let beanInstance = this._prepareBeanInstanceCommon(beanComposable, beanFullName, beanClass, args, markReactive);\n // aop: proxy\n const beanInstanceProxy = await this._patchBeanInstance(beanFullName || beanClass, beanInstance, aop);\n if (beanInstanceProxy) {\n // reactive\n if (markReactive) {\n beanInstance = reactive(beanInstanceProxy);\n } else {\n beanInstance = markRaw(beanInstanceProxy);\n }\n }\n // ok\n return beanInstance;\n }\n\n private _prepareBeanInstanceSimple(beanComposable: Functionable | undefined, beanFullName, beanClass, args, markReactive) {\n // prepare\n let beanInstance = this._prepareBeanInstanceCommon(beanComposable, beanFullName, beanClass, args, markReactive);\n // aop: proxy\n const beanInstanceProxy = this._patchBeanInstanceSimple(beanFullName || beanClass, beanInstance);\n if (beanInstanceProxy) {\n // reactive\n if (markReactive) {\n beanInstance = reactive(beanInstanceProxy);\n } else {\n beanInstance = markRaw(beanInstanceProxy);\n }\n }\n // ok\n return beanInstance;\n }\n\n private _prepareBeanInstanceCommon(beanComposable: Functionable | undefined, beanFullName, BeanClass, args, markReactive) {\n // create\n let beanInstance;\n if (beanComposable) {\n beanInstance = this._createBeanComposableInstance(beanComposable, args);\n } else {\n // always passed in args\n beanInstance = new BeanClass(...args);\n // if (BeanClass.prototype.__init__) {\n // beanInstance = new BeanClass();\n // } else {\n // beanInstance = new BeanClass(...args);\n // }\n }\n // app/ctx\n if (beanInstance instanceof BeanSimple) {\n // sys\n (<any>beanInstance).sys = this.sys;\n // app\n Object.defineProperty(beanInstance, 'app', {\n enumerable: false,\n configurable: true,\n get: () => {\n return this.ctx?.app;\n },\n });\n // ctx: always set even if is null, so as to prevent magic method __get__ take effect.\n (<any>beanInstance).ctx = this.ctx;\n }\n // beanFullName\n if (typeof beanFullName === 'string') {\n __setPropertyValue(beanInstance, SymbolBeanFullName, beanFullName, false);\n }\n // reactive\n if (markReactive) {\n beanInstance = reactive(beanInstance);\n } else {\n beanInstance = markRaw(beanInstance);\n }\n // ok\n return beanInstance;\n }\n\n private _createBeanComposableInstance(beanComposable, args) {\n return this.runWithInstanceScopeOrAppContext(() => {\n return beanComposable(...args);\n });\n }\n\n private async _initBeanInstance(beanFullName, beanInstance, args) {\n // inject vue elements\n this.runWithInstanceScopeOrAppContext(() => {\n this._injectVueElements(beanInstance, beanFullName);\n });\n // inject\n await this._injectBeanInstance(beanInstance, beanFullName);\n // init\n if (this.containerType === 'sys') {\n await this.sys.meta.module._monkeyModule(true, 'beanInit', undefined, this, beanInstance);\n } else {\n await this.app?.meta.module._monkeyModule(true, 'beanInit', undefined, this, beanInstance);\n }\n if (!(beanInstance instanceof BeanAopBase) && beanInstance.__init__) {\n await this.runWithInstanceScopeOrAppContext(async () => {\n await beanInstance.__init__(...args);\n });\n }\n if (this.containerType === 'sys') {\n await this.sys.meta.module._monkeyModule(true, 'beanInited', undefined, this, beanInstance);\n } else {\n await this.app?.meta.module._monkeyModule(true, 'beanInited', undefined, this, beanInstance);\n }\n if (beanInstance[SymbolInited]) {\n beanInstance[SymbolInited].touch();\n }\n // ok\n return beanInstance;\n }\n\n private _injectVueElements(beanInstance, beanFullName) {\n const beanOptions = appResource.getBean(beanFullName);\n if (!beanOptions) return;\n const vues = appMetadata.getMetadata(SymbolDecoratorVueElements, beanOptions.beanClass.prototype);\n if (!vues) return;\n for (const prop in vues) {\n const vueElements = vues[prop];\n for (let index = 0; index < vueElements.length; index++) {\n this._injectVueElement(beanInstance, beanFullName, prop, vueElements[index], index);\n }\n }\n }\n\n private _injectVueElement(beanInstance, beanFullName, prop: string, vueElement: IDecoratorVueElement, index: number) {\n const decoratorHandler = vueDecorators[vueElement.type];\n if (decoratorHandler) {\n decoratorHandler.call(this, beanInstance, beanFullName, prop, vueElement, index);\n }\n }\n\n private async _injectBeanInstance(beanInstance, beanFullName) {\n const beanOptions = appResource.getBean(beanFullName);\n if (!beanOptions) return;\n const uses = appResource.getUses(beanOptions.beanClass.prototype);\n if (!uses) return;\n for (const key in uses) {\n const useOptions = uses[key];\n // beanComposable\n const targetBeanComposable = useOptions.beanComposable;\n // beanClass\n let targetBeanFullName = useOptions.beanFullName;\n if (!targetBeanFullName && useOptions.beanClass) {\n targetBeanFullName = appResource.getBeanFullName(useOptions.beanClass);\n }\n // 0. host/skipSelf\n if (useOptions.injectionScope && ['host', 'skipSelf'].includes(useOptions.injectionScope)) {\n const selectorInfo = __prepareInjectSelectorInfo(beanInstance, useOptions);\n const useOptions2 = selectorInfo.withSelector ? Object.assign({}, useOptions, { selector: selectorInfo.args[0] }) : useOptions;\n const targetBeanInstance = useComputed(() => {\n return this._getBeanFromHostInner(false, useOptions.prop, targetBeanComposable, targetBeanFullName, useOptions2 as IDecoratorUseOptions);\n });\n __setPropertyValue(beanInstance, key, targetBeanInstance, true);\n continue;\n }\n // others\n const targetBeanInstance = await this._injectBeanInstanceProp(beanInstance, targetBeanComposable, targetBeanFullName, useOptions);\n __setPropertyValue(beanInstance, key, targetBeanInstance, true);\n }\n }\n\n private async _injectBeanInstanceProp(\n beanInstance,\n targetBeanComposable: Functionable | undefined,\n targetBeanFullName: string | undefined,\n useOptions: IDecoratorUseOptionsBase,\n ) {\n // 1. use name\n if (useOptions.name) {\n return this[SymbolBeanContainerInstances][useOptions.name];\n }\n // 2. use prop\n if (!targetBeanComposable && !targetBeanFullName) {\n return this[SymbolBeanContainerInstances][useOptions.prop];\n }\n // 3. targetBeanFullName\n let targetOptions: Pick<IDecoratorBeanOptionsBase, 'containerScope' | 'markReactive' | 'scene'> | undefined;\n if (targetBeanComposable) {\n targetOptions = {\n containerScope: undefined,\n markReactive: undefined,\n scene: undefined as never,\n };\n } else if (targetBeanFullName) {\n targetOptions = await this._getBeanOptionsForce(targetBeanFullName);\n if (!targetOptions) {\n throw new Error(`not found bean class: ${targetBeanFullName}`);\n }\n }\n // options: injectionScope\n let injectionScope = useOptions.injectionScope ?? targetOptions!.containerScope ?? 'ctx';\n // patch\n if (targetOptions?.scene === 'scope' && !this.app) {\n injectionScope = 'sys';\n }\n // options: markReactive: default is true\n const markReactive = useOptions.markReactive ?? targetOptions!.markReactive ?? true;\n // options: selectorInfo\n const selectorInfo = __prepareInjectSelectorInfo(beanInstance, useOptions);\n // recordProp\n // const recordProp = useOptions.name || useOptions.prop;\n const recordProp = useOptions.prop;\n // targetInstance\n let targetInstance;\n if (injectionScope === 'sys') {\n targetInstance = await this.sys.bean._getBeanSelectorInner(\n true,\n null,\n targetBeanComposable,\n targetBeanFullName,\n markReactive,\n selectorInfo.withSelector,\n ...selectorInfo.args,\n );\n await this._injectBeanInstanceProp_appBean(recordProp, targetBeanComposable, targetBeanFullName, targetInstance);\n } else if (injectionScope === 'app') {\n targetInstance = await this.app.bean._getBeanSelectorInner(\n true,\n null,\n targetBeanComposable,\n targetBeanFullName,\n markReactive,\n selectorInfo.withSelector,\n ...selectorInfo.args,\n );\n await this._injectBeanInstanceProp_appBean(recordProp, targetBeanComposable, targetBeanFullName, targetInstance);\n } else if (injectionScope === 'ctx') {\n targetInstance = await this._getBeanSelectorInner(\n true,\n recordProp,\n targetBeanComposable,\n targetBeanFullName,\n markReactive,\n selectorInfo.withSelector,\n ...selectorInfo.args,\n );\n } else if (injectionScope === 'new') {\n // not record prop\n targetInstance = await this._newBeanInner(\n false,\n null,\n null,\n targetBeanComposable,\n targetBeanFullName,\n markReactive,\n selectorInfo.withSelector,\n ...selectorInfo.args,\n );\n }\n return targetInstance;\n }\n\n public _getBeanFromHost<T = unknown>(useOptions: IDecoratorUseOptions): T;\n public _getBeanFromHost<K extends keyof IBeanRecord>(beanFullName: K, useOptions?: IDecoratorUseOptions): IBeanRecord[K] | undefined;\n public _getBeanFromHost(beanFullName?: string | IDecoratorUseOptions, useOptions?: IDecoratorUseOptions) {\n if (typeof beanFullName !== 'string') {\n useOptions = beanFullName;\n beanFullName = undefined;\n }\n if (!useOptions) {\n useOptions = {};\n }\n return this._getBeanFromHostInner(false, undefined, undefined, beanFullName, useOptions);\n }\n\n public _getBeanFromHostInner(\n record: boolean,\n recordProp: MetadataKey | undefined,\n targetBeanComposable: Functionable | undefined,\n targetBeanFullName: string | undefined,\n useOptions: IDecoratorUseOptions,\n ) {\n let beanContainerParent;\n if (!useOptions.injectionScope || useOptions.injectionScope === 'host') {\n beanContainerParent = this;\n } else if (useOptions.injectionScope === 'skipSelf') {\n beanContainerParent = this.parent;\n }\n while (true) {\n if (!beanContainerParent) return null;\n const beanInstance = this._getBeanFromHostInner2(recordProp, beanContainerParent, targetBeanComposable, targetBeanFullName, useOptions);\n // null is valid value\n if (beanInstance !== undefined) {\n // record prop\n if (record) {\n this.__recordProp(recordProp, undefined, beanInstance, false);\n }\n return beanInstance;\n }\n beanContainerParent = beanContainerParent.parent;\n }\n }\n\n private _getBeanFromHostInner2(\n recordProp: MetadataKey | undefined,\n beanContainerParent: BeanContainer,\n targetBeanComposable: Functionable | undefined,\n targetBeanFullName: string | undefined,\n useOptions: IDecoratorUseOptions,\n ) {\n // 1. use name\n if (useOptions.name) {\n return beanContainerParent[SymbolBeanContainerInstances][useOptions.name];\n }\n // 2. use prop\n if (!targetBeanComposable && !targetBeanFullName) {\n return beanContainerParent[SymbolBeanContainerInstances][recordProp!];\n }\n // 3. targetBeanFullName\n return beanContainerParent._getBeanSelectorInnerSync(targetBeanComposable, targetBeanFullName, useOptions.selector);\n }\n\n private async _injectBeanInstanceProp_appBean(recordProp, targetBeanComposable, _targetBeanFullName, targetInstance) {\n if (targetInstance === undefined) return;\n // only when ctx bean\n if (!this.ctx) return;\n // record prop\n this.__recordProp(recordProp, undefined, targetInstance, false);\n // force init\n if (!targetBeanComposable && targetInstance) {\n await targetInstance[SymbolInited].wait();\n }\n }\n\n private async _patchBeanInstance(beanFullNameOrBeanClass, beanInstance, aop) {\n if (!beanFullNameOrBeanClass) return undefined;\n // not aop on aop\n if (aop) return undefined;\n // aop chains\n const _aopChains = await this._prepareAopChains(beanFullNameOrBeanClass, beanInstance);\n // no aop\n if (_aopChains.length === 0) return undefined;\n // aop\n return this._newBeanProxy(beanFullNameOrBeanClass, beanInstance);\n }\n\n private _patchBeanInstanceSimple(beanFullNameOrBeanClass, beanInstance) {\n if (!beanFullNameOrBeanClass) return undefined;\n // aop chains\n const _aopChains = this._prepareAopChainsSimple(beanFullNameOrBeanClass, beanInstance);\n // no aop\n if (_aopChains.length === 0) return undefined;\n // aop\n return this._newBeanProxy(beanFullNameOrBeanClass, beanInstance);\n }\n\n private _newBeanProxy(beanFullName, beanInstance) {\n const self = this;\n const proxy = new Proxy(beanInstance, {\n get(target, prop, receiver) {\n if (typeof prop === 'symbol') {\n return Reflect.get(target, prop, receiver);\n }\n if (__isInnerMethod(prop)) {\n if (prop === '__v_isShallow' && target.__v_isShallow_patch) {\n return Reflect.get(target, '__v_isShallow_patch', receiver);\n }\n return Reflect.get(target, prop, receiver);\n }\n // descriptorInfo\n const descriptorInfo = __getPropertyDescriptor(target, prop);\n if (!__checkAopOfDescriptorInfo(descriptorInfo)) return Reflect.get(target, prop, receiver);\n const methodType = __methodTypeOfDescriptor(descriptorInfo);\n // get prop\n if (!methodType) {\n if (__isLifeCycleMethod(prop)) return Reflect.get(target, prop, receiver);\n const methodName = `__get_${prop}__`;\n const methodNameMagic = '__get__';\n const _aopChainsProp = self._getAopChainsProp(beanFullName, methodName, methodNameMagic, 'get', prop);\n if (!_aopChainsProp) return Reflect.get(target, prop, receiver);\n // aop\n return _aopChainsProp([receiver, undefined], ([receiver, _]) => {\n if (!descriptorInfo && target.__get__) {\n return Reflect.apply(target.__get__, receiver, [prop, target]);\n } else {\n return Reflect.get(target, prop, receiver);\n }\n });\n }\n // method\n return self._getInstanceMethodProxy(beanFullName, target, prop, receiver);\n },\n set(target, prop, value, receiver) {\n if (typeof prop === 'symbol') {\n Reflect.set(target, prop, value, receiver);\n return true;\n }\n if (__isInnerMethod(prop)) {\n Reflect.set(target, prop, value, receiver);\n return true;\n }\n // descriptorInfo\n const descriptorInfo = __getPropertyDescriptor(target, prop);\n if (!__checkAopOfDescriptorInfo(descriptorInfo)) {\n Reflect.set(target, prop, value, receiver);\n return true;\n }\n const methodName = `__set_${prop}__`;\n const methodNameMagic = '__set__';\n const _aopChainsProp = self._getAopChainsProp(beanFullName, methodName, methodNameMagic, 'set', prop);\n if (!_aopChainsProp) {\n Reflect.set(target, prop, value, receiver);\n return true;\n }\n // aop\n return _aopChainsProp([receiver, value], ([receiver, value]) => {\n if (!descriptorInfo && target.__set__) {\n const res = Reflect.apply(target.__set__, receiver, [prop, value, target]);\n if (res === undefined) throw new Error('__set__ must return true/false');\n if (!res) {\n Reflect.set(target, prop, value, receiver);\n }\n } else {\n Reflect.set(target, prop, value, receiver);\n }\n // ok: prop be set\n return true;\n });\n },\n });\n return proxy;\n }\n\n private _getInstanceMethodProxy(beanFullName, target, prop, receiver) {\n // not aop magic methods\n if (__isInnerMethod(prop)) {\n return Reflect.get(target, prop, receiver);\n }\n // aop chains\n const methodNameMagic = '__method__';\n const _aopChainsProp = this._getAopChainsProp(beanFullName, prop, methodNameMagic, 'method', prop);\n if (!_aopChainsProp) return Reflect.get(target, prop, receiver);\n // proxy\n const methodProxyKey = `__aopproxy_method_${prop}__`;\n if (target[methodProxyKey]) return target[methodProxyKey];\n const methodProxy = new Proxy(target[prop], {\n apply(target, thisArg, args) {\n // aop\n return _aopChainsProp([thisArg, args], ([thisArg, args]) => {\n return Reflect.apply(target, thisArg, args);\n });\n },\n });\n __setPropertyValue(target, methodProxyKey, methodProxy, false);\n return methodProxy;\n }\n\n private async _prepareAopChains(beanFullNameOrBeanClass, beanInstance) {\n if (!beanFullNameOrBeanClass) return [];\n // beanFullName maybe class\n const beanOptions = appResource.getBean(beanFullNameOrBeanClass);\n const cacheKey = beanOptions?.beanFullName || beanFullNameOrBeanClass;\n // ProxyDisable\n const proxyDisable = beanOptions?.beanClass ? appMetadata.getMetadata<boolean>(SymbolDecoratorProxyDisable, beanOptions?.beanClass) : false;\n // host\n const host = this._aopCacheHost();\n if (!host[SymbolCacheAopChains]) host[SymbolCacheAopChains] = {};\n if (host[SymbolCacheAopChains][cacheKey]) return host[SymbolCacheAopChains][cacheKey];\n // chains\n let chains: (MetadataKey | BeanBase)[] = [];\n // aop\n if (!proxyDisable && beanOptions && cast(beanOptions.scene) !== 'aop') {\n const beanAop = (await this.sys.bean._getBean('a-bean.service.aop' as never, false)) as any;\n const aops = await beanAop.findAopsMatched(beanOptions.beanFullName);\n if (aops) {\n // load aops\n const aopInstances: BeanBase[] = [];\n for (const aop of aops) {\n // singleton\n aopInstances.push(await this.sys.bean._getBean(aop.beanFullName, true));\n }\n chains = chains.concat(aopInstances);\n }\n }\n // aop method\n if (!proxyDisable && beanOptions) {\n const beanAop = (await this.sys.bean._getBean('a-bean.service.aop' as never, false)) as any;\n const aopMethods = await beanAop.findAopMethodsMatched(beanOptions?.beanFullName);\n if (aopMethods) {\n chains.push([SymbolProxyAopMethod, aopMethods] as any);\n }\n }\n // magic self\n if (__hasMagicMethod(beanInstance)) {\n chains.push(SymbolProxyMagic);\n }\n // hold\n host[SymbolCacheAopChains][cacheKey] = chains;\n return chains;\n }\n\n private _prepareAopChainsSimple(beanFullNameOrBeanClass, beanInstance) {\n if (!beanFullNameOrBeanClass) return [];\n // beanFullName maybe class\n const beanOptions = appResource.getBean(beanFullNameOrBeanClass);\n const cacheKey = beanOptions?.beanFullName || beanFullNameOrBeanClass;\n const host = this._aopCacheHost();\n if (!host[SymbolCacheAopChains]) host[SymbolCacheAopChains] = {};\n if (host[SymbolCacheAopChains][cacheKey]) return host[SymbolCacheAopChains][cacheKey];\n // chains\n const chains: MetadataKey[] = [];\n // magic self\n if (__hasMagicMethod(beanInstance)) {\n chains.push(SymbolProxyMagic);\n }\n // hold\n host[SymbolCacheAopChains][cacheKey] = chains;\n return chains;\n }\n\n private _getAopChains(beanFullName) {\n // beanFullName maybe class\n const beanOptions = appResource.getBean(beanFullName);\n const cacheKey = beanOptions?.beanFullName || beanFullName;\n const host = this._aopCacheHost();\n return host[SymbolCacheAopChains]?.[cacheKey] || [];\n }\n\n private _aopCacheHost() {\n return this.sys;\n }\n\n private _getAopChainsProp(beanFullName, methodName, methodNameMagic, methodType: 'get' | 'set' | 'method', prop: string) {\n const chainsKey = `__aopChains_${methodName}__`;\n const beanOptions = appResource.getBean(beanFullName);\n const cacheKey = beanOptions?.beanFullName || beanFullName;\n const host = this._aopCacheHost();\n if (!host[SymbolCacheAopChainsKey]) host[SymbolCacheAopChainsKey] = {};\n if (!host[SymbolCacheAopChainsKey][cacheKey]) host[SymbolCacheAopChainsKey][cacheKey] = {};\n if (host[SymbolCacheAopChainsKey][cacheKey][chainsKey] !== undefined) return host[SymbolCacheAopChainsKey][cacheKey][chainsKey];\n const _aopChains = this._getAopChains(beanFullName);\n const chains: [MetadataKey, string][] = [];\n for (const aopKey of _aopChains) {\n if (aopKey === SymbolProxyMagic) {\n if (!__isLifeCycleMethod(methodName)) {\n chains.push([aopKey, methodName]);\n }\n } else if (Array.isArray(aopKey) && aopKey[0] === SymbolProxyAopMethod) {\n this._getAopChainsProp_aopMethods(chains, aopKey, aopKey[1], methodType, prop);\n } else {\n const aop: BeanAopBase = aopKey;\n if (aop[methodName]) {\n let fn;\n if (methodType === 'get') {\n fn = function ([receiver, _], next) {\n return aop[methodName](_patchAopNext([receiver, _], next), receiver);\n };\n } else if (methodType === 'set') {\n fn = function ([receiver, value], next) {\n return aop[methodName](value, _patchAopNext([receiver, value], next), receiver);\n };\n } else if (methodType === 'method') {\n fn = function ([receiver, args], next) {\n return aop[methodName](args, _patchAopNext([receiver, args], next), receiver);\n };\n }\n chains.push([aopKey, fn]);\n }\n if (methodNameMagic && aop[methodNameMagic]) {\n if (!__isLifeCycleMethod(methodName)) {\n let fn;\n if (methodType === 'get') {\n fn = function ([receiver, _], next) {\n return aop[methodNameMagic](prop, _patchAopNext([receiver, _], next), receiver);\n };\n } else if (methodType === 'set') {\n fn = function ([receiver, value], next) {\n return aop[methodNameMagic](prop, value, _patchAopNext([receiver, value], next), receiver);\n };\n } else if (methodType === 'method') {\n fn = function ([receiver, args], next) {\n return aop[methodNameMagic](prop, args, _patchAopNext([receiver, args], next), receiver);\n };\n }\n chains.push([aopKey, fn]);\n }\n }\n }\n }\n let result;\n if (chains.length === 0) {\n result = null;\n } else {\n result = __composeForProp(chains);\n }\n host[SymbolCacheAopChainsKey][cacheKey][chainsKey] = result;\n return result;\n }\n\n private _getAopChainsProp_aopMethods(chains, aopKey, aopMethodsAll, methodType, prop: string) {\n const aopMethods = aopMethodsAll[prop];\n if (!aopMethods) return;\n for (const aopMethod of aopMethods) {\n let fn;\n if (methodType === 'get') {\n fn = function ([receiver, _], next) {\n if (!aopMethod.beanInstance.get) throw new Error(`get property accessor not exists: ${aopMethod.onionName}`);\n return aopMethod.beanInstance.get(aopMethod.options, _patchAopNext([receiver, _], next), receiver, prop);\n };\n } else if (methodType === 'set') {\n fn = function ([receiver, value], next) {\n if (!aopMethod.beanInstance.set) throw new Error(`set property accessor not exists: ${aopMethod.onionName}`);\n return aopMethod.beanInstance.set(aopMethod.options, value, _patchAopNext([receiver, value], next), receiver, prop);\n };\n } else if (methodType === 'method') {\n fn = function ([receiver, args], next) {\n if (!aopMethod.beanInstance.execute) throw new Error(`execute method not exists: ${aopMethod.onionName}`);\n return aopMethod.beanInstance.execute(aopMethod.options, args, _patchAopNext([receiver, args], next), receiver, prop);\n };\n }\n chains.push([aopKey, fn]);\n }\n }\n\n private __recordProp(recordProp, fullName: string | undefined, beanInstance, throwError: boolean) {\n if (this[SymbolBeanContainerInstances][recordProp] !== undefined && throwError) {\n throw new Error(`prop exsits: ${recordProp.toString()}, ${fullName}`);\n }\n if (this[SymbolBeanContainerInstances][recordProp] === undefined) {\n this[SymbolBeanContainerInstances][recordProp] = beanInstance;\n }\n }\n\n private async _useModule(moduleName: string) {\n if (this.containerType === 'sys') {\n await this.sys.meta.module.use(moduleName);\n } else {\n await this.app.meta.module.use(moduleName);\n }\n }\n}\n\nfunction __composeForPropAdapter(_context, chain) {\n const [aopKey, fn] = chain;\n // SymbolProxyMagic\n if (aopKey === SymbolProxyMagic) return;\n // chain\n return {\n receiver: undefined,\n fn,\n };\n}\n\nfunction __composeForProp(chains) {\n return compose(chains, __composeForPropAdapter);\n}\n\nfunction _patchAopNext([receiver, context], next) {\n return (...args) => {\n context = args.length === 0 ? context : args[0];\n return next([receiver, context]);\n };\n}\n\nfunction __checkAopOfDescriptorInfo(descriptorInfo) {\n if (!descriptorInfo) return true;\n return !descriptorInfo.dynamic && !descriptorInfo.ofBeanBase;\n}\n\nfunction __getPropertyDescriptor(obj, prop) {\n // dynamic\n const descriptor = Object.getOwnPropertyDescriptor(obj, prop);\n if (descriptor) return { descriptor, dynamic: true };\n // static\n return __getPropertyDescriptorStatic(obj, prop);\n}\n\nfunction __getPropertyDescriptorStatic(obj, prop) {\n let proto = Object.getPrototypeOf(obj);\n let ofBeanBase = false;\n while (proto) {\n if (proto.constructor.name === BeanBase.name) {\n ofBeanBase = true;\n }\n const descriptor = Object.getOwnPropertyDescriptor(proto, prop);\n if (descriptor) return { descriptor, dynamic: false, ofBeanBase };\n proto = Object.getPrototypeOf(proto);\n }\n return null;\n}\n\nfunction __setPropertyValue(obj: {}, prop: MetadataKey, value: any, patch: boolean) {\n if (value && typeof value === 'object' && patch) {\n value.__v_isShallow_patch = true;\n }\n Object.defineProperty(obj, prop, {\n enumerable: false,\n configurable: true,\n get() {\n return value;\n },\n });\n if (value && typeof value === 'object' && patch) {\n delete value.__v_isShallow_patch;\n }\n}\n\nfunction __hasMagicMethod(instance) {\n return !!instance.__get__ || !!instance.__set__;\n}\n\nfunction __isInnerMethod(prop) {\n return [\n '__get__',\n '__set__',\n // '__init__',\n // '__dispose__',\n 'then',\n '__v_skip',\n '__v_isReactive',\n '__v_isReadonly',\n '__v_isShallow',\n '__v_raw',\n '__v_isRef',\n '__v_isVNode',\n '__v_cache',\n '__v_isShallow_patch',\n ].includes(prop);\n}\n\nfunction __isLifeCycleMethod(prop) {\n return ['__init__', '__dispose__'].includes(prop);\n}\n\nfunction __methodTypeOfDescriptor(descriptorInfo) {\n if (!descriptorInfo) return null;\n const { descriptor, dynamic } = descriptorInfo;\n if (dynamic) return null;\n if (descriptor.get) return null;\n const methodType = descriptor.value?.constructor?.name;\n if (['Function', 'AsyncFunction'].includes(methodType)) {\n return methodType;\n }\n return null;\n}\n\n// same as _getBean if selector is undefined/null/'', as as to get the same bean instance\n// not use !selector which maybe is 0\nfunction __getSelectorKey(beanFullName: string, withSelector?: boolean, selector?: any) {\n if (!withSelector) return beanFullName;\n const isSelectorValid = !isNilOrEmptyString(selector);\n return !isSelectorValid ? beanFullName : `${beanFullName}#${selector}`;\n}\n","import { shallowReactive } from 'vue';\n\nimport type { IControllerData, ISlot, ISlotsDefault } from './type.ts';\n\nimport { cast } from '../types/utils/cast.ts';\nimport { useModel } from '../vueExtra/useModel.ts';\nimport { BeanBase } from './beanBase.ts';\n\nexport class BeanControllerBase extends BeanBase {\n public $props: unknown;\n public $slots: ISlotsDefault;\n\n /** @internal */\n public __initControllerData(controllerData: IControllerData) {\n if (this.ctx.disposed) return;\n // slots\n this.$slots = controllerData.context.slots as any;\n // props\n this.__initControllerProps(this.ctx.instance.vnode.props);\n this.app.meta.module._monkeyModuleSync(true, 'controllerDataInit', undefined, controllerData, this);\n }\n\n /** @internal */\n public __updateControllerData() {\n if (this.ctx.disposed) return;\n // props\n this.__initControllerProps(this.ctx.instance.vnode.props);\n this.app.meta.module._monkeyModuleSync(true, 'controllerDataUpdate', undefined, this);\n }\n\n public $useModel(name?, options?) {\n if (typeof name === 'object') {\n options = name;\n name = 'modelValue';\n }\n if (!name) name = 'modelValue';\n return useModel.call(this, this.$props as any, name, options);\n }\n\n public get $slotDefault(): ISlot | undefined {\n return cast(this.$props).slotDefault ?? this.$slots.default;\n }\n\n private __initControllerProps(propsInput: unknown | undefined) {\n const propsDefault = Object.getPrototypeOf(this).constructor.$propsDefault;\n let props = Object.assign({}, propsInput);\n for (const key in props) {\n if (props[key] === undefined) {\n delete props[key];\n }\n }\n props = Object.assign({}, propsDefault, props);\n if (!this.$props) {\n this.$props = process.env.SERVER ? props : shallowReactive(props as any);\n } else {\n // hold the same $props ref\n Object.assign(this.$props as any, props);\n for (const key in this.$props) {\n if (!props || !Object.hasOwnProperty.call(props, key)) {\n delete this.$props[key];\n }\n }\n }\n }\n}\n","import type { defineOptions, Ref, VNode } from 'vue';\n\nimport type { IBeanSceneRecord } from '../decorator/interface/beanOptions.ts';\nimport type { RequiredSome } from '../types/utils/requiredSome.ts';\nimport type { TypeRecordValues } from '../types/utils/type.ts';\nimport type { TypeErrorsInternal } from './resource/error/errorInternal.ts';\n\nexport interface IBeanRecordGeneral {}\nexport interface IBeanRecordLocal {}\n\nexport type IBeanRecord = IBeanRecordGeneral & IBeanRecordLocal;\nexport type TypeBeanRecordKeys = keyof IBeanRecord;\n\nexport type TypeBeanRecordGeneralSelector<SCENE extends keyof IBeanSceneRecord> = {\n [K in keyof IBeanRecordGeneral as K extends `${string}.${SCENE}.${string}` ? K : never]: IBeanRecordGeneral[K];\n};\nexport type TypeBeanRecordGeneralSelectorKeys<SCENE extends keyof IBeanSceneRecord> = keyof TypeBeanRecordGeneralSelector<SCENE>;\n\nexport type TypeBeanRecordGeneralSelectorSpecificName<SCENE extends keyof IBeanSceneRecord, NAME extends string> = {\n [K in keyof IBeanRecordGeneral as K extends `${string}.${SCENE}.${NAME}` ? K : never]: IBeanRecordGeneral[K];\n};\n\nexport type TypeBeanRecordGeneralSelectorSpecificNameKeys<\n SCENE extends keyof IBeanSceneRecord,\n NAME extends string,\n> = keyof TypeBeanRecordGeneralSelectorSpecificName<SCENE, NAME>;\n\nexport interface IBeanScopeRecord {}\nexport type TypeBeanScopeRecordKeys = keyof IBeanScopeRecord;\n\nexport interface IBeanScopeConfig {}\nexport type TypeBeanScopeConfigKeys = keyof IBeanScopeConfig;\n\nexport interface IBeanScopeLocale {}\nexport type TypeBeanScopeLocaleKeys = keyof IBeanScopeLocale;\n\nexport interface IBeanScopeErrors {}\nexport type TypeBeanScopeErrorsKeys = keyof IBeanScopeErrors;\n\nexport type TypeScopesErrorsHelper<ModuleName extends keyof IBeanScopeErrors, Errors extends IBeanScopeErrors[ModuleName]> = {\n // @ts-ignore: ignore\n [K in keyof Errors as `${ModuleName}:${Errors[K]}`]: K;\n};\nexport type TypeScopesErrorCodes = TypeRecordValues<{\n [ModuleName in keyof IBeanScopeErrors]: keyof TypeScopesErrorsHelper<ModuleName, IBeanScopeErrors[ModuleName]>;\n}>;\nexport type TypeAllErrorCodes = TypeScopesErrorCodes | keyof TypeErrorsInternal;\n\nexport interface IControllerDataContext {\n slots?: object;\n}\n\nexport interface IControllerData {\n context: IControllerDataContext;\n}\n\nexport const BeanControllerIdentifier = '$$c';\nexport const BeanRenderIdentifier = '$$r';\nexport const BeanStyleIdentifier = '$$s';\nexport const SymbolControllerRefDisable = Symbol('SymbolControllerRefDisable');\n\nexport function $getBeanName<K extends keyof IBeanRecord>(beanFullName: K): K {\n return beanFullName;\n}\n\nexport type ModelRef<T, M extends PropertyKey = string, G = T, S = T> = Ref<G, S> & [ModelRef<T, M, G, S>, Record<M, true | undefined>];\n\nexport interface DefineModelOptions<T = any, G = T, S = T> {\n get?: (v: T) => G;\n set?: (v: S) => any;\n}\n\nexport type IComponentOptions = Parameters<typeof defineOptions>[0];\n\nexport type IEmit = () => void;\nexport type ISlot = (...args: any[]) => VNode;\n\nexport interface ISlotsDefault {\n default?: ISlot;\n}\n\nexport type TypePropValueFromModel<T> = T extends 'vModel'\n ? 'modelValue'\n : T extends `vModel:${string}_${string}`\n ? never\n : T extends `vModel:${infer ARG}`\n ? ARG\n : never;\nexport type TypePropUpdateFromModel<T> = T extends 'vModel'\n ? 'onUpdate:modelValue'\n : T extends `vModel:${string}_${string}`\n ? never\n : T extends `vModel:${infer ARG}`\n ? `onUpdate:${ARG}`\n : never;\n// @ts-ignore ignore\nexport type TypeControllerInnerProps<PROPS, PROPSDEFAULT> = RequiredSome<PROPS, PROPSDEFAULT>;\n","import { cast } from '../types/utils/cast.ts';\nimport { BeanBase } from './beanBase.ts';\nimport { BeanControllerIdentifier } from './type.ts';\n\nconst SymbolController = Symbol('SymbolController');\n\nexport class BeanControllerLike extends BeanBase {\n protected get [SymbolController](): unknown | undefined {\n return this.bean._getBeanSyncOnly(BeanControllerIdentifier);\n }\n\n /** @internal */\n public __get__(prop): unknown {\n const controller = cast(this[SymbolController]);\n return controller?.[prop];\n }\n\n /** @internal */\n public __set__(prop, value): boolean {\n const controller = cast(this[SymbolController]);\n if (!controller) return false;\n if (prop in controller) {\n controller[prop] = value;\n return true;\n } else {\n return false;\n }\n }\n}\n","import type { IControllerData } from './type.ts';\n\nimport { BeanBase } from './beanBase.ts';\n\nexport class BeanControllerPageBase extends BeanBase {\n public $params: unknown;\n public $query: unknown;\n\n /** @internal */\n public __initControllerData(controllerData: IControllerData) {\n if (this.app) {\n this.app.meta.module._monkeyModuleSync(true, 'controllerDataInit', undefined, controllerData, this);\n }\n }\n\n /** @internal */\n public __updateControllerData() {\n this.app.meta.module._monkeyModuleSync(true, 'controllerDataUpdate', undefined, this);\n }\n}\n","import { cast } from '../types/utils/cast.ts';\nimport { BeanControllerLike } from './beanControllerLike.ts';\nimport { BeanStyleIdentifier } from './type.ts';\n\nconst SymbolStyle = Symbol('SymbolStyle');\n\nexport class BeanRenderLike extends BeanControllerLike {\n private get [SymbolStyle](): unknown | undefined {\n return this.bean._getBeanSyncOnly(BeanStyleIdentifier);\n }\n\n /** @internal */\n public __get__(prop): unknown {\n const value = super.__get__(prop);\n if (value !== undefined) return value;\n const style = cast(this[SymbolStyle]);\n return style?.[prop];\n }\n\n /** @internal */\n public __set__(prop, value): boolean {\n const res = super.__set__(prop, value);\n if (res) return res;\n const style = cast(this[SymbolStyle]);\n if (!style) return false;\n if (prop in style) {\n style[prop] = value;\n return true;\n } else {\n return false;\n }\n }\n}\n","import { BeanRenderLike } from './beanRenderLike.ts';\n\nexport class BeanRenderBase extends BeanRenderLike {\n public render() {}\n}\n","import { BeanControllerLike } from './beanControllerLike.ts';\n\nexport class BeanStyleBase extends BeanControllerLike {}\n","import { BeanSimple } from '../beanSimple.ts';\n\nconst BeanModuleScope = Symbol('BeanScopeScene#ModuleScope');\n\nexport class BeanScopeUtil extends BeanSimple {\n private [BeanModuleScope]: string;\n\n constructor(moduleScope) {\n super();\n this[BeanModuleScope] = moduleScope;\n }\n\n test() {\n return this[BeanModuleScope];\n }\n}\n","import type { IModule } from '@cabloy/module-info';\n\nimport { BeanBaseSimple, SymbolModuleBelong } from '../beanBaseSimple.ts';\nimport { BeanScopeError } from '../resource/error/beanScopeError.ts';\nimport { BeanScopeLocale } from '../resource/locale/beanScopeLocale.ts';\nimport { BeanScopeUtil } from './beanScopeUtil.ts';\n\nconst BeanModuleError = Symbol('BeanScopeBase#BeanModuleError');\nconst BeanModuleLocale = Symbol('BeanScopeBase#BeanModuleLocale');\nconst BeanModuleConfig = Symbol('BeanScopeBase#BeanModuleConfig');\nconst BeanModuleConstant = Symbol('BeanScopeBase#BeanModuleConstant');\nconst BeanModuleApi = Symbol('BeanScopeBase#BeanModuleApi');\nconst BeanModuleApiSchema = Symbol('BeanScopeBase#BeanModuleApiSchema');\nconst BeanModuleUtil = Symbol('BeanScopeBase#BeanModuleUtil');\n\nexport class BeanScopeBase extends BeanBaseSimple {\n private [BeanModuleError]: BeanScopeError;\n private [BeanModuleLocale]: BeanScopeLocale;\n private [BeanModuleConfig]: unknown;\n private [BeanModuleConstant]: unknown;\n private [BeanModuleApi]: unknown;\n private [BeanModuleApiSchema]: unknown;\n private [BeanModuleUtil]: BeanScopeUtil;\n\n get module(): IModule {\n return this.app.meta.module.get(this[SymbolModuleBelong]) as unknown as IModule;\n }\n\n protected __get__(prop: string) {\n const moduleBelong = this[SymbolModuleBelong];\n // error\n if (prop === 'error') {\n if (!this[BeanModuleError]) {\n this[BeanModuleError] = this.bean._newBeanSimple(BeanScopeError, false, moduleBelong);\n }\n return this[BeanModuleError];\n }\n // locale\n if (prop === 'locale') {\n if (!this[BeanModuleLocale]) {\n this[BeanModuleLocale] = this.bean._newBeanSimple(BeanScopeLocale, false, moduleBelong);\n }\n return this[BeanModuleLocale];\n }\n // config\n if (prop === 'config') {\n if (!this[BeanModuleConfig]) {\n this[BeanModuleConfig] = this.sys.config.modules[moduleBelong];\n }\n return this[BeanModuleConfig];\n }\n // constant\n if (prop === 'constant') {\n if (!this[BeanModuleConstant]) {\n this[BeanModuleConstant] = this.sys.constant.modules[moduleBelong];\n }\n return this[BeanModuleConstant];\n }\n // api\n if (prop === 'api') {\n if (!this[BeanModuleApi]) {\n this[BeanModuleApi] = {};\n }\n return this[BeanModuleApi];\n }\n // apiSchema\n if (prop === 'apiSchema') {\n if (!this[BeanModuleApiSchema]) {\n this[BeanModuleApiSchema] = {};\n }\n return this[BeanModuleApiSchema];\n }\n // util\n if (prop === 'util') {\n if (!this[BeanModuleUtil]) {\n this[BeanModuleUtil] = this.bean._newBeanSimple(BeanScopeUtil, false, moduleBelong);\n }\n return this[BeanModuleUtil];\n }\n }\n}\n","import type z from 'zod';\n\nimport { setLocaleAdapter, setLocaleErrors, translateError } from '@cabloy/zod-errors-custom';\nimport { ZodMetadata } from '@cabloy/zod-openapi';\nimport { setParseAdapter } from '@cabloy/zod-query';\n\nimport type { ILocaleRecord } from '../bean/resource/locale/type.ts';\nimport type { ZovaApplication } from '../core/app/application.ts';\n\nexport type ZodLocaleError = () => { localeError: z.core.$ZodErrorMap };\nexport type ZodLocaleErrors = Record<keyof ILocaleRecord, ZodLocaleError>;\n\nexport function zodEnhance(app: ZovaApplication) {\n setLocaleAdapter((text: string, iss?: object) => {\n return translateError(\n (text: string, ...args: any[]) => {\n return app.meta.text(text, ...args);\n },\n text,\n iss,\n );\n });\n}\n\nexport function zodEnhanceSys() {\n setParseAdapter(ZodMetadata);\n}\n\nexport function zodSetLocaleErrors(app: ZovaApplication, localeErrors: ZodLocaleErrors, localeDefault?: string) {\n setLocaleErrors(\n () => {\n return app.meta.locale.current;\n },\n localeErrors,\n localeDefault,\n );\n}\n","import type { ZovaConfigMeta } from '@cabloy/module-info';\n\nimport type { ILayoutRecord, TypeComponentAppRecord, TypeComponentLayoutRecord } from '../../bean/resource/component/type.ts';\nimport type { ILocaleRecord } from '../../bean/resource/locale/type.ts';\nimport type { ZovaConfigRoutes } from '../../bean/resource/page/type.ts';\nimport type { IBeanScopeConfig } from '../../bean/type.ts';\nimport type { ZovaConfigEnv } from '../../types/utils/env.ts';\nimport type { PowerPartial } from '../../types/utils/powerPartial.ts';\nimport type { ConfigLogger } from '../logger/types.ts';\n\nexport function configDefault(env: ZovaConfigEnv): PowerPartial<ZovaConfig> {\n const config: PowerPartial<ZovaConfig> = {\n meta: {\n flavor: env.META_FLAVOR,\n mode: env.META_MODE,\n appMode: env.META_APP_MODE,\n },\n };\n return config;\n}\n\nexport interface ZovaConfig {\n meta: ZovaConfigMeta;\n app: {\n name: string;\n title: string;\n description: string;\n version: string;\n };\n api: {\n baseURL: string;\n prefix: string;\n jwt: boolean;\n };\n ssr: {\n cookie: boolean;\n withVona: boolean;\n ignoreCookieOnServer: boolean;\n hmr: boolean;\n };\n ws: {\n baseURL: string;\n prefix: string;\n };\n logger: ConfigLogger;\n locale: {\n default: keyof ILocaleRecord;\n storeKey: string;\n items: Record<keyof ILocaleRecord, string>;\n };\n tz: {\n storeKey: string;\n };\n layout: {\n app: {\n component: keyof TypeComponentAppRecord;\n };\n component: {\n [K in keyof ILayoutRecord]: keyof TypeComponentLayoutRecord;\n };\n sidebar: {\n leftOpenPC: boolean;\n breakpoint: number;\n };\n };\n routes: ZovaConfigRoutes;\n modules: IBeanScopeConfig;\n}\n\nexport type ZovaConfigOptional = PowerPartial<ZovaConfig>;\n","import type { PowerPartial } from '../../index.ts';\n\nexport const constantDefault = {\n modules: {},\n};\n\nexport type ZovaConstant = {\n modules: Record<string, object>;\n} & typeof constantDefault;\n\nexport type ZovaConstantOptional = PowerPartial<ZovaConstant>;\n","import type { IModuleInfo } from '@cabloy/module-info';\nimport type { Component } from 'vue';\n\nimport type { ZovaSys } from '../../core/sys/sys.ts';\nimport type { Constructable } from '../../decorator/type/constructable.ts';\nimport type { StateLock } from '../../utils/stateLock.ts';\nimport type { IModuleMain, IModuleMainSys, IMonkeyApp, IMonkeyController, IMonkeyModule, IMonkeyModuleSys, IMonkeySys } from './monkey.ts';\n\nexport type TypeModuleResourceIcons = Record<string, string>;\nexport type TypeModuleResourceLocales = Record<string, object>;\nexport type TypeModuleResourceLocaleModules = Record<string, TypeModuleResourceLocales>;\nexport type TypeModuleResourceErrors = Record<string, number>;\nexport type TypeModuleResourceErrorModules = Record<string, TypeModuleResourceErrors>;\nexport type TypeModuleResourceComponents = Record<string, Component>;\nexport type TypeModuleResourceConfig = (sys: ZovaSys) => object | Promise<object>;\n\nexport interface IModuleResource {\n MainSys: Constructable<IModuleMainSys>;\n MonkeySys: Constructable<IMonkeyModuleSys & IMonkeySys>;\n Main: Constructable<IModuleMain>;\n Monkey: Constructable<IMonkeyModule & IMonkeyApp & IMonkeyController>;\n locales: TypeModuleResourceLocales;\n errors: TypeModuleResourceErrors;\n config: TypeModuleResourceConfig;\n constants: unknown;\n icons: TypeModuleResourceIcons;\n components: TypeModuleResourceComponents;\n}\n\nexport const SymbolInstalled = Symbol('SymbolInstalled');\n\ndeclare module '@cabloy/module-info' {\n export interface IModule {\n /** @internal */\n [SymbolInstalled]: StateLock;\n resource: IModuleResource; // IModuleResource | Promise<IModuleResource>;\n info: IModuleInfo;\n }\n}\n\nexport interface IModuleApp {\n /** @internal */\n [SymbolInstalled]: StateLock;\n}\n","import type { CookieOptions } from '../../types/index.ts';\n\n// from: quasar/ui/src/plugins/Cookies.js\nimport { BeanSimple } from '../../bean/beanSimple.ts';\nimport { cast } from '../../types/index.ts';\n\nexport class AppCookie extends BeanSimple {\n getItem(key: string): string | undefined;\n getItem(key?: undefined | null): Record<string, string>;\n getItem(key?: string | undefined | null): Record<string, string> | string | undefined {\n if (process.env.SERVER && !this.ctx) {\n throw new Error('cannot called in sys bean');\n }\n const cookieSource = cast(process.env.SERVER ? cast(this.ctx.meta).$ssr.context.req.headers : document);\n const cookies = cookieSource.cookie ? cookieSource.cookie.split('; ') : [];\n const l = cookies.length;\n let result: Record<string, string> | undefined = key ? undefined : {};\n let i = 0;\n let parts;\n let name;\n let cookie;\n\n for (; i < l; i++) {\n parts = cookies[i].split('=');\n name = decode(parts.shift());\n cookie = parts.join('=');\n\n if (!key) {\n cast(result)[name] = cookie;\n } else if (key === name) {\n result = read(cookie);\n break;\n }\n }\n\n return result;\n }\n\n setItem(key: string, value: string, opts?: CookieOptions): void {\n opts = opts || {};\n // only / , same as localstorage/indexdb\n opts.path = opts.path || '/';\n\n let expire, expireValue;\n\n if (opts.expires !== void 0) {\n // if it's a Date Object\n if (Object.prototype.toString.call(opts.expires) === '[object Date]') {\n expire = cast<Date>(opts.expires).toUTCString();\n } else if (typeof opts.expires === 'string') {\n // if it's a String (eg. \"15m\", \"1h\", \"13d\", \"1d 15m\", \"31s\")\n // possible units: d (days), h (hours), m (minutes), s (seconds)\n expire = parseExpireString(opts.expires);\n } else {\n // otherwise it must be a Number (defined in days)\n expireValue = Number.parseFloat(opts.expires.toString());\n expire = Number.isNaN(expireValue) === false ? getString(expireValue * 864e5) : opts.expires;\n }\n }\n\n const keyValue = `${encode(key)}=${stringifyCookieValue(value)}`;\n\n const cookie = [\n keyValue,\n expire !== void 0 ? `; Expires=${expire}` : '', // use expires attribute, max-age is not supported by IE\n opts.path ? `; Path=${opts.path}` : '',\n opts.domain ? `; Domain=${opts.domain}` : '',\n opts.sameSite ? `; SameSite=${opts.sameSite}` : '',\n opts.httpOnly ? '; HttpOnly' : '',\n opts.secure ? '; Secure' : '',\n opts.other ? `; ${opts.other}` : '',\n ].join('');\n\n if (process.env.SERVER) {\n const req = cast(this.ctx.meta).$ssr.context.req;\n const res = cast(this.ctx.meta).$ssr.context.res;\n const reqAny = cast(req);\n const resAny = cast(res);\n if (reqAny.qCookies) {\n reqAny.qCookies.push(cookie);\n } else {\n reqAny.qCookies = [cookie];\n }\n\n resAny.setHeader('Set-Cookie', reqAny.qCookies);\n\n // make temporary update so future get()\n // within same SSR timeframe would return the set value\n\n let all = reqAny.headers.cookie || '';\n\n if (expire !== void 0 && expireValue < 0) {\n const val = this.getItem(key);\n if (val !== undefined) {\n all = all.replace(`${key}=${val}; `, '').replace(`; ${key}=${val}`, '').replace(`${key}=${val}`, '');\n }\n } else {\n all = all ? `${keyValue}; ${all}` : cookie;\n }\n\n reqAny.headers.cookie = all;\n } else {\n document.cookie = cookie;\n }\n }\n\n removeItem(key: string, opts?: CookieOptions): void {\n this.setItem(\n key,\n '',\n Object.assign(\n {\n expires: -1,\n },\n opts,\n ),\n );\n }\n}\n\nfunction encode(string) {\n return encodeURIComponent(string);\n}\n\nfunction decode(string) {\n return decodeURIComponent(string);\n}\n\nfunction stringifyCookieValue(value) {\n return encode(value === Object(value) ? JSON.stringify(value) : `${value}`);\n}\n\nfunction read(string) {\n if (string === '') {\n return string;\n }\n\n if (string.indexOf('\"') === 0) {\n // This is a quoted cookie as according to RFC2068, unescape...\n string = string.slice(1, -1).replace(/\\\\\"/g, '\"').replace(/\\\\\\\\/g, '\\\\');\n }\n\n // Replace server-side written pluses with spaces.\n // If we can't decode the cookie, ignore it, it's unusable.\n // If we can't parse the cookie, ignore it, it's unusable.\n string = decode(string.replace(/\\+/g, ' '));\n\n return string;\n}\n\nfunction parseExpireString(str) {\n let timestamp = 0;\n\n const days = str.match(/(\\d+)d/);\n const hours = str.match(/(\\d+)h/);\n const minutes = str.match(/(\\d+)m/);\n const seconds = str.match(/(\\d+)s/);\n\n if (days) {\n timestamp += days[1] * 864e5;\n }\n if (hours) {\n timestamp += hours[1] * 36e5;\n }\n if (minutes) {\n timestamp += minutes[1] * 6e4;\n }\n if (seconds) {\n timestamp += seconds[1] * 1000;\n }\n\n return timestamp === 0 ? str : getString(timestamp);\n}\n\nfunction getString(msOffset) {\n const time = new Date();\n time.setMilliseconds(time.getMilliseconds() + msOffset);\n return time.toUTCString();\n}\n","import { compose } from '@cabloy/compose';\n\nimport type {\n IEventRecord,\n NextEventStrict,\n NextEventSyncStrict,\n TypeEventHandler,\n TypeEventHandlers,\n TypeEventHandlersMap,\n TypeEventOff,\n} from '../../types/interface/event.js';\n\nimport { BeanSimple } from '../../bean/beanSimple.ts';\nimport { cast } from '../../types/utils/cast.ts';\n\nconst __adapter = (_context, chain) => {\n const eventHandlerWrapper = chain;\n if (!eventHandlerWrapper.fn) return;\n return {\n receiver: undefined,\n fn: eventHandlerWrapper.fn,\n };\n};\n\nexport class AppEvent extends BeanSimple {\n private eventHandlersMap = {} as TypeEventHandlersMap<keyof IEventRecord>;\n\n /** @internal */\n public async initialize() {}\n\n /** @internal */\n public dispose() {\n this.eventHandlersMap = {} as any;\n }\n\n public getEventHandlers<K extends keyof IEventRecord>(eventName: K): TypeEventHandlers<IEventRecord[K]['data'], IEventRecord[K]['result']> {\n let eventHandlers = this.eventHandlersMap[eventName];\n if (!eventHandlers) {\n eventHandlers = this.eventHandlersMap[eventName] = [] as any;\n }\n return eventHandlers;\n }\n\n async emit<K extends keyof IEventRecord>(\n eventName: K,\n data?: IEventRecord[K]['data'],\n nextOrDefault?: NextEventStrict<IEventRecord[K]['data'], IEventRecord[K]['result']> | IEventRecord[K]['result'],\n ): Promise<IEventRecord[K]['result']> {\n const eventHandlers = this.getEventHandlers(eventName);\n const next =\n typeof nextOrDefault === 'function'\n ? cast<NextEventStrict<IEventRecord[K]['data'], IEventRecord[K]['result']>>(nextOrDefault)\n : async (): Promise<IEventRecord[K]['result']> => {\n return nextOrDefault! as IEventRecord[K]['result'];\n };\n return await compose(eventHandlers.concat(), __adapter)(data, next);\n }\n\n emitSync<K extends keyof IEventRecord>(\n eventName: K,\n data?: IEventRecord[K]['data'],\n nextOrDefault?: NextEventSyncStrict<IEventRecord[K]['data'], IEventRecord[K]['result']> | IEventRecord[K]['result'],\n ): IEventRecord[K]['result'] {\n const eventHandlers = this.getEventHandlers(eventName);\n const next =\n typeof nextOrDefault === 'function'\n ? cast<NextEventSyncStrict<IEventRecord[K]['data'], IEventRecord[K]['result']>>(nextOrDefault)\n : (): IEventRecord[K]['result'] => {\n return nextOrDefault!;\n };\n return compose(eventHandlers.concat(), __adapter)(data, next);\n }\n\n on<K extends keyof IEventRecord>(eventName: K, fn: TypeEventHandler<IEventRecord[K]['data'], IEventRecord[K]['result']>): TypeEventOff {\n const eventHandlers = this.getEventHandlers(eventName);\n eventHandlers.push({ fn });\n return () => {\n const index = eventHandlers.findIndex(item => item.fn === fn);\n if (index > -1) {\n eventHandlers[index].fn = undefined;\n eventHandlers.splice(index, 1);\n }\n };\n }\n\n once<K extends keyof IEventRecord>(eventName: K, fn: TypeEventHandler<IEventRecord[K]['data'], IEventRecord[K]['result']>): TypeEventOff {\n const off = this.on(eventName, async (data, next) => {\n const res = await fn(data, next);\n off();\n return res;\n });\n return off;\n }\n}\n","import type { LoggerLevel } from '@cabloy/logger';\n\nimport { Logger } from '@cabloy/logger';\n\nimport type { ILoggerChildRecord, ILoggerClientRecord, TypeLoggerOptions } from './types.ts';\n\nimport { BeanSimple } from '../../bean/beanSimple.ts';\nimport { sys } from '../sys/sys.ts';\nimport { deepExtend } from '../sys/util.ts';\n\nconst SymbolLoggerInstances = Symbol('SymbolLoggerInstances');\n\nexport class SysLogger extends BeanSimple {\n private [SymbolLoggerInstances]: Record<keyof ILoggerClientRecord, Logger> = {} as any;\n\n public dispose() {\n for (const key in this[SymbolLoggerInstances]) {\n const logger = this[SymbolLoggerInstances][key];\n _closeLogger(logger);\n }\n this[SymbolLoggerInstances] = {} as any;\n }\n\n get(clientName?: keyof ILoggerClientRecord) {\n clientName = clientName || 'default';\n if (!this[SymbolLoggerInstances][clientName]) {\n this[SymbolLoggerInstances][clientName] = this._createClient(clientName);\n }\n return this[SymbolLoggerInstances][clientName];\n }\n\n child(childName?: keyof ILoggerChildRecord, clientName?: keyof ILoggerClientRecord) {\n const logger = this.get(clientName);\n if (!childName) return logger;\n return logger.child({ name: childName });\n }\n\n getFilterLevel(clientName?: keyof ILoggerClientRecord): LoggerLevel | undefined {\n return getLoggerFilterLevel(clientName);\n }\n\n setFilterLevel(level: LoggerLevel | boolean, clientName?: keyof ILoggerClientRecord) {\n setLoggerFilterLevel(level, clientName);\n }\n\n private _createClient(clientName: keyof ILoggerClientRecord): Logger {\n const configClient = this.sys.config.logger.clients[clientName];\n if (!configClient) throw new Error(`logger client not found: ${clientName}`);\n const configNode = deepExtend(\n {},\n this._prepareConfigClient(clientName, this.sys.config.logger.base),\n this._prepareConfigClient(clientName, configClient as unknown as TypeLoggerOptions),\n );\n const logger = new Logger(configNode);\n return logger;\n }\n\n private _prepareConfigClient(clientName: keyof ILoggerClientRecord, configClient: TypeLoggerOptions) {\n if (typeof configClient !== 'function') return configClient;\n return configClient.call(this.sys, {\n clientName,\n level: () => getLoggerFilterLevel(clientName),\n });\n }\n}\n\nfunction _closeLogger(logger: Logger) {\n if ((logger as any).__closed__) return;\n logger.end();\n (logger as any).__closed__ = true;\n}\n\nexport function getLoggerFilterLevel(clientName?: keyof ILoggerClientRecord): LoggerLevel | undefined {\n clientName = clientName || 'default';\n if (sys.env.META_MODE === 'production') return; // disable on prod: not use process.env.PROD\n const envName = `LOGGER_CLIENT_${clientName.toUpperCase()}`;\n const level = sys.env[envName];\n if (level === 'false') return;\n if (level === 'true' || !level) return 'info';\n return level as LoggerLevel;\n}\n\nexport function setLoggerFilterLevel(level: LoggerLevel | boolean, clientName?: keyof ILoggerClientRecord) {\n clientName = clientName || 'default';\n if (sys.env.META_MODE === 'production') return; // disable on prod: not use process.env.PROD\n const envName = `LOGGER_CLIENT_${clientName.toUpperCase()}`;\n sys.env[envName] = level.toString();\n}\n","import type { ZovaSys } from '../core/sys/sys.ts';\n\nimport { sys } from '../core/sys/sys.ts';\n\nexport function useSys(): ZovaSys {\n return sys;\n}\n","import { defineAsyncComponent } from 'vue';\n\nimport { useSys } from '../composables/useSys.ts';\n\nexport function createZovaComponentAsync(module: string, name?: string) {\n return defineAsyncComponent(() => {\n return new Promise(resolve => {\n const sys = useSys();\n sys.meta.component.use(module, name).then(value => {\n resolve(value as any);\n });\n });\n });\n}\n","import type { Component } from 'vue';\n\nimport { markRaw } from 'vue';\n\nimport type { IZovaComponentRecord } from '../../bean/resource/component/type.ts';\n\nimport { BeanSimple } from '../../bean/beanSimple.ts';\nimport { createZovaComponentAsync } from '../../components/createZovaComponentAsync.ts';\n\nconst SymbolZovaComponents = Symbol('SymbolZovaComponents');\n\nexport class SysComponent extends BeanSimple {\n private [SymbolZovaComponents]: Record<string, any> = {};\n\n /** @internal */\n public async initialize() {}\n\n /** @internal */\n public dispose() {}\n\n public createAsyncComponent(module: string, name?: string) {\n return () => {\n return this.use(module, name);\n };\n // should not use defineAsyncComponent\n // return defineAsyncComponent(() => {\n // return this.use(componentName);\n // });\n }\n\n public getZovaComponent<K extends keyof IZovaComponentRecord>(componentName: K): IZovaComponentRecord[K];\n public getZovaComponent(module: string, name: string);\n public getZovaComponent(module: string, name?: string) {\n const componentName = module.includes(':') ? module : `${module}:${name}`;\n if (!this[SymbolZovaComponents][componentName]) {\n this[SymbolZovaComponents][componentName] = markRaw(createZovaComponentAsync(componentName));\n }\n return this[SymbolZovaComponents][componentName];\n }\n\n public async use(module: string, name?: string): Promise<Component> {\n if (module.includes(':')) {\n const parts = module.split(':');\n module = parts[0];\n name = parts[1];\n }\n const _module = await this.sys.meta.module.use(module);\n return _module.resource.components[name!];\n }\n}\n","import type { TypeModuleResourceErrorModules } from '../../types/interface/module.ts';\n\nimport { BeanSimple } from '../../bean/beanSimple.ts';\n\nexport class SysError extends BeanSimple {\n /** @internal */\n public errors: TypeModuleResourceErrorModules;\n\n /** @internal */\n public async initialize() {\n this.errors = {};\n }\n\n /** @internal */\n public dispose() {\n this.errors = {};\n }\n}\n","import type { Ref } from 'vue';\n\nimport * as localeutil from '@cabloy/localeutil';\nimport { ref } from 'vue';\n\nimport type { ILocaleRecord, IModuleLocale, IModuleLocaleText } from '../../bean/resource/locale/type.ts';\n\nimport { BeanSimple } from '../../bean/beanSimple.ts';\nimport { LocaleModuleNameSeparator } from '../../bean/resource/locale/type.ts';\n\nconst SymbolLocaleCurrent = Symbol('SymbolLocaleCurrent');\nconst SymbolTzCurrent = Symbol('SymbolTzCurrent');\n\nexport class AppLocale extends BeanSimple {\n private [SymbolLocaleCurrent]: Ref<string | undefined> = ref();\n private [SymbolTzCurrent]: Ref<string | undefined> = ref();\n\n get metaCookie() {\n return this.app ? this.app.meta.cookie : this.sys.meta.cookie;\n }\n\n get current(): keyof ILocaleRecord {\n let locale = this[SymbolLocaleCurrent].value;\n if (!locale && this.sys.config.ssr.cookie) locale = this.metaCookie.getItem(this.sys.config.locale.storeKey);\n if (!locale) locale = this.sys.config.locale.default;\n return locale as keyof ILocaleRecord;\n }\n\n set current(value: keyof ILocaleRecord) {\n if (this[SymbolLocaleCurrent].value === value) return;\n this[SymbolLocaleCurrent].value = value;\n if (this.sys.config.ssr.cookie) {\n this.metaCookie.setItem(this.sys.config.locale.storeKey, value);\n }\n }\n\n get tz(): string {\n let tz = this[SymbolTzCurrent].value;\n if (!tz) tz = this.metaCookie.getItem(this.sys.config.tz.storeKey);\n if (!tz) tz = Intl.DateTimeFormat().resolvedOptions().timeZone;\n return tz;\n }\n\n set tz(value: string) {\n if (this[SymbolTzCurrent].value === value) return;\n this[SymbolTzCurrent].value = value;\n this.metaCookie.setItem(this.sys.config.tz.storeKey, value);\n }\n\n /** @internal */\n public async initialize() {}\n\n /** @internal */\n public createLocaleText(moduleScope?: string): IModuleLocaleText {\n const self = this;\n const getText = function (text: string, ...args: any[]): string {\n return self.getText(false, moduleScope, undefined, text, ...args);\n };\n getText.locale = function <T extends keyof ILocaleRecord>(locale: T | undefined, text: string, ...args: any[]): string {\n return self.getText(false, moduleScope, locale, text, ...args);\n };\n return getText;\n }\n\n /** @internal */\n public createScopeLocaleText(moduleScope: string, text: string): IModuleLocale {\n const self = this;\n const getText = function (...args: any[]): string {\n return self.getText(false, moduleScope, undefined, text, ...args);\n };\n getText.locale = function <T extends keyof ILocaleRecord>(locale: T | undefined, ...args: any[]): string {\n return self.getText(false, moduleScope, locale, text, ...args);\n };\n return getText;\n }\n\n public getText<T extends keyof ILocaleRecord>(\n supportCustomMessage: boolean,\n moduleScope: string | undefined,\n locale: T | undefined,\n key: string,\n ...args: any[]\n ): string {\n if (!key) return key;\n if (typeof key !== 'string') throw new Error(`${key} should be string`);\n const pos = key.indexOf(LocaleModuleNameSeparator);\n if (pos > -1) {\n moduleScope = key.substring(0, pos);\n key = key.substring(pos + LocaleModuleNameSeparator.length);\n }\n return localeutil.getLocaleText(\n supportCustomMessage,\n moduleScope ? this.sys.meta.locale.localeModules[moduleScope] : undefined,\n this.sys.meta.locale.locales,\n locale || this.current,\n key,\n ...args,\n );\n }\n}\n","import type { TypeModuleResourceLocaleModules, TypeModuleResourceLocales } from '../../types/interface/module.ts';\nimport type { ZovaLocaleOptionalMap } from '../app/locale.ts';\n\nimport { AppLocale } from '../component/locale.ts';\n\nexport class SysLocale extends AppLocale {\n /** @internal */\n public locales: TypeModuleResourceLocales = {};\n public localeModules: TypeModuleResourceLocaleModules = {};\n\n /** @internal */\n public async initialize(locales?: ZovaLocaleOptionalMap) {\n if (!locales) return;\n for (const locale in locales) {\n const moduleMap = locales[locale].modules;\n for (const moduleName in moduleMap) {\n this._registerLocale(moduleName, locale, moduleMap[moduleName]);\n }\n }\n }\n\n /** @internal */\n public dispose() {\n this.locales = {};\n this.localeModules = {};\n }\n\n /** @internal */\n public _registerLocales(moduleName: string, locales: TypeModuleResourceLocales) {\n if (!locales) return;\n for (const locale in locales) {\n this._registerLocale(moduleName, locale, locales[locale]);\n }\n }\n\n private _registerLocale(moduleName: string, locale: string, moduleLocales: object) {\n // locales\n this.locales[locale] = Object.assign({}, moduleLocales, this.locales[locale]);\n // localeModules\n if (!this.localeModules[moduleName]) this.localeModules[moduleName] = {};\n this.localeModules[moduleName][locale] = Object.assign({}, moduleLocales, this.localeModules[moduleName][locale]);\n }\n}\n","import type { IModule, IModuleInfo } from '@cabloy/module-info';\n\nimport * as ModuleInfo from '@cabloy/module-info';\nimport { forEach, forEachSync } from '@cabloy/utils';\nimport { shallowReactive } from 'vue';\n\nimport type { TypeBeanScopeRecordKeys } from '../../bean/type.ts';\nimport type { IModuleMainSys, IModuleResource, IMonkeyModuleSys, IMonkeySys, PluginZovaModulesMeta, TypeMonkeyName } from '../../types/index.ts';\n\nimport { BeanSimple } from '../../bean/beanSimple.ts';\nimport { SymbolInstalled } from '../../types/index.ts';\nimport { StateLock } from '../../utils/stateLock.ts';\nimport { deepExtend } from '../sys/util.ts';\n\nexport class SysModule extends BeanSimple {\n public modulesMeta: PluginZovaModulesMeta;\n private modules: Record<string, IModule> = shallowReactive({});\n private mainInstances: Record<string, IModuleMainSys> = {};\n private monkeyInstances: Record<string, IMonkeyModuleSys & IMonkeySys> = {};\n\n /** @internal */\n public async initialize(modulesMeta: PluginZovaModulesMeta) {\n this.modulesMeta = modulesMeta;\n await this._loadAllMonkeysAndSyncsAndPreloads();\n await this._requireAllSpecifics('preload');\n await this._requireAllSpecifics('monkey');\n await this._requireAllSpecifics('sync');\n if (process.env.SERVER) {\n await this._requireAllOthers();\n }\n }\n\n /** @internal */\n public dispose() {\n this.modulesMeta = undefined as any;\n }\n\n get<K extends TypeBeanScopeRecordKeys>(moduleName: K): IModule | undefined;\n get(moduleName: string): IModule | undefined;\n get(moduleName: IModuleInfo): IModule | undefined;\n get(moduleName: string | IModuleInfo): IModule | undefined {\n // module info\n if (!moduleName) return undefined;\n const moduleInfo = typeof moduleName === 'string' ? ModuleInfo.parseInfo(moduleName) : moduleName;\n if (!moduleInfo) throw new Error(`invalid module name: ${moduleName}`);\n // get\n const module = this.modules[moduleInfo.relativeName];\n if (!module) {\n return undefined;\n }\n if (!module[SymbolInstalled] || !module[SymbolInstalled].state) {\n return undefined;\n }\n return module;\n }\n\n async use<K extends TypeBeanScopeRecordKeys>(moduleName: K): Promise<IModule>;\n async use(moduleName: string): Promise<IModule>;\n async use(moduleName: IModuleInfo): Promise<IModule>;\n async use(moduleName?: string | IModuleInfo): Promise<IModule> {\n // module info\n if (!moduleName) throw new Error('should specify the module name');\n const moduleInfo = typeof moduleName === 'string' ? ModuleInfo.parseInfo(moduleName) : moduleName;\n if (!moduleInfo) throw new Error(`invalid module name: ${moduleName}`);\n const relativeName = moduleInfo.relativeName;\n // should not try check get directly\n // const module = this.getOnly(relativeName);\n // if (module) return module;\n // module\n const moduleRepo = this.modulesMeta.modules[relativeName];\n if (!moduleRepo) throw new Error(`module not exists: ${relativeName}`);\n // install\n await this._install(relativeName, moduleRepo);\n // ok\n return moduleRepo;\n }\n\n exists<K extends TypeBeanScopeRecordKeys>(moduleName: K): boolean;\n exists(moduleName: string): boolean;\n exists(moduleName: IModuleInfo): boolean;\n exists(moduleName: string | IModuleInfo): boolean {\n // module info\n if (!moduleName) return false;\n const moduleInfo = typeof moduleName === 'string' ? ModuleInfo.parseInfo(moduleName) : moduleName;\n if (!moduleInfo) throw new Error(`invalid module name: ${moduleName}`);\n const moduleRepo = this.modulesMeta.modules[moduleInfo.relativeName];\n return !!moduleRepo;\n }\n\n private async _loadAllMonkeysAndSyncsAndPreloads() {\n const moduleNames: string[] = [];\n for (const moduleName of this.modulesMeta.moduleNames) {\n const module = this.modulesMeta.modules[moduleName];\n const info = module.info;\n const shouldLoad = process.env.SERVER || info.capabilities?.monkey || info.capabilities?.sync || info.capabilities?.preload;\n if (shouldLoad) {\n const moduleResource = module.resource as any;\n if (typeof moduleResource === 'function') {\n moduleNames.push(moduleName);\n }\n }\n }\n await this.loadModules(moduleNames);\n }\n\n public async loadModules(moduleNames: string[]) {\n if (moduleNames.length === 0) return;\n const promises: Promise<IModuleResource>[] = [];\n const moduleNamesLoading: string[] = [];\n for (const moduleName of moduleNames) {\n const module = this.modulesMeta.modules[moduleName];\n if (!module) throw new Error(`module not found: ${moduleName}`);\n const moduleResource = module.resource as any;\n if (typeof moduleResource === 'function') {\n const promise = moduleResource();\n if (process.env.SERVER && process.env.DEV) {\n await promise;\n }\n promises.push(promise);\n moduleNamesLoading.push(moduleName);\n }\n }\n const modulesResource = await Promise.all(promises);\n for (let i = 0; i < modulesResource.length; i++) {\n const moduleName = moduleNamesLoading[i];\n this.modulesMeta.modules[moduleName].resource = modulesResource[i];\n }\n }\n\n private async _requireAllSpecifics(capabilityName: 'preload' | 'monkey' | 'sync') {\n const moduleNames = this.modulesMeta.moduleNames.filter(moduleName => {\n const module = this.modulesMeta.modules[moduleName];\n return module.info.capabilities?.[capabilityName];\n });\n if (moduleNames.length > 0) {\n this.sys.meta.logger.child('module', 'default').debug(`modules ${capabilityName}: ${moduleNames.join(',')}`);\n }\n for (const moduleName of moduleNames) {\n const module = this.modulesMeta.modules[moduleName];\n await this._install(moduleName, module);\n }\n }\n\n private async _requireAllOthers() {\n for (const moduleName of this.modulesMeta.moduleNames) {\n const module = this.modulesMeta.modules[moduleName];\n const info = module.info;\n const shouldInstall = !info.capabilities?.monkey && !info.capabilities?.sync && !info.capabilities?.preload;\n if (shouldInstall) {\n await this._install(moduleName, module);\n }\n }\n }\n\n /** @internal */\n public async _install(moduleName: string, moduleRepo: IModule) {\n // check\n if (this.modules[moduleName]) {\n const module = this.modules[moduleName];\n // should check state, otherwise infinite loop\n if (module[SymbolInstalled].state) return;\n // wait\n await module[SymbolInstalled].wait();\n // scope: should after [SymbolInstalled].touch\n await this.sys.bean._getBean(`${moduleName}.scope.module` as any, false);\n return;\n }\n // state\n const module = moduleRepo;\n module[SymbolInstalled] = StateLock.create();\n // record\n this.modules[moduleName] = module;\n // install\n await this._installInner(moduleName, moduleRepo);\n // installed\n module[SymbolInstalled].touch();\n // scope: should after [SymbolInstalled].touch\n await this.sys.bean._getBean(`${moduleName}.scope.module` as any, false);\n // monkey: moduleLoaded\n await this._monkeyModule(true, 'moduleLoaded', module);\n }\n\n private async _installInner(moduleName: string, moduleRepo: IModule) {\n // load\n if (typeof moduleRepo.resource === 'function') {\n const moduleResource = moduleRepo.resource as any;\n moduleRepo.resource = await moduleResource();\n }\n // main / monkey\n if (moduleRepo.resource.MainSys) {\n this.mainInstances[moduleName] = this.sys.bean._newBeanSimple(moduleRepo.resource.MainSys, false, moduleRepo);\n }\n if (moduleRepo.resource.MonkeySys) {\n this.monkeyInstances[moduleName] = this.sys.bean._newBeanSimple(moduleRepo.resource.MonkeySys, false, moduleRepo);\n }\n // monkey: moduleLoading\n await this._monkeyModule(true, 'moduleLoading', moduleRepo);\n // register resources\n await this._registerResources(moduleRepo);\n }\n\n private async _registerResources(module: IModule) {\n this._registerLocales(module);\n this._registerErrors(module);\n this._registerConstants(module);\n await this._registerConfig(module);\n }\n\n private _registerErrors(module: IModule) {\n if (!module.resource.errors) return;\n this.sys.meta.error.errors[module.info.relativeName] = module.resource.errors;\n }\n\n private _registerLocales(module: IModule) {\n this.sys.meta.locale._registerLocales(module.info.relativeName, module.resource.locales);\n }\n\n private _registerConstants(module: IModule) {\n if (!module.resource.constants) return;\n const relativeName = module.info.relativeName;\n this.sys.constant.modules[relativeName] = deepExtend({}, module.resource.constants, this.sys.constant.modules[relativeName]);\n }\n\n private async _registerConfig(module: IModule) {\n if (!module.resource.config) return;\n // config\n const config = await module.resource.config(this.sys);\n // monkey\n await this._monkeyModule(true, 'configLoaded', module, config);\n // extend\n const relativeName = module.info.relativeName;\n this.sys.config.modules[relativeName] = deepExtend({}, config, this.sys.config.modules[relativeName]);\n this.sys.configOriginal.modules![relativeName] = config;\n }\n\n /** @internal */\n public async _monkeyModule(order: boolean, monkeyName: TypeMonkeyName, moduleTarget?: IModule, ...monkeyData: any[]) {\n // self: main\n if (moduleTarget) {\n const mainInstance = this.mainInstances[moduleTarget.info.relativeName];\n if (mainInstance && mainInstance[monkeyName]) {\n await mainInstance[monkeyName](...monkeyData);\n }\n }\n // module monkey\n await forEach(this.modulesMeta.moduleNames, order, async key => {\n const moduleMonkey: IModule = this.modulesMeta.modules[key];\n if (moduleMonkey.info.capabilities?.monkey) {\n const monkeyInstance = this.monkeyInstances[key];\n if (monkeyInstance && monkeyInstance[monkeyName]) {\n if (moduleTarget === undefined) {\n // @ts-ignore ignore\n await monkeyInstance[monkeyName](...monkeyData);\n } else {\n // @ts-ignore ignore\n await monkeyInstance[monkeyName](moduleTarget, ...monkeyData);\n }\n }\n }\n });\n // sys monkey\n const sysMonkey = this.sys.meta.sysMonkey;\n if (sysMonkey && sysMonkey[monkeyName]) {\n if (moduleTarget === undefined) {\n // @ts-ignore ignore\n await sysMonkey[monkeyName](...monkeyData);\n } else {\n // @ts-ignore ignore\n await sysMonkey[monkeyName](moduleTarget, ...monkeyData);\n }\n }\n }\n\n /** @internal */\n public _monkeyModuleSync(order: boolean, monkeyName: TypeMonkeyName, moduleTarget?: IModule, ...monkeyData: any[]) {\n // self: main\n if (moduleTarget) {\n const mainInstance = this.mainInstances[moduleTarget.info.relativeName];\n if (mainInstance && mainInstance[monkeyName]) {\n mainInstance[monkeyName](...monkeyData);\n }\n }\n // module monkey\n forEachSync(this.modulesMeta.moduleNames, order, key => {\n const moduleMonkey: IModule = this.modulesMeta.modules[key];\n if (moduleMonkey.info.capabilities?.monkey) {\n const monkeyInstance = this.monkeyInstances[key];\n if (monkeyInstance && monkeyInstance[monkeyName]) {\n if (moduleTarget === undefined) {\n // @ts-ignore ignore\n monkeyInstance[monkeyName](...monkeyData);\n } else {\n // @ts-ignore ignore\n monkeyInstance[monkeyName](moduleTarget, ...monkeyData);\n }\n }\n }\n });\n // app monkey\n const sysMonkey = this.sys.meta.sysMonkey;\n if (sysMonkey && sysMonkey[monkeyName]) {\n if (moduleTarget === undefined) {\n // @ts-ignore ignore\n sysMonkey[monkeyName](...monkeyData);\n } else {\n // @ts-ignore ignore\n sysMonkey[monkeyName](moduleTarget, ...monkeyData);\n }\n }\n }\n}\n","import type { RouteRecordRaw } from '@cabloy/vue-router';\n\nimport type { Constructable } from '../../decorator/type/constructable.ts';\nimport type { IMonkeyModuleSys, IMonkeySys } from '../../types/interface/monkey.ts';\n\nimport { BeanSimple } from '../../bean/beanSimple.ts';\nimport { AppCookie } from '../component/cookie.ts';\nimport { AppEvent } from '../component/event.ts';\nimport { SysLogger } from '../logger/logger.ts';\nimport { SysComponent } from './component.ts';\nimport { SysError } from './error.ts';\nimport { SysLocale } from './locale.ts';\nimport { SysModule } from './module.ts';\n\nexport class SysMeta extends BeanSimple {\n module: SysModule;\n component: SysComponent;\n logger: SysLogger;\n locale: SysLocale;\n error: SysError;\n event: AppEvent;\n cookie: AppCookie;\n\n /** @internal */\n public sysMonkey?: IMonkeyModuleSys & IMonkeySys;\n\n /** @internal */\n public legacyRoutes?: RouteRecordRaw[];\n\n protected __init__() {\n this.module = this.bean._newBeanSimple(SysModule, false);\n this.component = this.bean._newBeanSimple(SysComponent, false);\n this.logger = this.bean._newBeanSimple(SysLogger, false);\n this.locale = this.bean._newBeanSimple(SysLocale, false);\n this.error = this.bean._newBeanSimple(SysError, false);\n this.event = this.bean._newBeanSimple(AppEvent, false);\n this.cookie = this.bean._newBeanSimple(AppCookie, false);\n }\n\n /** @internal */\n public dispose() {\n this.event.dispose();\n this.module.dispose();\n this.component.dispose();\n this.logger.dispose();\n this.locale.dispose();\n this.error.dispose();\n this.sysMonkey = undefined;\n this.legacyRoutes = undefined;\n }\n\n /** @internal */\n public async initialize(SysMonkey?: Constructable<IMonkeyModuleSys & IMonkeySys>, legacyRoutes?: RouteRecordRaw[]) {\n if (SysMonkey) {\n this.sysMonkey = this.bean._newBeanSimple(SysMonkey, false);\n }\n this.legacyRoutes = legacyRoutes;\n }\n}\n","import type { ViteHotContext } from 'vite/types/hot.js';\n\nimport type { TypeModuleResourceConfig } from '../../types/interface/module.ts';\nimport type { PluginZovaOptions } from '../../types/interface/pluginZova.ts';\nimport type { ZovaConfigEnv } from '../../types/utils/env.ts';\nimport type { ZovaConfig } from './config.ts';\nimport type { ZovaConstant } from './constant.ts';\n\nimport { BeanContainer } from '../../bean/beanContainer.ts';\nimport { cast } from '../../types/utils/cast.ts';\nimport { zodEnhanceSys } from '../../utils/zod-enhance.ts';\nimport { configDefault } from './config.ts';\nimport { constantDefault } from './constant.ts';\nimport { SysMeta } from './meta.ts';\nimport { appResource } from './resource.ts';\nimport { setSys } from './sysFake.ts';\nimport { deepExtend, SysUtil } from './util.ts';\n\nconst SymbolSysInitializePromise = Symbol('SymbolSysInitializePromise');\nconst SymbolSysClose = Symbol('SymbolSysClose');\n\nexport class ZovaSys {\n private [SymbolSysInitializePromise]: Promise<void> | undefined;\n private [SymbolSysClose]: boolean;\n bean: BeanContainer;\n util: SysUtil;\n meta: SysMeta;\n config: ZovaConfig;\n configOriginal: Partial<ZovaConfig>;\n env: ZovaConfigEnv;\n constant: ZovaConstant;\n\n constructor() {\n // zod\n zodEnhanceSys();\n }\n\n /** @internal */\n\n public async initialize(\n { modulesMeta, locales, config, env, viteHot, SysMonkey, legacyRoutes }: PluginZovaOptions,\n envRuntime?: Partial<ZovaConfigEnv>,\n ) {\n if (!this[SymbolSysInitializePromise]) {\n this[SymbolSysInitializePromise] = this._initializeInner({ modulesMeta, locales, config, env, viteHot, SysMonkey, legacyRoutes }, envRuntime);\n }\n return this[SymbolSysInitializePromise];\n }\n\n private async _initializeInner(\n { modulesMeta, locales, config, env, viteHot, SysMonkey, legacyRoutes }: PluginZovaOptions,\n envRuntime?: Partial<ZovaConfigEnv>,\n ) {\n // maybe init again\n this[SymbolSysClose] = false;\n // init\n this.bean = BeanContainer.create(this, null!, null);\n this.util = this.bean._newBeanSimple(SysUtil, false);\n this.meta = this.bean._newBeanSimple(SysMeta, false);\n // env\n this.env = this._prepareEnv(env, envRuntime);\n // monkey\n await this.meta.initialize(SysMonkey, legacyRoutes);\n // component\n await this.meta.component.initialize();\n // locales\n await this.meta.locale.initialize(locales);\n // errors\n await this.meta.error.initialize();\n // // config\n this.config = await this._combineConfig(config);\n this.configOriginal = { modules: {} } as any;\n // constant\n this.constant = constantDefault;\n // module\n await this.meta.module.initialize(modulesMeta);\n // monkey: sysInitialize\n await this.meta.module._monkeyModule(true, 'sysInitialize');\n // monkey: sysInitialized\n await this.meta.module._monkeyModule(true, 'sysInitialized');\n // monkey: sysReady\n await this.meta.module._monkeyModule(true, 'sysReady');\n // hookClose\n this._hookClose(viteHot);\n }\n\n private _hookClose(viteHot: ViteHotContext) {\n if (process.env.DEV && viteHot) {\n const hook = _payload => {\n this.close();\n viteHot.off('vite:beforeFullReload', hook);\n };\n viteHot.on('vite:beforeFullReload', hook);\n }\n if (process.env.CLIENT && typeof window !== 'undefined') {\n const hook = () => {\n this.close();\n window.removeEventListener('beforeunload', hook);\n };\n window.addEventListener('beforeunload', hook);\n }\n }\n\n public close() {\n if (this[SymbolSysClose]) return;\n this[SymbolSysClose] = true;\n // monkey: sysClose\n this.meta.module._monkeyModuleSync(false, 'sysClose');\n // container dispose\n this.bean.dispose();\n // meta dispose\n this.meta.dispose();\n // appResource\n appResource.dispose();\n // init promise\n this[SymbolSysInitializePromise] = undefined;\n }\n\n private async _combineConfig(config: TypeModuleResourceConfig[]): Promise<ZovaConfig> {\n const _config = deepExtend({}, configDefault(this.env));\n for (const configFn of config) {\n deepExtend(_config, await configFn(this));\n }\n return _config;\n }\n\n // eslint-disable-next-line no-undef\n private _prepareEnv(env: NodeJS.ProcessEnv, envRuntime?: Partial<ZovaConfigEnv>): ZovaConfigEnv {\n const env2 = this._prepareEnv_Runtime(env, envRuntime);\n const env3 = this._prepareEnv_Client(env2 as any);\n return env3;\n }\n\n // eslint-disable-next-line no-undef\n private _prepareEnv_Runtime(env: NodeJS.ProcessEnv, envRuntime?: Partial<ZovaConfigEnv>): ZovaConfigEnv {\n return _mergeEnv(env, envRuntime);\n }\n\n // eslint-disable-next-line no-undef\n private _prepareEnv_Client(env: NodeJS.ProcessEnv): ZovaConfigEnv {\n if (process.env.SERVER || !cast(window).__INITIAL_STATE__) return env as unknown as ZovaConfigEnv;\n const ssrState = cast(window).__INITIAL_STATE__;\n return _mergeEnv(env, ssrState.envClient);\n }\n}\n\n// eslint-disable-next-line no-undef\nfunction _mergeEnv(env: NodeJS.ProcessEnv, envRuntime?: Partial<ZovaConfigEnv>): ZovaConfigEnv {\n if (!envRuntime) return env as unknown as ZovaConfigEnv;\n const env2 = { ...env };\n for (const key of Object.keys(envRuntime)) {\n if (envRuntime[key] !== undefined) {\n env2[key] = envRuntime[key];\n }\n }\n return env2 as unknown as ZovaConfigEnv;\n}\n\nexport const sys = new ZovaSys();\nsetSys(sys);\nif (process.env.CLIENT) {\n window.sys = sys;\n}\n","import type { App } from 'vue';\n\nimport type { ZovaContext } from '../core/index.ts';\n\nexport const PluginBean = {\n install(app: App) {\n app.mixin({\n created() {\n // this._ is instance, not use self.$\n const ctx: ZovaContext = this._.zova;\n if (ctx) {\n ctx.meta.component.activate();\n }\n },\n });\n },\n};\n","import type { App } from 'vue';\n\nimport { PluginFreeze } from 'vue-plugin-render-freeze';\n\nimport type { PluginZovaOptions } from './types/interface/pluginZova.ts';\n\nimport { sys } from './core/sys/sys.ts';\nimport { PluginBean } from './plugins/bean.ts';\n\nexport async function bootstrap(app: App, options: PluginZovaOptions) {\n await sys.initialize(options);\n app.use(PluginBean);\n app.use(PluginFreeze);\n}\n","import { defineComponent, onMounted, ref } from 'vue';\n\nexport const ClientOnly = defineComponent({\n name: 'ClientOnly',\n inheritAttrs: true,\n setup(_props, { slots }) {\n const isMounted = ref(false);\n onMounted(() => {\n isMounted.value = true;\n });\n return () => {\n if (isMounted.value === false) {\n return slots.placeholder?.();\n } else {\n return slots.default?.();\n }\n };\n },\n});\n","import type { BeanControllerBase } from '../../bean/beanControllerBase.ts';\n\nimport { BeanSimple } from '../../bean/beanSimple.ts';\nimport { BeanControllerIdentifier, BeanRenderIdentifier } from '../../bean/type.ts';\nimport { cast } from '../../types/utils/cast.ts';\n\nexport class CtxComponent extends BeanSimple {\n private _bean_render_original: any;\n\n activate() {\n if (this.ctx.disposed) return;\n const renderMethod = 'render';\n const self = this;\n const instance = cast(this.ctx.instance);\n this._bean_render_original = instance[renderMethod];\n instance[renderMethod] = function (this, ...args) {\n if (instance.isUnmounted) return;\n if (!self.ctx.meta.state.inited.state) {\n return self._bean_render_original.call(this, ...args);\n }\n const render = self._getRender();\n if (!render) {\n return self._bean_render_original.call(this, ...args);\n // throw new Error('render bean not found');\n }\n return render.render();\n // need not set currentRenderingInstance on server for better performance\n // if (process.env.SERVER) {\n // return withCtx(() => {\n // return render.render();\n // }, instance)();\n // } else {\n // return render.render();\n // }\n };\n instance.type.ssrRender = null;\n instance.ssrRender = null;\n }\n\n /** @internal */\n public dispose() {\n const renderMethod = 'render';\n const instance = cast(this.ctx.instance);\n instance[renderMethod] = this._bean_render_original;\n this._bean_render_original = null;\n }\n\n private _getRender(): any {\n const render = this.bean._getBeanSyncOnly<BeanControllerBase>(BeanControllerIdentifier);\n if (!render) return;\n render.__updateControllerData?.();\n if ((render as any).render) return render;\n return this.bean._getBeanSyncOnly(BeanRenderIdentifier);\n }\n}\n","import { BeanSimple } from '../../bean/beanSimple.ts';\n\nexport type ZovaHookType = 'created' | 'mounted';\n\nexport const SymbolHooksFns = Symbol('SymbolHooksFns');\nexport const SymbolHooksState = Symbol('SymbolHooksState');\n\nexport class CtxHooks extends BeanSimple {\n private [SymbolHooksFns]: Record<ZovaHookType, Array<any> | undefined> = {} as any;\n private [SymbolHooksState]: Record<ZovaHookType, boolean> = {} as any;\n\n /** @internal */\n public dispose() {\n this[SymbolHooksFns] = undefined as any;\n }\n\n onCreated(fn: any) {\n this._onHook('created', fn);\n }\n\n onMounted(fn: any) {\n this._onHook('mounted', fn);\n }\n\n private _onHook(type: ZovaHookType, fn: any) {\n if (this[SymbolHooksState][type]) {\n this.ctx.util.instanceScope(fn);\n } else {\n if (!this[SymbolHooksFns][type]) {\n this[SymbolHooksFns][type] = [];\n }\n this[SymbolHooksFns][type].push(fn);\n }\n }\n\n /** @internal */\n public async invokeHook(type: ZovaHookType) {\n this[SymbolHooksState][type] = true;\n const fns = this[SymbolHooksFns][type];\n if (!fns) return;\n this[SymbolHooksFns][type] = undefined;\n for (const fn of fns) {\n await this.ctx.util.instanceScope(fn);\n }\n }\n}\n","import { BeanSimple } from '../../bean/beanSimple.ts';\nimport { StateLock } from '../../utils/stateLock.ts';\n\nlet __id: number = 0;\n\nexport class CtxState extends BeanSimple {\n private _id: number;\n private _inited: StateLock;\n\n protected __init__() {\n this._id = ++__id;\n this._inited = StateLock.create();\n }\n\n get id() {\n return this._id;\n }\n\n get inited() {\n return this._inited;\n }\n}\n","import type { RendererNode } from 'vue';\n\nimport { BeanSimple } from '../../bean/beanSimple.ts';\nimport { CtxComponent } from './component.ts';\nimport { CtxHooks } from './hooks.ts';\nimport { CtxState } from './state.ts';\n\nexport class CtxMeta extends BeanSimple {\n state: CtxState;\n component: CtxComponent;\n hooks: CtxHooks;\n\n get el(): RendererNode {\n return this.ctx.instance.vnode.el!;\n }\n\n /** @internal */\n public initialize() {\n this.state = this.bean._newBeanSimple(CtxState, true);\n this.component = this.bean._newBeanSimple(CtxComponent, false);\n this.hooks = this.bean._newBeanSimple(CtxHooks, false);\n }\n\n /** @internal */\n public dispose() {\n this.component.dispose();\n this.hooks.dispose();\n }\n}\n","import { setCurrentInstance } from '@cabloy/vue-runtime-core';\nimport { pauseTracking, resetTracking } from '@vue/reactivity';\n\nimport { BeanSimple } from '../../bean/beanSimple.ts';\n\nexport class CtxUtil extends BeanSimple {\n instanceScope(fn, tracking?: boolean) {\n if (this.ctx.disposed) {\n const error = new Error();\n error.code = 600;\n throw error;\n }\n const reset = setCurrentInstance(this.ctx.instance as any);\n if (!tracking) {\n pauseTracking();\n }\n try {\n return fn();\n } finally {\n if (!tracking) {\n resetTracking();\n }\n reset();\n }\n }\n}\n","import type { ComponentInternalInstance } from 'vue';\n\nimport { markRaw, nextTick } from 'vue';\n\nimport type { ZovaApplication } from '../app/application.ts';\n\nimport { BeanContainer } from '../../bean/beanContainer.ts';\nimport { cast } from '../../types/utils/cast.ts';\nimport { sys } from '../sys/sys.ts';\nimport { CtxMeta } from './meta.ts';\nimport { CtxUtil } from './util.ts';\n\nexport class ZovaContext {\n instance: ComponentInternalInstance;\n app: ZovaApplication;\n bean: BeanContainer;\n util: CtxUtil;\n meta: CtxMeta;\n disposed: boolean;\n // config: ContextConfig;\n\n constructor(instance: ComponentInternalInstance) {\n markRaw(this);\n instance.zova = this;\n this.instance = instance;\n this.app = instance.appContext.app.zova;\n this.bean = BeanContainer.create(sys, this.app, this);\n this.util = this.bean._newBeanSimple(CtxUtil, false);\n this.meta = this.bean._newBeanSimple(CtxMeta, false);\n this.meta.initialize();\n this._zovaHostProvidersInit();\n }\n\n /** @internal */\n public dispose() {\n if (this.disposed) return;\n this.meta.dispose();\n cast(this.instance).zova = null;\n cast(this).instance = null;\n cast(this).app = null;\n cast(this).bean = null;\n cast(this).meta = null;\n this.disposed = true;\n }\n\n private _zovaHostProvidersInit() {\n let zovaHostProviders = cast(this.instance).zovaHostProviders;\n if (!zovaHostProviders) {\n if (this.instance.parent?.type.name === 'AsyncComponentWrapper') {\n zovaHostProviders = cast(this.instance.parent).zovaHostProviders;\n }\n }\n this._zovaHostProvidersUpdate_inner(zovaHostProviders);\n }\n\n protected _zovaHostProvidersUpdate(zovaHostProviders?: any) {\n if (process.env.SERVER) throw new Error('should not update zovaHostProviders in server');\n nextTick(() => {\n this._zovaHostProvidersUpdate_inner(zovaHostProviders);\n });\n }\n\n private _zovaHostProvidersUpdate_inner(zovaHostProviders?: any) {\n if (!this.bean || !zovaHostProviders) return;\n for (const key in zovaHostProviders) {\n const beanInstance = this.bean._getBeanSyncOnly(key);\n if (beanInstance !== zovaHostProviders[key]) {\n this.bean._setBean(key, zovaHostProviders[key]);\n }\n }\n }\n}\n\ndeclare module 'vue' {\n export interface ComponentInternalInstance {\n zova: ZovaContext;\n }\n}\n","import { getCurrentInstance, onBeforeUnmount, onServerPrefetch, onUnmounted, queuePostFlushCb, useSlots } from 'vue';\n\nimport type { IBeanRecord, IControllerData } from '../bean/type.ts';\nimport type { Constructable } from '../decorator/index.ts';\n\nimport { BeanControllerIdentifier, BeanRenderIdentifier, BeanStyleIdentifier, SymbolControllerRefDisable } from '../bean/type.ts';\nimport { ZovaContext } from '../core/context/index.ts';\nimport { sys } from '../core/sys/sys.ts';\n\nexport function useControllerPage<M, R, S>(\n controllerBeanFullName: Constructable<M>,\n renderBeanFullName?: Constructable<R>,\n styleBeanFullName?: Constructable<S>,\n);\nexport function useControllerPage<MK extends keyof IBeanRecord, RK extends keyof IBeanRecord, SK extends keyof IBeanRecord>(\n controllerBeanFullName: MK,\n renderBeanFullName?: RK,\n styleBeanFullName?: SK,\n);\n// not use type string for typed params\n// export function useControllerPage(controllerBeanFullName: string, renderBeanFullName?: string, styleBeanFullName?: string);\nexport function useControllerPage(\n controllerBeanFullName: Constructable | string,\n renderBeanFullName?: Constructable | string,\n styleBeanFullName?: Constructable | string,\n) {\n // controllerData\n const controllerData = { context: {} };\n // use controller\n _useController(controllerData, controllerBeanFullName, renderBeanFullName, styleBeanFullName);\n}\n\nexport function useController<M, R, S>(\n controllerBeanFullName: Constructable<M>,\n renderBeanFullName?: Constructable<R>,\n styleBeanFullName?: Constructable<S>,\n);\nexport function useController<MK extends keyof IBeanRecord, RK extends keyof IBeanRecord, SK extends keyof IBeanRecord>(\n controllerBeanFullName: MK,\n renderBeanFullName?: RK,\n styleBeanFullName?: SK,\n);\n// not use type string for typed params\n// export function useController(\n// props: unknown | undefined,\n// emit: unknown | undefined,\n// controllerBeanFullName: string,\n// renderBeanFullName?: string,\n// styleBeanFullName?: string,\n// );\nexport function useController(\n controllerBeanFullName: Constructable | string,\n renderBeanFullName?: Constructable | string,\n styleBeanFullName?: Constructable | string,\n) {\n // slots\n const slots = useSlots();\n // controllerData\n const controllerData = { context: { slots } };\n // use controller\n _useController(controllerData, controllerBeanFullName, renderBeanFullName, styleBeanFullName);\n}\n\nasync function _useController(\n controllerData: IControllerData,\n controllerBeanFullName: Constructable | string,\n renderBeanFullName?: Constructable | string,\n styleBeanFullName?: Constructable | string,\n) {\n // ctx\n const ctx = new ZovaContext(getCurrentInstance()!);\n // ctx: monkey\n if (ctx.app) {\n ctx.app.meta.module._monkeyModuleSync(true, 'appContextInitialize', undefined, ctx);\n } else {\n sys.meta.module._monkeyModuleSync(true, 'sysContextInitialize', undefined, ctx);\n }\n // monkey\n if (ctx.app) {\n ctx.app.meta.module._monkeyModuleSync(true, 'controllerDataPrepare', undefined, controllerData, ctx);\n }\n if (process.env.CLIENT) {\n // dispose\n onBeforeUnmount(() => {\n if (ctx.disposed) return;\n // undefined better than null\n setControllerRef(ctx, false);\n if (ctx.bean !== ctx.app.bean) {\n ctx.bean.dispose();\n }\n });\n onUnmounted(() => {\n ctx.dispose();\n });\n }\n\n async function __load() {\n // controller\n if (ctx.disposed) return;\n await ctx.bean._newBeanInner(true, BeanControllerIdentifier, controllerData, undefined, controllerBeanFullName, true, false);\n if (styleBeanFullName) {\n if (ctx.disposed) return;\n await ctx.bean._newBeanInner(true, BeanStyleIdentifier, undefined, undefined, styleBeanFullName, true, false);\n }\n if (renderBeanFullName) {\n if (ctx.disposed) return;\n await ctx.bean._newBeanInner(true, BeanRenderIdentifier, undefined, undefined, renderBeanFullName, true, false);\n }\n // must touch inited on server/client, force router.use effect\n if (ctx.disposed) return;\n ctx.meta.state.inited.touch();\n if (process.env.CLIENT) {\n ctx.util.instanceScope(() => {\n queuePostFlushCb(() => {\n setControllerRef(ctx, true);\n ctx.meta.hooks.invokeHook('mounted');\n });\n });\n }\n }\n\n // load\n ctx.meta.hooks.onCreated(async () => {\n if (ctx.disposed) return;\n try {\n return await __load();\n } catch (err) {\n if (ctx.disposed) return;\n throw err;\n }\n });\n if (process.env.SERVER) {\n onServerPrefetch(() => {\n return ctx.meta.hooks.invokeHook('created');\n });\n } else {\n // not await, same as onServerPrefetch\n ctx.meta.hooks.invokeHook('created');\n }\n}\n\nfunction setControllerRef(ctx: ZovaContext, on: boolean) {\n const controller = ctx.bean?._getBeanSyncOnly(BeanControllerIdentifier) as any;\n if (!controller || controller[SymbolControllerRefDisable]) return;\n // instanceScope useless for emit, because emiter and receiver not the same instance\n const controllerRef = controller.ctx.instance.vnode.props?.controllerRef;\n if (controllerRef) {\n controllerRef(on ? controller : undefined);\n }\n}\n","import { defineComponent } from 'vue';\n\nimport type { IComponentOptions } from '../bean/type.ts';\nimport type { Constructable } from '../decorator/type/constructable.ts';\n\nimport { useControllerPage } from '../composables/useController.ts';\n\nexport function createZovaComponentPage<M, R, S>(controller: Constructable<M>, render?: Constructable<R>, style?: Constructable<S>) {\n return defineComponent(() => {\n useControllerPage(controller, render, style);\n return () => {};\n });\n}\n\nexport function prepareComponentOptions(componentOptions?: IComponentOptions) {\n return Object.assign({ inheritAttrs: 'auto' }, componentOptions);\n}\n","import { getCurrentInstance } from 'vue';\n\nimport type { ZovaApplication } from '../core/index.ts';\n\nexport function useApp(): ZovaApplication {\n const instance = getCurrentInstance();\n return instance?.appContext.app.zova as ZovaApplication;\n}\n","import type { Component, ComponentCustomOptions } from 'vue';\n\nimport type { TypeModuleResourceComponents } from '../../types/interface/module.ts';\n\nimport { BeanSimple } from '../../bean/beanSimple.ts';\n\nexport class AppComponent extends BeanSimple {\n /** @internal */\n public async initialize() {}\n\n /** @internal */\n public _registerComponents(_moduleName: string, components: TypeModuleResourceComponents) {\n if (!components) return;\n for (const key in components) {\n const component = components[key];\n this._setComponentGlobal(component);\n }\n }\n\n private _setComponentGlobal(component: Component) {\n // register\n const options = component as ComponentCustomOptions;\n if (component.name && options.meta?.global === true) {\n if (!this.app.vue.component(component.name)) {\n this.app.vue.component(component.name, component);\n }\n }\n return component;\n }\n}\n","import type { ComponentPublicInstance } from 'vue';\n\nimport type { IErrorObject } from '../../bean/resource/error/errorObject.ts';\nimport type { IErrorInstanceInfo, IModuleError } from '../../bean/resource/error/type.ts';\n\nimport { ErrorClass } from '../../bean/resource/error/errorClass.ts';\nimport { SymbolErrorInstanceInfo } from '../../bean/resource/error/type.ts';\n\nexport class AppError extends ErrorClass {\n /** @internal */\n public async initialize() {\n await super.initialize();\n // errorHandler\n this.app.vue.config.errorHandler = (err, instance, info) => {\n return this._handleError(err as Error, instance, info);\n };\n // unhandledrejection\n if (process.env.CLIENT) {\n window.addEventListener('unhandledrejection', (event: PromiseRejectionEvent) => {\n event.preventDefault();\n this._handleUnhandledError(event.reason, 'unhandledrejection');\n return false;\n });\n window.addEventListener('error', (event: ErrorEvent) => {\n event.preventDefault();\n this._handleUnhandledError(event.error, 'unhandlederror');\n return false;\n });\n }\n }\n\n /** @internal */\n public createScopeError(moduleScope: string, errorCode: number | string): IModuleError {\n const self = this;\n return {\n throw: (...args: any[]): never => {\n return self.throw(moduleScope, errorCode, ...args);\n },\n parseFail: (...args: any[]): IErrorObject => {\n return self.parseFail(moduleScope, errorCode, ...args);\n },\n };\n }\n\n private _handleUnhandledError(error: Error, infoDefault: string) {\n if (error instanceof Error) {\n const errorInfo: IErrorInstanceInfo | undefined = error[SymbolErrorInstanceInfo];\n if (errorInfo) {\n delete error[SymbolErrorInstanceInfo];\n }\n // should not catch error\n this.app.vue.config.errorHandler!(error, errorInfo?.instance as any, errorInfo?.info || infoDefault) as unknown as Error;\n }\n }\n\n private _handleError(err: Error, instance: ComponentPublicInstance | null | undefined, info: string | undefined) {\n if (!this.app) {\n // means destroyed\n console.error(err);\n return;\n }\n const err2 = this.app.meta.event.emitSync('app:errorHandler', { err: err as Error, instance, info }, data => {\n return data.err;\n });\n // only log error in client\n if (process.env.CLIENT) {\n if (!err2 || !(err2 instanceof Error)) return err2;\n if (!info || !['useMutationData'].includes(info)) {\n console.error(err2);\n }\n }\n return err2;\n }\n}\n","import type { IModule, IModuleInfo } from '@cabloy/module-info';\n\nimport * as ModuleInfo from '@cabloy/module-info';\nimport { forEach, forEachSync } from '@cabloy/utils';\nimport { shallowReactive } from 'vue';\n\nimport type { TypeBeanScopeRecordKeys } from '../../bean/type.ts';\nimport type { IModuleApp, IModuleMain, IMonkeyApp, IMonkeyController, IMonkeyModule, TypeMonkeyName } from '../../types/index.ts';\n\nimport { BeanSimple } from '../../bean/beanSimple.ts';\nimport { SymbolInstalled } from '../../types/index.ts';\nimport { StateLock } from '../../utils/stateLock.ts';\n\nexport class AppModule extends BeanSimple {\n private modules: Record<string, IModuleApp> = shallowReactive({});\n private mainInstances: Record<string, IModuleMain> = {};\n private monkeyInstances: Record<string, IMonkeyModule & IMonkeyApp & IMonkeyController> = {};\n\n /** @internal */\n public async initialize() {\n await this._requireAllSpecifics('preload');\n await this._requireAllSpecifics('monkey');\n await this._requireAllSpecifics('sync');\n }\n\n get<K extends TypeBeanScopeRecordKeys>(moduleName: K, forceLoad?: boolean): IModule | undefined;\n get(moduleName: string, forceLoad?: boolean): IModule | undefined;\n get(moduleName: IModuleInfo, forceLoad?: boolean): IModule | undefined;\n get(moduleName: string | IModuleInfo, forceLoad?: boolean): IModule | undefined {\n // module info\n if (!moduleName) return undefined;\n const moduleInfo = typeof moduleName === 'string' ? ModuleInfo.parseInfo(moduleName) : moduleName;\n if (!moduleInfo) throw new Error(`invalid module name: ${moduleName}`);\n // get\n const module = this.modules[moduleInfo.relativeName];\n if (!module) {\n // module not loaded, so async use to raise the next call\n if (forceLoad !== false) {\n this.use(moduleInfo.relativeName);\n }\n return undefined;\n }\n if (!module[SymbolInstalled] || !module[SymbolInstalled].state) {\n return undefined;\n }\n return this.sys.meta.module.get(moduleName as any);\n }\n\n async use<K extends TypeBeanScopeRecordKeys>(moduleName: K): Promise<IModule>;\n async use(moduleName: string): Promise<IModule>;\n async use(moduleName: IModuleInfo): Promise<IModule>;\n async use(moduleName?: string | IModuleInfo): Promise<IModule> {\n // module info\n if (!moduleName) throw new Error('should specify the module name');\n const moduleInfo = typeof moduleName === 'string' ? ModuleInfo.parseInfo(moduleName) : moduleName;\n if (!moduleInfo) throw new Error(`invalid module name: ${moduleName}`);\n const relativeName = moduleInfo.relativeName;\n // should not try check get directly\n // const module = this.getOnly(relativeName);\n // if (module) return module;\n // module\n const moduleRepo = this.sys.meta.module.modulesMeta.modules[relativeName];\n if (!moduleRepo) throw new Error(`module not exists: ${relativeName}`);\n // install\n await this._install(relativeName, moduleRepo);\n // ok\n return moduleRepo;\n }\n\n exists<K extends TypeBeanScopeRecordKeys>(moduleName: K): boolean;\n exists(moduleName: string): boolean;\n exists(moduleName: IModuleInfo): boolean;\n exists(moduleName: string | IModuleInfo): boolean {\n return this.sys.meta.module.exists(moduleName as any);\n }\n\n private async _requireAllSpecifics(capabilityName: 'preload' | 'monkey' | 'sync') {\n const moduleNames = this.sys.meta.module.modulesMeta.moduleNames.filter(moduleName => {\n const module = this.sys.meta.module.modulesMeta.modules[moduleName];\n return module.info.capabilities?.[capabilityName];\n });\n // if (moduleNames.length > 0) {\n // this.sys.meta.logger.child('module', 'default').debug(`app modules: ${capabilityName}: ${moduleNames.join(',')}`);\n // }\n for (const moduleName of moduleNames) {\n const module = this.sys.meta.module.modulesMeta.modules[moduleName];\n await this._install(moduleName, module);\n }\n }\n\n private async _install(moduleName: string, moduleRepo: IModule) {\n // sys first\n await this.sys.meta.module._install(moduleName, moduleRepo);\n // check\n if (this.modules[moduleName]) {\n const module = this.modules[moduleName];\n // should check state, otherwise infinite loop\n if (module[SymbolInstalled].state) return;\n // wait\n await module[SymbolInstalled].wait();\n // scope: should after [SymbolInstalled].touch\n await this.app.bean._getBean(`${moduleName}.scope.module` as any, false);\n return;\n }\n // clone for ssr\n const module: IModuleApp = {\n [SymbolInstalled]: StateLock.create(),\n };\n // record\n this.modules[moduleName] = module;\n // install\n await this._installInner(moduleName, moduleRepo);\n // installed\n module[SymbolInstalled].touch();\n // scope: should after [SymbolInstalled].touch\n await this.app.bean._getBean(`${moduleName}.scope.module` as any, false);\n // monkey: moduleLoaded\n await this._monkeyModule(true, 'moduleLoaded', moduleRepo);\n }\n\n private async _installInner(moduleName: string, moduleRepo: IModule) {\n // main / monkey\n if (moduleRepo.resource.Main) {\n this.mainInstances[moduleName] = this.app.bean._newBeanSimple(moduleRepo.resource.Main, false, moduleRepo);\n }\n if (moduleRepo.resource.Monkey) {\n this.monkeyInstances[moduleName] = this.app.bean._newBeanSimple(moduleRepo.resource.Monkey, false, moduleRepo);\n }\n // monkey: moduleLoading\n await this._monkeyModule(true, 'moduleLoading', moduleRepo);\n // register resources\n await this._registerResources(moduleRepo);\n }\n\n private async _registerResources(module: IModule) {\n this._registerComponents(module);\n }\n\n private _registerComponents(module: IModule) {\n this.app.meta.component._registerComponents(module.info.relativeName, module.resource.components);\n }\n\n /** @internal */\n public async _monkeyModule(order: boolean, monkeyName: TypeMonkeyName, moduleTarget?: IModule, ...monkeyData: any[]) {\n // self: main\n if (moduleTarget) {\n const mainInstance = this.mainInstances[moduleTarget.info.relativeName];\n if (mainInstance && mainInstance[monkeyName]) {\n // @ts-ignore ignore\n await this.app.vue.runWithContext(async () => {\n await mainInstance[monkeyName](...monkeyData);\n });\n }\n }\n // module monkey\n await forEach(this.sys.meta.module.modulesMeta.moduleNames, order, async key => {\n const moduleMonkey: IModule = this.sys.meta.module.modulesMeta.modules[key];\n if (moduleMonkey.info.capabilities?.monkey) {\n const monkeyInstance = this.monkeyInstances[key];\n if (monkeyInstance && monkeyInstance[monkeyName]) {\n await this.app.vue.runWithContext(async () => {\n if (moduleTarget === undefined) {\n // @ts-ignore ignore\n await monkeyInstance[monkeyName](...monkeyData);\n } else {\n // @ts-ignore ignore\n await monkeyInstance[monkeyName](moduleTarget, ...monkeyData);\n }\n });\n }\n }\n });\n // app monkey\n const appMonkey = this.app.meta.appMonkey;\n if (appMonkey && appMonkey[monkeyName]) {\n await this.app.vue.runWithContext(async () => {\n if (moduleTarget === undefined) {\n // @ts-ignore ignore\n await appMonkey[monkeyName](...monkeyData);\n } else {\n // @ts-ignore ignore\n await appMonkey[monkeyName](moduleTarget, ...monkeyData);\n }\n });\n }\n }\n\n /** @internal */\n public _monkeyModuleSync(order: boolean, monkeyName: TypeMonkeyName, moduleTarget?: IModule, ...monkeyData: any[]) {\n // self: main\n if (moduleTarget) {\n const mainInstance = this.mainInstances[moduleTarget.info.relativeName];\n if (mainInstance && mainInstance[monkeyName]) {\n // @ts-ignore ignore\n this.app.vue.runWithContext(async () => {\n mainInstance[monkeyName](...monkeyData);\n });\n }\n }\n // module monkey\n forEachSync(this.sys.meta.module.modulesMeta.moduleNames, order, key => {\n const moduleMonkey: IModule = this.sys.meta.module.modulesMeta.modules[key];\n if (moduleMonkey.info.capabilities?.monkey) {\n const monkeyInstance = this.monkeyInstances[key];\n if (monkeyInstance && monkeyInstance[monkeyName]) {\n this.app.vue.runWithContext(async () => {\n if (moduleTarget === undefined) {\n // @ts-ignore ignore\n monkeyInstance[monkeyName](...monkeyData);\n } else {\n // @ts-ignore ignore\n monkeyInstance[monkeyName](moduleTarget, ...monkeyData);\n }\n });\n }\n }\n });\n // app monkey\n const appMonkey = this.app.meta.appMonkey;\n if (appMonkey && appMonkey[monkeyName]) {\n this.app.vue.runWithContext(async () => {\n if (moduleTarget === undefined) {\n // @ts-ignore ignore\n appMonkey[monkeyName](...monkeyData);\n } else {\n // @ts-ignore ignore\n appMonkey[monkeyName](moduleTarget, ...monkeyData);\n }\n });\n }\n }\n}\n","import type { IModuleLocaleText } from '../../bean/resource/locale/type.ts';\nimport type { Constructable } from '../../decorator/type/constructable.ts';\nimport type { IMonkeyApp, IMonkeyController, IMonkeyModule } from '../../types/interface/monkey.ts';\n\nimport { BeanSimple } from '../../bean/beanSimple.ts';\nimport { AppComponent } from '../component/component.ts';\nimport { AppCookie } from '../component/cookie.ts';\nimport { AppError } from '../component/error.ts';\nimport { AppEvent } from '../component/event.ts';\nimport { AppLocale } from '../component/locale.ts';\nimport { AppModule } from '../component/module.ts';\n\nexport class AppMeta extends BeanSimple {\n module: AppModule;\n component: AppComponent;\n locale: AppLocale;\n error: AppError;\n event: AppEvent;\n cookie: AppCookie;\n text: IModuleLocaleText;\n\n /** @internal */\n public appMonkey?: IMonkeyModule & IMonkeyApp & IMonkeyController;\n\n protected __init__() {\n this.module = this.app.bean._newBeanSimple(AppModule, false);\n this.component = this.app.bean._newBeanSimple(AppComponent, false);\n this.locale = this.app.bean._newBeanSimple(AppLocale, false);\n this.error = this.app.bean._newBeanSimple(AppError, false);\n this.event = this.app.bean._newBeanSimple(AppEvent, false);\n this.cookie = this.app.bean._newBeanSimple(AppCookie, false);\n this.text = this.locale.createLocaleText();\n }\n\n /** @internal */\n public async initialize(AppMonkey?: Constructable<IMonkeyModule & IMonkeyApp & IMonkeyController>) {\n if (AppMonkey) {\n this.appMonkey = this.bean._newBeanSimple(AppMonkey, false);\n }\n }\n}\n","import type { ZodLocaleErrors } from '../../utils/zod-enhance.ts';\n\nimport { BeanSimple } from '../../bean/beanSimple.ts';\nimport { zodSetLocaleErrors } from '../../utils/zod-enhance.ts';\n\nexport class AppUtil extends BeanSimple {\n setLocaleErrors(localeErrors: ZodLocaleErrors, localeDefault?: string) {\n return zodSetLocaleErrors(this.app, localeErrors, localeDefault);\n }\n}\n","import type { App } from 'vue';\n\nimport { markRaw } from 'vue';\n\nimport type { BeanContainer } from '../../bean/beanContainer.ts';\nimport type { TypeErrorsInternal } from '../../bean/resource/error/errorInternal.ts';\nimport type { PluginZovaOptions } from '../../types/interface/pluginZova.ts';\nimport type { ZovaContext } from '../context/context.ts';\n\nimport { cast } from '../../types/utils/cast.ts';\nimport { zodEnhance } from '../../utils/zod-enhance.ts';\nimport { sys } from '../sys/sys.ts';\nimport { AppMeta } from './meta.ts';\nimport { AppUtil } from './util.ts';\n\nconst SymbolAppClose = Symbol('SymbolAppClose');\n\nexport class ZovaApplication {\n private _reloadDelayTimer: number = 0;\n private [SymbolAppClose]: boolean;\n vue: App;\n bean: BeanContainer;\n util: AppUtil;\n meta: AppMeta;\n ctx: ZovaContext;\n\n constructor(vue: App, ctxRoot: ZovaContext) {\n markRaw(this);\n vue.zova = this;\n this.vue = vue;\n this.ctx = ctxRoot;\n this.bean = ctxRoot.bean;\n cast(this.bean).app = this;\n ctxRoot.app = this;\n this.util = this.bean._newBeanSimple(AppUtil, false);\n this.meta = this.bean._newBeanSimple(AppMeta, false);\n cast(ctxRoot.instance.appContext).reload = () => {\n this.reloadDelay();\n };\n // only support client\n if (process.env.CLIENT) {\n // zod\n zodEnhance(this);\n }\n }\n\n /** @internal */\n public async initialize({ AppMonkey }: PluginZovaOptions) {\n // monkey\n sys.meta.module._monkeyModuleSync(true, 'sysApplicationInitialize', undefined, this);\n // meta\n await this.meta.initialize(AppMonkey);\n // component\n await this.meta.component.initialize();\n // locales\n await this.meta.locale.initialize();\n // errors\n await this.meta.error.initialize();\n // module\n await this.meta.module.initialize();\n // monkey: appInitialize\n await this.meta.module._monkeyModule(true, 'appInitialize');\n // monkey: appInitialized\n await this.meta.module._monkeyModule(true, 'appInitialized');\n // monkey: appReady\n await this.meta.module._monkeyModule(true, 'appReady');\n }\n\n public get sys() {\n return sys;\n }\n\n public reload() {\n window.location.reload();\n }\n\n public reloadDelay(cancel?: boolean) {\n if (cancel) {\n if (this._reloadDelayTimer !== 0) {\n window.clearTimeout(this._reloadDelayTimer);\n this._reloadDelayTimer = 0;\n }\n } else {\n this.reloadDelay(true);\n this._reloadDelayTimer = window.setTimeout(() => {\n this.reload();\n }, 100);\n }\n }\n\n public throw(code: keyof TypeErrorsInternal | number, ...args: any[]): never {\n return this.meta.error.throw(undefined, code, ...args);\n }\n\n public close() {\n if (this[SymbolAppClose]) return;\n this[SymbolAppClose] = true;\n // monkey: appClose\n this.meta.module._monkeyModuleSync(false, 'appClose');\n // container dispose\n this.bean.dispose();\n this.ctx.dispose();\n }\n}\n\ndeclare module 'vue' {\n export interface App {\n zova: ZovaApplication;\n }\n}\n","import type { IBeanScopeLocale, PowerPartial } from '../../index.ts';\n\nexport const localeDefault = {\n modules: {},\n};\n\nexport type ZovaLocale = {\n modules: IBeanScopeLocale;\n} & typeof localeDefault;\n\nexport type ZovaLocaleOptional = PowerPartial<ZovaLocale>;\nexport type ZovaLocaleOptionalMap = Record<string, ZovaLocaleOptional>;\n","import { colorize, format, NpmConfigSetLevels, print } from '@cabloy/logger';\nimport { isEmptyObject } from '@cabloy/utils';\n\nconst SymbolLoggerMessage = Symbol('SymbolLoggerMessage');\n\nexport const formatLoggerFilter = format((info, opts: any) => {\n const level = typeof opts.level === 'function' ? opts.level() : opts.level;\n if (!level) return false;\n if (opts.strict) {\n if (NpmConfigSetLevels[info.level as string] === NpmConfigSetLevels[level]) return __formatLoggerFilterCheckInfo(info);\n return false;\n }\n if (NpmConfigSetLevels[info.level as string] <= NpmConfigSetLevels[level] || (opts.silly && info.level === 'silly'))\n return __formatLoggerFilterCheckInfo(info);\n return false;\n});\n\nexport const formatLoggerConsole = () => {\n return print(({ timestamp, level, stack, message, name, beanFullName, durationMs, ...meta }) => {\n const textName = name ? ` ${colorize('verbose', `[${name}]`)}` : '';\n const textBeanFullName = beanFullName ? ` ${colorize('tip', `[${beanFullName}]`)}` : '';\n const textMessage = ` ${message}`;\n const textDurationMs = durationMs !== undefined ? ` ${colorize('verbose', `+${durationMs}ms`)}` : '';\n const textStack = stack ? `\\n${stack}` : '';\n const result: any[] = [`${timestamp} ${level}${textName}${textBeanFullName}${textMessage}${textDurationMs}${textStack}`];\n if (!isEmptyObject(meta)) {\n const meta2 = {};\n for (const key in meta) {\n meta2[key] = meta[key];\n }\n result.push(meta2);\n }\n return result;\n });\n};\n\nfunction __formatLoggerFilterCheckInfo(info) {\n if (typeof info.message === 'function') {\n if (info.message[SymbolLoggerMessage] === undefined) {\n info.message[SymbolLoggerMessage] = info.message();\n }\n info.message = info.message[SymbolLoggerMessage];\n }\n return info;\n}\n","import type { Constructable } from '../decorator/type/constructable.ts';\n\nimport { copyMetadataOfClasses, copyPropertiesOfClasses } from './utils.ts';\n\ntype UnionToIntersection<U> = (U extends any ? (k: U) => void : never) extends (k: infer I) => void ? I : never;\n\ntype ClassRefsToConstructors<T extends Constructable[]> = {\n [U in keyof T]: T[U] extends Constructable<infer V> ? V : never;\n};\n\ntype Intersection<T extends Constructable[]> = Constructable<UnionToIntersection<ClassRefsToConstructors<T>[number]>>;\n\nexport function MixinClass<T extends Constructable[]>(...classRefs: T): Intersection<T> {\n abstract class TargetClass {}\n copyMetadataOfClasses(\n TargetClass.prototype,\n classRefs.map(item => item.prototype),\n );\n copyPropertiesOfClasses(TargetClass as any, classRefs);\n return TargetClass as any;\n}\n","import type { Constructable } from '../decorator/type/constructable.ts';\n\nimport { copyMetadataOfClasses, copyPropertiesOfClasses } from './utils.ts';\n\nexport function OmitClass<T, K extends keyof T>(classRef: Constructable<T>, keys: K[]): Constructable<Omit<T, (typeof keys)[number]>> {\n abstract class TargetClass {}\n copyMetadataOfClasses(TargetClass.prototype, [classRef.prototype], (rules, key) => {\n if (!keys.includes(key)) {\n return rules[key];\n }\n });\n copyPropertiesOfClasses(TargetClass as any, [classRef], key => {\n return !keys.includes(key);\n });\n return TargetClass as any;\n}\n","import type { Constructable } from '../decorator/type/constructable.ts';\n\nimport { copyMetadataOfClasses, copyPropertiesOfClasses } from './utils.ts';\n\nexport function PartialClass<T>(classRef: Constructable<T>): Constructable<Partial<T>>;\nexport function PartialClass<T, K extends keyof T>(\n classRef: Constructable<T>,\n keys: K[],\n): Constructable<Partial<Pick<T, (typeof keys)[number]>> & Omit<T, (typeof keys)[number]>>;\nexport function PartialClass<T, K extends keyof T>(classRef: Constructable<T>, keys?: K[]): any {\n abstract class TargetClass {}\n copyMetadataOfClasses(TargetClass.prototype, [classRef.prototype], (rules, key, metadataKeyOptions) => {\n if (keys && !keys.includes(key)) return rules[key];\n if (metadataKeyOptions?.partialClass) {\n return metadataKeyOptions?.partialClass(rules[key]);\n }\n return rules[key];\n });\n copyPropertiesOfClasses(TargetClass as any, [classRef]);\n return TargetClass as any;\n}\n","import type { Constructable } from '../decorator/type/constructable.ts';\n\nimport { copyMetadataOfClasses, copyPropertiesOfClasses } from './utils.ts';\n\nexport function PickClass<T, K extends keyof T>(classRef: Constructable<T>, keys: K[]): Constructable<Pick<T, (typeof keys)[number]>> {\n abstract class TargetClass {}\n copyMetadataOfClasses(TargetClass.prototype, [classRef.prototype], (rules, key) => {\n if (keys.includes(key)) {\n return rules[key];\n }\n });\n copyPropertiesOfClasses(TargetClass as any, [classRef], key => {\n return keys.includes(key);\n });\n return TargetClass as any;\n}\n","import type { App } from 'vue';\n\nimport type { ZovaContext } from '../core/index.ts';\nimport type { PluginZovaOptions } from '../types/interface/pluginZova.ts';\n\nimport { SymbolBeanContainerInstances } from '../bean/beanContainer.ts';\nimport { BeanControllerIdentifier, BeanRenderIdentifier, BeanStyleIdentifier } from '../bean/type.ts';\nimport { ZovaApplication } from '../core/index.ts';\nimport { cast } from '../types/index.ts';\n\nexport const PluginZova = {\n async install(\n vue: App,\n ctxRoot: ZovaContext,\n { modulesMeta, locales, config, env, viteHot, SysMonkey, AppMonkey, legacyRoutes }: PluginZovaOptions,\n ) {\n // zova app\n const app = new ZovaApplication(vue, ctxRoot);\n await app.initialize({ modulesMeta, locales, config, env, viteHot, SysMonkey, AppMonkey, legacyRoutes });\n return app;\n },\n async update(app: ZovaApplication, ctxRoot: ZovaContext) {\n const bean = cast(app.bean);\n bean.ctx = ctxRoot;\n for (const key in bean[SymbolBeanContainerInstances]) {\n bean[SymbolBeanContainerInstances][key].ctx = ctxRoot;\n }\n delete bean[SymbolBeanContainerInstances][BeanControllerIdentifier];\n delete bean[SymbolBeanContainerInstances][BeanRenderIdentifier];\n delete bean[SymbolBeanContainerInstances][BeanStyleIdentifier];\n Object.assign(bean[SymbolBeanContainerInstances], ctxRoot.bean[SymbolBeanContainerInstances]);\n ctxRoot.bean = bean;\n ctxRoot.app = app;\n },\n};\n","import type { ILocaleRecord } from '../bean/resource/locale/type.ts';\n\nexport interface ICustomKeyRecord {\n 'x-vona-locale': keyof ILocaleRecord | undefined;\n 'x-vona-instance-name': string | undefined;\n 'x-vona-passport-code': string | undefined;\n 'x-vona-oauth-code': string | undefined;\n 'x-vona-openapi-schema': 'true' | 'false' | undefined;\n 'x-vona-jwt-authtoken': 'true' | 'false' | undefined;\n}\n\nexport function $customKey<K extends keyof ICustomKeyRecord>(key: K): K {\n return key;\n}\n","import type { UnwrapNestedRefs } from 'vue';\n\nimport type { Functionable } from '../decorator/type/functionable.ts';\n\nexport type ReturnTypeComposable<Composable extends Functionable> = Composable extends (...args: any[]) => infer R ? UnwrapNestedRefs<R> : any;\n\nexport function useComposable<T extends Functionable>(composable: T, ...args: Parameters<T>): ReturnTypeComposable<T> {\n return composable(...args) as ReturnTypeComposable<T>;\n}\n","import type { CustomRefFactory } from 'vue';\n\nimport { customRef } from 'vue';\n\nexport function useCustomRef<T>(factory: CustomRefFactory<T>): T {\n return customRef(factory) as T;\n}\n"],"names":["cast","source","useComputed","options","debugOptions","computed","AppMetadata","defineMetadata","metadataKey","metadataValue","target","prop","isUndefined","Reflect","getOwnMetadata","getMetadata","getOwnMetadataArray","inherit","own","parent","slice","getOwnMetadataMap","Object","assign","getDesignType","getDesignParamtypes","getDesignReturntype","appMetadata","SymbolMappedClassMetadataKeys","Symbol","registerMappedClassMetadataKey","metadataKeys","hasOwn","getMappedClassMetadataKeys","copyPropertiesOfClasses","sources","filter","copyProperties","prototype","keysIgnore","protos","_proto","includes","constructor","name","unshift","getPrototypeOf","proto","key","ownKeys","desc","getOwnPropertyDescriptor","defineProperty","metaKeys","getOwnMetadataKeys","metaKey","metaValue","copyMetadataOfClasses","transform","_metadataKeys","getOwnPropertySymbols","metadataKeyOptions","rulesNew","rules","ruleNew","undefined","buf","bufIdx","hexBytes","Array","from","length","i","toString","substring","randomBytes","lib","crypto","window","msCrypto","getRandomValues","n","bytes","Uint8Array","r","push","Math","floor","random","BUFFER_SIZE","uuid","b","call","_sys","getSys","setSys","sys","BeanSimple","app","ctx","bean","SysUtil","getAbsoluteUrlFromPagePath","path","ignoreHost","ignorePublicPath","prefix","process","env","DEV","DEV_SERVER_HOSTNAME","DEV_SERVER_PORT","SSR_PROD_PROTOCOL","SSR_PROD_HOST","APP_PUBLIC_PATH","getPagePathFromAbsoluteUrl","url","pagePath","isHttpUrl","_url","URL","pathname","search","startsWith","getApiBaseURL","useApiPrefix","baseURL","config","api","getOpenApiBaseURL","envName","CLIENT","OPENAPI_BASE_URL_DEFAULT","API_BASE_URL","SSR_API_BASE_URL","getApiPath","apiActionPathTranslate","pathName","pathParams","defaultPathSerializer","apiActionConfigPrepare","authToken","optionsCustom","params","query","interceptors","openapiSchema","isEmptyObject","deepExtend","getModuleConfigSafe","moduleName","module","meta","get","scope","modules","getModuleConfigOriginal","configOriginal","parseResourceApi","resource","parts","split","combineApiPathControllerAndAction","API_PREFIX","_uuid","isUuid","str","objectAssignReactive","args","Error","isReactive","reactive","keys","getOwnPropertyNames","value","extend","deepEqual","actual","expected","opts","DeepEqual","disposeInstance","instance","__dispose__","polyfillDispose","beanFullNameFromOnionName","onionName","sceneName","replace","onionNameFromBeanFullName","beanFullName","convertToUnit","unit","num","Number","isNaN","String","isFinite","DecoratorBeanFullName","SymbolDecoratorBeanInfo","SymbolDecoratorProxyDisable","SymbolDecoratorPreload","SymbolDecoratorVirtual","SymbolDecoratorUse","DecoratorBeanFullNameOfComposable","AppResource","beans","scenes","dispose","addUse","uses","console","error","getUses","addBean","beanOptions","beanClass","optionsPrimitive","virtual","scene","_parseSceneAndBeanName","beanInfo","moduleBelong","_parseModuleBelong","options2","_prepareOnionOptions","beanOptions2","getBeanFullName","isClass","getBeanFullNameOfComposable","beanComposable","getBean","fullName","_fixClassName","className","endsWith","beanClassName","toLowerCase","skipPrefix","parseLastWord","skipLastWord","splitWords","_getModuleBelong","_getModuleName","optionsConfig","onions","appResource","SymbolWaitPromise","StateLock","create","_state","_resolve","state","touch","wait","_waitInner","Promise","resolve","SymbolBeanFullName","SymbolBeanInstanceKey","SymbolModuleBelong","SymbolModuleName","SymbolInited","SymbolDebugCounter","__debugCounter","BeanBaseSimple","$beanFullName","$beanInstanceKey","$beanOptions","$onionName","$onionOptions","BeanModuleScope","BeanScopeError","moduleScope","__instances","__get__","createScopeError","errorsInternal","ErrorClass","initialize","throw","code","body","parseFail","err","message","status","parseCode","codeDefault","ebError","errors","test","text","locale","getText","__combineErrorCode","SymbolErrorInstanceInfo","BeanScopeLocale","metaLocale","createScopeLocaleText","LocaleModuleNameSeparator","SymbolVueDecorators","getVueDecoratorValues","beanInstance","shallowReactive","getVueDecoratorValue","index","fn","values","setVueDecoratorValue","SymbolText","SymbolLogger","SymbolLoggerChildren","BeanBase","$el","el","$text","createLocaleText","$logger","$loggerClient","clientName","logger","child","$loggerChild","childName","$event","event","$watchHandle","$renderFreeze","freeze","renderFreeze","$renderFreezeScope","disposed","renderFreezeScope","$onCreated","hooks","onCreated","$onMounted","onMounted","$errorHandler","info","vue","errorHandler","$useComputed","util","instanceScope","$watchEffect","effect","watchEffect","$watchPostEffect","watchPostEffect","$watchSyncEffect","watchSyncEffect","$watch","cb","watch","$onControllerCreated","$controllerMounted","$zovaComponent","component","getZovaComponent","BeanAopBase","BeanAopMethodBase","BeanInfo","createBeanDecorator","containerScope","markReactive","Preload","ProxyDisable","useRef","object","defaultValue","toRef","Use","descriptor","moduleSource","setTimeout","moduleTarget","usePrepareArg","arg","withSelector","usePrepareArgs","__prepareInjectSelectorInfo","useOptions","selectorInfo","__prepareInjectSelectorInfo_descriptor","__prepareInjectSelectorInfo_init","isNilOrEmptyString","selector","evaluateExpressions","self","fnGet","res","map","init","_args","__prepareInjectSelectorInfo_init_arg","context","UseComposable","UseScope","Virtual","functionNoop","SymbolDecoratorVueElements","createVueDecorator","type","vues","modelSet","modelGet","Computed","Emit","eventName","Watch","watchOptions","WatchEffect","watchEffectOptions","Raw","Shallow","Readonly","ShallowReadonly","ModelValue","modelName","ControllerCreated","ControllerMounted","_beanFullName","vueElement","enumerable","configurable","set","apply","useContext","getCurrentInstance","zova","onControllerCreated","controllerCreated","_prop","_index","onControllerMounted","controllerMounted","emit","returnValue","isPromise","then","__emitHandler","toLowerCaseFirstChar","propName","toUpperCaseFirstChar","func","$props","useModel","props","EMPTY_OBJ","propsDefault","$propsDefault","propType","camelizedName","camelize","modifiers","getModelModifiers","customRef","track","trigger","localValue","prevSetValue","prevEmittedValue","propValue","hasChanged","coerceValueType","emittedValue","rawProps","vnode","iterator","next","done","modelModifiers","hyphenate","isNil","_value","Boolean","model","useModelOptions","runWithInstanceScopeOrAppContext","raw","_vueElement","initialValue","markRaw","shallow","keySource","getter","getProperty","vueWatch","newValue","oldValue","vueWatchEffect","vueDecorators","SymbolBeanContainerParent","SymbolProxyMagic","SymbolProxyAopMethod","SymbolCacheAopChains","SymbolCacheAopChainsKey","SymbolGetBeanSelectorInnerPromises","SymbolBeanContainerInstances","BeanContainer","beanContainer","proxy","Proxy","obj","_getBeanSyncOnly","beanInstances","containerType","_monkeyModuleSync","_getParent","beanContainerParent","tracking","runWithContext","provide","injectKey","composableProvide","inject","treatDefaultAsFactory","composableInject","attributes","attrs","innerKey","__setPropertyValue","getScope","_useModule","_setBean","_getBeanSync","forceLoad","_getBean","_getBeanSelectorInner","_getBeanSelector","_getBeanSelectorInnerSync","_getBeanFullNameByComposableOrClassSync","__getSelectorKey","newBeanForce","recordProp","_getBeanFullNameByComposableOrClass","_getBeanSelectorInnerPromise","_newBeanInner","_newBeanSimple","A","_prepareBeanInstanceSimple","__init__","_newBean","_newBeanSelector","record","controllerData","_createBeanInstance","_getBeanOptionsForce","_getBeanOptionsForceSync","aop","_prepareBeanInstance","__initControllerData","__recordProp","_initBeanInstance","_prepareBeanInstanceCommon","beanInstanceProxy","_patchBeanInstance","_patchBeanInstanceSimple","BeanClass","_createBeanComposableInstance","_injectVueElements","_injectBeanInstance","_monkeyModule","vueElements","_injectVueElement","decoratorHandler","targetBeanComposable","targetBeanFullName","injectionScope","useOptions2","targetBeanInstance","_getBeanFromHostInner","_injectBeanInstanceProp","targetOptions","targetInstance","_injectBeanInstanceProp_appBean","_getBeanFromHost","_getBeanFromHostInner2","_targetBeanFullName","beanFullNameOrBeanClass","_aopChains","_prepareAopChains","_newBeanProxy","_prepareAopChainsSimple","receiver","__isInnerMethod","__v_isShallow_patch","descriptorInfo","__getPropertyDescriptor","__checkAopOfDescriptorInfo","methodType","__methodTypeOfDescriptor","__isLifeCycleMethod","methodName","methodNameMagic","_aopChainsProp","_getAopChainsProp","_","_getInstanceMethodProxy","__set__","methodProxyKey","methodProxy","thisArg","cacheKey","proxyDisable","host","_aopCacheHost","chains","beanAop","aops","findAopsMatched","aopInstances","concat","aopMethods","findAopMethodsMatched","__hasMagicMethod","_getAopChains","chainsKey","aopKey","isArray","_getAopChainsProp_aopMethods","_patchAopNext","result","__composeForProp","aopMethodsAll","aopMethod","execute","throwError","use","__composeForPropAdapter","_context","chain","compose","dynamic","ofBeanBase","__getPropertyDescriptorStatic","patch","isSelectorValid","BeanControllerBase","$slots","slots","__initControllerProps","__updateControllerData","$useModel","$slotDefault","slotDefault","default","propsInput","SERVER","hasOwnProperty","BeanControllerIdentifier","BeanRenderIdentifier","BeanStyleIdentifier","SymbolControllerRefDisable","$getBeanName","SymbolController","BeanControllerLike","controller","BeanControllerPageBase","$params","$query","SymbolStyle","BeanRenderLike","style","BeanRenderBase","render","BeanStyleBase","BeanScopeUtil","BeanModuleError","BeanModuleLocale","BeanModuleConfig","BeanModuleConstant","BeanModuleApi","BeanModuleApiSchema","BeanModuleUtil","BeanScopeBase","constant","zodEnhance","setLocaleAdapter","iss","translateError","zodEnhanceSys","setParseAdapter","ZodMetadata","zodSetLocaleErrors","localeErrors","localeDefault","setLocaleErrors","current","configDefault","flavor","META_FLAVOR","mode","META_MODE","appMode","META_APP_MODE","constantDefault","SymbolInstalled","AppCookie","getItem","cookieSource","$ssr","req","headers","document","cookies","cookie","l","decode","shift","join","read","setItem","expire","expireValue","expires","toUTCString","parseExpireString","parseFloat","getString","keyValue","encode","stringifyCookieValue","domain","sameSite","httpOnly","secure","other","reqAny","resAny","qCookies","setHeader","all","val","removeItem","string","encodeURIComponent","decodeURIComponent","JSON","stringify","indexOf","timestamp","days","match","hours","minutes","seconds","msOffset","time","Date","setMilliseconds","getMilliseconds","__adapter","eventHandlerWrapper","AppEvent","eventHandlersMap","getEventHandlers","eventHandlers","data","nextOrDefault","emitSync","on","findIndex","item","splice","once","off","SymbolLoggerInstances","SysLogger","_closeLogger","_createClient","getFilterLevel","getLoggerFilterLevel","setFilterLevel","level","setLoggerFilterLevel","configClient","clients","configNode","_prepareConfigClient","base","Logger","__closed__","end","toUpperCase","useSys","createZovaComponentAsync","defineAsyncComponent","SymbolZovaComponents","SysComponent","createAsyncComponent","componentName","_module","components","SysError","SymbolLocaleCurrent","SymbolTzCurrent","AppLocale","ref","metaCookie","ssr","storeKey","tz","Intl","DateTimeFormat","resolvedOptions","timeZone","supportCustomMessage","pos","localeutil","getLocaleText","localeModules","locales","SysLocale","moduleMap","_registerLocale","_registerLocales","moduleLocales","SysModule","modulesMeta","mainInstances","monkeyInstances","_loadAllMonkeysAndSyncsAndPreloads","_requireAllSpecifics","_requireAllOthers","moduleInfo","ModuleInfo","parseInfo","relativeName","moduleRepo","_install","exists","moduleNames","shouldLoad","capabilities","monkey","sync","preload","moduleResource","loadModules","promises","moduleNamesLoading","promise","modulesResource","capabilityName","debug","shouldInstall","_installInner","MainSys","MonkeySys","_registerResources","_registerErrors","_registerConstants","_registerConfig","constants","order","monkeyName","monkeyData","mainInstance","forEach","moduleMonkey","monkeyInstance","sysMonkey","forEachSync","SysMeta","legacyRoutes","SysMonkey","SymbolSysInitializePromise","SymbolSysClose","ZovaSys","viteHot","envRuntime","_initializeInner","_prepareEnv","_combineConfig","_hookClose","hook","_payload","close","removeEventListener","addEventListener","_config","configFn","env2","_prepareEnv_Runtime","env3","_prepareEnv_Client","_mergeEnv","__INITIAL_STATE__","ssrState","envClient","PluginBean","install","mixin","created","activate","bootstrap","PluginFreeze","ClientOnly","defineComponent","inheritAttrs","setup","_props","isMounted","placeholder","CtxComponent","_bean_render_original","renderMethod","isUnmounted","inited","_getRender","ssrRender","SymbolHooksFns","SymbolHooksState","CtxHooks","_onHook","invokeHook","fns","__id","CtxState","_id","_inited","id","CtxMeta","CtxUtil","reset","setCurrentInstance","pauseTracking","resetTracking","ZovaContext","appContext","_zovaHostProvidersInit","zovaHostProviders","_zovaHostProvidersUpdate_inner","_zovaHostProvidersUpdate","nextTick","useControllerPage","controllerBeanFullName","renderBeanFullName","styleBeanFullName","_useController","useController","useSlots","onBeforeUnmount","setControllerRef","onUnmounted","__load","queuePostFlushCb","onServerPrefetch","controllerRef","createZovaComponentPage","prepareComponentOptions","componentOptions","useApp","AppComponent","_registerComponents","_moduleName","_setComponentGlobal","global","AppError","_handleError","preventDefault","_handleUnhandledError","reason","errorCode","infoDefault","errorInfo","err2","AppModule","Main","Monkey","appMonkey","AppMeta","AppMonkey","AppUtil","SymbolAppClose","ZovaApplication","ctxRoot","_reloadDelayTimer","reload","reloadDelay","location","cancel","clearTimeout","SymbolLoggerMessage","formatLoggerFilter","format","strict","NpmConfigSetLevels","__formatLoggerFilterCheckInfo","silly","formatLoggerConsole","print","stack","durationMs","textName","colorize","textBeanFullName","textMessage","textDurationMs","textStack","meta2","MixinClass","classRefs","TargetClass","OmitClass","classRef","PartialClass","partialClass","PickClass","PluginZova","update","$customKey","useComposable","composable","useCustomRef","factory"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/types/utils/cast.ts","../src/vueExtra/computed.ts","../src/core/sys/metadata.ts","../src/mappedClass/type.ts","../src/mappedClass/utils.ts","../src/utils/uuid.ts","../src/core/sys/sysFake.ts","../src/bean/beanSimple.ts","../src/core/sys/util.ts","../src/core/sys/resource.ts","../src/utils/stateLock.ts","../src/bean/beanBaseSimple.ts","../src/bean/resource/error/beanScopeError.ts","../src/bean/resource/error/errorInternal.ts","../src/bean/resource/error/errorClass.ts","../src/bean/resource/error/type.ts","../src/bean/resource/locale/beanScopeLocale.ts","../src/bean/resource/locale/type.ts","../src/bean/vueDecorators/utils.ts","../src/bean/beanBase.ts","../src/bean/beanAopBase.ts","../src/bean/beanAopMethodBase.ts","../src/decorator/class/beanInfo.ts","../src/decorator/class/createBeanDecorator.ts","../src/decorator/class/preload.ts","../src/decorator/class/proxyDisable.ts","../src/vueExtra/ref.ts","../src/decorator/class/use.ts","../src/decorator/class/useComposable.ts","../src/decorator/class/useScope.ts","../src/decorator/class/virtual.ts","../src/decorator/type/functionable.ts","../src/decorator/vueExtra/types.ts","../src/decorator/vueExtra/createVueDecorator.ts","../src/decorator/vueExtra/model.ts","../src/decorator/vueExtra/vueDecorators.ts","../src/bean/vueDecorators/computed.ts","../src/composables/useContext.ts","../src/composables/onControllerCreated.ts","../src/bean/vueDecorators/controllerCreated.ts","../src/composables/onControllerMounted.ts","../src/bean/vueDecorators/controllerMounted.ts","../src/bean/vueDecorators/emit.ts","../src/vueExtra/useModel.ts","../src/bean/vueDecorators/model.ts","../src/bean/vueDecorators/raw.ts","../src/bean/vueDecorators/shallow.ts","../src/bean/vueDecorators/watch.ts","../src/bean/vueDecorators/watchEffect.ts","../src/bean/vueDecorators/index.ts","../src/bean/beanContainer.ts","../src/bean/beanControllerBase.ts","../src/bean/type.ts","../src/bean/beanControllerLike.ts","../src/bean/beanControllerPageBase.ts","../src/bean/beanRenderLike.ts","../src/bean/beanRenderBase.ts","../src/bean/beanStyleBase.ts","../src/bean/scope/beanScopeUtil.ts","../src/bean/scope/beanScopeBase.ts","../src/utils/zod-enhance.ts","../src/core/sys/config.ts","../src/core/sys/constant.ts","../src/types/interface/module.ts","../src/core/component/cookie.ts","../src/core/component/event.ts","../src/core/logger/logger.ts","../src/composables/useSys.ts","../src/components/createZovaComponentAsync.ts","../src/core/sys/component.ts","../src/core/sys/error.ts","../src/core/component/locale.ts","../src/core/sys/locale.ts","../src/core/sys/module.ts","../src/core/sys/meta.ts","../src/core/sys/sys.ts","../src/plugins/bean.ts","../src/bootstrap.ts","../src/components/clientOnly.ts","../src/core/context/component.ts","../src/core/context/hooks.ts","../src/core/context/state.ts","../src/core/context/meta.ts","../src/core/context/util.ts","../src/core/context/context.ts","../src/composables/useController.ts","../src/components/component.ts","../src/composables/useApp.ts","../src/core/component/component.ts","../src/core/component/error.ts","../src/core/component/module.ts","../src/core/app/meta.ts","../src/core/app/util.ts","../src/core/app/application.ts","../src/core/app/locale.ts","../src/core/logger/format.ts","../src/mappedClass/mixinClass.ts","../src/mappedClass/omitClass.ts","../src/mappedClass/partialClass.ts","../src/mappedClass/pickClass.ts","../src/plugins/zova.ts","../src/utils/customKey.ts","../src/vueExtra/composable.ts","../src/vueExtra/customRef.ts"],"sourcesContent":["export function cast<T = any>(source: unknown) {\n return source as T;\n}\n\ndeclare global {\n function parseInt(num: number, radix?: number): number;\n function parseInt(num: any, radix?: number): number;\n}\n","import type { ComputedGetter, DebuggerOptions, WritableComputedOptions } from 'vue';\n\nimport { computed } from 'vue';\n\nexport function useComputed<T>(getter: ComputedGetter<T>, debugOptions?: DebuggerOptions): T;\nexport function useComputed<T>(options: WritableComputedOptions<T>, debugOptions?: DebuggerOptions): T;\nexport function useComputed(options, debugOptions) {\n return computed(options, debugOptions);\n}\n","import { isUndefined } from '@cabloy/utils';\nimport 'reflect-metadata';\n\nexport type MetadataKey = symbol | string;\n\nexport class AppMetadata {\n defineMetadata<V>(metadataKey: MetadataKey, metadataValue: V, target: object, prop?: MetadataKey) {\n if (isUndefined(prop)) {\n Reflect.defineMetadata(metadataKey, metadataValue, target);\n } else {\n Reflect.defineMetadata(metadataKey, metadataValue, target, prop);\n }\n }\n\n getOwnMetadata<V>(metadataKey: MetadataKey, target: object, prop?: MetadataKey): V | undefined {\n if (isUndefined(prop)) return Reflect.getOwnMetadata(metadataKey, target);\n return Reflect.getOwnMetadata(metadataKey, target, prop);\n }\n\n getMetadata<V>(metadataKey: MetadataKey, target: object, prop?: MetadataKey): V | undefined {\n if (isUndefined(prop)) return Reflect.getMetadata(metadataKey, target);\n return Reflect.getMetadata(metadataKey, target, prop);\n }\n\n getOwnMetadataArray<Entry>(inherit: boolean, metadataKey: MetadataKey, target: object, prop?: MetadataKey): Array<Entry> {\n let own: Array<Entry> | undefined = this.getOwnMetadata(metadataKey, target, prop);\n if (!own) {\n if (!inherit) {\n own = [];\n } else {\n const parent: Array<Entry> | undefined = this.getMetadata(metadataKey, target, prop);\n if (parent) {\n own = parent.slice();\n } else {\n own = [];\n }\n }\n this.defineMetadata(metadataKey, own, target, prop);\n }\n return own;\n }\n\n getOwnMetadataMap<K extends PropertyKey, V>(inherit: boolean, metadataKey: MetadataKey, target: object, prop?: MetadataKey): Record<K, V> {\n let own: Record<K, V> | undefined = this.getOwnMetadata(metadataKey, target, prop);\n if (!own) {\n if (!inherit) {\n own = {} as Record<K, V>;\n } else {\n const parent: Record<K, V> | undefined = this.getMetadata(metadataKey, target, prop);\n if (parent) {\n own = Object.assign({}, parent);\n } else {\n own = {} as Record<K, V>;\n }\n }\n this.defineMetadata(metadataKey, own, target, prop);\n }\n return own;\n }\n\n getDesignType(target: object, prop?: MetadataKey) {\n return this.getMetadata('design:type', target as any, prop);\n }\n\n getDesignParamtypes(target: object, prop?: MetadataKey) {\n return this.getMetadata('design:paramtypes', target, prop);\n }\n\n getDesignReturntype(target: object, prop?: MetadataKey) {\n return this.getMetadata('design:returntype', target, prop);\n }\n}\n\nexport const appMetadata = new AppMetadata();\n","import type { MetadataKey } from '../core/sys/metadata.ts';\n\nexport const SymbolMappedClassMetadataKeys = Symbol('SymbolMappedClassMetakeys');\n\nexport type MappedClassMetadataKeys = Record<MetadataKey, IMappedClassMetadataOptions | undefined>;\n\nexport interface IMappedClassMetadataOptions {\n partialClass?: Function;\n}\n","import type { MetadataKey } from '../core/sys/metadata.ts';\nimport type { Constructable } from '../decorator/index.ts';\nimport type { IMappedClassMetadataOptions, MappedClassMetadataKeys } from './type.ts';\n\nimport { appMetadata } from '../core/sys/metadata.ts';\nimport { SymbolMappedClassMetadataKeys } from './type.ts';\n\nexport function registerMappedClassMetadataKey(target: object, metadataKey: MetadataKey, options?: IMappedClassMetadataOptions) {\n const metadataKeys = appMetadata.getOwnMetadataMap<MetadataKey, IMappedClassMetadataOptions | undefined>(\n true,\n SymbolMappedClassMetadataKeys,\n target,\n );\n if (!Object.hasOwn(metadataKeys, metadataKey)) {\n metadataKeys[metadataKey] = options;\n }\n}\n\nexport function getMappedClassMetadataKeys(target: object): MappedClassMetadataKeys | undefined {\n return appMetadata.getMetadata<MappedClassMetadataKeys>(SymbolMappedClassMetadataKeys, target);\n}\n\nexport function copyPropertiesOfClasses(target: Constructable, sources: Constructable[], filter?: Function) {\n for (const source of sources) {\n copyProperties(target, source, ['constructor', 'prototype', 'length', 'name'], filter); // copy static\n copyProperties(target.prototype, source.prototype, ['constructor', 'prototype'], filter); // copy prototype\n }\n}\n\nexport function copyProperties(target: object, source: object, keysIgnore: MetadataKey[], filter?: Function) {\n const protos: object[] = [];\n let _proto = source;\n while (_proto) {\n if (!['Object'].includes(_proto.constructor?.name) && !Object.hasOwn(_proto, 'arguments')) {\n protos.unshift(_proto);\n }\n _proto = Object.getPrototypeOf(_proto);\n }\n for (const proto of protos) {\n for (const key of Reflect.ownKeys(proto)) {\n if (keysIgnore.includes(key)) continue;\n if (filter && !filter(key)) continue;\n // desc\n const desc = Object.getOwnPropertyDescriptor(proto, key)!;\n Object.defineProperty(target, key, desc);\n // metadata\n const metaKeys = Reflect.getOwnMetadataKeys(proto, key);\n for (const metaKey of metaKeys) {\n const metaValue = Reflect.getOwnMetadata(metaKey, proto, key);\n Reflect.defineMetadata(metaKey, metaValue, target, key);\n }\n }\n }\n}\n\nexport function copyMetadataOfClasses(target: object, sources: object[], transform?: Function) {\n //\n const metadataKeys = {};\n for (const source of sources) {\n const _metadataKeys = getMappedClassMetadataKeys(source);\n if (_metadataKeys) {\n Object.assign(metadataKeys, _metadataKeys);\n }\n }\n //\n for (const metadataKey of Object.getOwnPropertySymbols(metadataKeys)) {\n const metadataKeyOptions = metadataKeys[metadataKey];\n const rulesNew = {};\n for (const source of sources) {\n const rules = appMetadata.getMetadata(metadataKey, source);\n if (!rules) continue;\n if (!transform) {\n Object.assign(rulesNew, rules);\n } else {\n for (const key in rules) {\n const ruleNew = transform(rules, key, metadataKeyOptions);\n if (ruleNew !== undefined) {\n rulesNew[key] = ruleNew;\n }\n }\n }\n }\n appMetadata.defineMetadata(metadataKey, rulesNew, target);\n }\n}\n","/**\n * Based on the work of https://github.com/jchook/uuid-random\n */\n\nlet buf;\nlet bufIdx = 0;\nconst hexBytes: any[] = Array.from({ length: 256 });\n\n// Pre-calculate toString(16) for speed\nfor (let i = 0; i < 256; i++) {\n hexBytes[i] = (i + 0x100).toString(16).substring(1);\n}\n\n// Use best available PRNG\nconst randomBytes = (() => {\n // Node & Browser support\n const lib: any = typeof crypto !== 'undefined' ? crypto : typeof window !== 'undefined' ? window.crypto || (<any>window).msCrypto : void 0;\n\n if (lib !== void 0) {\n if (lib.randomBytes !== void 0) {\n return lib.randomBytes;\n }\n if (lib.getRandomValues !== void 0) {\n return n => {\n const bytes = new Uint8Array(n);\n lib.getRandomValues(bytes);\n return bytes;\n };\n }\n }\n\n return n => {\n const r: number[] = [];\n for (let i = n; i > 0; i--) {\n r.push(Math.floor(Math.random() * 256));\n }\n return r;\n };\n})();\n\n// Buffer random numbers for speed\n// Reduce memory usage by decreasing this number (min 16)\n// or improve speed by increasing this number (try 16384)\nconst BUFFER_SIZE = 4096;\n\nexport function uuid() {\n // Buffer some random bytes for speed\n if (buf === void 0 || bufIdx + 16 > BUFFER_SIZE) {\n bufIdx = 0;\n buf = randomBytes(BUFFER_SIZE);\n }\n\n const b = Array.prototype.slice.call(buf, bufIdx, (bufIdx += 16));\n b[6] = (b[6] & 0x0f) | 0x40;\n b[8] = (b[8] & 0x3f) | 0x80;\n\n return `${hexBytes[b[0]] + hexBytes[b[1]] + hexBytes[b[2]] + hexBytes[b[3]]}-${hexBytes[b[4]]}${hexBytes[b[5]]}-${hexBytes[b[6]]}${\n hexBytes[b[7]]\n }-${hexBytes[b[8]]}${hexBytes[b[9]]}-${hexBytes[b[10]]}${hexBytes[b[11]]}${hexBytes[b[12]]}${hexBytes[b[13]]}${hexBytes[b[14]]}${hexBytes[b[15]]}`;\n}\n","import type { ZovaSys } from './sys.ts';\n\nlet _sys: ZovaSys;\n\nexport function getSys() {\n return _sys;\n}\n\nexport function setSys(sys: ZovaSys) {\n _sys = sys;\n}\n","import type { ZovaApplication } from '../core/app/index.ts';\nimport type { ZovaContext } from '../core/context/index.ts';\nimport type { ZovaSys } from '../core/sys/sys.ts';\n\nexport class BeanSimple {\n protected sys: ZovaSys;\n protected app: ZovaApplication;\n protected ctx: ZovaContext;\n\n protected get bean() {\n return this.ctx ? this.ctx.bean : this.sys.bean;\n }\n}\n","import { extend } from '@cabloy/extend';\nimport { combineApiPathControllerAndAction, defaultPathSerializer, isEmptyObject } from '@cabloy/utils';\nimport DeepEqual from 'deep-equal';\nimport { isReactive, reactive } from 'vue';\n\nimport type { IBeanRecord, IBeanScopeRecord, TypeBeanScopeRecordKeys } from '../../bean/type.ts';\nimport type { IBeanSceneRecord } from '../../decorator/interface/beanOptions.ts';\nimport type { TypeAuthToken } from '../../types/utils/auth.ts';\n\nimport { BeanSimple } from '../../bean/beanSimple.ts';\nimport { cast } from '../../types/utils/cast.ts';\nimport { uuid as _uuid } from '../../utils/uuid.ts';\n\nexport interface IApiActionConfigPrepareOptions {\n query?: {};\n authToken?: TypeAuthToken;\n openapiSchema?: boolean;\n headers?: {};\n}\n\nexport class SysUtil extends BeanSimple {\n getAbsoluteUrlFromPagePath(path?: string, ignoreHost?: boolean, ignorePublicPath?: boolean) {\n let prefix = ignoreHost\n ? ''\n : process.env.DEV\n ? `http://${this.sys.env.DEV_SERVER_HOSTNAME || 'localhost'}:${this.sys.env.DEV_SERVER_PORT}`\n : `${this.sys.env.SSR_PROD_PROTOCOL}://${this.sys.env.SSR_PROD_HOST}`;\n if (!ignorePublicPath && this.sys.env.APP_PUBLIC_PATH) {\n prefix = `${prefix}/${this.sys.env.APP_PUBLIC_PATH}`;\n }\n return `${prefix}${path || ''}`;\n }\n\n getPagePathFromAbsoluteUrl(url: string, ignorePublicPath?: boolean) {\n let pagePath: string;\n if (isHttpUrl(url)) {\n const _url = new URL(url);\n pagePath = _url.pathname + _url.search;\n } else {\n pagePath = url;\n }\n if (!ignorePublicPath && this.sys.env.APP_PUBLIC_PATH) {\n const prefix = `/${this.sys.env.APP_PUBLIC_PATH}`;\n if (pagePath.startsWith(prefix)) {\n pagePath = pagePath.substring(prefix.length);\n }\n }\n return pagePath;\n }\n\n getApiBaseURL(useApiPrefix: boolean = true) {\n let baseURL = this.sys.config.api.baseURL || '';\n if (useApiPrefix) {\n baseURL = `${baseURL}${this.sys.config.api.prefix || ''}`;\n }\n return baseURL;\n }\n\n getOpenApiBaseURL(envName: string): string {\n if (process.env.CLIENT) {\n return this.sys.env[envName] || this.sys.env.OPENAPI_BASE_URL_DEFAULT || this.sys.env.API_BASE_URL;\n } else {\n return this.sys.env[envName] || this.sys.env.OPENAPI_BASE_URL_DEFAULT || this.sys.env.SSR_API_BASE_URL;\n }\n }\n\n getApiPath<K extends string | undefined = string | undefined>(path: K): K extends string ? string : undefined {\n if (!path) return path as any;\n if (path.startsWith('//')) {\n path = path.substring(1) as any;\n } else {\n path = (this.sys.config.api.prefix + path) as any;\n }\n return path as any;\n }\n\n apiActionPathTranslate(pathName: string, pathParams?: Record<string, any>): string {\n return defaultPathSerializer(pathName, pathParams);\n }\n\n apiActionConfigPrepare(baseURL?: string, options?: IApiActionConfigPrepareOptions, authToken?: TypeAuthToken) {\n // custom\n const optionsCustom: any = {\n params: options?.query,\n query: undefined,\n };\n const interceptors = {};\n // authToken\n authToken = options?.authToken === undefined ? authToken : options?.authToken;\n if (authToken !== undefined) {\n interceptors['a-interceptor:jwt'] = { authToken };\n }\n // openapiSchema\n if (options?.openapiSchema) {\n interceptors['a-interceptor:headers'] = { openapiSchema: options?.openapiSchema };\n }\n if (!isEmptyObject(interceptors)) {\n optionsCustom.interceptors = interceptors;\n }\n // extend\n return deepExtend(\n {\n baseURL: baseURL || this.getApiBaseURL(false),\n },\n options,\n optionsCustom,\n );\n }\n\n getModuleConfigSafe<K extends TypeBeanScopeRecordKeys>(moduleName: K): IBeanScopeRecord[K] extends { config?: infer CONFIG } ? CONFIG : undefined {\n const module = this.sys.meta.module.get(moduleName);\n if (module) {\n const scope = this.sys.bean.scope(moduleName);\n return cast(scope).config;\n }\n let config = this.sys.config.modules[moduleName as any];\n if (!config) {\n config = this.sys.config.modules[moduleName as any] = {} as any;\n }\n return config;\n }\n\n getModuleConfigOriginal<K extends TypeBeanScopeRecordKeys>(\n moduleName: K,\n ): IBeanScopeRecord[K] extends { config?: infer CONFIG } ? CONFIG : undefined {\n return this.sys.configOriginal.modules![moduleName as any] ?? {};\n }\n\n parseResourceApi(resource: string, api?: string) {\n const parts = resource.split(':');\n return api ?? combineApiPathControllerAndAction(parts[0], parts[1], undefined, true, true, this.sys.env.API_PREFIX);\n }\n}\n\nexport function uuid(): string {\n return _uuid();\n}\n\nexport function isUuid(str: string): boolean {\n if (!str) return false;\n const length = str.length;\n return length === 36 || length === 32;\n}\n\n// for hold on CustomRefImpl\nexport function objectAssignReactive<T = any>(...args): T {\n let target = args[0];\n if (!target || typeof target !== 'object') throw new Error('invalid args');\n if (!isReactive(target)) {\n target = reactive(target);\n }\n for (let i = 1; i < args.length; i++) {\n const source = args[i];\n if (!source) continue;\n const keys = Object.getOwnPropertyNames(source);\n for (const key of keys) {\n const desc = Object.getOwnPropertyDescriptor(source, key);\n target[key] = desc?.value;\n }\n }\n return target;\n}\n\nexport function deepExtend<T = any>(...args): T {\n return extend(true, ...args);\n}\n\nexport function deepEqual(actual: unknown, expected: unknown, opts?: { strict?: boolean }): boolean {\n return DeepEqual(actual, expected, opts);\n}\n\nexport function disposeInstance(instance: any) {\n instance?.__dispose__?.();\n}\n\nexport function polyfillDispose(instance: any) {\n if (!instance || instance.__dispose__) return;\n Object.getPrototypeOf(instance).__dispose__ = () => {};\n}\n\nexport function beanFullNameFromOnionName(onionName: string, sceneName: keyof IBeanSceneRecord): keyof IBeanRecord {\n return onionName.replace(':', `.${sceneName}.`) as unknown as keyof IBeanRecord;\n}\n\nexport function onionNameFromBeanFullName(beanFullName: string, sceneName: keyof IBeanSceneRecord): string {\n return beanFullName.replace(`.${sceneName}.`, ':');\n}\n\nexport function convertToUnit(str: number, unit?: string): string;\nexport function convertToUnit(str: string | number | null | undefined, unit?: string): string | undefined;\nexport function convertToUnit(str: string | number | null | undefined, unit: string = 'px'): string | undefined {\n if (str === undefined || str === null || str === '') {\n return undefined;\n }\n const num = Number(str);\n if (Number.isNaN(num)) {\n return String(str);\n } else if (!Number.isFinite(num)) {\n return undefined;\n } else {\n return `${num}${unit}`;\n }\n}\n\nexport function isHttpUrl(url?: string): boolean {\n return !!url && (url.startsWith('http://') || url.startsWith('https://'));\n}\n","import { isClass } from '@cabloy/utils';\nimport { parseLastWord, skipLastWord, skipPrefix, splitWords } from '@cabloy/word-utils';\n\nimport type { IBeanRecord } from '../../bean/type.ts';\nimport type {\n Constructable,\n Functionable,\n IBeanSceneRecord,\n IDecoratorBeanInfoOptions,\n IDecoratorBeanOptionsBase,\n IDecoratorUseOptionsBase,\n} from '../../decorator/index.js';\nimport type { MetadataKey } from './metadata.ts';\n\nimport { registerMappedClassMetadataKey } from '../../mappedClass/utils.ts';\nimport { cast } from '../../types/utils/cast.ts';\nimport { uuid } from '../../utils/uuid.ts';\nimport { appMetadata } from './metadata.ts';\nimport { getSys } from './sysFake.ts';\nimport { deepExtend } from './util.ts';\n\nexport const DecoratorBeanFullName = Symbol('Decorator#BeanFullName');\nexport const SymbolDecoratorBeanInfo = Symbol('SymbolDecoratorBeanInfo');\nexport const SymbolDecoratorProxyDisable = Symbol('SymbolDecoratorProxyDisable');\nexport const SymbolDecoratorPreload = Symbol('SymbolDecoratorPreload');\nexport const SymbolDecoratorVirtual = Symbol('SymbolDecoratorVirtual');\nexport const SymbolDecoratorUse = Symbol('SymbolDecoratorUse');\nexport const DecoratorBeanFullNameOfComposable = Symbol('Decorator#BeanFullNameOfComposable');\n\nexport type IAppResourceRecord = Record<string, IDecoratorBeanOptionsBase>;\n\nexport class AppResource {\n beans: Record<string, IDecoratorBeanOptionsBase> = {};\n scenes: Record<string, Record<string, IAppResourceRecord>> = {};\n\n /** @internal */\n public dispose() {\n // just need override state rather than clearing state\n // this.beans = {};\n // this.scenes = {};\n }\n\n addUse(target: object, options: IDecoratorUseOptionsBase) {\n registerMappedClassMetadataKey(target, SymbolDecoratorUse);\n const uses = appMetadata.getOwnMetadataMap(true, SymbolDecoratorUse, target);\n uses[options.prop] = options;\n if (process.env.DEV) {\n if (typeof options.prop === 'string' && !options.prop.startsWith('$$')) {\n console.error(`inject prop name should start with $$: ${options.prop}`);\n }\n }\n }\n\n getUses(target: object): Record<MetadataKey, IDecoratorUseOptionsBase> | undefined {\n return appMetadata.getMetadata(SymbolDecoratorUse, target);\n }\n\n addBean<T>(beanOptions: Partial<IDecoratorBeanOptionsBase<T>>) {\n const { beanClass, options, optionsPrimitive } = beanOptions;\n // virtual\n const virtual = appMetadata.getOwnMetadata<boolean>(SymbolDecoratorVirtual, beanClass!);\n // name\n const { scene, name } = this._parseSceneAndBeanName(beanClass!, beanOptions.scene, beanOptions.name);\n // beanInfo\n const beanInfo = appMetadata.getOwnMetadata<IDecoratorBeanInfoOptions>(SymbolDecoratorBeanInfo, beanClass!);\n // module\n const module = beanInfo?.module;\n if (!module) throw new Error(`module name not parsed for bean: ${scene}.${name}`);\n // beanFullName\n const beanFullName = `${module}.${scene}.${name}`;\n // moduleBelong\n const moduleBelong = this._parseModuleBelong(module, beanClass, virtual);\n // options\n const options2 = this._prepareOnionOptions(options, optionsPrimitive, scene, `${module}:${name}`);\n // beanOptions2\n const beanOptions2 = {\n ...beanOptions,\n module,\n scene: scene as keyof IBeanSceneRecord,\n name,\n beanFullName,\n moduleBelong,\n options: options2,\n } as IDecoratorBeanOptionsBase<T>;\n // record\n this.beans[beanFullName] = beanOptions2;\n if (!this.scenes[scene!]) this.scenes[scene!] = {};\n if (!this.scenes[scene!][module]) this.scenes[scene!][module] = {};\n this.scenes[scene!][module][beanFullName] = beanOptions2;\n // set metadata\n appMetadata.defineMetadata(DecoratorBeanFullName, beanFullName, beanOptions2.beanClass);\n // ok\n return beanOptions2;\n }\n\n getBeanFullName<T>(A: Constructable<T> | undefined): string | undefined;\n getBeanFullName<K extends keyof IBeanRecord>(beanFullName: K | undefined): K | undefined;\n getBeanFullName(beanFullName: string | undefined): string | undefined;\n getBeanFullName(beanFullName) {\n if (!beanFullName) return beanFullName;\n if (typeof beanFullName === 'function' && isClass(beanFullName)) {\n return appMetadata.getOwnMetadata(DecoratorBeanFullName, beanFullName);\n }\n return beanFullName;\n }\n\n getBeanFullNameOfComposable(beanComposable: Functionable | undefined): string | undefined {\n if (!beanComposable) return;\n if (!beanComposable[DecoratorBeanFullNameOfComposable]) {\n beanComposable[DecoratorBeanFullNameOfComposable] = `__composable__:${uuid()}`;\n }\n return beanComposable[DecoratorBeanFullNameOfComposable];\n }\n\n getBean<T>(A: Constructable<T>): IDecoratorBeanOptionsBase<T> | undefined;\n getBean<K extends keyof IBeanRecord>(beanFullName: K): IDecoratorBeanOptionsBase<IBeanRecord[K]> | undefined;\n getBean<T>(beanFullName: string): IDecoratorBeanOptionsBase<T> | undefined;\n getBean<T>(beanFullName): IDecoratorBeanOptionsBase<T> | undefined {\n const fullName = this.getBeanFullName(beanFullName);\n if (!fullName) return null!;\n return this.beans[fullName] as IDecoratorBeanOptionsBase<T>;\n }\n\n _parseSceneAndBeanName<T>(beanClass: Constructable<T>, scene?: string, name?: string): { scene: string; name: string } {\n if (scene && name) {\n return { scene, name };\n }\n // bean class name\n // let beanClassName = this._fixClassName(beanClass.name);\n let beanClassName = beanClass.name;\n // skip prefix: Bean\n if (beanClassName.toLowerCase().startsWith('bean')) {\n beanClassName = beanClassName.substring('bean'.length);\n }\n // name\n if (!name) {\n if (scene) {\n name = skipPrefix(beanClassName, scene, true)!;\n } else {\n name = parseLastWord(beanClassName, true)!;\n }\n }\n // scene\n if (!scene) {\n scene = skipLastWord(beanClassName, name, true)!;\n scene = splitWords(scene, true, '.')!;\n }\n // ok\n return { scene, name };\n }\n\n _parseModuleBelong(module, beanClass, virtual) {\n if (!virtual) return module;\n // check parent\n let moduleBelong;\n let parent = Object.getPrototypeOf(beanClass);\n while (parent) {\n const beanOptions = this.getBean(parent);\n if (beanOptions && beanOptions.moduleBelong) {\n moduleBelong = beanOptions.moduleBelong;\n break;\n }\n parent = Object.getPrototypeOf(parent);\n }\n return moduleBelong;\n }\n\n _getModuleBelong<T>(A: Constructable<T>): string | undefined;\n _getModuleBelong<K extends keyof IBeanRecord>(beanFullName: K): string | undefined;\n _getModuleBelong(beanFullName: string): string | undefined;\n _getModuleBelong<T>(beanFullName: Constructable<T> | string): string | undefined {\n const beanOptions = this.getBean(beanFullName as any);\n return beanOptions?.moduleBelong;\n }\n\n _getModuleName<T>(A: Constructable<T>): string | undefined;\n _getModuleName<K extends keyof IBeanRecord>(beanFullName: K): string | undefined;\n _getModuleName(beanFullName: string): string | undefined;\n _getModuleName<T>(beanFullName: Constructable<T> | string): string | undefined {\n const beanOptions = this.getBean(beanFullName as any);\n return beanOptions?.module;\n }\n\n _prepareOnionOptions(options: unknown, optionsPrimitive: boolean | undefined, scene: any, name: string) {\n const sys = getSys();\n const optionsConfig = cast(sys.config).onions[scene]?.[name];\n if (optionsPrimitive) {\n return optionsConfig === undefined ? options : optionsConfig;\n } else {\n return deepExtend({}, options, optionsConfig);\n }\n }\n\n // _fixClassName(className: string) {\n // while (className.endsWith('2')) {\n // className = className.substring(0, className.length - 1);\n // }\n // return className;\n // }\n}\n\nexport const appResource = new AppResource();\n","import { reactive } from 'vue';\n\nconst SymbolWaitPromise = Symbol('SymbolWaitPromise');\n\nlet __counter = 0;\n\nexport class StateLock {\n private _state: boolean;\n private _resolve?: Function;\n\n static create() {\n return reactive(new StateLock()) as StateLock;\n }\n\n protected constructor() {\n this._state = false;\n __counter++;\n }\n\n get state() {\n return this._state;\n }\n\n touch() {\n if (this._state === true) return;\n this._state = true;\n __counter--;\n // console.log('-----lock counter: ', __counter);\n if (this._resolve) {\n this._resolve.call(undefined, null);\n this._resolve = undefined;\n }\n }\n\n async wait() {\n if (!this[SymbolWaitPromise]) {\n this[SymbolWaitPromise] = this._waitInner();\n }\n return this[SymbolWaitPromise];\n }\n\n private async _waitInner() {\n return new Promise(resolve => {\n // condition check should place in the promise inner\n if (this.state) return resolve(null);\n this._resolve = resolve;\n });\n }\n}\n","import type { IDecoratorBeanOptionsBase } from '../decorator/interface/beanOptions.ts';\n\nimport { appResource } from '../core/sys/resource.ts';\nimport { StateLock } from '../utils/stateLock.ts';\nimport { BeanSimple } from './beanSimple.ts';\n\nexport const SymbolBeanFullName = Symbol('SymbolBeanFullName');\nexport const SymbolBeanInstanceKey = Symbol('SymbolBeanInstanceKey');\nexport const SymbolModuleBelong = Symbol('SymbolModuleBelong');\nexport const SymbolModuleName = Symbol('SymbolModuleName');\nexport const SymbolInited = Symbol('SymbolInited');\nconst SymbolDebugCounter = Symbol('SymbolDebugCounter');\n\nlet __debugCounter = 0;\n\nexport class BeanBaseSimple extends BeanSimple {\n private [SymbolBeanFullName]: string;\n private [SymbolBeanInstanceKey]: string;\n // @ts-ignore: ignore\n private [SymbolInited]: StateLock;\n\n constructor() {\n super();\n this[SymbolInited] = StateLock.create();\n if (process.env.DEV) {\n this[SymbolDebugCounter] = ++__debugCounter;\n }\n }\n\n protected get [SymbolModuleBelong]() {\n const moduleBelong = appResource._getModuleBelong(this[SymbolBeanFullName]);\n if (!moduleBelong) throw new Error(`not found module belong: ${this[SymbolBeanFullName]}`);\n return moduleBelong;\n }\n\n protected get [SymbolModuleName]() {\n const moduleName = appResource._getModuleName(this[SymbolBeanFullName]);\n if (!moduleName) throw new Error(`not found module name: ${this[SymbolBeanFullName]}`);\n return moduleName;\n }\n\n public get $beanFullName() {\n return this[SymbolBeanFullName];\n }\n\n public get $beanInstanceKey() {\n return this[SymbolBeanInstanceKey];\n }\n\n protected get $beanOptions(): IDecoratorBeanOptionsBase {\n return appResource.getBean(this[SymbolBeanFullName] || (this.constructor as any))!;\n }\n\n public get $onionName() {\n const parts = this.$beanFullName.split('.');\n return `${parts[0]}:${parts[2]}`;\n }\n\n public get $onionOptions(): unknown | undefined {\n return this.$beanOptions.options;\n }\n}\n","import type { IModuleError } from './type.ts';\n\nimport { BeanSimple } from '../../beanSimple.ts';\n\nconst BeanModuleScope = Symbol('BeanScopeError#ModuleScope');\n\nexport class BeanScopeError extends BeanSimple {\n private [BeanModuleScope]: string;\n private __instances: Record<string, IModuleError> = {};\n\n constructor(moduleScope) {\n super();\n this[BeanModuleScope] = moduleScope;\n }\n\n protected __get__(prop: string) {\n if (!this.__instances[prop]) {\n this.__instances[prop] = this.app.meta.error.createScopeError(this[BeanModuleScope], prop);\n }\n return this.__instances[prop];\n }\n}\n","/* eslint-disable */\nexport const errorsInternal = {\n '0': 'Success',\n '1': 'Unknown Error',\n '100': 'Continue',\n '101': 'Switching Protocols',\n '102': 'Processing',\n '103': 'Early hints',\n '200': 'OK',\n '201': 'Created',\n '202': 'Accepted',\n '203': 'Non-Authoritative Information',\n '204': 'No Content',\n '205': 'Reset Content',\n '206': 'Partial Content',\n '207': 'Multi-Status',\n '208': 'Already Reported',\n '226': 'IM Used',\n '300': 'Multiple Choices',\n '301': 'Moved Permanently',\n '302': 'Found',\n '303': 'See Other',\n '304': 'Not Modified',\n '305': 'Use Proxy',\n '307': 'Temporary Redirect',\n '308': 'Permanent Redirect',\n '400': 'Bad Request',\n '401': 'Unauthorized',\n '402': 'Payment Required',\n '403': 'Forbidden',\n '404': 'Not Found',\n '405': 'Method Not Allowed',\n '406': 'Not Acceptable',\n '407': 'Proxy Authentication Required',\n '408': 'Request Timeout',\n '409': 'Conflict',\n '410': 'Gone',\n '411': 'Length Required',\n '412': 'Precondition Failed',\n '413': 'Payload Too Large',\n '414': 'URI Too Long',\n '415': 'Unsupported Media Type',\n '416': 'Range Not Satisfiable',\n '417': 'Expectation Failed',\n '418': \"I'm a teapot\",\n '421': 'Misdirected Request',\n '422': 'Unprocessable Entity',\n '423': 'Locked',\n '424': 'Failed Dependency',\n '425': 'Too Early',\n '426': 'Upgrade Required',\n '428': 'Precondition Required',\n '429': 'Too Many Requests',\n '431': 'Request Header Fields Too Large',\n '451': 'Unavailable For Legal Reasons',\n '500': 'Internal Server Error',\n '501': 'Not Implemented',\n '502': 'Bad Gateway',\n '503': 'Service Unavailable',\n '504': 'Gateway Timeout',\n '505': 'HTTP Version Not Supported',\n '506': 'Variant Also Negotiates',\n '507': 'Insufficient Storage',\n '508': 'Loop Detected',\n '509': 'Bandwidth Limit Exceeded',\n '510': 'Not Extended',\n '511': 'Network Authentication Required',\n '600': 'Component Unmounted',\n};\n\nexport type TypeErrorsInternal = typeof errorsInternal;\nexport type TypeErrorsInternalKeys = keyof TypeErrorsInternal;\n","import { BeanSimple } from '../../beanSimple.ts';\nimport { errorsInternal } from './errorInternal.ts';\n\nexport class ErrorClass extends BeanSimple {\n /** @internal */\n public async initialize() {}\n\n // code/message,args\n throw(module, code, ...args): never {\n const body = this.parseFail(module, code, ...args);\n const err = new Error();\n err.code = body.code;\n err.message = body.message;\n if (body.code < 500) err.status = body.code;\n throw err;\n }\n\n // code/message,args\n parseFail(module, code, ...args) {\n if (typeof code === 'object') return code;\n return this.parseCode(module, 1, code, ...args);\n }\n\n // parseCode\n parseCode(module, codeDefault, code, ...args) {\n const ebError = this.sys.meta.error.errors[module];\n\n // '403'->403\n if (typeof code === 'string' && /^\\d+$/.test(code)) {\n code = Number(code);\n }\n\n // convert from enum\n let text;\n if (code && typeof code === 'string') {\n text = code;\n code = ebError[code];\n }\n\n if (code === undefined || code === null || code === '') {\n code = codeDefault;\n }\n\n let message: string;\n if (code <= 1000) {\n message = this.app.meta.locale.getText(true, undefined, undefined, errorsInternal[code], ...args);\n } else {\n message = this.app.meta.locale.getText(false, module, undefined, text || code, ...args);\n }\n\n code = __combineErrorCode(module, code);\n return { code, message };\n }\n}\n\nfunction __combineErrorCode(module, code) {\n if (typeof code !== 'number' || code <= 1000) return code;\n return module ? `${module}:${code}` : code;\n}\n","import type { ComponentPublicInstance } from 'vue';\n\nimport type { IErrorObject } from './errorObject.ts';\n\nexport const SymbolErrorInstanceInfo = Symbol('SymbolErrorInstanceInfo');\n\nexport interface IErrorInstanceInfo {\n instance?: ComponentPublicInstance | null;\n info?: string;\n}\n\nexport interface IErrorHandlerEventData {\n err: Error;\n instance?: ComponentPublicInstance | null;\n info?: string;\n}\n\nexport type IErrorHandlerEventResult = Error | undefined;\n\nexport interface IModuleError {\n throw(...args: any[]): never;\n parseFail(...args: any[]): IErrorObject;\n}\n\nexport type TypeModuleErrors<T> = {\n [prop in keyof T]: IModuleError;\n};\n\ndeclare module 'zova-core' {\n export interface IEventRecord {\n 'app:errorHandler': { data: IErrorHandlerEventData; result: IErrorHandlerEventResult };\n }\n}\n","import type { IModuleLocale } from './type.ts';\n\nimport { BeanSimple } from '../../beanSimple.ts';\n\nconst BeanModuleScope = Symbol('BeanScopeLocale#ModuleScope');\n\nexport class BeanScopeLocale extends BeanSimple {\n // @ts-ignore: ignore\n private [BeanModuleScope]: string;\n private __instances: Record<string, IModuleLocale> = {};\n\n constructor(moduleScope) {\n super();\n this[BeanModuleScope] = moduleScope;\n }\n\n protected __get__(prop: string) {\n if (!this.__instances[prop]) {\n const metaLocale = this.app ? this.app.meta.locale : this.sys.meta.locale;\n this.__instances[prop] = metaLocale.createScopeLocaleText(this[BeanModuleScope], prop);\n }\n return this.__instances[prop];\n }\n}\n","export const LocaleModuleNameSeparator = '::';\n\nexport interface IModuleLocale {\n (...args: any[]): string;\n locale: <T extends keyof ILocaleRecord>(locale: T, ...args: any[]) => string;\n}\n\nexport interface IModuleLocaleText {\n (text: string, ...args: any[]): string;\n locale: <T extends keyof ILocaleRecord>(locale: T, text: string, ...args: any[]) => string;\n}\n\nexport type TypeModuleLocales<T> = {\n [prop in keyof T]: IModuleLocale;\n};\n\nexport type TypeLocaleBase = 'en-us';\n\nexport interface ILocaleRecord {\n 'en-us': never;\n 'zh-cn': never;\n}\n","import { shallowReactive } from 'vue';\n\nconst SymbolVueDecorators = Symbol('Bean#SymbolVueDecorators');\n\nexport function getVueDecoratorValues(beanInstance) {\n if (!beanInstance[SymbolVueDecorators]) {\n beanInstance[SymbolVueDecorators] = shallowReactive({});\n }\n return beanInstance[SymbolVueDecorators];\n}\n\nexport function getVueDecoratorValue(beanInstance, prop: string, index: number, fn?: Function) {\n const key = `${prop}:${index}`;\n const values = getVueDecoratorValues(beanInstance);\n if (!values[key] && fn) {\n values[key] = fn();\n }\n return values[key];\n}\n\nexport function setVueDecoratorValue(beanInstance, prop: string, index: number, value: any) {\n const key = `${prop}:${index}`;\n const values = getVueDecoratorValues(beanInstance);\n values[key] = value;\n}\n","import type { Logger } from '@cabloy/logger';\nimport type { ReactiveMarker } from '@vue/reactivity';\nimport type {\n ComputedGetter,\n DebuggerOptions,\n MultiWatchSources,\n RendererNode,\n WatchCallback,\n WatchEffect,\n WatchEffectOptions,\n WatchHandle,\n WatchOptions,\n WatchSource,\n WritableComputedOptions,\n} from 'vue';\n\nimport { watch, watchEffect, watchPostEffect, watchSyncEffect } from 'vue';\n\nimport type { AppEvent } from '../core/component/event.ts';\nimport type { ILoggerChildRecord, ILoggerClientRecord } from '../core/logger/types.ts';\nimport type { FunctionAsync } from '../decorator/type/functionable.ts';\nimport type { MapSources, MaybeUndefined } from '../vueExtra/watch.ts';\nimport type { IErrorHandlerEventResult, IModuleLocaleText, IZovaComponentRecord } from './resource/index.ts';\n\nimport { cast } from '../types/utils/cast.ts';\nimport { useComputed } from '../vueExtra/computed.ts';\nimport { BeanBaseSimple, SymbolModuleBelong } from './beanBaseSimple.ts';\nimport { SymbolErrorInstanceInfo } from './resource/index.ts';\nimport { getVueDecoratorValue } from './vueDecorators/utils.ts';\n\nconst SymbolText = Symbol('SymbolText');\nconst SymbolLogger = Symbol('SymbolLogger');\nconst SymbolLoggerChildren = Symbol('SymbolLoggerChildren');\n\nexport class BeanBase extends BeanBaseSimple {\n private [SymbolText]: IModuleLocaleText;\n private [SymbolLogger]: Record<keyof ILoggerClientRecord, Logger> = {} as any;\n private [SymbolLoggerChildren]: Record<keyof ILoggerClientRecord, Record<string, Logger>> = {} as any;\n\n protected get $el(): RendererNode {\n if (!this.ctx) {\n throw new Error('$el can not be used inside global bean.');\n }\n return this.ctx.meta.el;\n }\n\n protected get $text(): IModuleLocaleText {\n if (!this[SymbolText]) {\n this[SymbolText] = this.app.meta.locale.createLocaleText(this[SymbolModuleBelong]);\n }\n return this[SymbolText];\n }\n\n protected get $logger() {\n return this.$loggerClient('default');\n }\n\n protected $loggerClient(clientName: keyof ILoggerClientRecord) {\n if (!this[SymbolLogger][clientName]) {\n this[SymbolLogger][clientName] = this.sys.meta.logger.get(clientName).child({ beanFullName: this.$beanFullName });\n }\n return this[SymbolLogger][clientName];\n }\n\n protected $loggerChild(childName: keyof ILoggerChildRecord, clientName: keyof ILoggerClientRecord = 'default') {\n if (!this[SymbolLoggerChildren][clientName]) this[SymbolLoggerChildren][clientName] = {} as never;\n if (!this[SymbolLoggerChildren][clientName][childName]) {\n this[SymbolLoggerChildren][clientName][childName] = this.sys.meta.logger.get(clientName).child({\n beanFullName: this.$beanFullName,\n name: childName,\n });\n }\n return this[SymbolLoggerChildren][clientName][childName];\n }\n\n protected get $event(): AppEvent {\n return this.app.meta.event;\n }\n\n // need not\n // protected async __init__() {}\n // protected __dispose__() {}\n\n public get scope(): unknown {\n return this.bean.scope(this[SymbolModuleBelong] as never);\n }\n\n protected $watchHandle(prop: string | Function, index?: number): WatchHandle {\n if (typeof prop === 'function') {\n prop = prop.name;\n }\n return getVueDecoratorValue(this, prop, index ?? 0);\n }\n\n protected $renderFreeze(freeze: boolean) {\n return cast(this.ctx.instance).ctx.renderFreeze(freeze);\n }\n\n protected async $renderFreezeScope<RESULT>(fn: FunctionAsync<RESULT>): Promise<RESULT | undefined> {\n if (this.ctx.disposed) return;\n return await cast(this.ctx.instance).ctx.renderFreezeScope(fn);\n }\n\n protected $onCreated(fn: any) {\n this.ctx.meta.hooks.onCreated(fn);\n }\n\n protected $onMounted(fn: any) {\n this.ctx.meta.hooks.onMounted(fn);\n }\n\n protected $errorHandler(err: unknown, info?: string): IErrorHandlerEventResult {\n if (err instanceof Error && err[SymbolErrorInstanceInfo]) {\n delete err[SymbolErrorInstanceInfo];\n }\n return this.app?.vue.config.errorHandler!(err, this.ctx.instance as any, info!) as unknown as IErrorHandlerEventResult;\n }\n\n protected $useComputed<T>(getter: ComputedGetter<T>, debugOptions?: DebuggerOptions): T;\n protected $useComputed<T>(options: WritableComputedOptions<T>, debugOptions?: DebuggerOptions): T;\n protected $useComputed(options, debugOptions) {\n return this.ctx.util.instanceScope(() => {\n return useComputed(options, debugOptions);\n });\n }\n\n protected $watchEffect(effect: WatchEffect, options?: WatchEffectOptions): WatchHandle {\n return this.ctx.util.instanceScope(() => {\n return watchEffect(effect, options);\n });\n }\n\n protected $watchPostEffect(effect: WatchEffect, options?: DebuggerOptions): WatchHandle {\n return this.ctx.util.instanceScope(() => {\n return watchPostEffect(effect, options);\n });\n }\n\n protected $watchSyncEffect(effect: WatchEffect, options?: DebuggerOptions): WatchHandle {\n return this.ctx.util.instanceScope(() => {\n return watchSyncEffect(effect, options);\n });\n }\n\n protected $watch<T, Immediate extends Readonly<boolean> = false>(\n source: WatchSource<T>,\n cb: WatchCallback<T, MaybeUndefined<T, Immediate>>,\n options?: WatchOptions<Immediate>,\n ): WatchHandle;\n protected $watch<T extends Readonly<MultiWatchSources>, Immediate extends Readonly<boolean> = false>(\n sources: readonly [...T] | T,\n cb: [T] extends [ReactiveMarker] ? WatchCallback<T, MaybeUndefined<T, Immediate>> : WatchCallback<MapSources<T, false>, MapSources<T, Immediate>>,\n options?: WatchOptions<Immediate>,\n ): WatchHandle;\n protected $watch<T extends MultiWatchSources, Immediate extends Readonly<boolean> = false>(\n sources: [...T],\n cb: WatchCallback<MapSources<T, false>, MapSources<T, Immediate>>,\n options?: WatchOptions<Immediate>,\n ): WatchHandle;\n protected $watch<T extends object, Immediate extends Readonly<boolean> = false>(\n source: T,\n cb: WatchCallback<T, MaybeUndefined<T, Immediate>>,\n options?: WatchOptions<Immediate>,\n ): WatchHandle {\n return this.ctx.util.instanceScope(() => {\n return watch(source, cb, options);\n });\n }\n\n protected $onControllerCreated(fn: any) {\n return this.ctx.util.instanceScope(() => {\n return this.ctx.meta.hooks.onCreated(fn);\n });\n }\n\n protected $controllerMounted(fn: any) {\n return this.ctx.util.instanceScope(() => {\n return this.ctx.meta.hooks.onMounted(fn);\n });\n }\n\n protected $zovaComponent<K extends keyof IZovaComponentRecord>(componentName: K): IZovaComponentRecord[K];\n protected $zovaComponent(module: string, name: string);\n protected $zovaComponent(module: string, name?: string) {\n return this.sys.meta.component.getZovaComponent(module, name!);\n }\n\n // need not\n // public dispose() {\n // const self = cast(this);\n // if (self.__dispose__) {\n // self.__dispose__();\n // }\n // }\n}\n","import { BeanBase } from './beanBase.ts';\n\nexport class BeanAopBase extends BeanBase {}\n","import { BeanBase } from './beanBase.ts';\n\nexport class BeanAopMethodBase extends BeanBase {}\n","import type { IDecoratorBeanInfoOptions } from '../interface/beanOptions.ts';\n\nimport { appMetadata } from '../../core/sys/metadata.ts';\nimport { SymbolDecoratorBeanInfo } from '../../core/sys/resource.ts';\n\nexport function BeanInfo(options: IDecoratorBeanInfoOptions): ClassDecorator {\n return function (target) {\n // set metadata\n appMetadata.defineMetadata(SymbolDecoratorBeanInfo, options, target);\n };\n}\n","import type { IBeanSceneRecord } from '../interface/beanOptions.ts';\nimport type { Constructable } from '../type/constructable.ts';\nimport type { ContainerScope } from '../type/containerScope.ts';\n\nimport { appResource } from '../../core/sys/resource.ts';\n\nexport function createBeanDecorator<T>(\n scene: keyof IBeanSceneRecord,\n containerScope?: ContainerScope,\n markReactive?: boolean,\n options?: T,\n optionsPrimitive?: boolean,\n fn?: (target: Constructable) => void,\n): ClassDecorator {\n return function (target) {\n // name\n const name = scene === 'scope' ? 'module' : undefined;\n // add\n appResource.addBean({\n scene,\n name,\n containerScope,\n markReactive,\n beanClass: target as unknown as Constructable,\n options,\n optionsPrimitive,\n });\n // fn\n fn && fn(target as unknown as Constructable);\n };\n}\n","import { appMetadata } from '../../core/sys/metadata.ts';\nimport { SymbolDecoratorPreload } from '../../core/sys/resource.ts';\n\nexport function Preload(): ClassDecorator {\n return function (target) {\n // set metadata\n appMetadata.defineMetadata(SymbolDecoratorPreload, true, target);\n };\n}\n","import { appMetadata } from '../../core/sys/metadata.ts';\nimport { SymbolDecoratorProxyDisable } from '../../core/sys/resource.ts';\n\nexport function ProxyDisable(): ClassDecorator {\n return function (target) {\n // set metadata\n appMetadata.defineMetadata(SymbolDecoratorProxyDisable, true, target);\n };\n}\n","import type { Ref, UnwrapRef } from 'vue';\n\nimport { toRef } from 'vue';\n\nexport function useRef<T>(value: T): T extends () => infer R ? R : T extends Ref ? UnwrapRef<T> : UnwrapRef<T>;\nexport function useRef<T extends object, K extends keyof T>(object: T, key: K): T[K];\nexport function useRef<T extends object, K extends keyof T>(object: T, key: K, defaultValue: T[K]): Exclude<T[K], undefined>;\nexport function useRef(object, key?, defaultValue?) {\n return toRef(object, key, defaultValue);\n}\n","import { evaluateExpressions, isNilOrEmptyString } from '@cabloy/utils';\n\nimport type { IBeanRecord } from '../../bean/type.ts';\nimport type { MetadataKey } from '../../core/sys/metadata.ts';\nimport type {\n Constructable,\n IDecoratorUseOptions,\n IDecoratorUseOptionsBase,\n IInjectSelectorInfo,\n IUsePrepareArgResult,\n TypeDecoratorUseOptionsInitArg,\n} from '../index.js';\n\nimport { appMetadata } from '../../core/sys/metadata.ts';\nimport { appResource } from '../../core/sys/resource.ts';\nimport { useRef } from '../../vueExtra/ref.ts';\n\nexport function Use(options?: IDecoratorUseOptions): PropertyDecorator & MethodDecorator;\nexport function Use<T extends keyof IBeanRecord>(beanFullName?: T): PropertyDecorator & MethodDecorator;\nexport function Use(options?: IDecoratorUseOptions | string): PropertyDecorator & MethodDecorator {\n return function (target: object, prop: MetadataKey, descriptor?: PropertyDescriptor) {\n if (!options) options = {};\n if (typeof options === 'string') {\n options = { beanFullName: options } as unknown as IDecoratorUseOptions;\n }\n // beanClass\n const beanClass = appMetadata.getDesignType(target, prop) as Constructable;\n // record\n appResource.addUse(target, {\n ...options,\n prop,\n beanClass,\n descriptor,\n });\n // chech beanClass\n if (process.env.CLIENT && process.env.DEV) {\n const moduleSource = appResource._getModuleName(beanClass);\n if (moduleSource) {\n window.setTimeout(() => {\n const moduleTarget = appResource._getModuleName(target.constructor as any);\n if (moduleSource !== moduleTarget) {\n console.error(`inject class should be imported by type, such as: import type { ${beanClass.name} } from 'zova-module-xxx-xxx'`);\n }\n }, 0);\n }\n }\n };\n}\n\nexport function usePrepareArg(arg: (() => any) | any, withSelector?: boolean, markReactive?: boolean): any {\n return {\n withSelector,\n markReactive,\n args: [arg],\n };\n}\n\nexport function usePrepareArgs(args: Array<(() => any) | any>, withSelector?: boolean, markReactive?: boolean): any {\n return {\n withSelector,\n markReactive,\n args,\n };\n}\n\nexport function __prepareInjectSelectorInfo(beanInstance, useOptions: IDecoratorUseOptionsBase): IInjectSelectorInfo {\n let selectorInfo = __prepareInjectSelectorInfo_descriptor(beanInstance, useOptions);\n if (!selectorInfo) {\n selectorInfo = __prepareInjectSelectorInfo_init(beanInstance, useOptions);\n }\n if (!selectorInfo && !isNilOrEmptyString(useOptions.selector)) {\n const selector = evaluateExpressions(useOptions.selector, {\n self: beanInstance,\n sys: beanInstance.sys,\n app: beanInstance.app,\n ctx: beanInstance.ctx,\n });\n return { withSelector: true, args: [selector] };\n }\n return selectorInfo ?? { withSelector: false, args: [] };\n}\n\nfunction __prepareInjectSelectorInfo_descriptor(beanInstance, useOptions: IDecoratorUseOptionsBase): IInjectSelectorInfo | undefined {\n const fnGet = useOptions.descriptor?.get;\n if (!fnGet) return;\n const res: IUsePrepareArgResult = fnGet.call(beanInstance);\n if (!res) return;\n const withSelector = res.withSelector ?? false;\n const markReactive = res.markReactive ?? true;\n const args = res.args.map((arg, index) => {\n return typeof arg === 'function' ? (markReactive && (!withSelector || index > 0) ? useRef(arg) : arg()) : arg;\n });\n return { withSelector, args };\n}\n\nfunction __prepareInjectSelectorInfo_init(beanInstance, useOptions: IDecoratorUseOptionsBase): IInjectSelectorInfo | undefined {\n const init = useOptions.init;\n if (!init) return;\n const withSelector = init.withSelector ?? false;\n const markReactive = init.markReactive ?? true;\n const _args = init.args ?? [init.arg];\n if (!_args) return;\n const args = _args.map((arg, index) => __prepareInjectSelectorInfo_init_arg(beanInstance, arg, markReactive && (!withSelector || index > 0)));\n return { withSelector, args };\n}\n\nfunction __prepareInjectSelectorInfo_init_arg(beanInstance, arg: TypeDecoratorUseOptionsInitArg, reactive: boolean): any {\n const context = { self: beanInstance, sys: beanInstance.sys, app: beanInstance.app, ctx: beanInstance.ctx };\n if (reactive && evaluateExpressions(arg, context, undefined, true)) {\n return useRef(() => evaluateExpressions(arg, context));\n }\n return evaluateExpressions(arg, context);\n}\n","import type { MetadataKey } from '../../core/sys/metadata.ts';\nimport type { Functionable, IDecoratorUseComposableOptions } from '../index.ts';\n\nimport { appResource } from '../../core/sys/resource.ts';\n\nexport function UseComposable(options: IDecoratorUseComposableOptions | Functionable): PropertyDecorator & MethodDecorator {\n return function (target: object, prop: MetadataKey, descriptor?: PropertyDescriptor) {\n if (typeof options === 'function') {\n options = { beanComposable: options } as IDecoratorUseComposableOptions;\n }\n // record\n appResource.addUse(target, {\n ...options,\n prop,\n descriptor,\n });\n };\n}\n","import type { IBeanScopeRecord } from '../../bean/type.ts';\nimport type { MetadataKey } from '../../core/sys/metadata.ts';\nimport type { IDecoratorUseScopeOptions } from '../index.ts';\n\nimport { appResource } from '../../core/sys/resource.ts';\n\nexport function UseScope(options: IDecoratorUseScopeOptions): PropertyDecorator;\nexport function UseScope<T extends keyof IBeanScopeRecord>(module?: T): PropertyDecorator;\nexport function UseScope(options?: IDecoratorUseScopeOptions | string): PropertyDecorator {\n return function (target: object, prop: MetadataKey) {\n if (!options) throw new Error('should specify the module name');\n if (typeof options === 'string') {\n options = { module: options } as unknown as IDecoratorUseScopeOptions;\n }\n const beanFullName = `${options.module}.scope.module`;\n // record\n appResource.addUse(target, {\n ...options,\n prop,\n beanFullName,\n });\n };\n}\n","import { appMetadata } from '../../core/sys/metadata.ts';\nimport { SymbolDecoratorVirtual } from '../../core/sys/resource.ts';\n\nexport function Virtual(): ClassDecorator {\n return function (target) {\n // set metadata\n appMetadata.defineMetadata(SymbolDecoratorVirtual, true, target);\n };\n}\n","export type Functionable<T = void> = (...args: any[]) => T;\nexport type FunctionAsync<RESULT> = () => Promise<RESULT>;\nexport type Next<DATA = any, RESULT = any> = (data?: DATA) => Promise<RESULT>;\nexport type NextSync<DATA = any, RESULT = any> = (data?: DATA) => RESULT;\nexport type NextGeneral<DATA = any, RESULT = any> = (data?: DATA) => Promise<RESULT> | RESULT;\nexport const functionNoop = () => {};\nexport type FunctionAny = (...args: any[]) => any;\n","import type { WatchOptions } from '@cabloy/vue-reactivity';\nimport type { WatchEffectOptions } from '@cabloy/vue-runtime-core';\n\nexport const SymbolDecoratorVueElements = Symbol('SymbolDecoratorVueElements');\n\nexport type TypeDecoratorVue =\n | 'computed'\n | 'emit'\n | 'watch'\n | 'watchEffect'\n | 'raw'\n | 'shallow'\n | 'readonly'\n | 'shallowReadonly'\n | 'model'\n | 'controllerCreated'\n | 'controllerMounted';\n\nexport interface IDecoratorVueElement<OPTIONS = any> {\n type: TypeDecoratorVue;\n descriptor: PropertyDescriptor;\n options?: OPTIONS;\n}\n\nexport interface IDecoratorVueEmitOptions {\n eventName?: string;\n}\n\nexport interface IDecoratorVueWatchOptions {\n path?: string;\n watchOptions?: WatchOptions;\n}\n\nexport interface IDecoratorVueWatchEffectOptions {\n watchEffectOptions?: WatchEffectOptions;\n}\n\nexport interface IDecoratorVueModelOptions {\n modelName?: string;\n}\n","import type { MetadataKey } from '../../core/sys/metadata.ts';\nimport type { IDecoratorVueElement, TypeDecoratorVue } from './types.ts';\n\nimport { appMetadata } from '../../core/sys/metadata.ts';\nimport { SymbolDecoratorVueElements } from './types.ts';\n\nexport function createVueDecorator<OPTIONS>(type: TypeDecoratorVue, options?: OPTIONS): PropertyDecorator & MethodDecorator {\n return function (target: object, prop: MetadataKey, descriptor?: PropertyDescriptor) {\n const vues = appMetadata.getOwnMetadataMap<MetadataKey, IDecoratorVueElement<OPTIONS>[]>(true, SymbolDecoratorVueElements, target);\n if (!vues[prop]) vues[prop] = [];\n vues[prop].push({\n type,\n descriptor: descriptor!,\n options,\n });\n };\n}\n","export function modelSet(fn: Function) {\n return fn();\n}\n\nexport function modelGet<T>(args, fn: (value: T) => T) {\n return fn(args[0]);\n}\n","import type { WatchEffectOptions, WatchOptions } from 'vue';\n\nimport { createVueDecorator } from './createVueDecorator.ts';\n\nexport function Computed(): MethodDecorator {\n return createVueDecorator('computed');\n}\n\nexport function Emit(eventName?: string): MethodDecorator {\n return createVueDecorator('emit', { eventName });\n}\n\nexport function Watch(path?: string, watchOptions?: WatchOptions): MethodDecorator {\n return createVueDecorator('watch', { path, watchOptions });\n}\n\nexport function WatchEffect(watchEffectOptions?: WatchEffectOptions): MethodDecorator {\n return createVueDecorator('watchEffect', { watchEffectOptions });\n}\n\nexport function Raw(): PropertyDecorator {\n return createVueDecorator('raw');\n}\n\nexport function Shallow(): PropertyDecorator {\n return createVueDecorator('shallow');\n}\n\nexport function Readonly(): PropertyDecorator {\n return createVueDecorator('readonly');\n}\n\nexport function ShallowReadonly(): PropertyDecorator {\n return createVueDecorator('shallowReadonly');\n}\n\nexport function ModelValue(modelName?: string): PropertyDecorator {\n return createVueDecorator('model', { modelName });\n}\n\nexport function ControllerCreated(): MethodDecorator {\n return createVueDecorator('controllerCreated');\n}\n\nexport function ControllerMounted(): MethodDecorator {\n return createVueDecorator('controllerMounted');\n}\n","import type { IDecoratorVueElement } from '../../decorator/vueExtra/types.ts';\n\nimport { useComputed } from '../../vueExtra/computed.ts';\nimport { getVueDecoratorValue } from './utils.ts';\n\nexport function computed(beanInstance, _beanFullName: string, prop: string, vueElement: IDecoratorVueElement, index: number) {\n const { descriptor } = vueElement;\n Object.defineProperty(beanInstance, prop, {\n enumerable: false,\n configurable: true,\n get() {\n return getVueDecoratorValue(beanInstance, prop, index, () => {\n if (!descriptor.set) {\n return useComputed(() => {\n return descriptor.get?.apply(beanInstance);\n });\n } else {\n return useComputed({\n get() {\n return descriptor.get?.apply(beanInstance);\n },\n set(value) {\n descriptor.set!.call(beanInstance, value);\n },\n });\n }\n });\n },\n });\n}\n","import { getCurrentInstance } from 'vue';\n\nimport type { ZovaContext } from '../core/context/context.ts';\n\nexport function useContext(): ZovaContext {\n const instance = getCurrentInstance();\n return instance?.zova as ZovaContext;\n}\n","import { useContext } from './useContext.ts';\n\nexport const SymbolCreatedFns = Symbol('SymbolCreatedFns');\n\nexport function onControllerCreated(fn: any) {\n const ctx = useContext();\n if (!ctx) {\n throw new Error('run in the invalid context');\n }\n ctx.meta.hooks.onCreated(fn);\n}\n","import type { IDecoratorVueElement, IDecoratorVueWatchOptions } from '../../decorator/vueExtra/types.ts';\n\nimport { onControllerCreated } from '../../composables/onControllerCreated.ts';\n\nexport function controllerCreated(\n beanInstance,\n _beanFullName: string,\n _prop: string,\n vueElement: IDecoratorVueElement<IDecoratorVueWatchOptions>,\n _index: number,\n) {\n const { descriptor } = vueElement;\n onControllerCreated(() => {\n return descriptor.value.call(beanInstance);\n });\n}\n","import { useContext } from './useContext.ts';\n\nexport function onControllerMounted(fn: any) {\n const ctx = useContext();\n if (!ctx) {\n throw new Error('run in the invalid context');\n }\n ctx.meta.hooks.onMounted(fn);\n}\n","import type { IDecoratorVueElement, IDecoratorVueWatchOptions } from '../../decorator/vueExtra/types.ts';\n\nimport { onControllerMounted } from '../../composables/onControllerMounted.ts';\n\nexport function controllerMounted(\n beanInstance,\n _beanFullName: string,\n _prop: string,\n vueElement: IDecoratorVueElement<IDecoratorVueWatchOptions>,\n _index: number,\n) {\n const { descriptor } = vueElement;\n onControllerMounted(() => {\n return descriptor.value.call(beanInstance);\n });\n}\n","import { isPromise } from '@cabloy/utils';\nimport { toLowerCaseFirstChar, toUpperCaseFirstChar } from '@cabloy/word-utils';\n\nimport type { IDecoratorVueElement, IDecoratorVueEmitOptions } from '../../decorator/vueExtra/types.ts';\n\nimport { getVueDecoratorValue } from './utils.ts';\n\nexport function emit(beanInstance, _beanFullName: string, prop: string, vueElement: IDecoratorVueElement, index: number) {\n const { descriptor } = vueElement;\n Object.defineProperty(beanInstance, prop, {\n enumerable: false,\n configurable: true,\n get() {\n return getVueDecoratorValue(beanInstance, prop, index, () => {\n return function (...args: any[]) {\n const returnValue = descriptor.value.apply(beanInstance, args);\n if (isPromise(returnValue)) {\n return returnValue.then(returnValue => {\n return __emitHandler(returnValue, args, beanInstance, prop, vueElement);\n });\n } else {\n return __emitHandler(returnValue, args, beanInstance, prop, vueElement);\n }\n };\n });\n },\n });\n}\n\nfunction __emitHandler(returnValue: any, args: any[], beanInstance, prop: string, vueElement: IDecoratorVueElement<IDecoratorVueEmitOptions>) {\n // eventName\n let eventName = vueElement.options?.eventName;\n if (!eventName) {\n if (prop.startsWith('emit')) {\n eventName = toLowerCaseFirstChar(prop.substring('emit'.length));\n } else {\n eventName = prop;\n }\n }\n // func\n const propName = `on${toUpperCaseFirstChar(eventName)}`;\n const func = beanInstance.$props?.[propName];\n if (!func) return;\n // emit\n if (returnValue === undefined) {\n func(...args);\n } else {\n func(returnValue, ...args);\n }\n // return\n return returnValue;\n}\n","import type { Ref } from '@vue/reactivity';\n\nimport { isNil } from '@cabloy/utils';\nimport { customRef } from '@vue/reactivity';\nimport { camelize, EMPTY_OBJ, hasChanged, hyphenate } from '@vue/shared';\nimport { getCurrentInstance, watchSyncEffect } from 'vue';\n\nimport type { BeanBase } from '../bean/beanBase.ts';\nimport type { DefineModelOptions, ModelRef } from '../bean/type.ts';\n\nexport function useModel<M extends PropertyKey, T extends Record<string, any>, K extends keyof T, G = T[K], S = T[K]>(\n this: BeanBase,\n props: T,\n name: K,\n options?: DefineModelOptions<T[K], G, S>,\n): ModelRef<T[K], M, G, S>;\nexport function useModel(this: BeanBase, props: Record<string, any>, name: string, options: DefineModelOptions = EMPTY_OBJ): Ref {\n const i = getCurrentInstance();\n if (!i) {\n throw new Error('useModel() called without active instance.');\n }\n\n const propsDefault = Object.getPrototypeOf(this).constructor.$propsDefault;\n const propType = typeof propsDefault[name];\n\n const camelizedName = camelize(name);\n\n const modifiers = getModelModifiers(props, camelizedName);\n\n const res = customRef((track, trigger) => {\n let localValue: any;\n let prevSetValue: any = EMPTY_OBJ;\n let prevEmittedValue: any;\n\n watchSyncEffect(() => {\n const propValue = props[camelizedName];\n if (hasChanged(localValue, propValue)) {\n localValue = propValue;\n trigger();\n }\n });\n\n return {\n get() {\n track();\n return coerceValueType(propType, options.get ? options.get(localValue) : localValue);\n },\n\n set(value) {\n const emittedValue = coerceValueType(propType, options.set ? options.set(value) : value);\n if (!hasChanged(emittedValue, localValue) && !(prevSetValue !== EMPTY_OBJ && hasChanged(value, prevSetValue))) {\n return;\n }\n // local update\n localValue = value;\n trigger();\n // update\n const rawProps = i.vnode!.props;\n rawProps?.[`onUpdate:${name}`]?.(emittedValue);\n // #10279: if the local value is converted via a setter but the value\n // emitted to parent was the same, the parent will not trigger any\n // updates and there will be no prop sync. However the local input state\n // may be out of sync, so we need to force an update here.\n if (hasChanged(value, emittedValue) && hasChanged(value, prevSetValue) && !hasChanged(emittedValue, prevEmittedValue)) {\n trigger();\n }\n prevSetValue = value;\n prevEmittedValue = emittedValue;\n },\n };\n });\n\n res[Symbol.iterator] = () => {\n let i = 0;\n return {\n next() {\n if (i < 2) {\n return { value: i++ ? modifiers || EMPTY_OBJ : res, done: false };\n } else {\n return { done: true };\n }\n },\n };\n };\n\n return res;\n}\n\nexport function getModelModifiers(props: Record<string, any>, modelName: string): Record<string, boolean> | undefined {\n return modelName === 'modelValue' || modelName === 'model-value'\n ? props.modelModifiers\n : props[`${modelName}Modifiers`] || props[`${camelize(modelName)}Modifiers`] || props[`${hyphenate(modelName)}Modifiers`];\n}\n\nexport function coerceValueType(type: string, value: any) {\n if (['undefined', 'null'].includes(type)) return value;\n if (isNil(value)) return value;\n if ((typeof value as any) === type) return value;\n let _value;\n if (type === 'number') {\n if (Number.isNaN(Number(value))) {\n _value = value;\n } else {\n _value = Number(value);\n }\n } else if (type === 'boolean') {\n _value = value === 'false' || value === '0' ? false : Boolean(value);\n } else if (type === 'string') {\n _value = String(value);\n } else {\n _value = value;\n }\n // ok\n return _value;\n}\n","import { toLowerCaseFirstChar } from '@cabloy/word-utils';\n\nimport type { IDecoratorVueElement, IDecoratorVueModelOptions } from '../../decorator/vueExtra/types.ts';\nimport type { BeanContainer } from '../beanContainer.ts';\nimport type { DefineModelOptions } from '../type.ts';\n\nimport { cast } from '../../types/utils/cast.ts';\nimport { useModel } from '../../vueExtra/useModel.ts';\nimport { getVueDecoratorValue } from './utils.ts';\n\nexport function model(\n this: BeanContainer,\n beanInstance,\n _beanFullName: string,\n prop: string,\n vueElement: IDecoratorVueElement<IDecoratorVueModelOptions>,\n index: number,\n) {\n const self = this;\n const { descriptor } = vueElement;\n Object.defineProperty(beanInstance, prop, {\n enumerable: false,\n configurable: true,\n get() {\n return getVueDecoratorValue(beanInstance, prop, index, () => {\n // modelName\n let modelName = vueElement.options?.modelName;\n if (!modelName) {\n if (prop === 'modelValue') {\n modelName = prop;\n } else {\n if (prop.startsWith('model')) {\n modelName = toLowerCaseFirstChar(prop.substring('model'.length));\n } else {\n modelName = prop;\n }\n }\n }\n // options\n const useModelOptions: DefineModelOptions = {};\n if (descriptor.get) {\n useModelOptions.get = value => {\n return cast(descriptor.get!).call(beanInstance, value);\n };\n }\n if (descriptor.set) {\n useModelOptions.set = value => {\n return descriptor.set!.call(beanInstance, value);\n };\n }\n return self.runWithInstanceScopeOrAppContext(() => {\n return useModel.call(beanInstance, beanInstance.$props, modelName, useModelOptions);\n });\n });\n },\n });\n}\n","import { markRaw } from 'vue';\n\nimport type { IDecoratorVueElement } from '../../decorator/vueExtra/types.ts';\n\nimport { getVueDecoratorValue, setVueDecoratorValue } from './utils.ts';\n\nexport function raw(beanInstance, _beanFullName: string, prop: string, _vueElement: IDecoratorVueElement, index: number) {\n const initialValue = beanInstance[prop];\n Object.defineProperty(beanInstance, prop, {\n enumerable: false,\n configurable: true,\n get() {\n return getVueDecoratorValue(beanInstance, prop, index, () => {\n return initialValue && typeof initialValue === 'object' ? markRaw(initialValue) : initialValue;\n });\n },\n set(value) {\n setVueDecoratorValue(beanInstance, prop, index, markRaw(value));\n return true;\n },\n });\n}\n","import { shallowReactive } from 'vue';\n\nimport type { IDecoratorVueElement } from '../../decorator/vueExtra/types.ts';\n\nimport { getVueDecoratorValue, setVueDecoratorValue } from './utils.ts';\n\nexport function shallow(beanInstance, _beanFullName: string, prop: string, _vueElement: IDecoratorVueElement, index: number) {\n const initialValue = beanInstance[prop];\n Object.defineProperty(beanInstance, prop, {\n enumerable: false,\n configurable: true,\n get() {\n return getVueDecoratorValue(beanInstance, prop, index, () => {\n return initialValue && typeof initialValue === 'object' ? shallowReactive(initialValue) : initialValue;\n });\n },\n set(value) {\n setVueDecoratorValue(beanInstance, prop, index, shallowReactive(value));\n return true;\n },\n });\n}\n","import { getProperty } from '@cabloy/utils';\nimport { toLowerCaseFirstChar } from '@cabloy/word-utils';\nimport { watch as vueWatch } from 'vue';\n\nimport type { IDecoratorVueElement, IDecoratorVueWatchOptions } from '../../decorator/vueExtra/types.ts';\n\nimport { getVueDecoratorValue } from './utils.ts';\n\nexport function watch(beanInstance, _beanFullName: string, prop: string, vueElement: IDecoratorVueElement<IDecoratorVueWatchOptions>, index: number) {\n const { descriptor, options } = vueElement;\n // getter\n let keySource = `${prop}Source`;\n let getter;\n if (options?.path) {\n getter = () => {\n return getProperty(beanInstance, options.path!, '.');\n };\n } else if (beanInstance[keySource]) {\n getter = () => {\n return beanInstance[keySource]();\n };\n } else {\n if (prop.startsWith('watch')) {\n keySource = toLowerCaseFirstChar(prop.substring('watch'.length));\n } else {\n keySource = prop;\n }\n getter = () => {\n return beanInstance[keySource];\n };\n }\n // watch\n getVueDecoratorValue(beanInstance, prop, index, () => {\n return vueWatch(\n getter,\n (newValue, oldValue) => {\n descriptor.value.call(beanInstance, newValue, oldValue);\n },\n options?.watchOptions,\n );\n });\n}\n","import { watchEffect as vueWatchEffect } from 'vue';\n\nimport type { IDecoratorVueElement, IDecoratorVueWatchEffectOptions } from '../../decorator/vueExtra/types.ts';\n\nimport { getVueDecoratorValue } from './utils.ts';\n\nexport function watchEffect(\n beanInstance,\n _beanFullName: string,\n prop: string,\n vueElement: IDecoratorVueElement<IDecoratorVueWatchEffectOptions>,\n index: number,\n) {\n const { descriptor, options } = vueElement;\n // watchEffect\n getVueDecoratorValue(beanInstance, prop, index, () => {\n return vueWatchEffect(() => {\n descriptor.value.call(beanInstance);\n }, options?.watchEffectOptions);\n });\n}\n","import { computed } from './computed.ts';\nimport { controllerCreated } from './controllerCreated.ts';\nimport { controllerMounted } from './controllerMounted.ts';\nimport { emit } from './emit.ts';\nimport { model } from './model.ts';\nimport { raw } from './raw.ts';\nimport { shallow } from './shallow.ts';\nimport { watch } from './watch.ts';\nimport { watchEffect } from './watchEffect.ts';\n\nexport const vueDecorators = {\n computed,\n emit,\n watch,\n watchEffect,\n raw,\n shallow,\n model,\n controllerCreated,\n controllerMounted,\n};\n","import { compose } from '@cabloy/compose';\nimport { isClass, isNilOrEmptyString } from '@cabloy/utils';\nimport { inject as composableInject, provide as composableProvide, markRaw, reactive, shallowReactive } from 'vue';\n\nimport type { ZovaApplication, ZovaContext, ZovaSys } from '../core/index.ts';\nimport type { MetadataKey } from '../core/sys/metadata.ts';\nimport type {\n Constructable,\n ContainerType,\n Functionable,\n IDecoratorBeanOptionsBase,\n IDecoratorUseOptions,\n IDecoratorUseOptionsBase,\n IDecoratorVueElement,\n} from '../decorator/index.js';\nimport type { IInjectRecord } from '../types/interface/inject.ts';\nimport type { IBeanRecord, IBeanScopeRecord, IControllerData, TypeBeanScopeRecordKeys } from './type.ts';\n\nimport { appMetadata } from '../core/sys/metadata.ts';\nimport { appResource, SymbolDecoratorProxyDisable } from '../core/sys/resource.ts';\nimport { __prepareInjectSelectorInfo, SymbolDecoratorVueElements } from '../decorator/index.ts';\nimport { cast } from '../types/utils/cast.ts';\nimport { useComputed } from '../vueExtra/computed.ts';\nimport { BeanAopBase } from './beanAopBase.ts';\nimport { BeanBase } from './beanBase.ts';\nimport { SymbolBeanFullName, SymbolBeanInstanceKey, SymbolInited } from './beanBaseSimple.ts';\nimport { BeanSimple } from './beanSimple.ts';\nimport { vueDecorators } from './vueDecorators/index.ts';\n\nconst SymbolBeanContainerParent = Symbol('SymbolBeanContainerParent');\nconst SymbolProxyMagic = Symbol('SymbolProxyMagic');\nconst SymbolProxyAopMethod = Symbol('SymbolProxyAopMethod');\nconst SymbolCacheAopChains = Symbol('SymbolCacheAopChains');\nconst SymbolCacheAopChainsKey = Symbol('SymbolCacheAopChainsKey');\nconst SymbolGetBeanSelectorInnerPromises = Symbol('SymbolGetBeanSelectorInnerPromises');\nexport const SymbolBeanContainerInstances = Symbol('SymbolBeanContainerInstances');\n\nexport interface BeanContainer {}\n\nexport class BeanContainer {\n private sys: ZovaSys;\n private app: ZovaApplication;\n private ctx: ZovaContext;\n\n // fullName / uuid / propName\n private [SymbolBeanContainerInstances]: Record<MetadataKey, unknown> = shallowReactive({});\n\n private [SymbolGetBeanSelectorInnerPromises]: Record<string, Promise<any> | undefined> = {};\n\n static create(sys: ZovaSys, app: ZovaApplication, ctx: ZovaContext | null) {\n const beanContainer = new BeanContainer(sys, app, ctx);\n const proxy = new Proxy(beanContainer, {\n get(obj, prop) {\n if (typeof prop === 'symbol') return obj[prop];\n if (obj[prop]) return obj[prop];\n return obj._getBeanSyncOnly(prop);\n },\n });\n return markRaw(proxy);\n }\n\n protected constructor(sys: ZovaSys, app: ZovaApplication, ctx: ZovaContext | null) {\n this.sys = sys;\n this.app = app;\n this.ctx = ctx as any;\n }\n\n /** @internal */\n public dispose() {\n const beanInstances = this[SymbolBeanContainerInstances];\n for (const prop in beanInstances) {\n if (prop.startsWith('$$')) continue;\n const beanInstance = cast(beanInstances[prop]);\n if (beanInstance && !(beanInstance instanceof BeanAopBase) && beanInstance.__dispose__) {\n if (this.containerType === 'sys') {\n this.sys.meta.module._monkeyModuleSync(false, 'beanDispose', undefined, this, beanInstance);\n beanInstance.__dispose__();\n this.sys.meta.module._monkeyModuleSync(false, 'beanDisposed', undefined, this, beanInstance);\n } else {\n this.app.meta.module._monkeyModuleSync(false, 'beanDispose', undefined, this, beanInstance);\n this.runWithInstanceScopeOrAppContext(() => {\n beanInstance.__dispose__();\n });\n this.app.meta.module._monkeyModuleSync(false, 'beanDisposed', undefined, this, beanInstance);\n }\n }\n }\n this[SymbolBeanContainerInstances] = shallowReactive({});\n this[SymbolBeanContainerParent] = undefined;\n this[SymbolGetBeanSelectorInnerPromises] = {};\n }\n\n get containerType(): ContainerType {\n if (!this.ctx) return 'sys';\n if (!this.app || this.ctx.bean === this.app.bean) return 'app';\n return 'ctx';\n }\n\n get parent(): BeanContainer | null {\n if (this[SymbolBeanContainerParent] === undefined) {\n this[SymbolBeanContainerParent] = this._getParent();\n }\n return this[SymbolBeanContainerParent];\n }\n\n private _getParent(): BeanContainer | null {\n if (this.containerType === 'sys') return null;\n let parent = this.ctx?.instance?.parent;\n while (parent) {\n const beanContainerParent = parent.zova?.bean;\n if (beanContainerParent) return beanContainerParent;\n parent = parent.parent;\n }\n return this.sys.bean;\n }\n\n runWithInstanceScopeOrAppContext(fn, tracking?: boolean) {\n if (this.containerType === 'sys') return fn();\n if (this.ctx) {\n return this.ctx.util.instanceScope(fn, tracking);\n } else {\n return this.app.vue.runWithContext(fn);\n }\n }\n\n provide<K extends keyof IInjectRecord>(injectKey: K, value: IInjectRecord[K]) {\n return this.ctx.util.instanceScope(() => {\n return composableProvide(injectKey, value as any);\n });\n }\n\n inject<K extends keyof IInjectRecord>(injectKey: K): IInjectRecord[K];\n inject<K extends keyof IInjectRecord>(injectKey: K, defaultValue: IInjectRecord[K], treatDefaultAsFactory?: false): IInjectRecord[K];\n inject<K extends keyof IInjectRecord>(\n injectKey: K,\n defaultValue: IInjectRecord[K] | (() => IInjectRecord[K]),\n treatDefaultAsFactory?: true,\n ): IInjectRecord[K];\n inject(injectKey, defaultValue?, treatDefaultAsFactory?) {\n return this.ctx.util.instanceScope(() => {\n return composableInject(injectKey, defaultValue, treatDefaultAsFactory);\n });\n }\n\n defineProperty<T>(obj: T, prop: string, attributes: PropertyDescriptor & ThisType<any>): T {\n const self = this;\n const attrs = { ...attributes };\n if (attributes.get) {\n attrs.get = function () {\n const innerKey = `__innerKey_${prop}`;\n if (!obj[innerKey]) {\n self.runWithInstanceScopeOrAppContext(() => {\n __setPropertyValue(obj as any, innerKey, attributes.get!(), true);\n });\n }\n return obj[innerKey];\n };\n }\n return Object.defineProperty(obj, prop, attrs);\n }\n\n /** get specific module's scope */\n scope<K extends TypeBeanScopeRecordKeys>(moduleScope: K): IBeanScopeRecord[K];\n // scope<T>(moduleScope: string): T;\n scope<T>(moduleScope: string): T {\n // ctx->app\n if (this.containerType === 'ctx') {\n return this.app.bean.scope(moduleScope as never);\n }\n // sys/app\n return this._getBeanSyncOnly(`${moduleScope}.scope.module`);\n }\n\n async getScope<K extends TypeBeanScopeRecordKeys>(moduleScope: K): Promise<IBeanScopeRecord[K]>;\n // async getScope<T>(moduleScope: string): Promise<T>;\n async getScope<T>(moduleScope: string): Promise<T> {\n // ctx->app\n if (this.containerType === 'ctx') {\n return await this.app.bean.getScope(moduleScope as never);\n }\n // module: load\n await this._useModule(moduleScope);\n return this.scope(moduleScope as never);\n }\n\n _setBean<T>(key: string, instance: T) {\n this[SymbolBeanContainerInstances][key] = instance;\n }\n\n _getBeanSync<K extends keyof IBeanRecord>(beanFullName: K, markReactive?: boolean, forceLoad?: boolean): IBeanRecord[K] | undefined;\n _getBeanSync<T>(key: string, markReactive?: boolean, forceLoad?: boolean): T | undefined;\n _getBeanSync<T>(key: string, markReactive?: boolean, forceLoad?: boolean): T | undefined {\n const beanInstance: any = this[SymbolBeanContainerInstances][key];\n if (beanInstance === undefined) {\n // bean not loaded, so async load to raise the next call\n if (forceLoad !== false) {\n this._getBean(key as any, markReactive);\n }\n return undefined;\n }\n if (beanInstance && beanInstance[SymbolInited] && !beanInstance[SymbolInited].state) {\n return undefined;\n }\n return beanInstance as T;\n }\n\n _getBeanSyncOnly<T>(key: MetadataKey): T {\n return this[SymbolBeanContainerInstances][key] as T;\n }\n\n async _getBean<T>(A: Constructable<T>, markReactive?: boolean, ...args): Promise<T>;\n async _getBean<K extends keyof IBeanRecord>(beanFullName: K, markReactive?: boolean, ...args): Promise<IBeanRecord[K]>;\n // async _getBean<T>(beanFullName: string, markReactive?: boolean, ...args): Promise<T>;\n async _getBean<T>(beanFullName: Constructable<T> | string, markReactive?: boolean, ...args): Promise<T> {\n return await this._getBeanSelectorInner(true, null, undefined, beanFullName, markReactive, false, ...args);\n }\n\n async _getBeanSelector<T>(A: Constructable<T>, markReactive?: boolean, selector?: string, ...args): Promise<T>;\n async _getBeanSelector<K extends keyof IBeanRecord>(beanFullName: K, markReactive?: boolean, selector?: string, ...args): Promise<IBeanRecord[K]>;\n // async _getBeanSelector<T>(beanFullName: string, markReactive?: boolean, selector?: string): Promise<T>;\n async _getBeanSelector<T>(beanFullName: Constructable<T> | string, markReactive?: boolean, selector?: string, ...args): Promise<T> {\n return await this._getBeanSelectorInner(true, null, undefined, beanFullName, markReactive, true, selector, ...args);\n }\n\n _getBeanSelectorInnerSync<T>(beanComposable: Functionable | undefined, beanFullName: Constructable<T> | string | undefined, selector?: string): T {\n // fullName\n const fullName = this._getBeanFullNameByComposableOrClassSync(beanComposable, beanFullName);\n if (!fullName) {\n // not found\n return null!;\n }\n const key = __getSelectorKey(fullName, true, selector);\n return this[SymbolBeanContainerInstances][key] as T;\n }\n\n async _getBeanSelectorInner<T>(\n newBeanForce: boolean,\n recordProp: MetadataKey | null,\n beanComposable: Functionable | undefined,\n beanFullName: Constructable<T> | string | undefined,\n markReactive?: boolean,\n withSelector?: boolean,\n ...args\n ): Promise<T> {\n // fullName\n const fullName = await this._getBeanFullNameByComposableOrClass(beanComposable, beanFullName);\n if (!fullName) {\n // not found\n return null!;\n }\n const key = __getSelectorKey(fullName, withSelector, args[0]);\n if (this[SymbolBeanContainerInstances][key] === undefined && newBeanForce) {\n if (!this[SymbolGetBeanSelectorInnerPromises][key]) {\n this[SymbolGetBeanSelectorInnerPromises][key] = this._getBeanSelectorInnerPromise(\n recordProp,\n beanComposable,\n fullName,\n markReactive,\n withSelector,\n ...args,\n );\n }\n await this[SymbolGetBeanSelectorInnerPromises][key];\n }\n if (this[SymbolBeanContainerInstances][key] && this[SymbolGetBeanSelectorInnerPromises][key]) {\n // maybe instance exists, while promise not await complete\n await this[SymbolGetBeanSelectorInnerPromises][key];\n this[SymbolGetBeanSelectorInnerPromises][key] = undefined;\n }\n return this[SymbolBeanContainerInstances][key] as T;\n }\n\n private async _getBeanSelectorInnerPromise<T>(\n recordProp: MetadataKey | null,\n beanComposable: Functionable | undefined,\n fullName: Constructable<T> | string | undefined,\n markReactive?: boolean,\n withSelector?: boolean,\n ...args\n ): Promise<T> {\n return await this._newBeanInner(true, recordProp, null, beanComposable, fullName, markReactive, withSelector, ...args);\n }\n\n _newBeanSimple<T>(A: Constructable<T>, markReactive: boolean, ...args): T {\n // prepare\n const beanInstance = this._prepareBeanInstanceSimple(undefined, A, A, args, markReactive);\n // init\n if (!(beanInstance instanceof BeanAopBase) && beanInstance.__init__) {\n beanInstance.__init__(...args);\n }\n // ok\n return beanInstance;\n }\n\n async _newBean<T>(A: Constructable<T>, markReactive?: boolean, ...args): Promise<T>;\n async _newBean<K extends keyof IBeanRecord>(beanFullName: K, markReactive?: boolean, ...args): Promise<IBeanRecord[K]>;\n // async _newBean<T>(beanFullName: string, markReactive?: boolean, ...args): Promise<T>;\n async _newBean<T>(beanFullName: Constructable<T> | string, markReactive?: boolean, ...args): Promise<T> {\n return await this._newBeanInner(false, null, null, undefined, beanFullName, markReactive, false, ...args);\n }\n\n async _newBeanSelector<T>(A: Constructable<T>, markReactive?: boolean, selector?: string, ...args): Promise<T>;\n async _newBeanSelector<K extends keyof IBeanRecord>(beanFullName: K, markReactive?: boolean, selector?: string, ...args): Promise<IBeanRecord[K]>;\n // async _newBeanSelector<T>(beanFullName: string, markReactive?: boolean, selector?: string, ...args): Promise<T>;\n async _newBeanSelector<T>(beanFullName: Constructable<T> | string, markReactive?: boolean, selector?: string, ...args): Promise<T> {\n return await this._newBean(beanFullName as any, markReactive, selector, ...args);\n }\n\n /** @internal */\n public async _newBeanInner<T>(\n record: boolean,\n recordProp: MetadataKey | null,\n controllerData: any,\n beanComposable: Functionable | undefined,\n beanFullName: Constructable<T> | string | undefined,\n markReactive?: boolean,\n withSelector?: boolean,\n ...args\n ): Promise<T> {\n // bean composable\n if (beanComposable) {\n return await this._createBeanInstance<T>(\n record,\n recordProp,\n controllerData,\n beanComposable,\n undefined,\n undefined,\n args,\n false,\n markReactive,\n withSelector,\n );\n }\n // bean options\n const beanOptions = await this._getBeanOptionsForce(beanFullName);\n if (!beanOptions) {\n // class\n if (typeof beanFullName === 'function' && isClass(beanFullName)) {\n return await this._createBeanInstance<T>(\n record,\n recordProp,\n controllerData,\n undefined,\n undefined,\n beanFullName,\n args,\n false,\n markReactive,\n withSelector,\n );\n }\n // throw new Error(`bean not found: ${beanFullName}`);\n return null!;\n }\n // beanFullName\n return await this._createBeanInstance<T>(\n record,\n recordProp,\n controllerData,\n undefined,\n beanOptions.beanFullName,\n beanOptions.beanClass as Constructable<T>,\n args,\n cast(beanOptions.scene) === 'aop',\n // default is true: same as inject prop\n markReactive ?? beanOptions.markReactive ?? true,\n withSelector,\n );\n }\n\n private _getBeanFullNameByComposableOrClassSync(beanComposable: Functionable | undefined, beanFullName: any) {\n // bean composable\n if (beanComposable) {\n return appResource.getBeanFullNameOfComposable(beanComposable);\n }\n // bean options\n const beanOptions = this._getBeanOptionsForceSync(beanFullName);\n if (!beanOptions) {\n // not found\n return undefined;\n }\n return beanOptions.beanFullName;\n }\n\n private async _getBeanFullNameByComposableOrClass(beanComposable: Functionable | undefined, beanFullName: any) {\n // bean composable\n if (beanComposable) {\n return appResource.getBeanFullNameOfComposable(beanComposable);\n }\n // check beanFullName: for app controller/render\n if (!beanFullName) {\n // not found\n return undefined;\n }\n // bean options\n const beanOptions = await this._getBeanOptionsForce(beanFullName);\n if (!beanOptions) {\n // not found\n return undefined;\n }\n return beanOptions.beanFullName;\n }\n\n private _getBeanOptionsForceSync(beanFullName: any) {\n return appResource.getBean(beanFullName);\n }\n\n private async _getBeanOptionsForce(beanFullName: any) {\n // class\n if (typeof beanFullName === 'function' && isClass(beanFullName)) {\n return appResource.getBean(beanFullName);\n }\n // module: name\n const parts = beanFullName.split('.');\n // module: load\n await this._useModule(parts[0]);\n // get\n return appResource.getBean(beanFullName);\n }\n\n private async _createBeanInstance<T>(\n record: boolean,\n recordProp: MetadataKey | null,\n controllerData: IControllerData,\n beanComposable: Functionable | undefined,\n beanFullName: string | undefined,\n beanClass: Constructable<T> | undefined,\n args: any[],\n aop: boolean | undefined,\n markReactive: boolean | undefined,\n withSelector?: boolean,\n ): Promise<T> {\n // prepare\n const beanInstance = await this._prepareBeanInstance(beanComposable, beanFullName, beanClass, args, markReactive, aop);\n // special for controller\n if (controllerData) {\n beanInstance.__initControllerData(controllerData);\n }\n // record\n if (record) {\n // fullName\n const fullName = await this._getBeanFullNameByComposableOrClass(beanComposable, beanFullName);\n if (fullName) {\n const key = __getSelectorKey(fullName, withSelector, args[0]);\n __setPropertyValue(beanInstance, SymbolBeanInstanceKey, key, false);\n this[SymbolBeanContainerInstances][key] = beanInstance;\n }\n // always record for app/ctx bean\n if (recordProp) {\n this.__recordProp(recordProp, fullName, beanInstance, true);\n }\n }\n // init\n if (!beanComposable) {\n await this._initBeanInstance(beanFullName, beanInstance, args);\n }\n // ok\n return beanInstance;\n }\n\n private async _prepareBeanInstance(beanComposable: Functionable | undefined, beanFullName, beanClass, args, markReactive, aop) {\n // prepare\n let beanInstance = this._prepareBeanInstanceCommon(beanComposable, beanFullName, beanClass, args, markReactive);\n // aop: proxy\n const beanInstanceProxy = await this._patchBeanInstance(beanFullName || beanClass, beanInstance, aop);\n if (beanInstanceProxy) {\n // reactive\n if (markReactive) {\n beanInstance = reactive(beanInstanceProxy);\n } else {\n beanInstance = markRaw(beanInstanceProxy);\n }\n }\n // ok\n return beanInstance;\n }\n\n private _prepareBeanInstanceSimple(beanComposable: Functionable | undefined, beanFullName, beanClass, args, markReactive) {\n // prepare\n let beanInstance = this._prepareBeanInstanceCommon(beanComposable, beanFullName, beanClass, args, markReactive);\n // aop: proxy\n const beanInstanceProxy = this._patchBeanInstanceSimple(beanFullName || beanClass, beanInstance);\n if (beanInstanceProxy) {\n // reactive\n if (markReactive) {\n beanInstance = reactive(beanInstanceProxy);\n } else {\n beanInstance = markRaw(beanInstanceProxy);\n }\n }\n // ok\n return beanInstance;\n }\n\n private _prepareBeanInstanceCommon(beanComposable: Functionable | undefined, beanFullName, BeanClass, args, markReactive) {\n // create\n let beanInstance;\n if (beanComposable) {\n beanInstance = this._createBeanComposableInstance(beanComposable, args);\n } else {\n // always passed in args\n beanInstance = new BeanClass(...args);\n // if (BeanClass.prototype.__init__) {\n // beanInstance = new BeanClass();\n // } else {\n // beanInstance = new BeanClass(...args);\n // }\n }\n // app/ctx\n if (beanInstance instanceof BeanSimple) {\n // sys\n (<any>beanInstance).sys = this.sys;\n // app\n Object.defineProperty(beanInstance, 'app', {\n enumerable: false,\n configurable: true,\n get: () => {\n return this.ctx?.app;\n },\n });\n // ctx: always set even if is null, so as to prevent magic method __get__ take effect.\n (<any>beanInstance).ctx = this.ctx;\n }\n // beanFullName\n if (typeof beanFullName === 'string') {\n __setPropertyValue(beanInstance, SymbolBeanFullName, beanFullName, false);\n }\n // reactive\n if (markReactive) {\n beanInstance = reactive(beanInstance);\n } else {\n beanInstance = markRaw(beanInstance);\n }\n // ok\n return beanInstance;\n }\n\n private _createBeanComposableInstance(beanComposable, args) {\n return this.runWithInstanceScopeOrAppContext(() => {\n return beanComposable(...args);\n });\n }\n\n private async _initBeanInstance(beanFullName, beanInstance, args) {\n // inject vue elements\n this.runWithInstanceScopeOrAppContext(() => {\n this._injectVueElements(beanInstance, beanFullName);\n });\n // inject\n await this._injectBeanInstance(beanInstance, beanFullName);\n // init\n if (this.containerType === 'sys') {\n await this.sys.meta.module._monkeyModule(true, 'beanInit', undefined, this, beanInstance);\n } else {\n await this.app?.meta.module._monkeyModule(true, 'beanInit', undefined, this, beanInstance);\n }\n if (!(beanInstance instanceof BeanAopBase) && beanInstance.__init__) {\n await this.runWithInstanceScopeOrAppContext(async () => {\n await beanInstance.__init__(...args);\n });\n }\n if (this.containerType === 'sys') {\n await this.sys.meta.module._monkeyModule(true, 'beanInited', undefined, this, beanInstance);\n } else {\n await this.app?.meta.module._monkeyModule(true, 'beanInited', undefined, this, beanInstance);\n }\n if (beanInstance[SymbolInited]) {\n beanInstance[SymbolInited].touch();\n }\n // ok\n return beanInstance;\n }\n\n private _injectVueElements(beanInstance, beanFullName) {\n const beanOptions = appResource.getBean(beanFullName);\n if (!beanOptions) return;\n const vues = appMetadata.getMetadata(SymbolDecoratorVueElements, beanOptions.beanClass.prototype);\n if (!vues) return;\n for (const prop in vues) {\n const vueElements = vues[prop];\n for (let index = 0; index < vueElements.length; index++) {\n this._injectVueElement(beanInstance, beanFullName, prop, vueElements[index], index);\n }\n }\n }\n\n private _injectVueElement(beanInstance, beanFullName, prop: string, vueElement: IDecoratorVueElement, index: number) {\n const decoratorHandler = vueDecorators[vueElement.type];\n if (decoratorHandler) {\n decoratorHandler.call(this, beanInstance, beanFullName, prop, vueElement, index);\n }\n }\n\n private async _injectBeanInstance(beanInstance, beanFullName) {\n const beanOptions = appResource.getBean(beanFullName);\n if (!beanOptions) return;\n const uses = appResource.getUses(beanOptions.beanClass.prototype);\n if (!uses) return;\n for (const key in uses) {\n const useOptions = uses[key];\n // beanComposable\n const targetBeanComposable = useOptions.beanComposable;\n // beanClass\n let targetBeanFullName = useOptions.beanFullName;\n if (!targetBeanFullName && useOptions.beanClass) {\n targetBeanFullName = appResource.getBeanFullName(useOptions.beanClass);\n }\n // 0. host/skipSelf\n if (useOptions.injectionScope && ['host', 'skipSelf'].includes(useOptions.injectionScope)) {\n const selectorInfo = __prepareInjectSelectorInfo(beanInstance, useOptions);\n const useOptions2 = selectorInfo.withSelector ? Object.assign({}, useOptions, { selector: selectorInfo.args[0] }) : useOptions;\n const targetBeanInstance = useComputed(() => {\n return this._getBeanFromHostInner(false, useOptions.prop, targetBeanComposable, targetBeanFullName, useOptions2 as IDecoratorUseOptions);\n });\n __setPropertyValue(beanInstance, key, targetBeanInstance, true);\n continue;\n }\n // others\n const targetBeanInstance = await this._injectBeanInstanceProp(beanInstance, targetBeanComposable, targetBeanFullName, useOptions);\n __setPropertyValue(beanInstance, key, targetBeanInstance, true);\n }\n }\n\n private async _injectBeanInstanceProp(\n beanInstance,\n targetBeanComposable: Functionable | undefined,\n targetBeanFullName: string | undefined,\n useOptions: IDecoratorUseOptionsBase,\n ) {\n // 1. use name\n if (useOptions.name) {\n return this[SymbolBeanContainerInstances][useOptions.name];\n }\n // 2. use prop\n if (!targetBeanComposable && !targetBeanFullName) {\n return this[SymbolBeanContainerInstances][useOptions.prop];\n }\n // 3. targetBeanFullName\n let targetOptions: Pick<IDecoratorBeanOptionsBase, 'containerScope' | 'markReactive' | 'scene'> | undefined;\n if (targetBeanComposable) {\n targetOptions = {\n containerScope: undefined,\n markReactive: undefined,\n scene: undefined as never,\n };\n } else if (targetBeanFullName) {\n targetOptions = await this._getBeanOptionsForce(targetBeanFullName);\n if (!targetOptions) {\n throw new Error(`not found bean class: ${targetBeanFullName}`);\n }\n }\n // options: injectionScope\n let injectionScope = useOptions.injectionScope ?? targetOptions!.containerScope ?? 'ctx';\n // patch\n if (targetOptions?.scene === 'scope' && !this.app) {\n injectionScope = 'sys';\n }\n // options: markReactive: default is true\n const markReactive = useOptions.markReactive ?? targetOptions!.markReactive ?? true;\n // options: selectorInfo\n const selectorInfo = __prepareInjectSelectorInfo(beanInstance, useOptions);\n // recordProp\n // const recordProp = useOptions.name || useOptions.prop;\n const recordProp = useOptions.prop;\n // targetInstance\n let targetInstance;\n if (injectionScope === 'sys') {\n targetInstance = await this.sys.bean._getBeanSelectorInner(\n true,\n null,\n targetBeanComposable,\n targetBeanFullName,\n markReactive,\n selectorInfo.withSelector,\n ...selectorInfo.args,\n );\n await this._injectBeanInstanceProp_appBean(recordProp, targetBeanComposable, targetBeanFullName, targetInstance);\n } else if (injectionScope === 'app') {\n targetInstance = await this.app.bean._getBeanSelectorInner(\n true,\n null,\n targetBeanComposable,\n targetBeanFullName,\n markReactive,\n selectorInfo.withSelector,\n ...selectorInfo.args,\n );\n await this._injectBeanInstanceProp_appBean(recordProp, targetBeanComposable, targetBeanFullName, targetInstance);\n } else if (injectionScope === 'ctx') {\n targetInstance = await this._getBeanSelectorInner(\n true,\n recordProp,\n targetBeanComposable,\n targetBeanFullName,\n markReactive,\n selectorInfo.withSelector,\n ...selectorInfo.args,\n );\n } else if (injectionScope === 'new') {\n // not record prop\n targetInstance = await this._newBeanInner(\n false,\n null,\n null,\n targetBeanComposable,\n targetBeanFullName,\n markReactive,\n selectorInfo.withSelector,\n ...selectorInfo.args,\n );\n }\n return targetInstance;\n }\n\n public _getBeanFromHost<T = unknown>(useOptions: IDecoratorUseOptions): T;\n public _getBeanFromHost<K extends keyof IBeanRecord>(beanFullName: K, useOptions?: IDecoratorUseOptions): IBeanRecord[K] | undefined;\n public _getBeanFromHost(beanFullName?: string | IDecoratorUseOptions, useOptions?: IDecoratorUseOptions) {\n if (typeof beanFullName !== 'string') {\n useOptions = beanFullName;\n beanFullName = undefined;\n }\n if (!useOptions) {\n useOptions = {};\n }\n return this._getBeanFromHostInner(false, undefined, undefined, beanFullName, useOptions);\n }\n\n public _getBeanFromHostInner(\n record: boolean,\n recordProp: MetadataKey | undefined,\n targetBeanComposable: Functionable | undefined,\n targetBeanFullName: string | undefined,\n useOptions: IDecoratorUseOptions,\n ) {\n let beanContainerParent;\n if (!useOptions.injectionScope || useOptions.injectionScope === 'host') {\n beanContainerParent = this;\n } else if (useOptions.injectionScope === 'skipSelf') {\n beanContainerParent = this.parent;\n }\n while (true) {\n if (!beanContainerParent) return null;\n const beanInstance = this._getBeanFromHostInner2(recordProp, beanContainerParent, targetBeanComposable, targetBeanFullName, useOptions);\n // null is valid value\n if (beanInstance !== undefined) {\n // record prop\n if (record) {\n this.__recordProp(recordProp, undefined, beanInstance, false);\n }\n return beanInstance;\n }\n beanContainerParent = beanContainerParent.parent;\n }\n }\n\n private _getBeanFromHostInner2(\n recordProp: MetadataKey | undefined,\n beanContainerParent: BeanContainer,\n targetBeanComposable: Functionable | undefined,\n targetBeanFullName: string | undefined,\n useOptions: IDecoratorUseOptions,\n ) {\n // 1. use name\n if (useOptions.name) {\n return beanContainerParent[SymbolBeanContainerInstances][useOptions.name];\n }\n // 2. use prop\n if (!targetBeanComposable && !targetBeanFullName) {\n return beanContainerParent[SymbolBeanContainerInstances][recordProp!];\n }\n // 3. targetBeanFullName\n return beanContainerParent._getBeanSelectorInnerSync(targetBeanComposable, targetBeanFullName, useOptions.selector);\n }\n\n private async _injectBeanInstanceProp_appBean(recordProp, targetBeanComposable, _targetBeanFullName, targetInstance) {\n if (targetInstance === undefined) return;\n // only when ctx bean\n if (!this.ctx) return;\n // record prop\n this.__recordProp(recordProp, undefined, targetInstance, false);\n // force init\n if (!targetBeanComposable && targetInstance) {\n await targetInstance[SymbolInited].wait();\n }\n }\n\n private async _patchBeanInstance(beanFullNameOrBeanClass, beanInstance, aop) {\n if (!beanFullNameOrBeanClass) return undefined;\n // not aop on aop\n if (aop) return undefined;\n // aop chains\n const _aopChains = await this._prepareAopChains(beanFullNameOrBeanClass, beanInstance);\n // no aop\n if (_aopChains.length === 0) return undefined;\n // aop\n return this._newBeanProxy(beanFullNameOrBeanClass, beanInstance);\n }\n\n private _patchBeanInstanceSimple(beanFullNameOrBeanClass, beanInstance) {\n if (!beanFullNameOrBeanClass) return undefined;\n // aop chains\n const _aopChains = this._prepareAopChainsSimple(beanFullNameOrBeanClass, beanInstance);\n // no aop\n if (_aopChains.length === 0) return undefined;\n // aop\n return this._newBeanProxy(beanFullNameOrBeanClass, beanInstance);\n }\n\n private _newBeanProxy(beanFullName, beanInstance) {\n const self = this;\n const proxy = new Proxy(beanInstance, {\n get(target, prop, receiver) {\n if (typeof prop === 'symbol') {\n return Reflect.get(target, prop, receiver);\n }\n if (__isInnerMethod(prop)) {\n if (prop === '__v_isShallow' && target.__v_isShallow_patch) {\n return Reflect.get(target, '__v_isShallow_patch', receiver);\n }\n return Reflect.get(target, prop, receiver);\n }\n // descriptorInfo\n const descriptorInfo = __getPropertyDescriptor(target, prop);\n if (!__checkAopOfDescriptorInfo(descriptorInfo)) return Reflect.get(target, prop, receiver);\n const methodType = __methodTypeOfDescriptor(descriptorInfo);\n // get prop\n if (!methodType) {\n if (__isLifeCycleMethod(prop)) return Reflect.get(target, prop, receiver);\n const methodName = `__get_${prop}__`;\n const methodNameMagic = '__get__';\n const _aopChainsProp = self._getAopChainsProp(beanFullName, methodName, methodNameMagic, 'get', prop);\n if (!_aopChainsProp) return Reflect.get(target, prop, receiver);\n // aop\n return _aopChainsProp([receiver, undefined], ([receiver, _]) => {\n if (!descriptorInfo && target.__get__) {\n return Reflect.apply(target.__get__, receiver, [prop, target]);\n } else {\n return Reflect.get(target, prop, receiver);\n }\n });\n }\n // method\n return self._getInstanceMethodProxy(beanFullName, target, prop, receiver);\n },\n set(target, prop, value, receiver) {\n if (typeof prop === 'symbol') {\n Reflect.set(target, prop, value, receiver);\n return true;\n }\n if (__isInnerMethod(prop)) {\n Reflect.set(target, prop, value, receiver);\n return true;\n }\n // descriptorInfo\n const descriptorInfo = __getPropertyDescriptor(target, prop);\n if (!__checkAopOfDescriptorInfo(descriptorInfo)) {\n Reflect.set(target, prop, value, receiver);\n return true;\n }\n const methodName = `__set_${prop}__`;\n const methodNameMagic = '__set__';\n const _aopChainsProp = self._getAopChainsProp(beanFullName, methodName, methodNameMagic, 'set', prop);\n if (!_aopChainsProp) {\n Reflect.set(target, prop, value, receiver);\n return true;\n }\n // aop\n return _aopChainsProp([receiver, value], ([receiver, value]) => {\n if (!descriptorInfo && target.__set__) {\n const res = Reflect.apply(target.__set__, receiver, [prop, value, target]);\n if (res === undefined) throw new Error('__set__ must return true/false');\n if (!res) {\n Reflect.set(target, prop, value, receiver);\n }\n } else {\n Reflect.set(target, prop, value, receiver);\n }\n // ok: prop be set\n return true;\n });\n },\n });\n return proxy;\n }\n\n private _getInstanceMethodProxy(beanFullName, target, prop, receiver) {\n // not aop magic methods\n if (__isInnerMethod(prop)) {\n return Reflect.get(target, prop, receiver);\n }\n // aop chains\n const methodNameMagic = '__method__';\n const _aopChainsProp = this._getAopChainsProp(beanFullName, prop, methodNameMagic, 'method', prop);\n if (!_aopChainsProp) return Reflect.get(target, prop, receiver);\n // proxy\n const methodProxyKey = `__aopproxy_method_${prop}__`;\n if (target[methodProxyKey]) return target[methodProxyKey];\n const methodProxy = new Proxy(target[prop], {\n apply(target, thisArg, args) {\n // aop\n return _aopChainsProp([thisArg, args], ([thisArg, args]) => {\n return Reflect.apply(target, thisArg, args);\n });\n },\n });\n __setPropertyValue(target, methodProxyKey, methodProxy, false);\n return methodProxy;\n }\n\n private async _prepareAopChains(beanFullNameOrBeanClass, beanInstance) {\n if (!beanFullNameOrBeanClass) return [];\n // beanFullName maybe class\n const beanOptions = appResource.getBean(beanFullNameOrBeanClass);\n const cacheKey = beanOptions?.beanFullName || beanFullNameOrBeanClass;\n // ProxyDisable\n const proxyDisable = beanOptions?.beanClass ? appMetadata.getMetadata<boolean>(SymbolDecoratorProxyDisable, beanOptions?.beanClass) : false;\n // host\n const host = this._aopCacheHost();\n if (!host[SymbolCacheAopChains]) host[SymbolCacheAopChains] = {};\n if (host[SymbolCacheAopChains][cacheKey]) return host[SymbolCacheAopChains][cacheKey];\n // chains\n let chains: (MetadataKey | BeanBase)[] = [];\n // aop\n if (!proxyDisable && beanOptions && cast(beanOptions.scene) !== 'aop') {\n const beanAop = (await this.sys.bean._getBean('a-bean.service.aop' as never, false)) as any;\n const aops = await beanAop.findAopsMatched(beanOptions.beanFullName);\n if (aops) {\n // load aops\n const aopInstances: BeanBase[] = [];\n for (const aop of aops) {\n // singleton\n aopInstances.push(await this.sys.bean._getBean(aop.beanFullName, true));\n }\n chains = chains.concat(aopInstances);\n }\n }\n // aop method\n if (!proxyDisable && beanOptions) {\n const beanAop = (await this.sys.bean._getBean('a-bean.service.aop' as never, false)) as any;\n const aopMethods = await beanAop.findAopMethodsMatched(beanOptions?.beanFullName);\n if (aopMethods) {\n chains.push([SymbolProxyAopMethod, aopMethods] as any);\n }\n }\n // magic self\n if (__hasMagicMethod(beanInstance)) {\n chains.push(SymbolProxyMagic);\n }\n // hold\n host[SymbolCacheAopChains][cacheKey] = chains;\n return chains;\n }\n\n private _prepareAopChainsSimple(beanFullNameOrBeanClass, beanInstance) {\n if (!beanFullNameOrBeanClass) return [];\n // beanFullName maybe class\n const beanOptions = appResource.getBean(beanFullNameOrBeanClass);\n const cacheKey = beanOptions?.beanFullName || beanFullNameOrBeanClass;\n const host = this._aopCacheHost();\n if (!host[SymbolCacheAopChains]) host[SymbolCacheAopChains] = {};\n if (host[SymbolCacheAopChains][cacheKey]) return host[SymbolCacheAopChains][cacheKey];\n // chains\n const chains: MetadataKey[] = [];\n // magic self\n if (__hasMagicMethod(beanInstance)) {\n chains.push(SymbolProxyMagic);\n }\n // hold\n host[SymbolCacheAopChains][cacheKey] = chains;\n return chains;\n }\n\n private _getAopChains(beanFullName) {\n // beanFullName maybe class\n const beanOptions = appResource.getBean(beanFullName);\n const cacheKey = beanOptions?.beanFullName || beanFullName;\n const host = this._aopCacheHost();\n return host[SymbolCacheAopChains]?.[cacheKey] || [];\n }\n\n private _aopCacheHost() {\n return this.sys;\n }\n\n private _getAopChainsProp(beanFullName, methodName, methodNameMagic, methodType: 'get' | 'set' | 'method', prop: string) {\n const chainsKey = `__aopChains_${methodName}__`;\n const beanOptions = appResource.getBean(beanFullName);\n const cacheKey = beanOptions?.beanFullName || beanFullName;\n const host = this._aopCacheHost();\n if (!host[SymbolCacheAopChainsKey]) host[SymbolCacheAopChainsKey] = {};\n if (!host[SymbolCacheAopChainsKey][cacheKey]) host[SymbolCacheAopChainsKey][cacheKey] = {};\n if (host[SymbolCacheAopChainsKey][cacheKey][chainsKey] !== undefined) return host[SymbolCacheAopChainsKey][cacheKey][chainsKey];\n const _aopChains = this._getAopChains(beanFullName);\n const chains: [MetadataKey, string][] = [];\n for (const aopKey of _aopChains) {\n if (aopKey === SymbolProxyMagic) {\n if (!__isLifeCycleMethod(methodName)) {\n chains.push([aopKey, methodName]);\n }\n } else if (Array.isArray(aopKey) && aopKey[0] === SymbolProxyAopMethod) {\n this._getAopChainsProp_aopMethods(chains, aopKey, aopKey[1], methodType, prop);\n } else {\n const aop: BeanAopBase = aopKey;\n if (aop[methodName]) {\n let fn;\n if (methodType === 'get') {\n fn = function ([receiver, _], next) {\n return aop[methodName](_patchAopNext([receiver, _], next), receiver);\n };\n } else if (methodType === 'set') {\n fn = function ([receiver, value], next) {\n return aop[methodName](value, _patchAopNext([receiver, value], next), receiver);\n };\n } else if (methodType === 'method') {\n fn = function ([receiver, args], next) {\n return aop[methodName](args, _patchAopNext([receiver, args], next), receiver);\n };\n }\n chains.push([aopKey, fn]);\n }\n if (methodNameMagic && aop[methodNameMagic]) {\n if (!__isLifeCycleMethod(methodName)) {\n let fn;\n if (methodType === 'get') {\n fn = function ([receiver, _], next) {\n return aop[methodNameMagic](prop, _patchAopNext([receiver, _], next), receiver);\n };\n } else if (methodType === 'set') {\n fn = function ([receiver, value], next) {\n return aop[methodNameMagic](prop, value, _patchAopNext([receiver, value], next), receiver);\n };\n } else if (methodType === 'method') {\n fn = function ([receiver, args], next) {\n return aop[methodNameMagic](prop, args, _patchAopNext([receiver, args], next), receiver);\n };\n }\n chains.push([aopKey, fn]);\n }\n }\n }\n }\n let result;\n if (chains.length === 0) {\n result = null;\n } else {\n result = __composeForProp(chains);\n }\n host[SymbolCacheAopChainsKey][cacheKey][chainsKey] = result;\n return result;\n }\n\n private _getAopChainsProp_aopMethods(chains, aopKey, aopMethodsAll, methodType, prop: string) {\n const aopMethods = aopMethodsAll[prop];\n if (!aopMethods) return;\n for (const aopMethod of aopMethods) {\n let fn;\n if (methodType === 'get') {\n fn = function ([receiver, _], next) {\n if (!aopMethod.beanInstance.get) throw new Error(`get property accessor not exists: ${aopMethod.onionName}`);\n return aopMethod.beanInstance.get(aopMethod.options, _patchAopNext([receiver, _], next), receiver, prop);\n };\n } else if (methodType === 'set') {\n fn = function ([receiver, value], next) {\n if (!aopMethod.beanInstance.set) throw new Error(`set property accessor not exists: ${aopMethod.onionName}`);\n return aopMethod.beanInstance.set(aopMethod.options, value, _patchAopNext([receiver, value], next), receiver, prop);\n };\n } else if (methodType === 'method') {\n fn = function ([receiver, args], next) {\n if (!aopMethod.beanInstance.execute) throw new Error(`execute method not exists: ${aopMethod.onionName}`);\n return aopMethod.beanInstance.execute(aopMethod.options, args, _patchAopNext([receiver, args], next), receiver, prop);\n };\n }\n chains.push([aopKey, fn]);\n }\n }\n\n private __recordProp(recordProp, fullName: string | undefined, beanInstance, throwError: boolean) {\n if (this[SymbolBeanContainerInstances][recordProp] !== undefined && throwError) {\n throw new Error(`prop exsits: ${recordProp.toString()}, ${fullName}`);\n }\n if (this[SymbolBeanContainerInstances][recordProp] === undefined) {\n this[SymbolBeanContainerInstances][recordProp] = beanInstance;\n }\n }\n\n private async _useModule(moduleName: string) {\n if (this.containerType === 'sys') {\n await this.sys.meta.module.use(moduleName);\n } else {\n await this.app.meta.module.use(moduleName);\n }\n }\n}\n\nfunction __composeForPropAdapter(_context, chain) {\n const [aopKey, fn] = chain;\n // SymbolProxyMagic\n if (aopKey === SymbolProxyMagic) return;\n // chain\n return {\n receiver: undefined,\n fn,\n };\n}\n\nfunction __composeForProp(chains) {\n return compose(chains, __composeForPropAdapter);\n}\n\nfunction _patchAopNext([receiver, context], next) {\n return (...args) => {\n context = args.length === 0 ? context : args[0];\n return next([receiver, context]);\n };\n}\n\nfunction __checkAopOfDescriptorInfo(descriptorInfo) {\n if (!descriptorInfo) return true;\n return !descriptorInfo.dynamic && !descriptorInfo.ofBeanBase;\n}\n\nfunction __getPropertyDescriptor(obj, prop) {\n // dynamic\n const descriptor = Object.getOwnPropertyDescriptor(obj, prop);\n if (descriptor) return { descriptor, dynamic: true };\n // static\n return __getPropertyDescriptorStatic(obj, prop);\n}\n\nfunction __getPropertyDescriptorStatic(obj, prop) {\n let proto = Object.getPrototypeOf(obj);\n let ofBeanBase = false;\n while (proto) {\n if (proto.constructor.name === BeanBase.name) {\n ofBeanBase = true;\n }\n const descriptor = Object.getOwnPropertyDescriptor(proto, prop);\n if (descriptor) return { descriptor, dynamic: false, ofBeanBase };\n proto = Object.getPrototypeOf(proto);\n }\n return null;\n}\n\nfunction __setPropertyValue(obj: {}, prop: MetadataKey, value: any, patch: boolean) {\n if (value && typeof value === 'object' && patch) {\n value.__v_isShallow_patch = true;\n }\n Object.defineProperty(obj, prop, {\n enumerable: false,\n configurable: true,\n get() {\n return value;\n },\n });\n if (value && typeof value === 'object' && patch) {\n delete value.__v_isShallow_patch;\n }\n}\n\nfunction __hasMagicMethod(instance) {\n return !!instance.__get__ || !!instance.__set__;\n}\n\nfunction __isInnerMethod(prop) {\n return [\n '__get__',\n '__set__',\n // '__init__',\n // '__dispose__',\n 'then',\n '__v_skip',\n '__v_isReactive',\n '__v_isReadonly',\n '__v_isShallow',\n '__v_raw',\n '__v_isRef',\n '__v_isVNode',\n '__v_cache',\n '__v_isShallow_patch',\n ].includes(prop);\n}\n\nfunction __isLifeCycleMethod(prop) {\n return ['__init__', '__dispose__'].includes(prop);\n}\n\nfunction __methodTypeOfDescriptor(descriptorInfo) {\n if (!descriptorInfo) return null;\n const { descriptor, dynamic } = descriptorInfo;\n if (dynamic) return null;\n if (descriptor.get) return null;\n const methodType = descriptor.value?.constructor?.name;\n if (['Function', 'AsyncFunction'].includes(methodType)) {\n return methodType;\n }\n return null;\n}\n\n// same as _getBean if selector is undefined/null/'', as as to get the same bean instance\n// not use !selector which maybe is 0\nfunction __getSelectorKey(beanFullName: string, withSelector?: boolean, selector?: any) {\n if (!withSelector) return beanFullName;\n const isSelectorValid = !isNilOrEmptyString(selector);\n return !isSelectorValid ? beanFullName : `${beanFullName}#${selector}`;\n}\n","import { shallowReactive } from 'vue';\n\nimport type { IControllerData, ISlot, ISlotsDefault } from './type.ts';\n\nimport { cast } from '../types/utils/cast.ts';\nimport { useModel } from '../vueExtra/useModel.ts';\nimport { BeanBase } from './beanBase.ts';\n\nexport class BeanControllerBase extends BeanBase {\n public $props: unknown;\n public $slots: ISlotsDefault;\n\n /** @internal */\n public __initControllerData(controllerData: IControllerData) {\n if (this.ctx.disposed) return;\n // slots\n this.$slots = controllerData.context.slots as any;\n // props\n this.__initControllerProps(this.ctx.instance.vnode.props);\n this.app.meta.module._monkeyModuleSync(true, 'controllerDataInit', undefined, controllerData, this);\n }\n\n /** @internal */\n public __updateControllerData() {\n if (this.ctx.disposed) return;\n // props\n this.__initControllerProps(this.ctx.instance.vnode.props);\n this.app.meta.module._monkeyModuleSync(true, 'controllerDataUpdate', undefined, this);\n }\n\n public $useModel(name?, options?) {\n if (typeof name === 'object') {\n options = name;\n name = 'modelValue';\n }\n if (!name) name = 'modelValue';\n return useModel.call(this, this.$props as any, name, options);\n }\n\n public get $slotDefault(): ISlot | undefined {\n return cast(this.$props).slotDefault ?? this.$slots.default;\n }\n\n private __initControllerProps(propsInput: unknown | undefined) {\n const propsDefault = Object.getPrototypeOf(this).constructor.$propsDefault;\n let props = Object.assign({}, propsInput);\n for (const key in props) {\n if (props[key] === undefined) {\n delete props[key];\n }\n }\n props = Object.assign({}, propsDefault, props);\n if (!this.$props) {\n this.$props = process.env.SERVER ? props : shallowReactive(props as any);\n } else {\n // hold the same $props ref\n Object.assign(this.$props as any, props);\n for (const key in this.$props) {\n if (!props || !Object.hasOwnProperty.call(props, key)) {\n delete this.$props[key];\n }\n }\n }\n }\n}\n","import type { defineOptions, Ref, VNode } from 'vue';\n\nimport type { IBeanSceneRecord } from '../decorator/interface/beanOptions.ts';\nimport type { RequiredSome } from '../types/utils/requiredSome.ts';\nimport type { TypeRecordValues } from '../types/utils/type.ts';\nimport type { TypeErrorsInternal } from './resource/error/errorInternal.ts';\n\nexport interface IBeanRecordGeneral {}\nexport interface IBeanRecordLocal {}\n\nexport type IBeanRecord = IBeanRecordGeneral & IBeanRecordLocal;\nexport type TypeBeanRecordKeys = keyof IBeanRecord;\n\nexport type TypeBeanRecordGeneralSelector<SCENE extends keyof IBeanSceneRecord> = {\n [K in keyof IBeanRecordGeneral as K extends `${string}.${SCENE}.${string}` ? K : never]: IBeanRecordGeneral[K];\n};\nexport type TypeBeanRecordGeneralSelectorKeys<SCENE extends keyof IBeanSceneRecord> = keyof TypeBeanRecordGeneralSelector<SCENE>;\n\nexport type TypeBeanRecordGeneralSelectorSpecificName<SCENE extends keyof IBeanSceneRecord, NAME extends string> = {\n [K in keyof IBeanRecordGeneral as K extends `${string}.${SCENE}.${NAME}` ? K : never]: IBeanRecordGeneral[K];\n};\n\nexport type TypeBeanRecordGeneralSelectorSpecificNameKeys<\n SCENE extends keyof IBeanSceneRecord,\n NAME extends string,\n> = keyof TypeBeanRecordGeneralSelectorSpecificName<SCENE, NAME>;\n\nexport interface IBeanScopeRecord {}\nexport type TypeBeanScopeRecordKeys = keyof IBeanScopeRecord;\n\nexport interface IBeanScopeConfig {}\nexport type TypeBeanScopeConfigKeys = keyof IBeanScopeConfig;\n\nexport interface IBeanScopeLocale {}\nexport type TypeBeanScopeLocaleKeys = keyof IBeanScopeLocale;\n\nexport interface IBeanScopeErrors {}\nexport type TypeBeanScopeErrorsKeys = keyof IBeanScopeErrors;\n\nexport type TypeScopesErrorsHelper<ModuleName extends keyof IBeanScopeErrors, Errors extends IBeanScopeErrors[ModuleName]> = {\n // @ts-ignore: ignore\n [K in keyof Errors as `${ModuleName}:${Errors[K]}`]: K;\n};\nexport type TypeScopesErrorCodes = TypeRecordValues<{\n [ModuleName in keyof IBeanScopeErrors]: keyof TypeScopesErrorsHelper<ModuleName, IBeanScopeErrors[ModuleName]>;\n}>;\nexport type TypeAllErrorCodes = TypeScopesErrorCodes | keyof TypeErrorsInternal;\n\nexport interface IControllerDataContext {\n slots?: object;\n}\n\nexport interface IControllerData {\n context: IControllerDataContext;\n}\n\nexport const BeanControllerIdentifier = '$$c';\nexport const BeanRenderIdentifier = '$$r';\nexport const BeanStyleIdentifier = '$$s';\nexport const SymbolControllerRefDisable = Symbol('SymbolControllerRefDisable');\n\nexport function $getBeanName<K extends keyof IBeanRecord>(beanFullName: K): K {\n return beanFullName;\n}\n\nexport type ModelRef<T, M extends PropertyKey = string, G = T, S = T> = Ref<G, S> & [ModelRef<T, M, G, S>, Record<M, true | undefined>];\n\nexport interface DefineModelOptions<T = any, G = T, S = T> {\n get?: (v: T) => G;\n set?: (v: S) => any;\n}\n\nexport type IComponentOptions = Parameters<typeof defineOptions>[0];\n\nexport type IEmit = () => void;\nexport type ISlot = (...args: any[]) => VNode;\n\nexport interface ISlotsDefault {\n default?: ISlot;\n}\n\nexport type TypePropValueFromModel<T> = T extends 'vModel'\n ? 'modelValue'\n : T extends `vModel:${string}_${string}`\n ? never\n : T extends `vModel:${infer ARG}`\n ? ARG\n : never;\nexport type TypePropUpdateFromModel<T> = T extends 'vModel'\n ? 'onUpdate:modelValue'\n : T extends `vModel:${string}_${string}`\n ? never\n : T extends `vModel:${infer ARG}`\n ? `onUpdate:${ARG}`\n : never;\n// @ts-ignore ignore\nexport type TypeControllerInnerProps<PROPS, PROPSDEFAULT> = RequiredSome<PROPS, PROPSDEFAULT>;\n","import { cast } from '../types/utils/cast.ts';\nimport { BeanBase } from './beanBase.ts';\nimport { BeanControllerIdentifier } from './type.ts';\n\nconst SymbolController = Symbol('SymbolController');\n\nexport class BeanControllerLike extends BeanBase {\n protected get [SymbolController](): unknown | undefined {\n return this.bean._getBeanSyncOnly(BeanControllerIdentifier);\n }\n\n /** @internal */\n public __get__(prop): unknown {\n const controller = cast(this[SymbolController]);\n return controller?.[prop];\n }\n\n /** @internal */\n public __set__(prop, value): boolean {\n const controller = cast(this[SymbolController]);\n if (!controller) return false;\n if (prop in controller) {\n controller[prop] = value;\n return true;\n } else {\n return false;\n }\n }\n}\n","import type { IControllerData } from './type.ts';\n\nimport { BeanBase } from './beanBase.ts';\n\nexport class BeanControllerPageBase extends BeanBase {\n public $params: unknown;\n public $query: unknown;\n\n /** @internal */\n public __initControllerData(controllerData: IControllerData) {\n if (this.app) {\n this.app.meta.module._monkeyModuleSync(true, 'controllerDataInit', undefined, controllerData, this);\n }\n }\n\n /** @internal */\n public __updateControllerData() {\n this.app.meta.module._monkeyModuleSync(true, 'controllerDataUpdate', undefined, this);\n }\n}\n","import { cast } from '../types/utils/cast.ts';\nimport { BeanControllerLike } from './beanControllerLike.ts';\nimport { BeanStyleIdentifier } from './type.ts';\n\nconst SymbolStyle = Symbol('SymbolStyle');\n\nexport class BeanRenderLike extends BeanControllerLike {\n private get [SymbolStyle](): unknown | undefined {\n return this.bean._getBeanSyncOnly(BeanStyleIdentifier);\n }\n\n /** @internal */\n public __get__(prop): unknown {\n const value = super.__get__(prop);\n if (value !== undefined) return value;\n const style = cast(this[SymbolStyle]);\n return style?.[prop];\n }\n\n /** @internal */\n public __set__(prop, value): boolean {\n const res = super.__set__(prop, value);\n if (res) return res;\n const style = cast(this[SymbolStyle]);\n if (!style) return false;\n if (prop in style) {\n style[prop] = value;\n return true;\n } else {\n return false;\n }\n }\n}\n","import { BeanRenderLike } from './beanRenderLike.ts';\n\nexport class BeanRenderBase extends BeanRenderLike {\n public render() {}\n}\n","import { BeanControllerLike } from './beanControllerLike.ts';\n\nexport class BeanStyleBase extends BeanControllerLike {}\n","import { BeanSimple } from '../beanSimple.ts';\n\nconst BeanModuleScope = Symbol('BeanScopeScene#ModuleScope');\n\nexport class BeanScopeUtil extends BeanSimple {\n private [BeanModuleScope]: string;\n\n constructor(moduleScope) {\n super();\n this[BeanModuleScope] = moduleScope;\n }\n\n test() {\n return this[BeanModuleScope];\n }\n}\n","import type { IModule } from '@cabloy/module-info';\n\nimport { BeanBaseSimple, SymbolModuleBelong } from '../beanBaseSimple.ts';\nimport { BeanScopeError } from '../resource/error/beanScopeError.ts';\nimport { BeanScopeLocale } from '../resource/locale/beanScopeLocale.ts';\nimport { BeanScopeUtil } from './beanScopeUtil.ts';\n\nconst BeanModuleError = Symbol('BeanScopeBase#BeanModuleError');\nconst BeanModuleLocale = Symbol('BeanScopeBase#BeanModuleLocale');\nconst BeanModuleConfig = Symbol('BeanScopeBase#BeanModuleConfig');\nconst BeanModuleConstant = Symbol('BeanScopeBase#BeanModuleConstant');\nconst BeanModuleApi = Symbol('BeanScopeBase#BeanModuleApi');\nconst BeanModuleApiSchema = Symbol('BeanScopeBase#BeanModuleApiSchema');\nconst BeanModuleUtil = Symbol('BeanScopeBase#BeanModuleUtil');\n\nexport class BeanScopeBase extends BeanBaseSimple {\n private [BeanModuleError]: BeanScopeError;\n private [BeanModuleLocale]: BeanScopeLocale;\n private [BeanModuleConfig]: unknown;\n private [BeanModuleConstant]: unknown;\n private [BeanModuleApi]: unknown;\n private [BeanModuleApiSchema]: unknown;\n private [BeanModuleUtil]: BeanScopeUtil;\n\n get module(): IModule {\n return this.app.meta.module.get(this[SymbolModuleBelong]) as unknown as IModule;\n }\n\n protected __get__(prop: string) {\n const moduleBelong = this[SymbolModuleBelong];\n // error\n if (prop === 'error') {\n if (!this[BeanModuleError]) {\n this[BeanModuleError] = this.bean._newBeanSimple(BeanScopeError, false, moduleBelong);\n }\n return this[BeanModuleError];\n }\n // locale\n if (prop === 'locale') {\n if (!this[BeanModuleLocale]) {\n this[BeanModuleLocale] = this.bean._newBeanSimple(BeanScopeLocale, false, moduleBelong);\n }\n return this[BeanModuleLocale];\n }\n // config\n if (prop === 'config') {\n if (!this[BeanModuleConfig]) {\n this[BeanModuleConfig] = this.sys.config.modules[moduleBelong];\n }\n return this[BeanModuleConfig];\n }\n // constant\n if (prop === 'constant') {\n if (!this[BeanModuleConstant]) {\n this[BeanModuleConstant] = this.sys.constant.modules[moduleBelong];\n }\n return this[BeanModuleConstant];\n }\n // api\n if (prop === 'api') {\n if (!this[BeanModuleApi]) {\n this[BeanModuleApi] = {};\n }\n return this[BeanModuleApi];\n }\n // apiSchema\n if (prop === 'apiSchema') {\n if (!this[BeanModuleApiSchema]) {\n this[BeanModuleApiSchema] = {};\n }\n return this[BeanModuleApiSchema];\n }\n // util\n if (prop === 'util') {\n if (!this[BeanModuleUtil]) {\n this[BeanModuleUtil] = this.bean._newBeanSimple(BeanScopeUtil, false, moduleBelong);\n }\n return this[BeanModuleUtil];\n }\n }\n}\n","import type z from 'zod';\n\nimport { setLocaleAdapter, setLocaleErrors, translateError } from '@cabloy/zod-errors-custom';\nimport { ZodMetadata } from '@cabloy/zod-openapi';\nimport { setParseAdapter } from '@cabloy/zod-query';\n\nimport type { ILocaleRecord } from '../bean/resource/locale/type.ts';\nimport type { ZovaApplication } from '../core/app/application.ts';\n\nexport type ZodLocaleError = () => { localeError: z.core.$ZodErrorMap };\nexport type ZodLocaleErrors = Record<keyof ILocaleRecord, ZodLocaleError>;\n\nexport function zodEnhance(app: ZovaApplication) {\n setLocaleAdapter((text: string, iss?: object) => {\n return translateError(\n (text: string, ...args: any[]) => {\n return app.meta.text(text, ...args);\n },\n text,\n iss,\n );\n });\n}\n\nexport function zodEnhanceSys() {\n setParseAdapter(ZodMetadata);\n}\n\nexport function zodSetLocaleErrors(app: ZovaApplication, localeErrors: ZodLocaleErrors, localeDefault?: string) {\n setLocaleErrors(\n () => {\n return app.meta.locale.current;\n },\n localeErrors,\n localeDefault,\n );\n}\n","import type { ZovaConfigMeta } from '@cabloy/module-info';\n\nimport type { ILayoutRecord, TypeComponentAppRecord, TypeComponentLayoutRecord } from '../../bean/resource/component/type.ts';\nimport type { ILocaleRecord } from '../../bean/resource/locale/type.ts';\nimport type { ZovaConfigRoutes } from '../../bean/resource/page/type.ts';\nimport type { IBeanScopeConfig } from '../../bean/type.ts';\nimport type { ZovaConfigEnv } from '../../types/utils/env.ts';\nimport type { PowerPartial } from '../../types/utils/powerPartial.ts';\nimport type { ConfigLogger } from '../logger/types.ts';\n\nexport function configDefault(env: ZovaConfigEnv): PowerPartial<ZovaConfig> {\n const config: PowerPartial<ZovaConfig> = {\n meta: {\n flavor: env.META_FLAVOR,\n mode: env.META_MODE,\n appMode: env.META_APP_MODE,\n },\n };\n return config;\n}\n\nexport interface ZovaConfig {\n meta: ZovaConfigMeta;\n app: {\n name: string;\n title: string;\n description: string;\n version: string;\n };\n api: {\n baseURL: string;\n prefix: string;\n jwt: boolean;\n };\n ssr: {\n cookie: boolean;\n withVona: boolean;\n ignoreCookieOnServer: boolean;\n hmr: boolean;\n };\n ws: {\n baseURL: string;\n prefix: string;\n };\n logger: ConfigLogger;\n locale: {\n default: keyof ILocaleRecord;\n storeKey: string;\n items: Record<keyof ILocaleRecord, string>;\n };\n tz: {\n storeKey: string;\n };\n layout: {\n app: {\n component: keyof TypeComponentAppRecord;\n };\n component: {\n [K in keyof ILayoutRecord]: keyof TypeComponentLayoutRecord;\n };\n sidebar: {\n leftOpenPC: boolean;\n breakpoint: number;\n };\n };\n routes: ZovaConfigRoutes;\n modules: IBeanScopeConfig;\n}\n\nexport type ZovaConfigOptional = PowerPartial<ZovaConfig>;\n","import type { PowerPartial } from '../../index.ts';\n\nexport const constantDefault = {\n modules: {},\n};\n\nexport type ZovaConstant = {\n modules: Record<string, object>;\n} & typeof constantDefault;\n\nexport type ZovaConstantOptional = PowerPartial<ZovaConstant>;\n","import type { IModuleInfo } from '@cabloy/module-info';\nimport type { Component } from 'vue';\n\nimport type { ZovaSys } from '../../core/sys/sys.ts';\nimport type { Constructable } from '../../decorator/type/constructable.ts';\nimport type { StateLock } from '../../utils/stateLock.ts';\nimport type { IModuleMain, IModuleMainSys, IMonkeyApp, IMonkeyController, IMonkeyModule, IMonkeyModuleSys, IMonkeySys } from './monkey.ts';\n\nexport type TypeModuleResourceIcons = Record<string, string>;\nexport type TypeModuleResourceLocales = Record<string, object>;\nexport type TypeModuleResourceLocaleModules = Record<string, TypeModuleResourceLocales>;\nexport type TypeModuleResourceErrors = Record<string, number>;\nexport type TypeModuleResourceErrorModules = Record<string, TypeModuleResourceErrors>;\nexport type TypeModuleResourceComponents = Record<string, Component>;\nexport type TypeModuleResourceConfig = (sys: ZovaSys) => object | Promise<object>;\n\nexport interface IModuleResource {\n MainSys: Constructable<IModuleMainSys>;\n MonkeySys: Constructable<IMonkeyModuleSys & IMonkeySys>;\n Main: Constructable<IModuleMain>;\n Monkey: Constructable<IMonkeyModule & IMonkeyApp & IMonkeyController>;\n locales: TypeModuleResourceLocales;\n errors: TypeModuleResourceErrors;\n config: TypeModuleResourceConfig;\n constants: unknown;\n icons: TypeModuleResourceIcons;\n components: TypeModuleResourceComponents;\n}\n\nexport const SymbolInstalled = Symbol('SymbolInstalled');\n\ndeclare module '@cabloy/module-info' {\n export interface IModule {\n /** @internal */\n [SymbolInstalled]: StateLock;\n resource: IModuleResource; // IModuleResource | Promise<IModuleResource>;\n info: IModuleInfo;\n }\n}\n\nexport interface IModuleApp {\n /** @internal */\n [SymbolInstalled]: StateLock;\n}\n","import type { CookieOptions } from '../../types/index.ts';\n\n// from: quasar/ui/src/plugins/Cookies.js\nimport { BeanSimple } from '../../bean/beanSimple.ts';\nimport { cast } from '../../types/index.ts';\n\nexport class AppCookie extends BeanSimple {\n getItem(key: string): string | undefined;\n getItem(key?: undefined | null): Record<string, string>;\n getItem(key?: string | undefined | null): Record<string, string> | string | undefined {\n if (process.env.SERVER && !this.ctx) {\n throw new Error('cannot called in sys bean');\n }\n const cookieSource = cast(process.env.SERVER ? cast(this.ctx.meta).$ssr.context.req.headers : document);\n const cookies = cookieSource.cookie ? cookieSource.cookie.split('; ') : [];\n const l = cookies.length;\n let result: Record<string, string> | undefined = key ? undefined : {};\n let i = 0;\n let parts;\n let name;\n let cookie;\n\n for (; i < l; i++) {\n parts = cookies[i].split('=');\n name = decode(parts.shift());\n cookie = parts.join('=');\n\n if (!key) {\n cast(result)[name] = cookie;\n } else if (key === name) {\n result = read(cookie);\n break;\n }\n }\n\n return result;\n }\n\n setItem(key: string, value: string, opts?: CookieOptions): void {\n opts = opts || {};\n // only / , same as localstorage/indexdb\n opts.path = opts.path || '/';\n\n let expire, expireValue;\n\n if (opts.expires !== void 0) {\n // if it's a Date Object\n if (Object.prototype.toString.call(opts.expires) === '[object Date]') {\n expire = cast<Date>(opts.expires).toUTCString();\n } else if (typeof opts.expires === 'string') {\n // if it's a String (eg. \"15m\", \"1h\", \"13d\", \"1d 15m\", \"31s\")\n // possible units: d (days), h (hours), m (minutes), s (seconds)\n expire = parseExpireString(opts.expires);\n } else {\n // otherwise it must be a Number (defined in days)\n expireValue = Number.parseFloat(opts.expires.toString());\n expire = Number.isNaN(expireValue) === false ? getString(expireValue * 864e5) : opts.expires;\n }\n }\n\n const keyValue = `${encode(key)}=${stringifyCookieValue(value)}`;\n\n const cookie = [\n keyValue,\n expire !== void 0 ? `; Expires=${expire}` : '', // use expires attribute, max-age is not supported by IE\n opts.path ? `; Path=${opts.path}` : '',\n opts.domain ? `; Domain=${opts.domain}` : '',\n opts.sameSite ? `; SameSite=${opts.sameSite}` : '',\n opts.httpOnly ? '; HttpOnly' : '',\n opts.secure ? '; Secure' : '',\n opts.other ? `; ${opts.other}` : '',\n ].join('');\n\n if (process.env.SERVER) {\n const req = cast(this.ctx.meta).$ssr.context.req;\n const res = cast(this.ctx.meta).$ssr.context.res;\n const reqAny = cast(req);\n const resAny = cast(res);\n if (reqAny.qCookies) {\n reqAny.qCookies.push(cookie);\n } else {\n reqAny.qCookies = [cookie];\n }\n\n resAny.setHeader('Set-Cookie', reqAny.qCookies);\n\n // make temporary update so future get()\n // within same SSR timeframe would return the set value\n\n let all = reqAny.headers.cookie || '';\n\n if (expire !== void 0 && expireValue < 0) {\n const val = this.getItem(key);\n if (val !== undefined) {\n all = all.replace(`${key}=${val}; `, '').replace(`; ${key}=${val}`, '').replace(`${key}=${val}`, '');\n }\n } else {\n all = all ? `${keyValue}; ${all}` : cookie;\n }\n\n reqAny.headers.cookie = all;\n } else {\n document.cookie = cookie;\n }\n }\n\n removeItem(key: string, opts?: CookieOptions): void {\n this.setItem(\n key,\n '',\n Object.assign(\n {\n expires: -1,\n },\n opts,\n ),\n );\n }\n}\n\nfunction encode(string) {\n return encodeURIComponent(string);\n}\n\nfunction decode(string) {\n return decodeURIComponent(string);\n}\n\nfunction stringifyCookieValue(value) {\n return encode(value === Object(value) ? JSON.stringify(value) : `${value}`);\n}\n\nfunction read(string) {\n if (string === '') {\n return string;\n }\n\n if (string.indexOf('\"') === 0) {\n // This is a quoted cookie as according to RFC2068, unescape...\n string = string.slice(1, -1).replace(/\\\\\"/g, '\"').replace(/\\\\\\\\/g, '\\\\');\n }\n\n // Replace server-side written pluses with spaces.\n // If we can't decode the cookie, ignore it, it's unusable.\n // If we can't parse the cookie, ignore it, it's unusable.\n string = decode(string.replace(/\\+/g, ' '));\n\n return string;\n}\n\nfunction parseExpireString(str) {\n let timestamp = 0;\n\n const days = str.match(/(\\d+)d/);\n const hours = str.match(/(\\d+)h/);\n const minutes = str.match(/(\\d+)m/);\n const seconds = str.match(/(\\d+)s/);\n\n if (days) {\n timestamp += days[1] * 864e5;\n }\n if (hours) {\n timestamp += hours[1] * 36e5;\n }\n if (minutes) {\n timestamp += minutes[1] * 6e4;\n }\n if (seconds) {\n timestamp += seconds[1] * 1000;\n }\n\n return timestamp === 0 ? str : getString(timestamp);\n}\n\nfunction getString(msOffset) {\n const time = new Date();\n time.setMilliseconds(time.getMilliseconds() + msOffset);\n return time.toUTCString();\n}\n","import { compose } from '@cabloy/compose';\n\nimport type {\n IEventRecord,\n NextEventStrict,\n NextEventSyncStrict,\n TypeEventHandler,\n TypeEventHandlers,\n TypeEventHandlersMap,\n TypeEventOff,\n} from '../../types/interface/event.js';\n\nimport { BeanSimple } from '../../bean/beanSimple.ts';\nimport { cast } from '../../types/utils/cast.ts';\n\nconst __adapter = (_context, chain) => {\n const eventHandlerWrapper = chain;\n if (!eventHandlerWrapper.fn) return;\n return {\n receiver: undefined,\n fn: eventHandlerWrapper.fn,\n };\n};\n\nexport class AppEvent extends BeanSimple {\n private eventHandlersMap = {} as TypeEventHandlersMap<keyof IEventRecord>;\n\n /** @internal */\n public async initialize() {}\n\n /** @internal */\n public dispose() {\n this.eventHandlersMap = {} as any;\n }\n\n public getEventHandlers<K extends keyof IEventRecord>(eventName: K): TypeEventHandlers<IEventRecord[K]['data'], IEventRecord[K]['result']> {\n let eventHandlers = this.eventHandlersMap[eventName];\n if (!eventHandlers) {\n eventHandlers = this.eventHandlersMap[eventName] = [] as any;\n }\n return eventHandlers;\n }\n\n async emit<K extends keyof IEventRecord>(\n eventName: K,\n data?: IEventRecord[K]['data'],\n nextOrDefault?: NextEventStrict<IEventRecord[K]['data'], IEventRecord[K]['result']> | IEventRecord[K]['result'],\n ): Promise<IEventRecord[K]['result']> {\n const eventHandlers = this.getEventHandlers(eventName);\n const next =\n typeof nextOrDefault === 'function'\n ? cast<NextEventStrict<IEventRecord[K]['data'], IEventRecord[K]['result']>>(nextOrDefault)\n : async (): Promise<IEventRecord[K]['result']> => {\n return nextOrDefault! as IEventRecord[K]['result'];\n };\n return await compose(eventHandlers.concat(), __adapter)(data, next);\n }\n\n emitSync<K extends keyof IEventRecord>(\n eventName: K,\n data?: IEventRecord[K]['data'],\n nextOrDefault?: NextEventSyncStrict<IEventRecord[K]['data'], IEventRecord[K]['result']> | IEventRecord[K]['result'],\n ): IEventRecord[K]['result'] {\n const eventHandlers = this.getEventHandlers(eventName);\n const next =\n typeof nextOrDefault === 'function'\n ? cast<NextEventSyncStrict<IEventRecord[K]['data'], IEventRecord[K]['result']>>(nextOrDefault)\n : (): IEventRecord[K]['result'] => {\n return nextOrDefault!;\n };\n return compose(eventHandlers.concat(), __adapter)(data, next);\n }\n\n on<K extends keyof IEventRecord>(eventName: K, fn: TypeEventHandler<IEventRecord[K]['data'], IEventRecord[K]['result']>): TypeEventOff {\n const eventHandlers = this.getEventHandlers(eventName);\n eventHandlers.push({ fn });\n return () => {\n const index = eventHandlers.findIndex(item => item.fn === fn);\n if (index > -1) {\n eventHandlers[index].fn = undefined;\n eventHandlers.splice(index, 1);\n }\n };\n }\n\n once<K extends keyof IEventRecord>(eventName: K, fn: TypeEventHandler<IEventRecord[K]['data'], IEventRecord[K]['result']>): TypeEventOff {\n const off = this.on(eventName, async (data, next) => {\n const res = await fn(data, next);\n off();\n return res;\n });\n return off;\n }\n}\n","import type { LoggerLevel } from '@cabloy/logger';\n\nimport { Logger } from '@cabloy/logger';\n\nimport type { ILoggerChildRecord, ILoggerClientRecord, TypeLoggerOptions } from './types.ts';\n\nimport { BeanSimple } from '../../bean/beanSimple.ts';\nimport { sys } from '../sys/sys.ts';\nimport { deepExtend } from '../sys/util.ts';\n\nconst SymbolLoggerInstances = Symbol('SymbolLoggerInstances');\n\nexport class SysLogger extends BeanSimple {\n private [SymbolLoggerInstances]: Record<keyof ILoggerClientRecord, Logger> = {} as any;\n\n public dispose() {\n for (const key in this[SymbolLoggerInstances]) {\n const logger = this[SymbolLoggerInstances][key];\n _closeLogger(logger);\n }\n this[SymbolLoggerInstances] = {} as any;\n }\n\n get(clientName?: keyof ILoggerClientRecord) {\n clientName = clientName || 'default';\n if (!this[SymbolLoggerInstances][clientName]) {\n this[SymbolLoggerInstances][clientName] = this._createClient(clientName);\n }\n return this[SymbolLoggerInstances][clientName];\n }\n\n child(childName?: keyof ILoggerChildRecord, clientName?: keyof ILoggerClientRecord) {\n const logger = this.get(clientName);\n if (!childName) return logger;\n return logger.child({ name: childName });\n }\n\n getFilterLevel(clientName?: keyof ILoggerClientRecord): LoggerLevel | undefined {\n return getLoggerFilterLevel(clientName);\n }\n\n setFilterLevel(level: LoggerLevel | boolean, clientName?: keyof ILoggerClientRecord) {\n setLoggerFilterLevel(level, clientName);\n }\n\n private _createClient(clientName: keyof ILoggerClientRecord): Logger {\n const configClient = this.sys.config.logger.clients[clientName];\n if (!configClient) throw new Error(`logger client not found: ${clientName}`);\n const configNode = deepExtend(\n {},\n this._prepareConfigClient(clientName, this.sys.config.logger.base),\n this._prepareConfigClient(clientName, configClient as unknown as TypeLoggerOptions),\n );\n const logger = new Logger(configNode);\n return logger;\n }\n\n private _prepareConfigClient(clientName: keyof ILoggerClientRecord, configClient: TypeLoggerOptions) {\n if (typeof configClient !== 'function') return configClient;\n return configClient.call(this.sys, {\n clientName,\n level: () => getLoggerFilterLevel(clientName),\n });\n }\n}\n\nfunction _closeLogger(logger: Logger) {\n if ((logger as any).__closed__) return;\n logger.end();\n (logger as any).__closed__ = true;\n}\n\nexport function getLoggerFilterLevel(clientName?: keyof ILoggerClientRecord): LoggerLevel | undefined {\n clientName = clientName || 'default';\n if (sys.env.META_MODE === 'production') return; // disable on prod: not use process.env.PROD\n const envName = `LOGGER_CLIENT_${clientName.toUpperCase()}`;\n const level = sys.env[envName];\n if (level === 'false') return;\n if (level === 'true' || !level) return 'info';\n return level as LoggerLevel;\n}\n\nexport function setLoggerFilterLevel(level: LoggerLevel | boolean, clientName?: keyof ILoggerClientRecord) {\n clientName = clientName || 'default';\n if (sys.env.META_MODE === 'production') return; // disable on prod: not use process.env.PROD\n const envName = `LOGGER_CLIENT_${clientName.toUpperCase()}`;\n sys.env[envName] = level.toString();\n}\n","import type { ZovaSys } from '../core/sys/sys.ts';\n\nimport { sys } from '../core/sys/sys.ts';\n\nexport function useSys(): ZovaSys {\n return sys;\n}\n","import { defineAsyncComponent } from 'vue';\n\nimport { useSys } from '../composables/useSys.ts';\n\nexport function createZovaComponentAsync(module: string, name?: string) {\n return defineAsyncComponent(() => {\n return new Promise(resolve => {\n const sys = useSys();\n sys.meta.component.use(module, name).then(value => {\n resolve(value as any);\n });\n });\n });\n}\n","import type { Component } from 'vue';\n\nimport { markRaw } from 'vue';\n\nimport type { IZovaComponentRecord } from '../../bean/resource/component/type.ts';\n\nimport { BeanSimple } from '../../bean/beanSimple.ts';\nimport { createZovaComponentAsync } from '../../components/createZovaComponentAsync.ts';\n\nconst SymbolZovaComponents = Symbol('SymbolZovaComponents');\n\nexport class SysComponent extends BeanSimple {\n private [SymbolZovaComponents]: Record<string, any> = {};\n\n /** @internal */\n public async initialize() {}\n\n /** @internal */\n public dispose() {}\n\n public createAsyncComponent(module: string, name?: string) {\n return () => {\n return this.use(module, name);\n };\n // should not use defineAsyncComponent\n // return defineAsyncComponent(() => {\n // return this.use(componentName);\n // });\n }\n\n public getZovaComponent<K extends keyof IZovaComponentRecord>(componentName: K): IZovaComponentRecord[K];\n public getZovaComponent(module: string, name: string);\n public getZovaComponent(module: string, name?: string) {\n const componentName = module.includes(':') ? module : `${module}:${name}`;\n if (!this[SymbolZovaComponents][componentName]) {\n this[SymbolZovaComponents][componentName] = markRaw(createZovaComponentAsync(componentName));\n }\n return this[SymbolZovaComponents][componentName];\n }\n\n public async use(module: string, name?: string): Promise<Component> {\n if (module.includes(':')) {\n const parts = module.split(':');\n module = parts[0];\n name = parts[1];\n }\n const _module = await this.sys.meta.module.use(module);\n return _module.resource.components[name!];\n }\n}\n","import type { TypeModuleResourceErrorModules } from '../../types/interface/module.ts';\n\nimport { BeanSimple } from '../../bean/beanSimple.ts';\n\nexport class SysError extends BeanSimple {\n /** @internal */\n public errors: TypeModuleResourceErrorModules;\n\n /** @internal */\n public async initialize() {\n this.errors = {};\n }\n\n /** @internal */\n public dispose() {\n this.errors = {};\n }\n}\n","import type { Ref } from 'vue';\n\nimport * as localeutil from '@cabloy/localeutil';\nimport { ref } from 'vue';\n\nimport type { ILocaleRecord, IModuleLocale, IModuleLocaleText } from '../../bean/resource/locale/type.ts';\n\nimport { BeanSimple } from '../../bean/beanSimple.ts';\nimport { LocaleModuleNameSeparator } from '../../bean/resource/locale/type.ts';\n\nconst SymbolLocaleCurrent = Symbol('SymbolLocaleCurrent');\nconst SymbolTzCurrent = Symbol('SymbolTzCurrent');\n\nexport class AppLocale extends BeanSimple {\n private [SymbolLocaleCurrent]: Ref<string | undefined> = ref();\n private [SymbolTzCurrent]: Ref<string | undefined> = ref();\n\n get metaCookie() {\n return this.app ? this.app.meta.cookie : this.sys.meta.cookie;\n }\n\n get current(): keyof ILocaleRecord {\n let locale = this[SymbolLocaleCurrent].value;\n if (!locale && this.sys.config.ssr.cookie) locale = this.metaCookie.getItem(this.sys.config.locale.storeKey);\n if (!locale) locale = this.sys.config.locale.default;\n return locale as keyof ILocaleRecord;\n }\n\n set current(value: keyof ILocaleRecord) {\n if (this[SymbolLocaleCurrent].value === value) return;\n this[SymbolLocaleCurrent].value = value;\n if (this.sys.config.ssr.cookie) {\n this.metaCookie.setItem(this.sys.config.locale.storeKey, value);\n }\n }\n\n get tz(): string {\n let tz = this[SymbolTzCurrent].value;\n if (!tz) tz = this.metaCookie.getItem(this.sys.config.tz.storeKey);\n if (!tz) tz = Intl.DateTimeFormat().resolvedOptions().timeZone;\n return tz;\n }\n\n set tz(value: string) {\n if (this[SymbolTzCurrent].value === value) return;\n this[SymbolTzCurrent].value = value;\n this.metaCookie.setItem(this.sys.config.tz.storeKey, value);\n }\n\n /** @internal */\n public async initialize() {}\n\n /** @internal */\n public createLocaleText(moduleScope?: string): IModuleLocaleText {\n const self = this;\n const getText = function (text: string, ...args: any[]): string {\n return self.getText(false, moduleScope, undefined, text, ...args);\n };\n getText.locale = function <T extends keyof ILocaleRecord>(locale: T | undefined, text: string, ...args: any[]): string {\n return self.getText(false, moduleScope, locale, text, ...args);\n };\n return getText;\n }\n\n /** @internal */\n public createScopeLocaleText(moduleScope: string, text: string): IModuleLocale {\n const self = this;\n const getText = function (...args: any[]): string {\n return self.getText(false, moduleScope, undefined, text, ...args);\n };\n getText.locale = function <T extends keyof ILocaleRecord>(locale: T | undefined, ...args: any[]): string {\n return self.getText(false, moduleScope, locale, text, ...args);\n };\n return getText;\n }\n\n public getText<T extends keyof ILocaleRecord>(\n supportCustomMessage: boolean,\n moduleScope: string | undefined,\n locale: T | undefined,\n key: string,\n ...args: any[]\n ): string {\n if (!key) return key;\n if (typeof key !== 'string') throw new Error(`${key} should be string`);\n const pos = key.indexOf(LocaleModuleNameSeparator);\n if (pos > -1) {\n moduleScope = key.substring(0, pos);\n key = key.substring(pos + LocaleModuleNameSeparator.length);\n }\n return localeutil.getLocaleText(\n supportCustomMessage,\n moduleScope ? this.sys.meta.locale.localeModules[moduleScope] : undefined,\n this.sys.meta.locale.locales,\n locale || this.current,\n key,\n ...args,\n );\n }\n}\n","import type { TypeModuleResourceLocaleModules, TypeModuleResourceLocales } from '../../types/interface/module.ts';\nimport type { ZovaLocaleOptionalMap } from '../app/locale.ts';\n\nimport { AppLocale } from '../component/locale.ts';\n\nexport class SysLocale extends AppLocale {\n /** @internal */\n public locales: TypeModuleResourceLocales = {};\n public localeModules: TypeModuleResourceLocaleModules = {};\n\n /** @internal */\n public async initialize(locales?: ZovaLocaleOptionalMap) {\n if (!locales) return;\n for (const locale in locales) {\n const moduleMap = locales[locale].modules;\n for (const moduleName in moduleMap) {\n this._registerLocale(moduleName, locale, moduleMap[moduleName]);\n }\n }\n }\n\n /** @internal */\n public dispose() {\n this.locales = {};\n this.localeModules = {};\n }\n\n /** @internal */\n public _registerLocales(moduleName: string, locales: TypeModuleResourceLocales) {\n if (!locales) return;\n for (const locale in locales) {\n this._registerLocale(moduleName, locale, locales[locale]);\n }\n }\n\n private _registerLocale(moduleName: string, locale: string, moduleLocales: object) {\n // locales\n this.locales[locale] = Object.assign({}, moduleLocales, this.locales[locale]);\n // localeModules\n if (!this.localeModules[moduleName]) this.localeModules[moduleName] = {};\n this.localeModules[moduleName][locale] = Object.assign({}, moduleLocales, this.localeModules[moduleName][locale]);\n }\n}\n","import type { IModule, IModuleInfo } from '@cabloy/module-info';\n\nimport * as ModuleInfo from '@cabloy/module-info';\nimport { forEach, forEachSync } from '@cabloy/utils';\nimport { shallowReactive } from 'vue';\n\nimport type { TypeBeanScopeRecordKeys } from '../../bean/type.ts';\nimport type { IModuleMainSys, IModuleResource, IMonkeyModuleSys, IMonkeySys, PluginZovaModulesMeta, TypeMonkeyName } from '../../types/index.ts';\n\nimport { BeanSimple } from '../../bean/beanSimple.ts';\nimport { SymbolInstalled } from '../../types/index.ts';\nimport { StateLock } from '../../utils/stateLock.ts';\nimport { deepExtend } from '../sys/util.ts';\n\nexport class SysModule extends BeanSimple {\n public modulesMeta: PluginZovaModulesMeta;\n private modules: Record<string, IModule> = shallowReactive({});\n private mainInstances: Record<string, IModuleMainSys> = {};\n private monkeyInstances: Record<string, IMonkeyModuleSys & IMonkeySys> = {};\n\n /** @internal */\n public async initialize(modulesMeta: PluginZovaModulesMeta) {\n this.modulesMeta = modulesMeta;\n await this._loadAllMonkeysAndSyncsAndPreloads();\n await this._requireAllSpecifics('preload');\n await this._requireAllSpecifics('monkey');\n await this._requireAllSpecifics('sync');\n if (process.env.SERVER) {\n await this._requireAllOthers();\n }\n }\n\n /** @internal */\n public dispose() {\n this.modulesMeta = undefined as any;\n }\n\n get<K extends TypeBeanScopeRecordKeys>(moduleName: K): IModule | undefined;\n get(moduleName: string): IModule | undefined;\n get(moduleName: IModuleInfo): IModule | undefined;\n get(moduleName: string | IModuleInfo): IModule | undefined {\n // module info\n if (!moduleName) return undefined;\n const moduleInfo = typeof moduleName === 'string' ? ModuleInfo.parseInfo(moduleName) : moduleName;\n if (!moduleInfo) throw new Error(`invalid module name: ${moduleName}`);\n // get\n const module = this.modules[moduleInfo.relativeName];\n if (!module) {\n return undefined;\n }\n if (!module[SymbolInstalled] || !module[SymbolInstalled].state) {\n return undefined;\n }\n return module;\n }\n\n async use<K extends TypeBeanScopeRecordKeys>(moduleName: K): Promise<IModule>;\n async use(moduleName: string): Promise<IModule>;\n async use(moduleName: IModuleInfo): Promise<IModule>;\n async use(moduleName?: string | IModuleInfo): Promise<IModule> {\n // module info\n if (!moduleName) throw new Error('should specify the module name');\n const moduleInfo = typeof moduleName === 'string' ? ModuleInfo.parseInfo(moduleName) : moduleName;\n if (!moduleInfo) throw new Error(`invalid module name: ${moduleName}`);\n const relativeName = moduleInfo.relativeName;\n // should not try check get directly\n // const module = this.getOnly(relativeName);\n // if (module) return module;\n // module\n const moduleRepo = this.modulesMeta.modules[relativeName];\n if (!moduleRepo) throw new Error(`module not exists: ${relativeName}`);\n // install\n await this._install(relativeName, moduleRepo);\n // ok\n return moduleRepo;\n }\n\n exists<K extends TypeBeanScopeRecordKeys>(moduleName: K): boolean;\n exists(moduleName: string): boolean;\n exists(moduleName: IModuleInfo): boolean;\n exists(moduleName: string | IModuleInfo): boolean {\n // module info\n if (!moduleName) return false;\n const moduleInfo = typeof moduleName === 'string' ? ModuleInfo.parseInfo(moduleName) : moduleName;\n if (!moduleInfo) throw new Error(`invalid module name: ${moduleName}`);\n const moduleRepo = this.modulesMeta.modules[moduleInfo.relativeName];\n return !!moduleRepo;\n }\n\n private async _loadAllMonkeysAndSyncsAndPreloads() {\n const moduleNames: string[] = [];\n for (const moduleName of this.modulesMeta.moduleNames) {\n const module = this.modulesMeta.modules[moduleName];\n const info = module.info;\n const shouldLoad = process.env.SERVER || info.capabilities?.monkey || info.capabilities?.sync || info.capabilities?.preload;\n if (shouldLoad) {\n const moduleResource = module.resource as any;\n if (typeof moduleResource === 'function') {\n moduleNames.push(moduleName);\n }\n }\n }\n await this.loadModules(moduleNames);\n }\n\n public async loadModules(moduleNames: string[]) {\n if (moduleNames.length === 0) return;\n const promises: Promise<IModuleResource>[] = [];\n const moduleNamesLoading: string[] = [];\n for (const moduleName of moduleNames) {\n const module = this.modulesMeta.modules[moduleName];\n if (!module) throw new Error(`module not found: ${moduleName}`);\n const moduleResource = module.resource as any;\n if (typeof moduleResource === 'function') {\n const promise = moduleResource();\n if (process.env.SERVER && process.env.DEV) {\n await promise;\n }\n promises.push(promise);\n moduleNamesLoading.push(moduleName);\n }\n }\n const modulesResource = await Promise.all(promises);\n for (let i = 0; i < modulesResource.length; i++) {\n const moduleName = moduleNamesLoading[i];\n this.modulesMeta.modules[moduleName].resource = modulesResource[i];\n }\n }\n\n private async _requireAllSpecifics(capabilityName: 'preload' | 'monkey' | 'sync') {\n const moduleNames = this.modulesMeta.moduleNames.filter(moduleName => {\n const module = this.modulesMeta.modules[moduleName];\n return module.info.capabilities?.[capabilityName];\n });\n if (moduleNames.length > 0) {\n this.sys.meta.logger.child('module', 'default').debug(`modules ${capabilityName}: ${moduleNames.join(',')}`);\n }\n for (const moduleName of moduleNames) {\n const module = this.modulesMeta.modules[moduleName];\n await this._install(moduleName, module);\n }\n }\n\n private async _requireAllOthers() {\n for (const moduleName of this.modulesMeta.moduleNames) {\n const module = this.modulesMeta.modules[moduleName];\n const info = module.info;\n const shouldInstall = !info.capabilities?.monkey && !info.capabilities?.sync && !info.capabilities?.preload;\n if (shouldInstall) {\n await this._install(moduleName, module);\n }\n }\n }\n\n /** @internal */\n public async _install(moduleName: string, moduleRepo: IModule) {\n // check\n if (this.modules[moduleName]) {\n const module = this.modules[moduleName];\n // should check state, otherwise infinite loop\n if (module[SymbolInstalled].state) return;\n // wait\n await module[SymbolInstalled].wait();\n // scope: should after [SymbolInstalled].touch\n await this.sys.bean._getBean(`${moduleName}.scope.module` as any, false);\n return;\n }\n // state\n const module = moduleRepo;\n module[SymbolInstalled] = StateLock.create();\n // record\n this.modules[moduleName] = module;\n // install\n await this._installInner(moduleName, moduleRepo);\n // installed\n module[SymbolInstalled].touch();\n // scope: should after [SymbolInstalled].touch\n await this.sys.bean._getBean(`${moduleName}.scope.module` as any, false);\n // monkey: moduleLoaded\n await this._monkeyModule(true, 'moduleLoaded', module);\n }\n\n private async _installInner(moduleName: string, moduleRepo: IModule) {\n // load\n if (typeof moduleRepo.resource === 'function') {\n const moduleResource = moduleRepo.resource as any;\n moduleRepo.resource = await moduleResource();\n }\n // main / monkey\n if (moduleRepo.resource.MainSys) {\n this.mainInstances[moduleName] = this.sys.bean._newBeanSimple(moduleRepo.resource.MainSys, false, moduleRepo);\n }\n if (moduleRepo.resource.MonkeySys) {\n this.monkeyInstances[moduleName] = this.sys.bean._newBeanSimple(moduleRepo.resource.MonkeySys, false, moduleRepo);\n }\n // monkey: moduleLoading\n await this._monkeyModule(true, 'moduleLoading', moduleRepo);\n // register resources\n await this._registerResources(moduleRepo);\n }\n\n private async _registerResources(module: IModule) {\n this._registerLocales(module);\n this._registerErrors(module);\n this._registerConstants(module);\n await this._registerConfig(module);\n }\n\n private _registerErrors(module: IModule) {\n if (!module.resource.errors) return;\n this.sys.meta.error.errors[module.info.relativeName] = module.resource.errors;\n }\n\n private _registerLocales(module: IModule) {\n this.sys.meta.locale._registerLocales(module.info.relativeName, module.resource.locales);\n }\n\n private _registerConstants(module: IModule) {\n if (!module.resource.constants) return;\n const relativeName = module.info.relativeName;\n this.sys.constant.modules[relativeName] = deepExtend({}, module.resource.constants, this.sys.constant.modules[relativeName]);\n }\n\n private async _registerConfig(module: IModule) {\n if (!module.resource.config) return;\n // config\n const config = await module.resource.config(this.sys);\n // monkey\n await this._monkeyModule(true, 'configLoaded', module, config);\n // extend\n const relativeName = module.info.relativeName;\n this.sys.config.modules[relativeName] = deepExtend({}, config, this.sys.config.modules[relativeName]);\n this.sys.configOriginal.modules![relativeName] = config;\n }\n\n /** @internal */\n public async _monkeyModule(order: boolean, monkeyName: TypeMonkeyName, moduleTarget?: IModule, ...monkeyData: any[]) {\n // self: main\n if (moduleTarget) {\n const mainInstance = this.mainInstances[moduleTarget.info.relativeName];\n if (mainInstance && mainInstance[monkeyName]) {\n await mainInstance[monkeyName](...monkeyData);\n }\n }\n // module monkey\n await forEach(this.modulesMeta.moduleNames, order, async key => {\n const moduleMonkey: IModule = this.modulesMeta.modules[key];\n if (moduleMonkey.info.capabilities?.monkey) {\n const monkeyInstance = this.monkeyInstances[key];\n if (monkeyInstance && monkeyInstance[monkeyName]) {\n if (moduleTarget === undefined) {\n // @ts-ignore ignore\n await monkeyInstance[monkeyName](...monkeyData);\n } else {\n // @ts-ignore ignore\n await monkeyInstance[monkeyName](moduleTarget, ...monkeyData);\n }\n }\n }\n });\n // sys monkey\n const sysMonkey = this.sys.meta.sysMonkey;\n if (sysMonkey && sysMonkey[monkeyName]) {\n if (moduleTarget === undefined) {\n // @ts-ignore ignore\n await sysMonkey[monkeyName](...monkeyData);\n } else {\n // @ts-ignore ignore\n await sysMonkey[monkeyName](moduleTarget, ...monkeyData);\n }\n }\n }\n\n /** @internal */\n public _monkeyModuleSync(order: boolean, monkeyName: TypeMonkeyName, moduleTarget?: IModule, ...monkeyData: any[]) {\n // self: main\n if (moduleTarget) {\n const mainInstance = this.mainInstances[moduleTarget.info.relativeName];\n if (mainInstance && mainInstance[monkeyName]) {\n mainInstance[monkeyName](...monkeyData);\n }\n }\n // module monkey\n forEachSync(this.modulesMeta.moduleNames, order, key => {\n const moduleMonkey: IModule = this.modulesMeta.modules[key];\n if (moduleMonkey.info.capabilities?.monkey) {\n const monkeyInstance = this.monkeyInstances[key];\n if (monkeyInstance && monkeyInstance[monkeyName]) {\n if (moduleTarget === undefined) {\n // @ts-ignore ignore\n monkeyInstance[monkeyName](...monkeyData);\n } else {\n // @ts-ignore ignore\n monkeyInstance[monkeyName](moduleTarget, ...monkeyData);\n }\n }\n }\n });\n // app monkey\n const sysMonkey = this.sys.meta.sysMonkey;\n if (sysMonkey && sysMonkey[monkeyName]) {\n if (moduleTarget === undefined) {\n // @ts-ignore ignore\n sysMonkey[monkeyName](...monkeyData);\n } else {\n // @ts-ignore ignore\n sysMonkey[monkeyName](moduleTarget, ...monkeyData);\n }\n }\n }\n}\n","import type { RouteRecordRaw } from '@cabloy/vue-router';\n\nimport type { Constructable } from '../../decorator/type/constructable.ts';\nimport type { IMonkeyModuleSys, IMonkeySys } from '../../types/interface/monkey.ts';\n\nimport { BeanSimple } from '../../bean/beanSimple.ts';\nimport { AppCookie } from '../component/cookie.ts';\nimport { AppEvent } from '../component/event.ts';\nimport { SysLogger } from '../logger/logger.ts';\nimport { SysComponent } from './component.ts';\nimport { SysError } from './error.ts';\nimport { SysLocale } from './locale.ts';\nimport { SysModule } from './module.ts';\n\nexport class SysMeta extends BeanSimple {\n module: SysModule;\n component: SysComponent;\n logger: SysLogger;\n locale: SysLocale;\n error: SysError;\n event: AppEvent;\n cookie: AppCookie;\n\n /** @internal */\n public sysMonkey?: IMonkeyModuleSys & IMonkeySys;\n\n /** @internal */\n public legacyRoutes?: RouteRecordRaw[];\n\n protected __init__() {\n this.module = this.bean._newBeanSimple(SysModule, false);\n this.component = this.bean._newBeanSimple(SysComponent, false);\n this.logger = this.bean._newBeanSimple(SysLogger, false);\n this.locale = this.bean._newBeanSimple(SysLocale, false);\n this.error = this.bean._newBeanSimple(SysError, false);\n this.event = this.bean._newBeanSimple(AppEvent, false);\n this.cookie = this.bean._newBeanSimple(AppCookie, false);\n }\n\n /** @internal */\n public dispose() {\n this.event.dispose();\n this.module.dispose();\n this.component.dispose();\n this.logger.dispose();\n this.locale.dispose();\n this.error.dispose();\n this.sysMonkey = undefined;\n this.legacyRoutes = undefined;\n }\n\n /** @internal */\n public async initialize(SysMonkey?: Constructable<IMonkeyModuleSys & IMonkeySys>, legacyRoutes?: RouteRecordRaw[]) {\n if (SysMonkey) {\n this.sysMonkey = this.bean._newBeanSimple(SysMonkey, false);\n }\n this.legacyRoutes = legacyRoutes;\n }\n}\n","import type { ViteHotContext } from 'vite/types/hot.js';\n\nimport type { TypeModuleResourceConfig } from '../../types/interface/module.ts';\nimport type { PluginZovaOptions } from '../../types/interface/pluginZova.ts';\nimport type { ZovaConfigEnv } from '../../types/utils/env.ts';\nimport type { ZovaConfig } from './config.ts';\nimport type { ZovaConstant } from './constant.ts';\n\nimport { BeanContainer } from '../../bean/beanContainer.ts';\nimport { cast } from '../../types/utils/cast.ts';\nimport { zodEnhanceSys } from '../../utils/zod-enhance.ts';\nimport { configDefault } from './config.ts';\nimport { constantDefault } from './constant.ts';\nimport { SysMeta } from './meta.ts';\nimport { appResource } from './resource.ts';\nimport { setSys } from './sysFake.ts';\nimport { deepExtend, SysUtil } from './util.ts';\n\nconst SymbolSysInitializePromise = Symbol('SymbolSysInitializePromise');\nconst SymbolSysClose = Symbol('SymbolSysClose');\n\nexport class ZovaSys {\n private [SymbolSysInitializePromise]: Promise<void> | undefined;\n private [SymbolSysClose]: boolean;\n bean: BeanContainer;\n util: SysUtil;\n meta: SysMeta;\n config: ZovaConfig;\n configOriginal: Partial<ZovaConfig>;\n env: ZovaConfigEnv;\n constant: ZovaConstant;\n\n constructor() {\n // zod\n zodEnhanceSys();\n }\n\n /** @internal */\n\n public async initialize(\n { modulesMeta, locales, config, env, viteHot, SysMonkey, legacyRoutes }: PluginZovaOptions,\n envRuntime?: Partial<ZovaConfigEnv>,\n ) {\n if (!this[SymbolSysInitializePromise]) {\n this[SymbolSysInitializePromise] = this._initializeInner({ modulesMeta, locales, config, env, viteHot, SysMonkey, legacyRoutes }, envRuntime);\n }\n return this[SymbolSysInitializePromise];\n }\n\n private async _initializeInner(\n { modulesMeta, locales, config, env, viteHot, SysMonkey, legacyRoutes }: PluginZovaOptions,\n envRuntime?: Partial<ZovaConfigEnv>,\n ) {\n // maybe init again\n this[SymbolSysClose] = false;\n // init\n this.bean = BeanContainer.create(this, null!, null);\n this.util = this.bean._newBeanSimple(SysUtil, false);\n this.meta = this.bean._newBeanSimple(SysMeta, false);\n // env\n this.env = this._prepareEnv(env, envRuntime);\n // monkey\n await this.meta.initialize(SysMonkey, legacyRoutes);\n // component\n await this.meta.component.initialize();\n // locales\n await this.meta.locale.initialize(locales);\n // errors\n await this.meta.error.initialize();\n // // config\n this.config = await this._combineConfig(config);\n this.configOriginal = { modules: {} } as any;\n // constant\n this.constant = constantDefault;\n // module\n await this.meta.module.initialize(modulesMeta);\n // monkey: sysInitialize\n await this.meta.module._monkeyModule(true, 'sysInitialize');\n // monkey: sysInitialized\n await this.meta.module._monkeyModule(true, 'sysInitialized');\n // monkey: sysReady\n await this.meta.module._monkeyModule(true, 'sysReady');\n // hookClose\n this._hookClose(viteHot);\n }\n\n private _hookClose(viteHot: ViteHotContext) {\n if (process.env.DEV && viteHot) {\n const hook = _payload => {\n this.close();\n viteHot.off('vite:beforeFullReload', hook);\n };\n viteHot.on('vite:beforeFullReload', hook);\n }\n if (process.env.CLIENT && typeof window !== 'undefined') {\n const hook = () => {\n this.close();\n window.removeEventListener('beforeunload', hook);\n };\n window.addEventListener('beforeunload', hook);\n }\n }\n\n public close() {\n if (this[SymbolSysClose]) return;\n this[SymbolSysClose] = true;\n // monkey: sysClose\n this.meta.module._monkeyModuleSync(false, 'sysClose');\n // container dispose\n this.bean.dispose();\n // meta dispose\n this.meta.dispose();\n // appResource\n appResource.dispose();\n // init promise\n this[SymbolSysInitializePromise] = undefined;\n }\n\n private async _combineConfig(config: TypeModuleResourceConfig[]): Promise<ZovaConfig> {\n const _config = deepExtend({}, configDefault(this.env));\n for (const configFn of config) {\n deepExtend(_config, await configFn(this));\n }\n return _config;\n }\n\n // eslint-disable-next-line no-undef\n private _prepareEnv(env: NodeJS.ProcessEnv, envRuntime?: Partial<ZovaConfigEnv>): ZovaConfigEnv {\n const env2 = this._prepareEnv_Runtime(env, envRuntime);\n const env3 = this._prepareEnv_Client(env2 as any);\n return env3;\n }\n\n // eslint-disable-next-line no-undef\n private _prepareEnv_Runtime(env: NodeJS.ProcessEnv, envRuntime?: Partial<ZovaConfigEnv>): ZovaConfigEnv {\n return _mergeEnv(env, envRuntime);\n }\n\n // eslint-disable-next-line no-undef\n private _prepareEnv_Client(env: NodeJS.ProcessEnv): ZovaConfigEnv {\n if (process.env.SERVER || !cast(window).__INITIAL_STATE__) return env as unknown as ZovaConfigEnv;\n const ssrState = cast(window).__INITIAL_STATE__;\n return _mergeEnv(env, ssrState.envClient);\n }\n}\n\n// eslint-disable-next-line no-undef\nfunction _mergeEnv(env: NodeJS.ProcessEnv, envRuntime?: Partial<ZovaConfigEnv>): ZovaConfigEnv {\n if (!envRuntime) return env as unknown as ZovaConfigEnv;\n const env2 = { ...env };\n for (const key of Object.keys(envRuntime)) {\n if (envRuntime[key] !== undefined) {\n env2[key] = envRuntime[key];\n }\n }\n return env2 as unknown as ZovaConfigEnv;\n}\n\nexport const sys = new ZovaSys();\nsetSys(sys);\nif (process.env.CLIENT) {\n window.sys = sys;\n}\n","import type { App } from 'vue';\n\nimport type { ZovaContext } from '../core/index.ts';\n\nexport const PluginBean = {\n install(app: App) {\n app.mixin({\n created() {\n // this._ is instance, not use self.$\n const ctx: ZovaContext = this._.zova;\n if (ctx) {\n ctx.meta.component.activate();\n }\n },\n });\n },\n};\n","import type { App } from 'vue';\n\nimport { PluginFreeze } from 'vue-plugin-render-freeze';\n\nimport type { PluginZovaOptions } from './types/interface/pluginZova.ts';\n\nimport { sys } from './core/sys/sys.ts';\nimport { PluginBean } from './plugins/bean.ts';\n\nexport async function bootstrap(app: App, options: PluginZovaOptions) {\n await sys.initialize(options);\n app.use(PluginBean);\n app.use(PluginFreeze);\n}\n","import { defineComponent, onMounted, ref } from 'vue';\n\nexport const ClientOnly = defineComponent({\n name: 'ClientOnly',\n inheritAttrs: true,\n setup(_props, { slots }) {\n const isMounted = ref(false);\n onMounted(() => {\n isMounted.value = true;\n });\n return () => {\n if (isMounted.value === false) {\n return slots.placeholder?.();\n } else {\n return slots.default?.();\n }\n };\n },\n});\n","import type { BeanControllerBase } from '../../bean/beanControllerBase.ts';\n\nimport { BeanSimple } from '../../bean/beanSimple.ts';\nimport { BeanControllerIdentifier, BeanRenderIdentifier } from '../../bean/type.ts';\nimport { cast } from '../../types/utils/cast.ts';\n\nexport class CtxComponent extends BeanSimple {\n private _bean_render_original: any;\n\n activate() {\n if (this.ctx.disposed) return;\n const renderMethod = 'render';\n const self = this;\n const instance = cast(this.ctx.instance);\n this._bean_render_original = instance[renderMethod];\n instance[renderMethod] = function (this, ...args) {\n if (instance.isUnmounted) return;\n if (!self.ctx.meta.state.inited.state) {\n return self._bean_render_original.call(this, ...args);\n }\n const render = self._getRender();\n if (!render) {\n return self._bean_render_original.call(this, ...args);\n // throw new Error('render bean not found');\n }\n return render.render();\n // need not set currentRenderingInstance on server for better performance\n // if (process.env.SERVER) {\n // return withCtx(() => {\n // return render.render();\n // }, instance)();\n // } else {\n // return render.render();\n // }\n };\n instance.type.ssrRender = null;\n instance.ssrRender = null;\n }\n\n /** @internal */\n public dispose() {\n const renderMethod = 'render';\n const instance = cast(this.ctx.instance);\n instance[renderMethod] = this._bean_render_original;\n this._bean_render_original = null;\n }\n\n private _getRender(): any {\n const render = this.bean._getBeanSyncOnly<BeanControllerBase>(BeanControllerIdentifier);\n if (!render) return;\n render.__updateControllerData?.();\n if ((render as any).render) return render;\n return this.bean._getBeanSyncOnly(BeanRenderIdentifier);\n }\n}\n","import { BeanSimple } from '../../bean/beanSimple.ts';\n\nexport type ZovaHookType = 'created' | 'mounted';\n\nexport const SymbolHooksFns = Symbol('SymbolHooksFns');\nexport const SymbolHooksState = Symbol('SymbolHooksState');\n\nexport class CtxHooks extends BeanSimple {\n private [SymbolHooksFns]: Record<ZovaHookType, Array<any> | undefined> = {} as any;\n private [SymbolHooksState]: Record<ZovaHookType, boolean> = {} as any;\n\n /** @internal */\n public dispose() {\n this[SymbolHooksFns] = undefined as any;\n }\n\n onCreated(fn: any) {\n this._onHook('created', fn);\n }\n\n onMounted(fn: any) {\n this._onHook('mounted', fn);\n }\n\n private _onHook(type: ZovaHookType, fn: any) {\n if (this[SymbolHooksState][type]) {\n this.ctx.util.instanceScope(fn);\n } else {\n if (!this[SymbolHooksFns][type]) {\n this[SymbolHooksFns][type] = [];\n }\n this[SymbolHooksFns][type].push(fn);\n }\n }\n\n /** @internal */\n public async invokeHook(type: ZovaHookType) {\n this[SymbolHooksState][type] = true;\n const fns = this[SymbolHooksFns][type];\n if (!fns) return;\n this[SymbolHooksFns][type] = undefined;\n for (const fn of fns) {\n await this.ctx.util.instanceScope(fn);\n }\n }\n}\n","import { BeanSimple } from '../../bean/beanSimple.ts';\nimport { StateLock } from '../../utils/stateLock.ts';\n\nlet __id: number = 0;\n\nexport class CtxState extends BeanSimple {\n private _id: number;\n private _inited: StateLock;\n\n protected __init__() {\n this._id = ++__id;\n this._inited = StateLock.create();\n }\n\n get id() {\n return this._id;\n }\n\n get inited() {\n return this._inited;\n }\n}\n","import type { RendererNode } from 'vue';\n\nimport { BeanSimple } from '../../bean/beanSimple.ts';\nimport { CtxComponent } from './component.ts';\nimport { CtxHooks } from './hooks.ts';\nimport { CtxState } from './state.ts';\n\nexport class CtxMeta extends BeanSimple {\n state: CtxState;\n component: CtxComponent;\n hooks: CtxHooks;\n\n get el(): RendererNode {\n return this.ctx.instance.vnode.el!;\n }\n\n /** @internal */\n public initialize() {\n this.state = this.bean._newBeanSimple(CtxState, true);\n this.component = this.bean._newBeanSimple(CtxComponent, false);\n this.hooks = this.bean._newBeanSimple(CtxHooks, false);\n }\n\n /** @internal */\n public dispose() {\n this.component.dispose();\n this.hooks.dispose();\n }\n}\n","import { setCurrentInstance } from '@cabloy/vue-runtime-core';\nimport { pauseTracking, resetTracking } from '@vue/reactivity';\n\nimport { BeanSimple } from '../../bean/beanSimple.ts';\n\nexport class CtxUtil extends BeanSimple {\n instanceScope(fn, tracking?: boolean) {\n if (this.ctx.disposed) {\n const error = new Error();\n error.code = 600;\n throw error;\n }\n const reset = setCurrentInstance(this.ctx.instance as any);\n if (!tracking) {\n pauseTracking();\n }\n try {\n return fn();\n } finally {\n if (!tracking) {\n resetTracking();\n }\n reset();\n }\n }\n}\n","import type { ComponentInternalInstance } from 'vue';\n\nimport { markRaw, nextTick } from 'vue';\n\nimport type { ZovaApplication } from '../app/application.ts';\n\nimport { BeanContainer } from '../../bean/beanContainer.ts';\nimport { cast } from '../../types/utils/cast.ts';\nimport { sys } from '../sys/sys.ts';\nimport { CtxMeta } from './meta.ts';\nimport { CtxUtil } from './util.ts';\n\nexport class ZovaContext {\n instance: ComponentInternalInstance;\n app: ZovaApplication;\n bean: BeanContainer;\n util: CtxUtil;\n meta: CtxMeta;\n disposed: boolean;\n // config: ContextConfig;\n\n constructor(instance: ComponentInternalInstance) {\n markRaw(this);\n instance.zova = this;\n this.instance = instance;\n this.app = instance.appContext.app.zova;\n this.bean = BeanContainer.create(sys, this.app, this);\n this.util = this.bean._newBeanSimple(CtxUtil, false);\n this.meta = this.bean._newBeanSimple(CtxMeta, false);\n this.meta.initialize();\n this._zovaHostProvidersInit();\n }\n\n /** @internal */\n public dispose() {\n if (this.disposed) return;\n this.meta.dispose();\n cast(this.instance).zova = null;\n cast(this).instance = null;\n cast(this).app = null;\n cast(this).bean = null;\n cast(this).meta = null;\n this.disposed = true;\n }\n\n private _zovaHostProvidersInit() {\n let zovaHostProviders = cast(this.instance).zovaHostProviders;\n if (!zovaHostProviders) {\n if (this.instance.parent?.type.name === 'AsyncComponentWrapper') {\n zovaHostProviders = cast(this.instance.parent).zovaHostProviders;\n }\n }\n this._zovaHostProvidersUpdate_inner(zovaHostProviders);\n }\n\n protected _zovaHostProvidersUpdate(zovaHostProviders?: any) {\n if (process.env.SERVER) throw new Error('should not update zovaHostProviders in server');\n nextTick(() => {\n this._zovaHostProvidersUpdate_inner(zovaHostProviders);\n });\n }\n\n private _zovaHostProvidersUpdate_inner(zovaHostProviders?: any) {\n if (!this.bean || !zovaHostProviders) return;\n for (const key in zovaHostProviders) {\n const beanInstance = this.bean._getBeanSyncOnly(key);\n if (beanInstance !== zovaHostProviders[key]) {\n this.bean._setBean(key, zovaHostProviders[key]);\n }\n }\n }\n}\n\ndeclare module 'vue' {\n export interface ComponentInternalInstance {\n zova: ZovaContext;\n }\n}\n","import { getCurrentInstance, onBeforeUnmount, onServerPrefetch, onUnmounted, queuePostFlushCb, useSlots } from 'vue';\n\nimport type { IBeanRecord, IControllerData } from '../bean/type.ts';\nimport type { Constructable } from '../decorator/index.ts';\n\nimport { BeanControllerIdentifier, BeanRenderIdentifier, BeanStyleIdentifier, SymbolControllerRefDisable } from '../bean/type.ts';\nimport { ZovaContext } from '../core/context/index.ts';\nimport { sys } from '../core/sys/sys.ts';\n\nexport function useControllerPage<M, R, S>(\n controllerBeanFullName: Constructable<M>,\n renderBeanFullName?: Constructable<R>,\n styleBeanFullName?: Constructable<S>,\n);\nexport function useControllerPage<MK extends keyof IBeanRecord, RK extends keyof IBeanRecord, SK extends keyof IBeanRecord>(\n controllerBeanFullName: MK,\n renderBeanFullName?: RK,\n styleBeanFullName?: SK,\n);\n// not use type string for typed params\n// export function useControllerPage(controllerBeanFullName: string, renderBeanFullName?: string, styleBeanFullName?: string);\nexport function useControllerPage(\n controllerBeanFullName: Constructable | string,\n renderBeanFullName?: Constructable | string,\n styleBeanFullName?: Constructable | string,\n) {\n // controllerData\n const controllerData = { context: {} };\n // use controller\n _useController(controllerData, controllerBeanFullName, renderBeanFullName, styleBeanFullName);\n}\n\nexport function useController<M, R, S>(\n controllerBeanFullName: Constructable<M>,\n renderBeanFullName?: Constructable<R>,\n styleBeanFullName?: Constructable<S>,\n);\nexport function useController<MK extends keyof IBeanRecord, RK extends keyof IBeanRecord, SK extends keyof IBeanRecord>(\n controllerBeanFullName: MK,\n renderBeanFullName?: RK,\n styleBeanFullName?: SK,\n);\n// not use type string for typed params\n// export function useController(\n// props: unknown | undefined,\n// emit: unknown | undefined,\n// controllerBeanFullName: string,\n// renderBeanFullName?: string,\n// styleBeanFullName?: string,\n// );\nexport function useController(\n controllerBeanFullName: Constructable | string,\n renderBeanFullName?: Constructable | string,\n styleBeanFullName?: Constructable | string,\n) {\n // slots\n const slots = useSlots();\n // controllerData\n const controllerData = { context: { slots } };\n // use controller\n _useController(controllerData, controllerBeanFullName, renderBeanFullName, styleBeanFullName);\n}\n\nasync function _useController(\n controllerData: IControllerData,\n controllerBeanFullName: Constructable | string,\n renderBeanFullName?: Constructable | string,\n styleBeanFullName?: Constructable | string,\n) {\n // ctx\n const ctx = new ZovaContext(getCurrentInstance()!);\n // ctx: monkey\n if (ctx.app) {\n ctx.app.meta.module._monkeyModuleSync(true, 'appContextInitialize', undefined, ctx);\n } else {\n sys.meta.module._monkeyModuleSync(true, 'sysContextInitialize', undefined, ctx);\n }\n // monkey\n if (ctx.app) {\n ctx.app.meta.module._monkeyModuleSync(true, 'controllerDataPrepare', undefined, controllerData, ctx);\n }\n if (process.env.CLIENT) {\n // dispose\n onBeforeUnmount(() => {\n if (ctx.disposed) return;\n // undefined better than null\n setControllerRef(ctx, false);\n if (ctx.bean !== ctx.app.bean) {\n ctx.bean.dispose();\n }\n });\n onUnmounted(() => {\n ctx.dispose();\n });\n }\n\n async function __load() {\n // controller\n if (ctx.disposed) return;\n await ctx.bean._newBeanInner(true, BeanControllerIdentifier, controllerData, undefined, controllerBeanFullName, true, false);\n if (styleBeanFullName) {\n if (ctx.disposed) return;\n await ctx.bean._newBeanInner(true, BeanStyleIdentifier, undefined, undefined, styleBeanFullName, true, false);\n }\n if (renderBeanFullName) {\n if (ctx.disposed) return;\n await ctx.bean._newBeanInner(true, BeanRenderIdentifier, undefined, undefined, renderBeanFullName, true, false);\n }\n // must touch inited on server/client, force router.use effect\n if (ctx.disposed) return;\n ctx.meta.state.inited.touch();\n if (process.env.CLIENT) {\n ctx.util.instanceScope(() => {\n queuePostFlushCb(() => {\n setControllerRef(ctx, true);\n ctx.meta.hooks.invokeHook('mounted');\n });\n });\n }\n }\n\n // load\n ctx.meta.hooks.onCreated(async () => {\n if (ctx.disposed) return;\n try {\n return await __load();\n } catch (err) {\n if (ctx.disposed) return;\n throw err;\n }\n });\n if (process.env.SERVER) {\n onServerPrefetch(() => {\n return ctx.meta.hooks.invokeHook('created');\n });\n } else {\n // not await, same as onServerPrefetch\n ctx.meta.hooks.invokeHook('created');\n }\n}\n\nfunction setControllerRef(ctx: ZovaContext, on: boolean) {\n const controller = ctx.bean?._getBeanSyncOnly(BeanControllerIdentifier) as any;\n if (!controller || controller[SymbolControllerRefDisable]) return;\n // instanceScope useless for emit, because emiter and receiver not the same instance\n const controllerRef = controller.ctx.instance.vnode.props?.controllerRef;\n if (controllerRef) {\n controllerRef(on ? controller : undefined);\n }\n}\n","import { defineComponent } from 'vue';\n\nimport type { IComponentOptions } from '../bean/type.ts';\nimport type { Constructable } from '../decorator/type/constructable.ts';\n\nimport { useControllerPage } from '../composables/useController.ts';\n\nexport function createZovaComponentPage<M, R, S>(controller: Constructable<M>, render?: Constructable<R>, style?: Constructable<S>) {\n return defineComponent(() => {\n useControllerPage(controller, render, style);\n return () => {};\n });\n}\n\nexport function prepareComponentOptions(componentOptions?: IComponentOptions) {\n return Object.assign({ inheritAttrs: 'auto' }, componentOptions);\n}\n","import { getCurrentInstance } from 'vue';\n\nimport type { ZovaApplication } from '../core/index.ts';\n\nexport function useApp(): ZovaApplication {\n const instance = getCurrentInstance();\n return instance?.appContext.app.zova as ZovaApplication;\n}\n","import type { Component, ComponentCustomOptions } from 'vue';\n\nimport type { TypeModuleResourceComponents } from '../../types/interface/module.ts';\n\nimport { BeanSimple } from '../../bean/beanSimple.ts';\n\nexport class AppComponent extends BeanSimple {\n /** @internal */\n public async initialize() {}\n\n /** @internal */\n public _registerComponents(_moduleName: string, components: TypeModuleResourceComponents) {\n if (!components) return;\n for (const key in components) {\n const component = components[key];\n this._setComponentGlobal(component);\n }\n }\n\n private _setComponentGlobal(component: Component) {\n // register\n const options = component as ComponentCustomOptions;\n if (component.name && options.meta?.global === true) {\n if (!this.app.vue.component(component.name)) {\n this.app.vue.component(component.name, component);\n }\n }\n return component;\n }\n}\n","import type { ComponentPublicInstance } from 'vue';\n\nimport type { IErrorObject } from '../../bean/resource/error/errorObject.ts';\nimport type { IErrorInstanceInfo, IModuleError } from '../../bean/resource/error/type.ts';\n\nimport { ErrorClass } from '../../bean/resource/error/errorClass.ts';\nimport { SymbolErrorInstanceInfo } from '../../bean/resource/error/type.ts';\n\nexport class AppError extends ErrorClass {\n /** @internal */\n public async initialize() {\n await super.initialize();\n // errorHandler\n this.app.vue.config.errorHandler = (err, instance, info) => {\n return this._handleError(err as Error, instance, info);\n };\n // unhandledrejection\n if (process.env.CLIENT) {\n window.addEventListener('unhandledrejection', (event: PromiseRejectionEvent) => {\n event.preventDefault();\n this._handleUnhandledError(event.reason, 'unhandledrejection');\n return false;\n });\n window.addEventListener('error', (event: ErrorEvent) => {\n event.preventDefault();\n this._handleUnhandledError(event.error, 'unhandlederror');\n return false;\n });\n }\n }\n\n /** @internal */\n public createScopeError(moduleScope: string, errorCode: number | string): IModuleError {\n const self = this;\n return {\n throw: (...args: any[]): never => {\n return self.throw(moduleScope, errorCode, ...args);\n },\n parseFail: (...args: any[]): IErrorObject => {\n return self.parseFail(moduleScope, errorCode, ...args);\n },\n };\n }\n\n private _handleUnhandledError(error: Error, infoDefault: string) {\n if (error instanceof Error) {\n const errorInfo: IErrorInstanceInfo | undefined = error[SymbolErrorInstanceInfo];\n if (errorInfo) {\n delete error[SymbolErrorInstanceInfo];\n }\n // should not catch error\n this.app.vue.config.errorHandler!(error, errorInfo?.instance as any, errorInfo?.info || infoDefault) as unknown as Error;\n }\n }\n\n private _handleError(err: Error, instance: ComponentPublicInstance | null | undefined, info: string | undefined) {\n if (!this.app) {\n // means destroyed\n console.error(err);\n return;\n }\n const err2 = this.app.meta.event.emitSync('app:errorHandler', { err: err as Error, instance, info }, data => {\n return data.err;\n });\n // only log error in client\n if (process.env.CLIENT) {\n if (!err2 || !(err2 instanceof Error)) return err2;\n if (!info || !['useMutationData'].includes(info)) {\n console.error(err2);\n }\n }\n return err2;\n }\n}\n","import type { IModule, IModuleInfo } from '@cabloy/module-info';\n\nimport * as ModuleInfo from '@cabloy/module-info';\nimport { forEach, forEachSync } from '@cabloy/utils';\nimport { shallowReactive } from 'vue';\n\nimport type { TypeBeanScopeRecordKeys } from '../../bean/type.ts';\nimport type { IModuleApp, IModuleMain, IMonkeyApp, IMonkeyController, IMonkeyModule, TypeMonkeyName } from '../../types/index.ts';\n\nimport { BeanSimple } from '../../bean/beanSimple.ts';\nimport { SymbolInstalled } from '../../types/index.ts';\nimport { StateLock } from '../../utils/stateLock.ts';\n\nexport class AppModule extends BeanSimple {\n private modules: Record<string, IModuleApp> = shallowReactive({});\n private mainInstances: Record<string, IModuleMain> = {};\n private monkeyInstances: Record<string, IMonkeyModule & IMonkeyApp & IMonkeyController> = {};\n\n /** @internal */\n public async initialize() {\n await this._requireAllSpecifics('preload');\n await this._requireAllSpecifics('monkey');\n await this._requireAllSpecifics('sync');\n }\n\n get<K extends TypeBeanScopeRecordKeys>(moduleName: K, forceLoad?: boolean): IModule | undefined;\n get(moduleName: string, forceLoad?: boolean): IModule | undefined;\n get(moduleName: IModuleInfo, forceLoad?: boolean): IModule | undefined;\n get(moduleName: string | IModuleInfo, forceLoad?: boolean): IModule | undefined {\n // module info\n if (!moduleName) return undefined;\n const moduleInfo = typeof moduleName === 'string' ? ModuleInfo.parseInfo(moduleName) : moduleName;\n if (!moduleInfo) throw new Error(`invalid module name: ${moduleName}`);\n // get\n const module = this.modules[moduleInfo.relativeName];\n if (!module) {\n // module not loaded, so async use to raise the next call\n if (forceLoad !== false) {\n this.use(moduleInfo.relativeName);\n }\n return undefined;\n }\n if (!module[SymbolInstalled] || !module[SymbolInstalled].state) {\n return undefined;\n }\n return this.sys.meta.module.get(moduleName as any);\n }\n\n async use<K extends TypeBeanScopeRecordKeys>(moduleName: K): Promise<IModule>;\n async use(moduleName: string): Promise<IModule>;\n async use(moduleName: IModuleInfo): Promise<IModule>;\n async use(moduleName?: string | IModuleInfo): Promise<IModule> {\n // module info\n if (!moduleName) throw new Error('should specify the module name');\n const moduleInfo = typeof moduleName === 'string' ? ModuleInfo.parseInfo(moduleName) : moduleName;\n if (!moduleInfo) throw new Error(`invalid module name: ${moduleName}`);\n const relativeName = moduleInfo.relativeName;\n // should not try check get directly\n // const module = this.getOnly(relativeName);\n // if (module) return module;\n // module\n const moduleRepo = this.sys.meta.module.modulesMeta.modules[relativeName];\n if (!moduleRepo) throw new Error(`module not exists: ${relativeName}`);\n // install\n await this._install(relativeName, moduleRepo);\n // ok\n return moduleRepo;\n }\n\n exists<K extends TypeBeanScopeRecordKeys>(moduleName: K): boolean;\n exists(moduleName: string): boolean;\n exists(moduleName: IModuleInfo): boolean;\n exists(moduleName: string | IModuleInfo): boolean {\n return this.sys.meta.module.exists(moduleName as any);\n }\n\n private async _requireAllSpecifics(capabilityName: 'preload' | 'monkey' | 'sync') {\n const moduleNames = this.sys.meta.module.modulesMeta.moduleNames.filter(moduleName => {\n const module = this.sys.meta.module.modulesMeta.modules[moduleName];\n return module.info.capabilities?.[capabilityName];\n });\n // if (moduleNames.length > 0) {\n // this.sys.meta.logger.child('module', 'default').debug(`app modules: ${capabilityName}: ${moduleNames.join(',')}`);\n // }\n for (const moduleName of moduleNames) {\n const module = this.sys.meta.module.modulesMeta.modules[moduleName];\n await this._install(moduleName, module);\n }\n }\n\n private async _install(moduleName: string, moduleRepo: IModule) {\n // sys first\n await this.sys.meta.module._install(moduleName, moduleRepo);\n // check\n if (this.modules[moduleName]) {\n const module = this.modules[moduleName];\n // should check state, otherwise infinite loop\n if (module[SymbolInstalled].state) return;\n // wait\n await module[SymbolInstalled].wait();\n // scope: should after [SymbolInstalled].touch\n await this.app.bean._getBean(`${moduleName}.scope.module` as any, false);\n return;\n }\n // clone for ssr\n const module: IModuleApp = {\n [SymbolInstalled]: StateLock.create(),\n };\n // record\n this.modules[moduleName] = module;\n // install\n await this._installInner(moduleName, moduleRepo);\n // installed\n module[SymbolInstalled].touch();\n // scope: should after [SymbolInstalled].touch\n await this.app.bean._getBean(`${moduleName}.scope.module` as any, false);\n // monkey: moduleLoaded\n await this._monkeyModule(true, 'moduleLoaded', moduleRepo);\n }\n\n private async _installInner(moduleName: string, moduleRepo: IModule) {\n // main / monkey\n if (moduleRepo.resource.Main) {\n this.mainInstances[moduleName] = this.app.bean._newBeanSimple(moduleRepo.resource.Main, false, moduleRepo);\n }\n if (moduleRepo.resource.Monkey) {\n this.monkeyInstances[moduleName] = this.app.bean._newBeanSimple(moduleRepo.resource.Monkey, false, moduleRepo);\n }\n // monkey: moduleLoading\n await this._monkeyModule(true, 'moduleLoading', moduleRepo);\n // register resources\n await this._registerResources(moduleRepo);\n }\n\n private async _registerResources(module: IModule) {\n this._registerComponents(module);\n }\n\n private _registerComponents(module: IModule) {\n this.app.meta.component._registerComponents(module.info.relativeName, module.resource.components);\n }\n\n /** @internal */\n public async _monkeyModule(order: boolean, monkeyName: TypeMonkeyName, moduleTarget?: IModule, ...monkeyData: any[]) {\n // self: main\n if (moduleTarget) {\n const mainInstance = this.mainInstances[moduleTarget.info.relativeName];\n if (mainInstance && mainInstance[monkeyName]) {\n // @ts-ignore ignore\n await this.app.vue.runWithContext(async () => {\n await mainInstance[monkeyName](...monkeyData);\n });\n }\n }\n // module monkey\n await forEach(this.sys.meta.module.modulesMeta.moduleNames, order, async key => {\n const moduleMonkey: IModule = this.sys.meta.module.modulesMeta.modules[key];\n if (moduleMonkey.info.capabilities?.monkey) {\n const monkeyInstance = this.monkeyInstances[key];\n if (monkeyInstance && monkeyInstance[monkeyName]) {\n await this.app.vue.runWithContext(async () => {\n if (moduleTarget === undefined) {\n // @ts-ignore ignore\n await monkeyInstance[monkeyName](...monkeyData);\n } else {\n // @ts-ignore ignore\n await monkeyInstance[monkeyName](moduleTarget, ...monkeyData);\n }\n });\n }\n }\n });\n // app monkey\n const appMonkey = this.app.meta.appMonkey;\n if (appMonkey && appMonkey[monkeyName]) {\n await this.app.vue.runWithContext(async () => {\n if (moduleTarget === undefined) {\n // @ts-ignore ignore\n await appMonkey[monkeyName](...monkeyData);\n } else {\n // @ts-ignore ignore\n await appMonkey[monkeyName](moduleTarget, ...monkeyData);\n }\n });\n }\n }\n\n /** @internal */\n public _monkeyModuleSync(order: boolean, monkeyName: TypeMonkeyName, moduleTarget?: IModule, ...monkeyData: any[]) {\n // self: main\n if (moduleTarget) {\n const mainInstance = this.mainInstances[moduleTarget.info.relativeName];\n if (mainInstance && mainInstance[monkeyName]) {\n // @ts-ignore ignore\n this.app.vue.runWithContext(async () => {\n mainInstance[monkeyName](...monkeyData);\n });\n }\n }\n // module monkey\n forEachSync(this.sys.meta.module.modulesMeta.moduleNames, order, key => {\n const moduleMonkey: IModule = this.sys.meta.module.modulesMeta.modules[key];\n if (moduleMonkey.info.capabilities?.monkey) {\n const monkeyInstance = this.monkeyInstances[key];\n if (monkeyInstance && monkeyInstance[monkeyName]) {\n this.app.vue.runWithContext(async () => {\n if (moduleTarget === undefined) {\n // @ts-ignore ignore\n monkeyInstance[monkeyName](...monkeyData);\n } else {\n // @ts-ignore ignore\n monkeyInstance[monkeyName](moduleTarget, ...monkeyData);\n }\n });\n }\n }\n });\n // app monkey\n const appMonkey = this.app.meta.appMonkey;\n if (appMonkey && appMonkey[monkeyName]) {\n this.app.vue.runWithContext(async () => {\n if (moduleTarget === undefined) {\n // @ts-ignore ignore\n appMonkey[monkeyName](...monkeyData);\n } else {\n // @ts-ignore ignore\n appMonkey[monkeyName](moduleTarget, ...monkeyData);\n }\n });\n }\n }\n}\n","import type { IModuleLocaleText } from '../../bean/resource/locale/type.ts';\nimport type { Constructable } from '../../decorator/type/constructable.ts';\nimport type { IMonkeyApp, IMonkeyController, IMonkeyModule } from '../../types/interface/monkey.ts';\n\nimport { BeanSimple } from '../../bean/beanSimple.ts';\nimport { AppComponent } from '../component/component.ts';\nimport { AppCookie } from '../component/cookie.ts';\nimport { AppError } from '../component/error.ts';\nimport { AppEvent } from '../component/event.ts';\nimport { AppLocale } from '../component/locale.ts';\nimport { AppModule } from '../component/module.ts';\n\nexport class AppMeta extends BeanSimple {\n module: AppModule;\n component: AppComponent;\n locale: AppLocale;\n error: AppError;\n event: AppEvent;\n cookie: AppCookie;\n text: IModuleLocaleText;\n\n /** @internal */\n public appMonkey?: IMonkeyModule & IMonkeyApp & IMonkeyController;\n\n protected __init__() {\n this.module = this.app.bean._newBeanSimple(AppModule, false);\n this.component = this.app.bean._newBeanSimple(AppComponent, false);\n this.locale = this.app.bean._newBeanSimple(AppLocale, false);\n this.error = this.app.bean._newBeanSimple(AppError, false);\n this.event = this.app.bean._newBeanSimple(AppEvent, false);\n this.cookie = this.app.bean._newBeanSimple(AppCookie, false);\n this.text = this.locale.createLocaleText();\n }\n\n /** @internal */\n public async initialize(AppMonkey?: Constructable<IMonkeyModule & IMonkeyApp & IMonkeyController>) {\n if (AppMonkey) {\n this.appMonkey = this.bean._newBeanSimple(AppMonkey, false);\n }\n }\n}\n","import type { ZodLocaleErrors } from '../../utils/zod-enhance.ts';\n\nimport { BeanSimple } from '../../bean/beanSimple.ts';\nimport { zodSetLocaleErrors } from '../../utils/zod-enhance.ts';\n\nexport class AppUtil extends BeanSimple {\n setLocaleErrors(localeErrors: ZodLocaleErrors, localeDefault?: string) {\n return zodSetLocaleErrors(this.app, localeErrors, localeDefault);\n }\n}\n","import type { App } from 'vue';\n\nimport { markRaw } from 'vue';\n\nimport type { BeanContainer } from '../../bean/beanContainer.ts';\nimport type { TypeErrorsInternal } from '../../bean/resource/error/errorInternal.ts';\nimport type { PluginZovaOptions } from '../../types/interface/pluginZova.ts';\nimport type { ZovaContext } from '../context/context.ts';\n\nimport { cast } from '../../types/utils/cast.ts';\nimport { zodEnhance } from '../../utils/zod-enhance.ts';\nimport { sys } from '../sys/sys.ts';\nimport { AppMeta } from './meta.ts';\nimport { AppUtil } from './util.ts';\n\nconst SymbolAppClose = Symbol('SymbolAppClose');\n\nexport class ZovaApplication {\n private _reloadDelayTimer: number = 0;\n private [SymbolAppClose]: boolean;\n vue: App;\n bean: BeanContainer;\n util: AppUtil;\n meta: AppMeta;\n ctx: ZovaContext;\n\n constructor(vue: App, ctxRoot: ZovaContext) {\n markRaw(this);\n vue.zova = this;\n this.vue = vue;\n this.ctx = ctxRoot;\n this.bean = ctxRoot.bean;\n cast(this.bean).app = this;\n ctxRoot.app = this;\n this.util = this.bean._newBeanSimple(AppUtil, false);\n this.meta = this.bean._newBeanSimple(AppMeta, false);\n cast(ctxRoot.instance.appContext).reload = () => {\n this.reloadDelay();\n };\n // only support client\n if (process.env.CLIENT) {\n // zod\n zodEnhance(this);\n }\n }\n\n /** @internal */\n public async initialize({ AppMonkey }: PluginZovaOptions) {\n // monkey\n sys.meta.module._monkeyModuleSync(true, 'sysApplicationInitialize', undefined, this);\n // meta\n await this.meta.initialize(AppMonkey);\n // component\n await this.meta.component.initialize();\n // locales\n await this.meta.locale.initialize();\n // errors\n await this.meta.error.initialize();\n // module\n await this.meta.module.initialize();\n // monkey: appInitialize\n await this.meta.module._monkeyModule(true, 'appInitialize');\n // monkey: appInitialized\n await this.meta.module._monkeyModule(true, 'appInitialized');\n // monkey: appReady\n await this.meta.module._monkeyModule(true, 'appReady');\n }\n\n public get sys() {\n return sys;\n }\n\n public reload() {\n window.location.reload();\n }\n\n public reloadDelay(cancel?: boolean) {\n if (cancel) {\n if (this._reloadDelayTimer !== 0) {\n window.clearTimeout(this._reloadDelayTimer);\n this._reloadDelayTimer = 0;\n }\n } else {\n this.reloadDelay(true);\n this._reloadDelayTimer = window.setTimeout(() => {\n this.reload();\n }, 100);\n }\n }\n\n public throw(code: keyof TypeErrorsInternal | number, ...args: any[]): never {\n return this.meta.error.throw(undefined, code, ...args);\n }\n\n public close() {\n if (this[SymbolAppClose]) return;\n this[SymbolAppClose] = true;\n // monkey: appClose\n this.meta.module._monkeyModuleSync(false, 'appClose');\n // container dispose\n this.bean.dispose();\n this.ctx.dispose();\n }\n}\n\ndeclare module 'vue' {\n export interface App {\n zova: ZovaApplication;\n }\n}\n","import type { IBeanScopeLocale, PowerPartial } from '../../index.ts';\n\nexport const localeDefault = {\n modules: {},\n};\n\nexport type ZovaLocale = {\n modules: IBeanScopeLocale;\n} & typeof localeDefault;\n\nexport type ZovaLocaleOptional = PowerPartial<ZovaLocale>;\nexport type ZovaLocaleOptionalMap = Record<string, ZovaLocaleOptional>;\n","import { colorize, format, NpmConfigSetLevels, print } from '@cabloy/logger';\nimport { isEmptyObject } from '@cabloy/utils';\n\nconst SymbolLoggerMessage = Symbol('SymbolLoggerMessage');\n\nexport const formatLoggerFilter = format((info, opts: any) => {\n const level = typeof opts.level === 'function' ? opts.level() : opts.level;\n if (!level) return false;\n if (opts.strict) {\n if (NpmConfigSetLevels[info.level as string] === NpmConfigSetLevels[level]) return __formatLoggerFilterCheckInfo(info);\n return false;\n }\n if (NpmConfigSetLevels[info.level as string] <= NpmConfigSetLevels[level] || (opts.silly && info.level === 'silly'))\n return __formatLoggerFilterCheckInfo(info);\n return false;\n});\n\nexport const formatLoggerConsole = () => {\n return print(({ timestamp, level, stack, message, name, beanFullName, durationMs, ...meta }) => {\n const textName = name ? ` ${colorize('verbose', `[${name}]`)}` : '';\n const textBeanFullName = beanFullName ? ` ${colorize('tip', `[${beanFullName}]`)}` : '';\n const textMessage = ` ${message}`;\n const textDurationMs = durationMs !== undefined ? ` ${colorize('verbose', `+${durationMs}ms`)}` : '';\n const textStack = stack ? `\\n${stack}` : '';\n const result: any[] = [`${timestamp} ${level}${textName}${textBeanFullName}${textMessage}${textDurationMs}${textStack}`];\n if (!isEmptyObject(meta)) {\n const meta2 = {};\n for (const key in meta) {\n meta2[key] = meta[key];\n }\n result.push(meta2);\n }\n return result;\n });\n};\n\nfunction __formatLoggerFilterCheckInfo(info) {\n if (typeof info.message === 'function') {\n if (info.message[SymbolLoggerMessage] === undefined) {\n info.message[SymbolLoggerMessage] = info.message();\n }\n info.message = info.message[SymbolLoggerMessage];\n }\n return info;\n}\n","import type { Constructable } from '../decorator/type/constructable.ts';\n\nimport { copyMetadataOfClasses, copyPropertiesOfClasses } from './utils.ts';\n\ntype UnionToIntersection<U> = (U extends any ? (k: U) => void : never) extends (k: infer I) => void ? I : never;\n\ntype ClassRefsToConstructors<T extends Constructable[]> = {\n [U in keyof T]: T[U] extends Constructable<infer V> ? V : never;\n};\n\ntype Intersection<T extends Constructable[]> = Constructable<UnionToIntersection<ClassRefsToConstructors<T>[number]>>;\n\nexport function MixinClass<T extends Constructable[]>(...classRefs: T): Intersection<T> {\n abstract class TargetClass {}\n copyMetadataOfClasses(\n TargetClass.prototype,\n classRefs.map(item => item.prototype),\n );\n copyPropertiesOfClasses(TargetClass as any, classRefs);\n return TargetClass as any;\n}\n","import type { Constructable } from '../decorator/type/constructable.ts';\n\nimport { copyMetadataOfClasses, copyPropertiesOfClasses } from './utils.ts';\n\nexport function OmitClass<T, K extends keyof T>(classRef: Constructable<T>, keys: K[]): Constructable<Omit<T, (typeof keys)[number]>> {\n abstract class TargetClass {}\n copyMetadataOfClasses(TargetClass.prototype, [classRef.prototype], (rules, key) => {\n if (!keys.includes(key)) {\n return rules[key];\n }\n });\n copyPropertiesOfClasses(TargetClass as any, [classRef], key => {\n return !keys.includes(key);\n });\n return TargetClass as any;\n}\n","import type { Constructable } from '../decorator/type/constructable.ts';\n\nimport { copyMetadataOfClasses, copyPropertiesOfClasses } from './utils.ts';\n\nexport function PartialClass<T>(classRef: Constructable<T>): Constructable<Partial<T>>;\nexport function PartialClass<T, K extends keyof T>(\n classRef: Constructable<T>,\n keys: K[],\n): Constructable<Partial<Pick<T, (typeof keys)[number]>> & Omit<T, (typeof keys)[number]>>;\nexport function PartialClass<T, K extends keyof T>(classRef: Constructable<T>, keys?: K[]): any {\n abstract class TargetClass {}\n copyMetadataOfClasses(TargetClass.prototype, [classRef.prototype], (rules, key, metadataKeyOptions) => {\n if (keys && !keys.includes(key)) return rules[key];\n if (metadataKeyOptions?.partialClass) {\n return metadataKeyOptions?.partialClass(rules[key]);\n }\n return rules[key];\n });\n copyPropertiesOfClasses(TargetClass as any, [classRef]);\n return TargetClass as any;\n}\n","import type { Constructable } from '../decorator/type/constructable.ts';\n\nimport { copyMetadataOfClasses, copyPropertiesOfClasses } from './utils.ts';\n\nexport function PickClass<T, K extends keyof T>(classRef: Constructable<T>, keys: K[]): Constructable<Pick<T, (typeof keys)[number]>> {\n abstract class TargetClass {}\n copyMetadataOfClasses(TargetClass.prototype, [classRef.prototype], (rules, key) => {\n if (keys.includes(key)) {\n return rules[key];\n }\n });\n copyPropertiesOfClasses(TargetClass as any, [classRef], key => {\n return keys.includes(key);\n });\n return TargetClass as any;\n}\n","import type { App } from 'vue';\n\nimport type { ZovaContext } from '../core/index.ts';\nimport type { PluginZovaOptions } from '../types/interface/pluginZova.ts';\n\nimport { SymbolBeanContainerInstances } from '../bean/beanContainer.ts';\nimport { BeanControllerIdentifier, BeanRenderIdentifier, BeanStyleIdentifier } from '../bean/type.ts';\nimport { ZovaApplication } from '../core/index.ts';\nimport { cast } from '../types/index.ts';\n\nexport const PluginZova = {\n async install(\n vue: App,\n ctxRoot: ZovaContext,\n { modulesMeta, locales, config, env, viteHot, SysMonkey, AppMonkey, legacyRoutes }: PluginZovaOptions,\n ) {\n // zova app\n const app = new ZovaApplication(vue, ctxRoot);\n await app.initialize({ modulesMeta, locales, config, env, viteHot, SysMonkey, AppMonkey, legacyRoutes });\n return app;\n },\n async update(app: ZovaApplication, ctxRoot: ZovaContext) {\n const bean = cast(app.bean);\n bean.ctx = ctxRoot;\n for (const key in bean[SymbolBeanContainerInstances]) {\n bean[SymbolBeanContainerInstances][key].ctx = ctxRoot;\n }\n delete bean[SymbolBeanContainerInstances][BeanControllerIdentifier];\n delete bean[SymbolBeanContainerInstances][BeanRenderIdentifier];\n delete bean[SymbolBeanContainerInstances][BeanStyleIdentifier];\n Object.assign(bean[SymbolBeanContainerInstances], ctxRoot.bean[SymbolBeanContainerInstances]);\n ctxRoot.bean = bean;\n ctxRoot.app = app;\n },\n};\n","import type { ILocaleRecord } from '../bean/resource/locale/type.ts';\n\nexport interface ICustomKeyRecord {\n 'x-vona-locale': keyof ILocaleRecord | undefined;\n 'x-vona-instance-name': string | undefined;\n 'x-vona-passport-code': string | undefined;\n 'x-vona-oauth-code': string | undefined;\n 'x-vona-openapi-schema': 'true' | 'false' | undefined;\n 'x-vona-jwt-authtoken': 'true' | 'false' | undefined;\n}\n\nexport function $customKey<K extends keyof ICustomKeyRecord>(key: K): K {\n return key;\n}\n","import type { UnwrapNestedRefs } from 'vue';\n\nimport type { Functionable } from '../decorator/type/functionable.ts';\n\nexport type ReturnTypeComposable<Composable extends Functionable> = Composable extends (...args: any[]) => infer R ? UnwrapNestedRefs<R> : any;\n\nexport function useComposable<T extends Functionable>(composable: T, ...args: Parameters<T>): ReturnTypeComposable<T> {\n return composable(...args) as ReturnTypeComposable<T>;\n}\n","import type { CustomRefFactory } from 'vue';\n\nimport { customRef } from 'vue';\n\nexport function useCustomRef<T>(factory: CustomRefFactory<T>): T {\n return customRef(factory) as T;\n}\n"],"names":["cast","source","useComputed","options","debugOptions","computed","AppMetadata","defineMetadata","metadataKey","metadataValue","target","prop","isUndefined","Reflect","getOwnMetadata","getMetadata","getOwnMetadataArray","inherit","own","parent","slice","getOwnMetadataMap","Object","assign","getDesignType","getDesignParamtypes","getDesignReturntype","appMetadata","SymbolMappedClassMetadataKeys","Symbol","registerMappedClassMetadataKey","metadataKeys","hasOwn","getMappedClassMetadataKeys","copyPropertiesOfClasses","sources","filter","copyProperties","prototype","keysIgnore","protos","_proto","includes","constructor","name","unshift","getPrototypeOf","proto","key","ownKeys","desc","getOwnPropertyDescriptor","defineProperty","metaKeys","getOwnMetadataKeys","metaKey","metaValue","copyMetadataOfClasses","transform","_metadataKeys","getOwnPropertySymbols","metadataKeyOptions","rulesNew","rules","ruleNew","undefined","buf","bufIdx","hexBytes","Array","from","length","i","toString","substring","randomBytes","lib","crypto","window","msCrypto","getRandomValues","n","bytes","Uint8Array","r","push","Math","floor","random","BUFFER_SIZE","uuid","b","call","_sys","getSys","setSys","sys","BeanSimple","app","ctx","bean","SysUtil","getAbsoluteUrlFromPagePath","path","ignoreHost","ignorePublicPath","prefix","process","env","DEV","DEV_SERVER_HOSTNAME","DEV_SERVER_PORT","SSR_PROD_PROTOCOL","SSR_PROD_HOST","APP_PUBLIC_PATH","getPagePathFromAbsoluteUrl","url","pagePath","isHttpUrl","_url","URL","pathname","search","startsWith","getApiBaseURL","useApiPrefix","baseURL","config","api","getOpenApiBaseURL","envName","CLIENT","OPENAPI_BASE_URL_DEFAULT","API_BASE_URL","SSR_API_BASE_URL","getApiPath","apiActionPathTranslate","pathName","pathParams","defaultPathSerializer","apiActionConfigPrepare","authToken","optionsCustom","params","query","interceptors","openapiSchema","isEmptyObject","deepExtend","getModuleConfigSafe","moduleName","module","meta","get","scope","modules","getModuleConfigOriginal","configOriginal","parseResourceApi","resource","parts","split","combineApiPathControllerAndAction","API_PREFIX","_uuid","isUuid","str","objectAssignReactive","args","Error","isReactive","reactive","keys","getOwnPropertyNames","value","extend","deepEqual","actual","expected","opts","DeepEqual","disposeInstance","instance","__dispose__","polyfillDispose","beanFullNameFromOnionName","onionName","sceneName","replace","onionNameFromBeanFullName","beanFullName","convertToUnit","unit","num","Number","isNaN","String","isFinite","DecoratorBeanFullName","SymbolDecoratorBeanInfo","SymbolDecoratorProxyDisable","SymbolDecoratorPreload","SymbolDecoratorVirtual","SymbolDecoratorUse","DecoratorBeanFullNameOfComposable","AppResource","beans","scenes","dispose","addUse","uses","console","error","getUses","addBean","beanOptions","beanClass","optionsPrimitive","virtual","scene","_parseSceneAndBeanName","beanInfo","moduleBelong","_parseModuleBelong","options2","_prepareOnionOptions","beanOptions2","getBeanFullName","isClass","getBeanFullNameOfComposable","beanComposable","getBean","fullName","beanClassName","toLowerCase","skipPrefix","parseLastWord","skipLastWord","splitWords","_getModuleBelong","_getModuleName","optionsConfig","onions","appResource","SymbolWaitPromise","StateLock","create","_state","_resolve","state","touch","wait","_waitInner","Promise","resolve","SymbolBeanFullName","SymbolBeanInstanceKey","SymbolModuleBelong","SymbolModuleName","SymbolInited","SymbolDebugCounter","__debugCounter","BeanBaseSimple","$beanFullName","$beanInstanceKey","$beanOptions","$onionName","$onionOptions","BeanModuleScope","BeanScopeError","moduleScope","__instances","__get__","createScopeError","errorsInternal","ErrorClass","initialize","throw","code","body","parseFail","err","message","status","parseCode","codeDefault","ebError","errors","test","text","locale","getText","__combineErrorCode","SymbolErrorInstanceInfo","BeanScopeLocale","metaLocale","createScopeLocaleText","LocaleModuleNameSeparator","SymbolVueDecorators","getVueDecoratorValues","beanInstance","shallowReactive","getVueDecoratorValue","index","fn","values","setVueDecoratorValue","SymbolText","SymbolLogger","SymbolLoggerChildren","BeanBase","$el","el","$text","createLocaleText","$logger","$loggerClient","clientName","logger","child","$loggerChild","childName","$event","event","$watchHandle","$renderFreeze","freeze","renderFreeze","$renderFreezeScope","disposed","renderFreezeScope","$onCreated","hooks","onCreated","$onMounted","onMounted","$errorHandler","info","vue","errorHandler","$useComputed","util","instanceScope","$watchEffect","effect","watchEffect","$watchPostEffect","watchPostEffect","$watchSyncEffect","watchSyncEffect","$watch","cb","watch","$onControllerCreated","$controllerMounted","$zovaComponent","component","getZovaComponent","BeanAopBase","BeanAopMethodBase","BeanInfo","createBeanDecorator","containerScope","markReactive","Preload","ProxyDisable","useRef","object","defaultValue","toRef","Use","descriptor","moduleSource","setTimeout","moduleTarget","usePrepareArg","arg","withSelector","usePrepareArgs","__prepareInjectSelectorInfo","useOptions","selectorInfo","__prepareInjectSelectorInfo_descriptor","__prepareInjectSelectorInfo_init","isNilOrEmptyString","selector","evaluateExpressions","self","fnGet","res","map","init","_args","__prepareInjectSelectorInfo_init_arg","context","UseComposable","UseScope","Virtual","functionNoop","SymbolDecoratorVueElements","createVueDecorator","type","vues","modelSet","modelGet","Computed","Emit","eventName","Watch","watchOptions","WatchEffect","watchEffectOptions","Raw","Shallow","Readonly","ShallowReadonly","ModelValue","modelName","ControllerCreated","ControllerMounted","_beanFullName","vueElement","enumerable","configurable","set","apply","useContext","getCurrentInstance","zova","onControllerCreated","controllerCreated","_prop","_index","onControllerMounted","controllerMounted","emit","returnValue","isPromise","then","__emitHandler","toLowerCaseFirstChar","propName","toUpperCaseFirstChar","func","$props","useModel","props","EMPTY_OBJ","propsDefault","$propsDefault","propType","camelizedName","camelize","modifiers","getModelModifiers","customRef","track","trigger","localValue","prevSetValue","prevEmittedValue","propValue","hasChanged","coerceValueType","emittedValue","rawProps","vnode","iterator","next","done","modelModifiers","hyphenate","isNil","_value","Boolean","model","useModelOptions","runWithInstanceScopeOrAppContext","raw","_vueElement","initialValue","markRaw","shallow","keySource","getter","getProperty","vueWatch","newValue","oldValue","vueWatchEffect","vueDecorators","SymbolBeanContainerParent","SymbolProxyMagic","SymbolProxyAopMethod","SymbolCacheAopChains","SymbolCacheAopChainsKey","SymbolGetBeanSelectorInnerPromises","SymbolBeanContainerInstances","BeanContainer","beanContainer","proxy","Proxy","obj","_getBeanSyncOnly","beanInstances","containerType","_monkeyModuleSync","_getParent","beanContainerParent","tracking","runWithContext","provide","injectKey","composableProvide","inject","treatDefaultAsFactory","composableInject","attributes","attrs","innerKey","__setPropertyValue","getScope","_useModule","_setBean","_getBeanSync","forceLoad","_getBean","_getBeanSelectorInner","_getBeanSelector","_getBeanSelectorInnerSync","_getBeanFullNameByComposableOrClassSync","__getSelectorKey","newBeanForce","recordProp","_getBeanFullNameByComposableOrClass","_getBeanSelectorInnerPromise","_newBeanInner","_newBeanSimple","A","_prepareBeanInstanceSimple","__init__","_newBean","_newBeanSelector","record","controllerData","_createBeanInstance","_getBeanOptionsForce","_getBeanOptionsForceSync","aop","_prepareBeanInstance","__initControllerData","__recordProp","_initBeanInstance","_prepareBeanInstanceCommon","beanInstanceProxy","_patchBeanInstance","_patchBeanInstanceSimple","BeanClass","_createBeanComposableInstance","_injectVueElements","_injectBeanInstance","_monkeyModule","vueElements","_injectVueElement","decoratorHandler","targetBeanComposable","targetBeanFullName","injectionScope","useOptions2","targetBeanInstance","_getBeanFromHostInner","_injectBeanInstanceProp","targetOptions","targetInstance","_injectBeanInstanceProp_appBean","_getBeanFromHost","_getBeanFromHostInner2","_targetBeanFullName","beanFullNameOrBeanClass","_aopChains","_prepareAopChains","_newBeanProxy","_prepareAopChainsSimple","receiver","__isInnerMethod","__v_isShallow_patch","descriptorInfo","__getPropertyDescriptor","__checkAopOfDescriptorInfo","methodType","__methodTypeOfDescriptor","__isLifeCycleMethod","methodName","methodNameMagic","_aopChainsProp","_getAopChainsProp","_","_getInstanceMethodProxy","__set__","methodProxyKey","methodProxy","thisArg","cacheKey","proxyDisable","host","_aopCacheHost","chains","beanAop","aops","findAopsMatched","aopInstances","concat","aopMethods","findAopMethodsMatched","__hasMagicMethod","_getAopChains","chainsKey","aopKey","isArray","_getAopChainsProp_aopMethods","_patchAopNext","result","__composeForProp","aopMethodsAll","aopMethod","execute","throwError","use","__composeForPropAdapter","_context","chain","compose","dynamic","ofBeanBase","__getPropertyDescriptorStatic","patch","isSelectorValid","BeanControllerBase","$slots","slots","__initControllerProps","__updateControllerData","$useModel","$slotDefault","slotDefault","default","propsInput","SERVER","hasOwnProperty","BeanControllerIdentifier","BeanRenderIdentifier","BeanStyleIdentifier","SymbolControllerRefDisable","$getBeanName","SymbolController","BeanControllerLike","controller","BeanControllerPageBase","$params","$query","SymbolStyle","BeanRenderLike","style","BeanRenderBase","render","BeanStyleBase","BeanScopeUtil","BeanModuleError","BeanModuleLocale","BeanModuleConfig","BeanModuleConstant","BeanModuleApi","BeanModuleApiSchema","BeanModuleUtil","BeanScopeBase","constant","zodEnhance","setLocaleAdapter","iss","translateError","zodEnhanceSys","setParseAdapter","ZodMetadata","zodSetLocaleErrors","localeErrors","localeDefault","setLocaleErrors","current","configDefault","flavor","META_FLAVOR","mode","META_MODE","appMode","META_APP_MODE","constantDefault","SymbolInstalled","AppCookie","getItem","cookieSource","$ssr","req","headers","document","cookies","cookie","l","decode","shift","join","read","setItem","expire","expireValue","expires","toUTCString","parseExpireString","parseFloat","getString","keyValue","encode","stringifyCookieValue","domain","sameSite","httpOnly","secure","other","reqAny","resAny","qCookies","setHeader","all","val","removeItem","string","encodeURIComponent","decodeURIComponent","JSON","stringify","indexOf","timestamp","days","match","hours","minutes","seconds","msOffset","time","Date","setMilliseconds","getMilliseconds","__adapter","eventHandlerWrapper","AppEvent","eventHandlersMap","getEventHandlers","eventHandlers","data","nextOrDefault","emitSync","on","findIndex","item","splice","once","off","SymbolLoggerInstances","SysLogger","_closeLogger","_createClient","getFilterLevel","getLoggerFilterLevel","setFilterLevel","level","setLoggerFilterLevel","configClient","clients","configNode","_prepareConfigClient","base","Logger","__closed__","end","toUpperCase","useSys","createZovaComponentAsync","defineAsyncComponent","SymbolZovaComponents","SysComponent","createAsyncComponent","componentName","_module","components","SysError","SymbolLocaleCurrent","SymbolTzCurrent","AppLocale","ref","metaCookie","ssr","storeKey","tz","Intl","DateTimeFormat","resolvedOptions","timeZone","supportCustomMessage","pos","localeutil","getLocaleText","localeModules","locales","SysLocale","moduleMap","_registerLocale","_registerLocales","moduleLocales","SysModule","modulesMeta","mainInstances","monkeyInstances","_loadAllMonkeysAndSyncsAndPreloads","_requireAllSpecifics","_requireAllOthers","moduleInfo","ModuleInfo","parseInfo","relativeName","moduleRepo","_install","exists","moduleNames","shouldLoad","capabilities","monkey","sync","preload","moduleResource","loadModules","promises","moduleNamesLoading","promise","modulesResource","capabilityName","debug","shouldInstall","_installInner","MainSys","MonkeySys","_registerResources","_registerErrors","_registerConstants","_registerConfig","constants","order","monkeyName","monkeyData","mainInstance","forEach","moduleMonkey","monkeyInstance","sysMonkey","forEachSync","SysMeta","legacyRoutes","SysMonkey","SymbolSysInitializePromise","SymbolSysClose","ZovaSys","viteHot","envRuntime","_initializeInner","_prepareEnv","_combineConfig","_hookClose","hook","_payload","close","removeEventListener","addEventListener","_config","configFn","env2","_prepareEnv_Runtime","env3","_prepareEnv_Client","_mergeEnv","__INITIAL_STATE__","ssrState","envClient","PluginBean","install","mixin","created","activate","bootstrap","PluginFreeze","ClientOnly","defineComponent","inheritAttrs","setup","_props","isMounted","placeholder","CtxComponent","_bean_render_original","renderMethod","isUnmounted","inited","_getRender","ssrRender","SymbolHooksFns","SymbolHooksState","CtxHooks","_onHook","invokeHook","fns","__id","CtxState","_id","_inited","id","CtxMeta","CtxUtil","reset","setCurrentInstance","pauseTracking","resetTracking","ZovaContext","appContext","_zovaHostProvidersInit","zovaHostProviders","_zovaHostProvidersUpdate_inner","_zovaHostProvidersUpdate","nextTick","useControllerPage","controllerBeanFullName","renderBeanFullName","styleBeanFullName","_useController","useController","useSlots","onBeforeUnmount","setControllerRef","onUnmounted","__load","queuePostFlushCb","onServerPrefetch","controllerRef","createZovaComponentPage","prepareComponentOptions","componentOptions","useApp","AppComponent","_registerComponents","_moduleName","_setComponentGlobal","global","AppError","_handleError","preventDefault","_handleUnhandledError","reason","errorCode","infoDefault","errorInfo","err2","AppModule","Main","Monkey","appMonkey","AppMeta","AppMonkey","AppUtil","SymbolAppClose","ZovaApplication","ctxRoot","_reloadDelayTimer","reload","reloadDelay","location","cancel","clearTimeout","SymbolLoggerMessage","formatLoggerFilter","format","strict","NpmConfigSetLevels","__formatLoggerFilterCheckInfo","silly","formatLoggerConsole","print","stack","durationMs","textName","colorize","textBeanFullName","textMessage","textDurationMs","textStack","meta2","MixinClass","classRefs","TargetClass","OmitClass","classRef","PartialClass","partialClass","PickClass","PluginZova","update","$customKey","useComposable","composable","useCustomRef","factory"],"mappings":"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"}
|