@geektech/tsone 0.1.0 → 0.2.1
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/README-zh.md +26 -7
- package/README.md +29 -7
- package/dist/dom/index.d.ts +534 -0
- package/dist/dom/index.js +2181 -0
- package/dist/dom/index.js.map +10 -0
- package/dist/{index-wv9gyjqt.js → index-1x4ectvr.js} +346 -5
- package/dist/{index-wv9gyjqt.js.map → index-1x4ectvr.js.map} +6 -4
- package/dist/{index-8wjswsye.js → index-ffzday7h.js} +31 -3
- package/dist/{index-8wjswsye.js.map → index-ffzday7h.js.map} +5 -4
- package/dist/index.d.ts +1 -1
- package/dist/index.js +91 -430
- package/dist/index.js.map +4 -6
- package/dist/router/index.js +7 -7
- package/dist/router/index.js.map +1 -1
- package/dist/style/index.js +5 -7
- package/dist/style/index.js.map +1 -1
- package/package.json +10 -1
- package/dist/index-vpx80nq5.js +0 -32
- package/dist/index-vpx80nq5.js.map +0 -10
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../lib/core/reactive/types.ts", "../lib/core/reactive.ts", "../lib/core/vnode.ts", "../lib/core/model.ts", "../lib/core/renderer/props.ts", "../lib/core/renderer/element-strategy.ts", "../lib/core/animation/list-animation-controller.ts", "../lib/core/animation/types.ts", "../lib/core/animation/transition-group-strategy.ts", "../lib/core/renderer.ts", "../lib/core/template.ts", "../lib/core/component/base.ts", "../lib/router/instance.ts", "../lib/router/matcher.ts", "../lib/router/history.ts", "../lib/router/index.ts"],
|
|
3
|
+
"sources": ["../lib/core/reactive/types.ts", "../lib/core/reactive.ts", "../lib/core/vnode.ts", "../lib/core/model.ts", "../lib/core/renderer/props.ts", "../lib/core/renderer/element-strategy.ts", "../lib/core/animation/list-animation-controller.ts", "../lib/core/animation/types.ts", "../lib/core/animation/transition-group-strategy.ts", "../lib/core/renderer.ts", "../lib/core/template.ts", "../lib/core/component/base.ts", "../lib/router/instance.ts", "../lib/router/matcher.ts", "../lib/router/history.ts", "../lib/router/index.ts", "../lib/core/document.ts", "../lib/core/app.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
5
|
"export interface ReactiveEffect<T = unknown> {\n (): T | undefined;\n deps: Set<ReactiveEffect>[];\n id: number;\n active: boolean;\n scheduler?: (effect: ReactiveEffect) => void;\n}\n\nexport interface ReactiveEffectOptions {\n lazy?: boolean;\n scheduler?: (effect: ReactiveEffect) => void;\n throwOnError?: boolean;\n}\n\nexport interface ComputedRef<T> {\n readonly value: T;\n}\n\nexport const IS_REACTIVE = Symbol('is_reactive');\nexport const IS_READONLY = Symbol('is_readonly');\nexport const IS_REF = Symbol('is_ref');\n\nexport interface Ref<T = unknown> {\n value: T;\n}\n\nexport const MUTATING_ARRAY_METHODS = [\n 'push',\n 'pop',\n 'shift',\n 'unshift',\n 'splice',\n 'sort',\n 'reverse',\n] as const;\n\nexport function hasReactiveFlag(\n value: object,\n flag: typeof IS_REACTIVE | typeof IS_READONLY\n): boolean {\n return Boolean(Reflect.get(value, flag));\n}\n\nexport function isObject(value: unknown): value is object {\n return value !== null && typeof value === 'object';\n}\n",
|
|
6
6
|
"import {\n ComputedRef,\n IS_REACTIVE,\n IS_REF,\n IS_READONLY,\n MUTATING_ARRAY_METHODS,\n Ref,\n ReactiveEffect,\n ReactiveEffectOptions,\n hasReactiveFlag,\n isObject,\n} from './reactive/types';\n\nexport type {\n ComputedRef,\n Ref,\n ReactiveEffect,\n ReactiveEffectOptions,\n} from './reactive/types';\n\nlet effectId = 0;\n\n// 响应式系统\nexport class ReactiveSystem {\n private static instance: ReactiveSystem;\n private activeEffect: ReactiveEffect | null = null;\n private readonly effectStack: ReactiveEffect[] = [];\n private targetMap = new WeakMap<\n object,\n Map<string | symbol, Set<ReactiveEffect>>\n >();\n private reactiveMap = new WeakMap<object, object>();\n private readonlyMap = new WeakMap<object, object>();\n\n private constructor() {}\n\n public static getInstance(): ReactiveSystem {\n if (!ReactiveSystem.instance) {\n ReactiveSystem.instance = new ReactiveSystem();\n }\n return ReactiveSystem.instance;\n }\n\n public reactive<T extends object>(target: T): T {\n // 检查输入参数\n if (!isObject(target)) {\n console.warn('reactive: target must be an object');\n return target;\n }\n\n // 如果传入的是已经是响应式对象,直接返回\n if (isReactive(target)) {\n return target;\n }\n\n // 如果目标已经有对应的响应式对象,返回已存在的代理\n if (this.reactiveMap.has(target)) {\n return this.reactiveMap.get(target) as T;\n }\n\n // 优化数组处理\n if (Array.isArray(target)) {\n return this.createReactiveArray(target);\n }\n\n // 普通对象处理\n const proxy = new Proxy(target, {\n get: (target, key: string | symbol) => {\n // 处理响应式标记的特殊属性\n if (key === IS_REACTIVE) {\n return true;\n }\n if (key === IS_READONLY) {\n return false;\n }\n\n // 收集依赖\n this.track(target, key);\n\n const value = Reflect.get(target, key);\n\n // 如果是对象,递归转换为响应式\n if (isObject(value) && !hasReactiveFlag(value, IS_READONLY)) {\n return this.reactive(value);\n }\n return value;\n },\n set: (target, key: string | symbol, value) => {\n // 检查是否是只读的\n if (hasReactiveFlag(target, IS_READONLY)) {\n console.warn(`Cannot set property ${String(key)} on readonly object`);\n return false;\n }\n\n const oldValue = Reflect.get(target, key);\n\n // 如果新值是对象,转换为响应式\n if (\n isObject(value) &&\n !hasReactiveFlag(value, IS_REACTIVE) &&\n !hasReactiveFlag(value, IS_READONLY)\n ) {\n value = this.reactive(value);\n }\n\n const result = Reflect.set(target, key, value);\n\n // 只有当值真正改变时才触发更新\n if (oldValue !== value) {\n this.trigger(target, key);\n }\n return result;\n },\n deleteProperty: (target, key: string | symbol) => {\n // 检查是否是只读的\n if (hasReactiveFlag(target, IS_READONLY)) {\n console.warn(\n `Cannot delete property ${String(key)} on readonly object`\n );\n return false;\n }\n\n const hadKey = key in target;\n const result = Reflect.deleteProperty(target, key);\n\n if (hadKey) {\n this.trigger(target, key);\n }\n return result;\n },\n });\n\n // 存储响应式对象的映射关系\n this.reactiveMap.set(target, proxy);\n return proxy;\n }\n\n /**\n * 创建响应式数组\n */\n private createReactiveArray<T extends unknown[]>(target: T): T {\n // 如果目标已经有对应的响应式对象,返回已存在的代理\n if (this.reactiveMap.has(target)) {\n return this.reactiveMap.get(target) as T;\n }\n\n const proxy = new Proxy(target, {\n get: (target, key: string | symbol) => {\n // 处理响应式标记的特殊属性\n if (key === IS_REACTIVE) {\n return true;\n }\n if (key === IS_READONLY) {\n return false;\n }\n\n // 收集依赖\n this.track(target, key);\n\n const value = Reflect.get(target, key);\n\n // 处理数组的变异方法\n if (\n typeof key === 'string' &&\n MUTATING_ARRAY_METHODS.includes(\n key as (typeof MUTATING_ARRAY_METHODS)[number]\n )\n ) {\n return (...args: unknown[]) => {\n // 执行原始方法\n const arrayMethod = value as (...methodArgs: unknown[]) => unknown;\n const result = arrayMethod.apply(target, args);\n // 触发数组更新\n this.trigger(target, 'length');\n this.trigger(target, key);\n return result;\n };\n }\n\n if (isObject(value) && !hasReactiveFlag(value, IS_READONLY)) {\n return this.reactive(value);\n }\n\n return value;\n },\n set: (target, key: string | symbol, value) => {\n // 检查是否是只读的\n if (hasReactiveFlag(target, IS_READONLY)) {\n console.warn(`Cannot set property ${String(key)} on readonly object`);\n return false;\n }\n\n const oldValue = Reflect.get(target, key);\n\n // 如果新值是对象,转换为响应式\n if (\n isObject(value) &&\n !hasReactiveFlag(value, IS_REACTIVE) &&\n !hasReactiveFlag(value, IS_READONLY)\n ) {\n value = this.reactive(value);\n }\n\n const result = Reflect.set(target, key, value);\n\n // 只有当值真正改变时才触发更新\n if (oldValue !== value) {\n this.trigger(target, key);\n // 对于数组索引的修改,同时触发length的更新\n if (typeof key === 'string' && !isNaN(Number(key))) {\n this.trigger(target, 'length');\n }\n }\n return result;\n },\n deleteProperty: (target, key: string | symbol) => {\n // 检查是否是只读的\n if (hasReactiveFlag(target, IS_READONLY)) {\n console.warn(\n `Cannot delete property ${String(key)} on readonly object`\n );\n return false;\n }\n\n const hadKey = key in target;\n const result = Reflect.deleteProperty(target, key);\n\n if (hadKey) {\n this.trigger(target, key);\n // 对于数组,同时触发length的更新\n this.trigger(target, 'length');\n }\n return result;\n },\n });\n\n // 存储响应式对象的映射关系\n this.reactiveMap.set(target, proxy);\n return proxy;\n }\n\n public readonly<T extends object>(target: T): Readonly<T> {\n // 检查输入参数\n if (!isObject(target)) {\n console.warn('readonly: target must be an object');\n return target;\n }\n\n // 如果传入的是已经是只读响应式对象,直接返回\n if (hasReactiveFlag(target, IS_READONLY)) {\n return target as Readonly<T>;\n }\n\n // 如果目标已经有对应的只读响应式对象,返回已存在的代理\n if (this.readonlyMap.has(target)) {\n return this.readonlyMap.get(target) as Readonly<T>;\n }\n\n const proxy = new Proxy(target, {\n get: (target, key: string | symbol) => {\n // 处理响应式标记的特殊属性\n if (key === IS_REACTIVE) {\n return false;\n }\n if (key === IS_READONLY) {\n return true;\n }\n\n const value = Reflect.get(target, key);\n // 如果是对象,递归转换为只读响应式\n if (isObject(value)) {\n return this.readonly(value);\n }\n return value;\n },\n set: () => {\n console.warn('Cannot set property on readonly object');\n return false;\n },\n deleteProperty: () => {\n console.warn('Cannot delete property on readonly object');\n return false;\n },\n });\n\n // 存储只读响应式对象的映射关系\n this.readonlyMap.set(target, proxy);\n return proxy as Readonly<T>;\n }\n\n public effect<T = unknown>(\n fn: () => T,\n options?: ReactiveEffectOptions\n ): ReactiveEffect<T> {\n const { lazy = false, scheduler, throwOnError = false } = options || {};\n\n const effectFn: ReactiveEffect<T> = () => {\n if (!effectFn.active) {\n return fn();\n }\n\n try {\n // 清除之前的依赖关系\n this.cleanup(effectFn);\n this.effectStack.push(effectFn);\n this.activeEffect = effectFn;\n return fn();\n } catch (error) {\n if (throwOnError) {\n throw error;\n }\n console.error('Effect error:', error);\n return undefined;\n } finally {\n this.effectStack.pop();\n this.activeEffect =\n this.effectStack[this.effectStack.length - 1] ?? null;\n }\n };\n\n effectFn.id = effectId++;\n effectFn.deps = [];\n effectFn.active = true;\n effectFn.scheduler = scheduler;\n\n // 如果不是懒加载,立即执行\n if (!lazy) {\n effectFn();\n }\n\n return effectFn;\n }\n\n public computed<T>(getter: () => T): ComputedRef<T> {\n let dirty = true;\n let value: T;\n const computedTarget = {};\n const trackComputedValue = (): void => {\n this.track(computedTarget, 'value');\n };\n\n const runner = this.effect(\n () => {\n value = getter();\n dirty = false;\n },\n {\n lazy: true,\n scheduler: () => {\n if (!dirty) {\n dirty = true;\n this.trigger(computedTarget, 'value');\n }\n },\n }\n );\n\n return {\n get value(): T {\n if (dirty) {\n runner();\n }\n trackComputedValue();\n return value as T;\n },\n };\n }\n\n private cleanup(effect: ReactiveEffect): void {\n // 清除effect的所有依赖\n effect.deps.forEach((dep) => {\n dep.delete(effect);\n });\n effect.deps.length = 0;\n }\n\n private track(target: object, key: string | symbol): void {\n if (!this.activeEffect || !this.activeEffect.active) return;\n\n let depsMap = this.targetMap.get(target);\n if (!depsMap) {\n depsMap = new Map();\n this.targetMap.set(target, depsMap);\n }\n\n let dep = depsMap.get(key);\n if (!dep) {\n dep = new Set();\n depsMap.set(key, dep);\n }\n\n if (!dep.has(this.activeEffect)) {\n dep.add(this.activeEffect);\n this.activeEffect.deps.push(dep);\n }\n }\n\n private trigger(target: object, key: string | symbol): void {\n const depsMap = this.targetMap.get(target);\n if (!depsMap) return;\n\n const dep = depsMap.get(key);\n if (!dep) return;\n\n // 创建依赖的副本进行遍历,避免在遍历过程中依赖发生变化\n const effects = new Set(dep);\n effects.forEach((effect) => {\n if (effect.active) {\n if (effect.scheduler) {\n effect.scheduler(effect);\n } else {\n effect();\n }\n }\n });\n }\n\n // 停止一个effect的执行\n public stop(effect: ReactiveEffect): void {\n if (effect.active) {\n this.cleanup(effect);\n effect.active = false;\n }\n }\n}\n\n// 导出响应式API\nexport function reactive<T extends object>(target: T): T {\n return ReactiveSystem.getInstance().reactive(target);\n}\n\nexport function readonly<T extends object>(target: T): Readonly<T> {\n return ReactiveSystem.getInstance().readonly(target);\n}\n\nexport function effect<T = unknown>(\n fn: () => T,\n options?: ReactiveEffectOptions\n): ReactiveEffect<T> {\n return ReactiveSystem.getInstance().effect(fn, options);\n}\n\nexport function computed<T>(getter: () => T): ComputedRef<T> {\n return ReactiveSystem.getInstance().computed(getter);\n}\n\nexport function ref<T>(value: T): Ref<T> {\n const wrapper = { value };\n Object.defineProperty(wrapper, IS_REF, {\n configurable: false,\n enumerable: false,\n value: true,\n });\n\n return reactive(wrapper) as Ref<T>;\n}\n\nexport function isRef(value: unknown): value is Ref<unknown> {\n return isObject(value) && Boolean(Reflect.get(value, IS_REF));\n}\n\nexport function unref<T>(value: T | Ref<T>): T {\n return isRef(value) ? value.value : value;\n}\n\nexport function stop(effect: ReactiveEffect): void {\n ReactiveSystem.getInstance().stop(effect);\n}\n\n// 工具函数:判断是否是响应式对象\nexport function isReactive(value: unknown): boolean {\n return isObject(value) && hasReactiveFlag(value, IS_REACTIVE);\n}\n\n// 工具函数:判断是否是只读响应式对象\nexport function isReadonly(value: unknown): boolean {\n return isObject(value) && hasReactiveFlag(value, IS_READONLY);\n}\n",
|
|
@@ -17,9 +17,11 @@
|
|
|
17
17
|
"import { Router } from './index';\n\n// 创建一个全局路由实例\nlet router: Router | null = null;\n\n/**\n * 设置全局路由实例\n * @param r 路由实例\n */\nexport function setRouter(r: Router): void {\n if (!r || !(r instanceof Router)) {\n throw new Error('Invalid router instance');\n }\n router = r;\n}\n\n/**\n * 获取路由实例\n * @returns 路由实例\n * @throws 当路由未初始化时抛出错误\n */\nexport function useRouter(): Router {\n if (!router) {\n throw new Error(\n 'Router is not initialized. Please make sure you have installed the router plugin.'\n );\n }\n return router;\n}\n\n/**\n * 安全地获取路由实例,如果未初始化则返回null\n * @returns 路由实例或null\n */\nexport function getRouter(): Router | null {\n return router;\n}\n\n/**\n * 检查路由是否已初始化\n * @returns 是否已初始化\n */\nexport function hasRouter(): boolean {\n return router !== null;\n}\n\n/**\n * 重置路由实例(主要用于测试)\n */\nexport function resetRouter(): void {\n router = null;\n}\n",
|
|
18
18
|
"import type { RouteRecord } from './index';\n\nexport interface RouteMatch {\n route: RouteRecord;\n params: Record<string, string>;\n}\n\nexport function normalizePath(path: string): string {\n if (!path.startsWith('/')) {\n return `/${path}`;\n }\n return path || '/';\n}\n\nexport function matchRoute(\n routes: RouteRecord[],\n path: string\n): RouteMatch | null {\n const normalizedPath = normalizePath(path.split('?')[0]);\n\n for (const route of routes) {\n const params = matchRoutePath(route.path, normalizedPath);\n if (params) {\n return { route, params };\n }\n }\n\n const fallback = routes.find((route) => route.path === '/');\n return fallback ? { route: fallback, params: {} } : null;\n}\n\nfunction matchRoutePath(\n routePath: string,\n currentPath: string\n): Record<string, string> | null {\n const routeSegments = getPathSegments(routePath);\n const currentSegments = getPathSegments(currentPath);\n\n if (routeSegments.length !== currentSegments.length) {\n return null;\n }\n\n const params: Record<string, string> = {};\n\n for (let index = 0; index < routeSegments.length; index += 1) {\n const routeSegment = routeSegments[index];\n const currentSegment = currentSegments[index];\n\n if (routeSegment.startsWith(':')) {\n const paramName = routeSegment.slice(1);\n if (!paramName) {\n return null;\n }\n params[decodeURIComponent(paramName)] =\n decodeURIComponent(currentSegment);\n continue;\n }\n\n if (routeSegment !== currentSegment) {\n return null;\n }\n }\n\n return params;\n}\n\nfunction getPathSegments(path: string): string[] {\n const normalizedPath = normalizePath(path);\n if (normalizedPath === '/') {\n return [];\n }\n\n return normalizedPath.split('/').filter(Boolean);\n}\n",
|
|
19
19
|
"import type { RouteLocation, RouterOptions } from './index';\nimport { normalizePath } from './matcher';\n\nexport type RouterMode = NonNullable<RouterOptions['mode']>;\n\nexport function createRouterHref(\n path: string,\n mode: RouterMode,\n base: string\n): string {\n const normalizedPath = normalizePath(path);\n const fullPath = base === '/' ? normalizedPath : base + normalizedPath;\n return mode === 'hash' ? `#${fullPath}` : fullPath;\n}\n\nexport function getBrowserLocation(\n mode: RouterMode,\n base: string\n): RouteLocation {\n let path: string;\n let fullPath: string;\n let queryString: string;\n\n if (mode === 'history') {\n fullPath = window.location.pathname + window.location.search;\n path = window.location.pathname;\n queryString = window.location.search;\n } else {\n const hash = window.location.hash;\n fullPath = hash || '#/';\n path = fullPath.startsWith('#') ? fullPath.slice(1) : fullPath;\n const queryStart = path.indexOf('?');\n queryString = queryStart >= 0 ? path.slice(queryStart + 1) : '';\n path = queryStart >= 0 ? path.slice(0, queryStart) : path;\n }\n\n if (path.startsWith(base) && base !== '/' && path !== '/') {\n path = path.slice(base.length);\n }\n\n path = normalizePath(path);\n\n return {\n path,\n fullPath,\n query: parseQuery(queryString),\n params: {},\n };\n}\n\nexport function navigateBrowser(\n path: string,\n replace: boolean,\n mode: RouterMode,\n base: string\n): void {\n const normalizedPath = normalizePath(path);\n const fullPath = base === '/' ? normalizedPath : base + normalizedPath;\n\n if (mode === 'history') {\n if (replace) {\n window.history.replaceState({}, '', fullPath);\n } else {\n window.history.pushState({}, '', fullPath);\n }\n return;\n }\n\n if (replace) {\n const href = window.location.href.split('#')[0];\n window.location.replace(`${href}#${fullPath}`);\n return;\n }\n\n window.location.hash = fullPath;\n}\n\nfunction parseQuery(queryString: string): Record<string, string> {\n const query: Record<string, string> = {};\n const normalizedQuery = queryString.startsWith('?')\n ? queryString.slice(1)\n : queryString;\n\n if (!normalizedQuery) {\n return query;\n }\n\n normalizedQuery.split('&').forEach((param) => {\n const [key, value] = param.split('=');\n if (key) {\n query[decodeURIComponent(key)] = value ? decodeURIComponent(value) : '';\n }\n });\n\n return query;\n}\n",
|
|
20
|
-
"import { AnyComponentConstructor, Component } from '../core/component';\nimport { OneApp } from '../core/app';\nimport type { VNode } from '../core/vnode';\nimport { setRouter } from './instance';\nimport {\n createRouterHref,\n getBrowserLocation,\n navigateBrowser,\n} from './history';\nimport { matchRoute } from './matcher';\n\nexport { useRouter } from './instance';\n\nexport type RouteMeta = Record<string, unknown>;\n\nexport interface RouteRecord {\n path: string;\n component: AnyComponentConstructor;\n name?: string;\n meta?: RouteMeta;\n}\n\nexport interface RouterOptions {\n routes: RouteRecord[];\n mode?: 'history' | 'hash';\n base?: string;\n}\n\nexport interface RouteLocation {\n path: string;\n query: Record<string, string>;\n params: Record<string, string>;\n fullPath: string;\n name?: string;\n meta?: RouteMeta;\n}\n\nexport type RouteChangeListener = (\n to: RouteLocation,\n from: RouteLocation | null\n) => void;\n\nexport class Router {\n protected currentRoute: RouteRecord | null = null;\n protected currentLocation: RouteLocation | null = null;\n private readonly routes: RouteRecord[] = [];\n private app: OneApp | null = null;\n private readonly mode: 'history' | 'hash';\n private readonly base: string;\n private readonly routeChangeListeners: RouteChangeListener[] = [];\n private removeWindowListener?: () => void;\n\n constructor(options: RouterOptions | RouteRecord[]) {\n const resolvedOptions = Array.isArray(options)\n ? { routes: options }\n : options;\n\n this.routes = resolvedOptions.routes || [];\n this.mode = resolvedOptions.mode || 'history';\n this.base = resolvedOptions.base || '/';\n this.validateRoutes();\n this.initEvents();\n this.resolveCurrentRoute();\n }\n\n public install(app: OneApp): void {\n this.app = app;\n app.router = this;\n setRouter(this);\n\n const context = app.getContext() as { router?: Router };\n context.router = this;\n\n this.resolveCurrentRoute();\n }\n\n public push(path: string): void {\n this.navigate(path, false);\n }\n\n public replace(path: string): void {\n this.navigate(path, true);\n }\n\n public forward(): void {\n window.history.forward();\n }\n\n public back(): void {\n window.history.back();\n }\n\n public go(delta: number): void {\n window.history.go(delta);\n }\n\n public getCurrentRoute(): RouteLocation | null {\n if (!this.currentLocation) {\n this.resolveCurrentRoute();\n }\n return this.currentLocation;\n }\n\n public getCurrentRouteRecord(): RouteRecord | null {\n if (!this.currentRoute) {\n this.resolveCurrentRoute();\n }\n return this.currentRoute;\n }\n\n public onRouteChange(listener: RouteChangeListener): () => void {\n this.routeChangeListeners.push(listener);\n\n return () => {\n const index = this.routeChangeListeners.indexOf(listener);\n if (index > -1) {\n this.routeChangeListeners.splice(index, 1);\n }\n };\n }\n\n public getRoutes(): RouteRecord[] {\n return [...this.routes];\n }\n\n public addRoute(route: RouteRecord): void {\n if (this.routes.some((item) => item.path === route.path)) {\n throw new Error(`Route already exists: ${route.path}`);\n }\n\n this.routes.push(route);\n\n const location = this.getCurrentLocation();\n if (location.path === route.path) {\n this.handleRouteChange();\n }\n }\n\n public createHref(path: string): string {\n return createRouterHref(path, this.mode, this.base);\n }\n\n public destroy(): void {\n this.removeWindowListener?.();\n this.removeWindowListener = undefined;\n if (this.app?.router === this) {\n this.app.router = undefined;\n }\n this.app = null;\n }\n\n private navigate(path: string, replace: boolean): void {\n if (!path || typeof path !== 'string') {\n throw new Error('Path must be a non-empty string');\n }\n\n navigateBrowser(path, replace, this.mode, this.base);\n this.handleRouteChange();\n }\n\n private validateRoutes(): void {\n if (!Array.isArray(this.routes)) {\n throw new Error('Router routes must be an array');\n }\n\n const paths = new Set<string>();\n this.routes.forEach((route) => {\n if (paths.has(route.path)) {\n throw new Error(`Duplicate route path: ${route.path}`);\n }\n paths.add(route.path);\n });\n }\n\n private initEvents(): void {\n if (typeof window === 'undefined') {\n return;\n }\n\n const eventName = this.mode === 'history' ? 'popstate' : 'hashchange';\n const listener = (): void => {\n this.handleRouteChange();\n };\n\n window.addEventListener(eventName, listener);\n this.removeWindowListener = () => {\n window.removeEventListener(eventName, listener);\n };\n }\n\n private handleRouteChange(): void {\n const fromLocation = this.currentLocation;\n const nextLocation = this.resolveCurrentRoute();\n\n if (!this.isSameLocation(fromLocation, nextLocation)) {\n this.triggerRouteChangeListeners(nextLocation, fromLocation);\n }\n }\n\n private resolveCurrentRoute(): RouteLocation {\n const location = this.getCurrentLocation();\n const match = matchRoute(this.routes, location.path);\n const route = match?.route ?? null;\n\n this.currentRoute = route;\n this.currentLocation = {\n ...location,\n params: match?.params ?? {},\n name: route?.name,\n meta: route?.meta,\n };\n\n return this.currentLocation;\n }\n\n private getCurrentLocation(): RouteLocation {\n return getBrowserLocation(this.mode, this.base);\n }\n\n private isSameLocation(\n from: RouteLocation | null,\n to: RouteLocation | null\n ): boolean {\n return from?.fullPath === to?.fullPath && from?.name === to?.name;\n }\n\n private triggerRouteChangeListeners(\n to: RouteLocation,\n from: RouteLocation | null\n ): void {\n this.routeChangeListeners.forEach((listener) => {\n try {\n listener(to, from);\n } catch (error) {\n console.error('Route change listener error:', error);\n }\n });\n }\n}\n\nexport interface RouterLinkProps {\n to: string;\n replace?: boolean;\n className?: string;\n activeClass?: string;\n children?: Array<VNode | string>;\n}\n\ninterface RouterLinkState {\n currentPath: string;\n}\n\nexport class RouterLink extends Component<RouterLinkProps, RouterLinkState> {\n private unsubscribe?: () => void;\n\n protected initState(): RouterLinkState {\n const router = this.router as Router | undefined;\n return {\n currentPath: router?.getCurrentRoute()?.path ?? window.location.pathname,\n };\n }\n\n protected initStyles(): void {}\n\n protected onMounted(): void {\n const router = this.router as Router | undefined;\n this.unsubscribe = router?.onRouteChange((to) => {\n this.state.currentPath = to.path;\n });\n }\n\n protected onUnmounted(): void {\n this.unsubscribe?.();\n }\n\n protected render(): VNode {\n const router = this.router as Router | undefined;\n const activeClass = this.props.activeClass ?? 'active';\n const isActive = this.state.currentPath === this.props.to;\n const className = [this.props.className, isActive ? activeClass : undefined]\n .filter(Boolean)\n .join(' ');\n\n return {\n tag: 'a',\n props: {\n href: router?.createHref(this.props.to) ?? this.props.to,\n className,\n },\n listeners: {\n click: (event: Event) => {\n event.preventDefault();\n if (this.props.replace) {\n router?.replace(this.props.to);\n } else {\n router?.push(this.props.to);\n }\n },\n },\n children:\n this.props.children && this.props.children.length > 0\n ? this.props.children\n : [this.props.to],\n };\n }\n}\n\ninterface RouterViewState {\n route: RouteLocation | null;\n record: RouteRecord | null;\n}\n\nexport class RouterView extends Component<object, RouterViewState> {\n private unsubscribe?: () => void;\n\n protected initState(): RouterViewState {\n const router = this.router as Router | undefined;\n return {\n route: router?.getCurrentRoute() ?? null,\n record: router?.getCurrentRouteRecord() ?? null,\n };\n }\n\n protected initStyles(): void {}\n\n protected onMounted(): void {\n const router = this.router as Router | undefined;\n this.unsubscribe = router?.onRouteChange((to) => {\n this.state.route = to;\n this.state.record = router.getCurrentRouteRecord();\n });\n }\n\n protected onUnmounted(): void {\n this.unsubscribe?.();\n }\n\n protected render(): VNode {\n const routeRecord =\n this.state.record ??\n (this.router as Router | undefined)?.getCurrentRouteRecord();\n\n return {\n tag: 'div',\n props: { 'data-router-view': '' },\n children: routeRecord ? [{ component: routeRecord.component }] : [],\n };\n }\n}\n\nexport function createRouter(options: RouterOptions | RouteRecord[]): Router {\n return new Router(options);\n}\n"
|
|
20
|
+
"import { AnyComponentConstructor, Component } from '../core/component';\nimport { OneApp } from '../core/app';\nimport type { VNode } from '../core/vnode';\nimport { setRouter } from './instance';\nimport {\n createRouterHref,\n getBrowserLocation,\n navigateBrowser,\n} from './history';\nimport { matchRoute } from './matcher';\n\nexport { useRouter } from './instance';\n\nexport type RouteMeta = Record<string, unknown>;\n\nexport interface RouteRecord {\n path: string;\n component: AnyComponentConstructor;\n name?: string;\n meta?: RouteMeta;\n}\n\nexport interface RouterOptions {\n routes: RouteRecord[];\n mode?: 'history' | 'hash';\n base?: string;\n}\n\nexport interface RouteLocation {\n path: string;\n query: Record<string, string>;\n params: Record<string, string>;\n fullPath: string;\n name?: string;\n meta?: RouteMeta;\n}\n\nexport type RouteChangeListener = (\n to: RouteLocation,\n from: RouteLocation | null\n) => void;\n\nexport class Router {\n protected currentRoute: RouteRecord | null = null;\n protected currentLocation: RouteLocation | null = null;\n private readonly routes: RouteRecord[] = [];\n private app: OneApp | null = null;\n private readonly mode: 'history' | 'hash';\n private readonly base: string;\n private readonly routeChangeListeners: RouteChangeListener[] = [];\n private removeWindowListener?: () => void;\n\n constructor(options: RouterOptions | RouteRecord[]) {\n const resolvedOptions = Array.isArray(options)\n ? { routes: options }\n : options;\n\n this.routes = resolvedOptions.routes || [];\n this.mode = resolvedOptions.mode || 'history';\n this.base = resolvedOptions.base || '/';\n this.validateRoutes();\n this.initEvents();\n this.resolveCurrentRoute();\n }\n\n public install(app: OneApp): void {\n this.app = app;\n app.router = this;\n setRouter(this);\n\n const context = app.getContext() as { router?: Router };\n context.router = this;\n\n this.resolveCurrentRoute();\n }\n\n public push(path: string): void {\n this.navigate(path, false);\n }\n\n public replace(path: string): void {\n this.navigate(path, true);\n }\n\n public forward(): void {\n window.history.forward();\n }\n\n public back(): void {\n window.history.back();\n }\n\n public go(delta: number): void {\n window.history.go(delta);\n }\n\n public getCurrentRoute(): RouteLocation | null {\n if (!this.currentLocation) {\n this.resolveCurrentRoute();\n }\n return this.currentLocation;\n }\n\n public getCurrentRouteRecord(): RouteRecord | null {\n if (!this.currentRoute) {\n this.resolveCurrentRoute();\n }\n return this.currentRoute;\n }\n\n public onRouteChange(listener: RouteChangeListener): () => void {\n this.routeChangeListeners.push(listener);\n\n return () => {\n const index = this.routeChangeListeners.indexOf(listener);\n if (index > -1) {\n this.routeChangeListeners.splice(index, 1);\n }\n };\n }\n\n public getRoutes(): RouteRecord[] {\n return [...this.routes];\n }\n\n public addRoute(route: RouteRecord): void {\n if (this.routes.some((item) => item.path === route.path)) {\n throw new Error(`Route already exists: ${route.path}`);\n }\n\n this.routes.push(route);\n\n const location = this.getCurrentLocation();\n if (location.path === route.path) {\n this.handleRouteChange();\n }\n }\n\n public createHref(path: string): string {\n return createRouterHref(path, this.mode, this.base);\n }\n\n public destroy(): void {\n this.removeWindowListener?.();\n this.removeWindowListener = undefined;\n if (this.app?.router === this) {\n this.app.router = undefined;\n }\n this.app = null;\n }\n\n private navigate(path: string, replace: boolean): void {\n if (!path || typeof path !== 'string') {\n throw new Error('Path must be a non-empty string');\n }\n\n navigateBrowser(path, replace, this.mode, this.base);\n this.handleRouteChange();\n }\n\n private validateRoutes(): void {\n if (!Array.isArray(this.routes)) {\n throw new Error('Router routes must be an array');\n }\n\n const paths = new Set<string>();\n this.routes.forEach((route) => {\n if (paths.has(route.path)) {\n throw new Error(`Duplicate route path: ${route.path}`);\n }\n paths.add(route.path);\n });\n }\n\n private initEvents(): void {\n if (typeof window === 'undefined') {\n return;\n }\n\n const eventName = this.mode === 'history' ? 'popstate' : 'hashchange';\n const listener = (): void => {\n this.handleRouteChange();\n };\n\n window.addEventListener(eventName, listener);\n this.removeWindowListener = () => {\n window.removeEventListener(eventName, listener);\n };\n }\n\n private handleRouteChange(): void {\n const fromLocation = this.currentLocation;\n const nextLocation = this.resolveCurrentRoute();\n\n if (!this.isSameLocation(fromLocation, nextLocation)) {\n this.triggerRouteChangeListeners(nextLocation, fromLocation);\n }\n }\n\n private resolveCurrentRoute(): RouteLocation {\n const location = this.getCurrentLocation();\n const match = matchRoute(this.routes, location.path);\n const route = match?.route ?? null;\n\n this.currentRoute = route;\n this.currentLocation = {\n ...location,\n params: match?.params ?? {},\n name: route?.name,\n meta: route?.meta,\n };\n\n return this.currentLocation;\n }\n\n private getCurrentLocation(): RouteLocation {\n return getBrowserLocation(this.mode, this.base);\n }\n\n private isSameLocation(\n from: RouteLocation | null,\n to: RouteLocation | null\n ): boolean {\n return from?.fullPath === to?.fullPath && from?.name === to?.name;\n }\n\n private triggerRouteChangeListeners(\n to: RouteLocation,\n from: RouteLocation | null\n ): void {\n this.routeChangeListeners.forEach((listener) => {\n try {\n listener(to, from);\n } catch (error) {\n console.error('Route change listener error:', error);\n }\n });\n }\n}\n\nexport interface RouterLinkProps {\n to: string;\n replace?: boolean;\n className?: string;\n activeClass?: string;\n children?: Array<VNode | string>;\n}\n\ninterface RouterLinkState {\n currentPath: string;\n}\n\nexport class RouterLink extends Component<RouterLinkProps, RouterLinkState> {\n private unsubscribe?: () => void;\n\n protected initState(): RouterLinkState {\n const router = this.router as Router | undefined;\n return {\n currentPath: router?.getCurrentRoute()?.path ?? window.location.pathname,\n };\n }\n\n protected initStyles(): void {}\n\n protected onMounted(): void {\n const router = this.router as Router | undefined;\n this.unsubscribe = router?.onRouteChange((to) => {\n this.state.currentPath = to.path;\n });\n }\n\n protected onUnmounted(): void {\n this.unsubscribe?.();\n }\n\n protected render(): VNode {\n const router = this.router as Router | undefined;\n const activeClass = this.props.activeClass ?? 'active';\n const isActive = this.state.currentPath === this.props.to;\n const className = [this.props.className, isActive ? activeClass : undefined]\n .filter(Boolean)\n .join(' ');\n\n return {\n tag: 'a',\n props: {\n href: router?.createHref(this.props.to) ?? this.props.to,\n className,\n },\n listeners: {\n click: (event: Event) => {\n event.preventDefault();\n if (this.props.replace) {\n router?.replace(this.props.to);\n } else {\n router?.push(this.props.to);\n }\n },\n },\n children:\n this.props.children && this.props.children.length > 0\n ? this.props.children\n : [this.props.to],\n };\n }\n}\n\ninterface RouterViewState {\n route: RouteLocation | null;\n record: RouteRecord | null;\n}\n\nexport class RouterView extends Component<object, RouterViewState> {\n private unsubscribe?: () => void;\n\n protected initState(): RouterViewState {\n const router = this.router as Router | undefined;\n return {\n route: router?.getCurrentRoute() ?? null,\n record: router?.getCurrentRouteRecord() ?? null,\n };\n }\n\n protected initStyles(): void {}\n\n protected onMounted(): void {\n const router = this.router as Router | undefined;\n this.unsubscribe = router?.onRouteChange((to) => {\n this.state.route = to;\n this.state.record = router.getCurrentRouteRecord();\n });\n }\n\n protected onUnmounted(): void {\n this.unsubscribe?.();\n }\n\n protected render(): VNode {\n const routeRecord =\n this.state.record ??\n (this.router as Router | undefined)?.getCurrentRouteRecord();\n\n return {\n tag: 'div',\n props: { 'data-router-view': '' },\n children: routeRecord ? [{ component: routeRecord.component }] : [],\n };\n }\n}\n\nexport function createRouter(options: RouterOptions | RouteRecord[]): Router {\n return new Router(options);\n}\n",
|
|
21
|
+
"import { RendererContext } from './renderer';\nimport type { ComponentInstance, Renderable } from './renderer/types';\nimport { TemplateEngine } from './template';\nimport { renderStyleSheet, type StyleSheet } from '../style/sheet';\n\nexport {\n renderStyleSheet,\n type StyleAtRule,\n type StyleProperties,\n type StyleRule,\n type StyleSheet,\n type StyleSheetEntry,\n type StyleValue,\n} from '../style/sheet';\n\nexport type HtmlAttributeValue = string | number | boolean | null | undefined;\n\nexport type HtmlAttributes = Record<string, HtmlAttributeValue>;\n\nexport type HtmlDocumentBody = Renderable | Renderable[];\n\nexport interface HtmlHeadElement {\n tag: string;\n attributes?: HtmlAttributes;\n text?: string;\n}\n\nexport interface HtmlScript {\n src: string;\n type?: string;\n async?: boolean;\n defer?: boolean;\n attributes?: HtmlAttributes;\n}\n\nexport interface HtmlDocumentOptions {\n title: string;\n body: HtmlDocumentBody;\n lang?: string;\n charset?: string;\n viewport?: string;\n description?: string;\n htmlAttributes?: HtmlAttributes;\n bodyAttributes?: HtmlAttributes;\n head?: HtmlHeadElement[];\n styles?: StyleSheet;\n scripts?: HtmlScript[];\n}\n\nconst VOID_HEAD_TAGS = new Set(['base', 'link', 'meta']);\n\nexport function renderHtmlDocument(options: HtmlDocumentOptions): string {\n const lang = options.lang ?? 'en';\n const charset = options.charset ?? 'utf-8';\n const viewport = options.viewport ?? 'width=device-width, initial-scale=1';\n const htmlAttributes = renderAttributes({\n lang,\n ...(options.htmlAttributes ?? {}),\n });\n const bodyAttributes = renderAttributes(options.bodyAttributes);\n const bodyHtml = renderDocumentBody(options.body);\n\n return [\n '<!doctype html>',\n `<html${htmlAttributes}>`,\n '<head>',\n ` <meta charset=\"${escapeHtml(charset)}\">`,\n ` <meta name=\"viewport\" content=\"${escapeHtml(viewport)}\">`,\n ` <title>${escapeHtml(options.title)}</title>`,\n options.description\n ? ` <meta name=\"description\" content=\"${escapeHtml(\n options.description\n )}\">`\n : '',\n ...(options.head ?? []).map((element) => ` ${renderHeadElement(element)}`),\n options.styles && options.styles.length > 0\n ? ` <style>${renderStyleSheet(options.styles)}</style>`\n : '',\n '</head>',\n `<body${bodyAttributes}>`,\n bodyHtml,\n ...(options.scripts ?? []).map((script) => ` ${renderScript(script)}`),\n '</body>',\n '</html>',\n ]\n .filter((line) => line !== '')\n .join('\\n');\n}\n\nfunction renderDocumentBody(body: HtmlDocumentBody): string {\n if (typeof document === 'undefined') {\n throw new Error('renderHtmlDocument requires a DOM-like document');\n }\n\n const container = document.createElement('div');\n const renderer = new RendererContext();\n const mountedComponents = new Set<ComponentInstance>();\n const renderables = Array.isArray(body) ? body : [body];\n const context = {\n templateEngine: new TemplateEngine({}),\n renderer,\n slots: { default: [] },\n registerChild: (component: ComponentInstance) => {\n mountedComponents.add(component);\n },\n unregisterChild: (component: ComponentInstance) => {\n mountedComponents.delete(component);\n },\n };\n\n renderables.forEach((renderable) => {\n container.appendChild(renderer.mount(renderable, context));\n });\n\n const html = container.innerHTML;\n mountedComponents.forEach((component) => {\n component.unmount();\n });\n\n return html;\n}\n\nfunction renderHeadElement(element: HtmlHeadElement): string {\n const attributes = renderAttributes(element.attributes);\n if (VOID_HEAD_TAGS.has(element.tag) && !element.text) {\n return `<${element.tag}${attributes}>`;\n }\n\n return `<${element.tag}${attributes}>${escapeHtml(\n element.text ?? ''\n )}</${element.tag}>`;\n}\n\nfunction renderScript(script: HtmlScript): string {\n const attributes = renderAttributes({\n type: script.type,\n src: script.src,\n async: script.async,\n defer: script.defer,\n ...(script.attributes ?? {}),\n });\n\n return `<script${attributes}></script>`;\n}\n\nfunction renderAttributes(attributes: HtmlAttributes = {}): string {\n const rendered = Object.entries(attributes)\n .flatMap(([name, value]) => {\n if (value === false || value === null || value === undefined) {\n return [];\n }\n\n return value === true\n ? [name]\n : [`${name}=\"${escapeHtml(String(value))}\"`];\n })\n .join(' ');\n\n return rendered ? ` ${rendered}` : '';\n}\n\nfunction escapeHtml(value: string): string {\n return value\n .replace(/&/g, '&')\n .replace(/</g, '<')\n .replace(/>/g, '>')\n .replace(/\"/g, '"');\n}\n",
|
|
22
|
+
"import {\n Component,\n ComponentConstructor,\n ComponentProps,\n InjectionKey,\n InjectionResult,\n} from './component';\nimport {\n renderHtmlDocument as renderDocumentShell,\n type HtmlDocumentBody,\n type HtmlDocumentOptions,\n type HtmlScript,\n} from './document';\nimport { Div } from './vnode';\nimport type { Router } from '../router';\n\nimport { TemplateEngine } from './template';\n\nconst DEFAULT_ROOT_ELEMENT = '#app';\n\n// 插件接口定义\nexport interface Plugin {\n install: (app: OneApp, ...args: unknown[]) => void;\n onMounted?: (app: OneApp) => void;\n onUpdated?: (app: OneApp) => void;\n onBeforeUnmount?: (app: OneApp) => void;\n}\n\nexport type AppDocumentOptions = Partial<Omit<HtmlDocumentOptions, 'body'>> & {\n body?: HtmlDocumentBody;\n};\n\nexport type AppDocumentRenderOptions = AppDocumentOptions;\n\n// 泛型化AppOptions接口\nexport interface AppOptions<\n TState = Record<string, unknown>,\n TConfig = Record<string, unknown>,\n TRootProps extends ComponentProps = ComponentProps,\n> {\n /** 根组件构造函数 */\n root?: ComponentConstructor<TRootProps>;\n /** 根组件 props */\n rootProps?: TRootProps;\n /** 应用挂载点,默认 #app */\n rootElement?: string | Element;\n /** 全局状态 */\n state?: TState;\n /** 全局配置 */\n config?: TConfig;\n /** HTML 文档壳配置,用于 dev/build 生成入口页面 */\n document?: AppDocumentOptions;\n}\n\n// 泛型化AppContext接口\nexport interface AppContext<TConfig = Record<string, unknown>> {\n app: OneApp;\n version: string;\n config: TConfig;\n router?: Router;\n}\n\n// 泛型化OneApp类\nexport class OneApp<\n TState extends object = Record<string, unknown>,\n TConfig extends object = Record<string, unknown>,\n TRootProps extends ComponentProps = ComponentProps,\n> {\n private container: HTMLElement | null = null;\n private rootInstance: Component | null = null;\n private mounted: boolean = false;\n private templateEngine: TemplateEngine | null = null;\n private readonly appContext: AppContext<TConfig>;\n private readonly providers = new Map<string | symbol, unknown>();\n private plugins: Array<{ plugin: Plugin; args: unknown[] }> = [];\n private unmountedCallback?: () => void;\n public router?: Router;\n\n constructor(private options: AppOptions<TState, TConfig, TRootProps> = {}) {\n this.appContext = {\n app: this as unknown as OneApp,\n version: '0.2.1',\n config: options.config || ({} as TConfig),\n };\n }\n\n private handleError(error: Error): void {\n console.error('应用错误:', error);\n // 渲染错误UI\n this.renderErrorUI(error);\n // 不立即卸载应用,而是显示错误信息\n }\n\n /**\n * 渲染错误UI\n */\n private renderErrorUI(error: Error): void {\n if (!this.container) {\n return;\n }\n\n this.container.innerHTML = `\n <div style=\"padding: 20px; background-color: #ffebee; color: #c62828; font-family: Arial, sans-serif;\">\n <h3>应用错误</h3>\n <p>${error.message}</p>\n <pre style=\"background-color: #fff; padding: 10px; border-radius: 4px; overflow: auto;\">${error.stack}</pre>\n </div>\n `;\n }\n\n /**\n * 使用插件\n */\n public use(plugin: Plugin, ...args: unknown[]): this {\n if (typeof plugin.install !== 'function') {\n throw new Error('插件必须提供 install 方法');\n }\n plugin.install(this as unknown as OneApp, ...args);\n this.plugins.push({ plugin, args });\n return this;\n }\n\n /**\n * 挂载应用\n */\n public mount(): void {\n if (this.mounted) {\n console.warn('应用已经处于运行状态');\n return;\n }\n\n const mountContainer = this.resolveMountContainer();\n if (!mountContainer) {\n return;\n }\n\n try {\n this.container = mountContainer;\n\n // 添加全局应用实例\n (globalThis as { __APP__?: unknown }).__APP__ = this;\n\n // 只有在有根组件时才创建实例\n if (this.options.root) {\n this.rootInstance = new this.options.root(this.options.rootProps);\n\n // 设置应用上下文\n if ('setAppContext' in this.rootInstance) {\n this.rootInstance.setAppContext(this.appContext);\n }\n\n // 如果有全局状态,传递给组件\n if (this.options.state && 'setState' in this.rootInstance) {\n this.rootInstance.setState(this.options.state);\n }\n\n this.rootInstance.mount(this.container);\n\n // 创建模板引擎实例\n this.templateEngine = new TemplateEngine(this.options.state || {});\n }\n\n this.mounted = true;\n\n // 触发生命周期钩子\n this.onMounted();\n } catch (error) {\n this.handleError(error as Error);\n }\n }\n\n /**\n * 卸载应用\n */\n public unmount(): void {\n if (!this.mounted) {\n console.warn('应用未处于运行状态');\n return;\n }\n\n try {\n // 触发卸载前钩子\n this.onBeforeUnmount();\n\n if (this.rootInstance) {\n // 调用组件卸载方法\n if ('unmount' in this.rootInstance) {\n this.rootInstance.unmount();\n }\n\n this.rootInstance = null;\n this.mounted = false;\n delete (globalThis as { __APP__?: unknown }).__APP__;\n }\n\n // 清除模板引擎\n if (this.templateEngine) {\n this.templateEngine.clearBindings();\n this.templateEngine = null;\n }\n\n // 清空容器\n if (this.container) {\n this.container.innerHTML = '';\n }\n\n // 触发卸载后钩子\n if (this.unmountedCallback) {\n this.unmountedCallback();\n }\n } catch (error) {\n console.error('Failed to unmount app:', error);\n }\n }\n\n /**\n * 应用是否正在运行\n */\n public isRunning(): boolean {\n return this.mounted;\n }\n\n /**\n * 更新根组件\n */\n public updateRootComponent(\n component: ComponentConstructor<TRootProps>\n ): void {\n if (this.mounted) {\n this.unmount();\n }\n this.options.root = component;\n this.mount();\n }\n\n /**\n * 更新应用状态\n */\n public update(state?: Partial<TState>): this {\n if (!this.mounted) {\n console.warn('Cannot update unmounted app');\n return this;\n }\n\n try {\n // 更新状态\n if (state && this.options.state) {\n this.options.state = { ...this.options.state, ...state };\n\n // 更新组件状态\n if (this.rootInstance && 'setState' in this.rootInstance) {\n this.rootInstance.setState(state);\n }\n\n // 更新模板引擎状态\n if (this.templateEngine) {\n // 如果存在templateEngine,更新其状态\n this.templateEngine.state = this.options.state;\n }\n }\n\n // 触发更新钩子\n this.onUpdated();\n } catch (error) {\n console.error('Failed to update app:', error);\n }\n\n return this;\n }\n\n /**\n * 获取应用上下文\n */\n public getContext(): AppContext<TConfig> {\n return this.appContext;\n }\n\n public provide<T>(key: InjectionKey<T>, value: T): this {\n this.providers.set(key, value);\n return this;\n }\n\n public inject<T>(key: InjectionKey<T>): T | undefined;\n public inject<T>(key: InjectionKey<T>, fallback: T): T;\n public inject<T>(key: InjectionKey<T>, fallback?: T): T | undefined {\n const result = this.resolveInjection(key);\n return result.found ? result.value : fallback;\n }\n\n public resolveInjection<T>(key: InjectionKey<T>): InjectionResult<T> {\n if (!this.providers.has(key)) {\n return { found: false, value: undefined };\n }\n\n return { found: true, value: this.providers.get(key) as T | undefined };\n }\n\n /**\n * 获取应用状态\n */\n public getState(): TState | undefined {\n return this.options.state;\n }\n\n /**\n * 设置应用状态\n */\n public setState(newState: TState): this {\n this.options.state = newState;\n if (this.mounted) {\n this.update();\n }\n return this;\n }\n\n /**\n * 监听应用卸载\n */\n public onUnmounted(callback: () => void): this {\n this.unmountedCallback = callback;\n return this;\n }\n\n /**\n * 生成应用入口 HTML 文档\n */\n public renderHtmlDocument(options: AppDocumentRenderOptions = {}): string {\n const appDocument = this.options.document ?? {};\n const scripts = this.mergeDocumentScripts(\n appDocument.scripts,\n options.scripts\n );\n\n return renderDocumentShell({\n ...appDocument,\n ...options,\n title: options.title ?? appDocument.title ?? 'TSone App',\n body: options.body ?? appDocument.body ?? this.createMountDocumentBody(),\n scripts,\n });\n }\n\n /**\n * 解析根元素\n */\n private resolveRootElement(selector?: string | Element): Element | null {\n if (!selector) {\n return null;\n }\n\n if (typeof selector === 'string') {\n if (typeof document === 'undefined') {\n return null;\n }\n\n return document.querySelector(selector);\n }\n\n return typeof Element !== 'undefined' && selector instanceof Element\n ? selector\n : null;\n }\n\n private resolveMountContainer(): HTMLElement | null {\n if (typeof document === 'undefined') {\n return null;\n }\n\n const rootElement = this.resolveRootElement(\n this.options.rootElement ?? DEFAULT_ROOT_ELEMENT\n );\n return rootElement instanceof HTMLElement ? rootElement : null;\n }\n\n private createMountDocumentBody(): HtmlDocumentBody {\n const rootElement = this.options.rootElement ?? DEFAULT_ROOT_ELEMENT;\n\n if (typeof rootElement === 'string') {\n return this.createMountElementFromSelector(rootElement);\n }\n\n if (typeof Element !== 'undefined' && rootElement instanceof Element) {\n const props: Record<string, string> = {};\n if (rootElement.id) {\n props.id = rootElement.id;\n }\n if (rootElement.className) {\n props.className = rootElement.className;\n }\n\n return { tag: rootElement.tagName.toLowerCase(), props };\n }\n\n return Div({ props: { id: 'app' } });\n }\n\n private createMountElementFromSelector(selector: string): HtmlDocumentBody {\n if (selector.startsWith('#') && selector.length > 1) {\n return Div({ props: { id: selector.slice(1) } });\n }\n\n if (selector.startsWith('.') && selector.length > 1) {\n return Div({ props: { className: selector.slice(1) } });\n }\n\n return Div({ props: { 'data-tsone-root': selector } });\n }\n\n private mergeDocumentScripts(\n baseScripts?: HtmlScript[],\n extraScripts?: HtmlScript[]\n ): HtmlScript[] | undefined {\n if (!baseScripts && !extraScripts) {\n return undefined;\n }\n\n return [...(baseScripts ?? []), ...(extraScripts ?? [])];\n }\n\n // 生命周期钩子\n private onMounted(): void {\n // 触发插件的mounted钩子\n this.plugins.forEach(({ plugin: pluginObj }) => {\n if (pluginObj && typeof pluginObj.onMounted === 'function') {\n pluginObj.onMounted(this as unknown as OneApp);\n }\n });\n }\n\n private onUpdated(): void {\n // 触发插件的updated钩子\n this.plugins.forEach(({ plugin: pluginObj }) => {\n if (pluginObj && typeof pluginObj.onUpdated === 'function') {\n pluginObj.onUpdated(this as unknown as OneApp);\n }\n });\n }\n\n private onBeforeUnmount(): void {\n // 触发插件的beforeUnmount钩子\n this.plugins.forEach(({ plugin: pluginObj }) => {\n if (pluginObj && typeof pluginObj.onBeforeUnmount === 'function') {\n pluginObj.onBeforeUnmount(this as unknown as OneApp);\n }\n });\n }\n}\n\n/**\n * 创建应用实例\n */\nexport function createApp<\n TState extends object = Record<string, unknown>,\n TConfig extends object = Record<string, unknown>,\n TRootProps extends ComponentProps = ComponentProps,\n>(\n options: AppOptions<TState, TConfig, TRootProps> = {}\n): OneApp<TState, TConfig, TRootProps> {\n return new OneApp<TState, TConfig, TRootProps>(options);\n}\n"
|
|
21
23
|
],
|
|
22
|
-
"mappings": "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",
|
|
23
|
-
"debugId": "
|
|
24
|
+
"mappings": "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",
|
|
25
|
+
"debugId": "ABE10854C25EBD6364756E2164756E21",
|
|
24
26
|
"names": []
|
|
25
27
|
}
|
|
@@ -57,7 +57,35 @@ ${this.convertToCSS(properties)}
|
|
|
57
57
|
}
|
|
58
58
|
}
|
|
59
59
|
|
|
60
|
-
|
|
60
|
+
// lib/style/sheet.ts
|
|
61
|
+
function renderStyleSheet(styles) {
|
|
62
|
+
return styles.map((entry) => renderStyleEntry(entry)).join(`
|
|
61
63
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
+
`);
|
|
65
|
+
}
|
|
66
|
+
function renderStyleEntry(entry, indent = "") {
|
|
67
|
+
if ("atRule" in entry) {
|
|
68
|
+
const rules = entry.rules.map((rule) => renderStyleEntry(rule, `${indent} `)).join(`
|
|
69
|
+
|
|
70
|
+
`);
|
|
71
|
+
return `${indent}${entry.atRule} {
|
|
72
|
+
${rules}
|
|
73
|
+
${indent}}`;
|
|
74
|
+
}
|
|
75
|
+
const declarations = Object.entries(entry.properties).map(([property, value]) => `${indent} ${toCssProperty(property)}: ${String(value)};`).join(`
|
|
76
|
+
`);
|
|
77
|
+
return `${indent}${entry.selector} {
|
|
78
|
+
${declarations}
|
|
79
|
+
${indent}}`;
|
|
80
|
+
}
|
|
81
|
+
function toCssProperty(property) {
|
|
82
|
+
if (property.startsWith("--") || property.includes("-")) {
|
|
83
|
+
return property;
|
|
84
|
+
}
|
|
85
|
+
return property.replace(/[A-Z]/g, (match) => `-${match.toLowerCase()}`);
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
export { StyleManager, renderStyleSheet };
|
|
89
|
+
|
|
90
|
+
//# debugId=4D9052062F0EFA4C64756E2164756E21
|
|
91
|
+
//# sourceMappingURL=index-ffzday7h.js.map
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../lib/style/StyleManager.ts"],
|
|
3
|
+
"sources": ["../lib/style/StyleManager.ts", "../lib/style/sheet.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
|
-
"export interface StyleOptions {\n selector: string;\n properties: Record<string, string | number>;\n hover?: Record<string, string | number>;\n media?: Record<string, Record<string, string | number>>;\n}\n\nexport class StyleManager {\n public styleElement: HTMLStyleElement;\n public styles: Map<string, StyleOptions> = new Map();\n\n constructor() {\n this.styleElement = document.createElement('style');\n document.head.appendChild(this.styleElement);\n }\n\n public addStyle(name: string, options: StyleOptions): void {\n this.styles.set(name, options);\n this.updateStyles();\n }\n\n public removeStyle(name: string): void {\n this.styles.delete(name);\n this.updateStyles();\n }\n\n public clearStyles(): void {\n this.styles.clear();\n this.styleElement.textContent = '';\n }\n\n public destroy(): void {\n this.clearStyles();\n this.styleElement.remove();\n }\n\n private convertToCSS(properties: Record<string, string | number>): string {\n return Object.entries(properties)\n .map(([key, value]) => {\n const cssKey = key.replace(/([A-Z])/g, '-$1').toLowerCase();\n return `${cssKey}: ${value};`;\n })\n .join('\\n');\n }\n\n private updateStyles(): void {\n let cssText = '';\n\n this.styles.forEach((style) => {\n // 基础样式\n cssText += `${style.selector} {\\n${this.convertToCSS(style.properties)}\\n}\\n`;\n\n // hover 样式\n if (style.hover) {\n cssText += `${style.selector}:hover {\\n${this.convertToCSS(style.hover)}\\n}\\n`;\n }\n\n // media 查询\n if (style.media) {\n Object.entries(style.media).forEach(([query, properties]) => {\n cssText += `@media ${query} {\\n${style.selector} {\\n${this.convertToCSS(properties)}\\n}\\n}\\n`;\n });\n }\n });\n\n this.styleElement.textContent = cssText;\n }\n}\n"
|
|
5
|
+
"export interface StyleOptions {\n selector: string;\n properties: Record<string, string | number>;\n hover?: Record<string, string | number>;\n media?: Record<string, Record<string, string | number>>;\n}\n\nexport class StyleManager {\n public styleElement: HTMLStyleElement;\n public styles: Map<string, StyleOptions> = new Map();\n\n constructor() {\n this.styleElement = document.createElement('style');\n document.head.appendChild(this.styleElement);\n }\n\n public addStyle(name: string, options: StyleOptions): void {\n this.styles.set(name, options);\n this.updateStyles();\n }\n\n public removeStyle(name: string): void {\n this.styles.delete(name);\n this.updateStyles();\n }\n\n public clearStyles(): void {\n this.styles.clear();\n this.styleElement.textContent = '';\n }\n\n public destroy(): void {\n this.clearStyles();\n this.styleElement.remove();\n }\n\n private convertToCSS(properties: Record<string, string | number>): string {\n return Object.entries(properties)\n .map(([key, value]) => {\n const cssKey = key.replace(/([A-Z])/g, '-$1').toLowerCase();\n return `${cssKey}: ${value};`;\n })\n .join('\\n');\n }\n\n private updateStyles(): void {\n let cssText = '';\n\n this.styles.forEach((style) => {\n // 基础样式\n cssText += `${style.selector} {\\n${this.convertToCSS(style.properties)}\\n}\\n`;\n\n // hover 样式\n if (style.hover) {\n cssText += `${style.selector}:hover {\\n${this.convertToCSS(style.hover)}\\n}\\n`;\n }\n\n // media 查询\n if (style.media) {\n Object.entries(style.media).forEach(([query, properties]) => {\n cssText += `@media ${query} {\\n${style.selector} {\\n${this.convertToCSS(properties)}\\n}\\n}\\n`;\n });\n }\n });\n\n this.styleElement.textContent = cssText;\n }\n}\n",
|
|
6
|
+
"export type StyleValue = string | number;\n\nexport type StyleProperties = Record<string, StyleValue>;\n\nexport interface StyleRule {\n selector: string;\n properties: StyleProperties;\n}\n\nexport interface StyleAtRule {\n atRule: string;\n rules: StyleRule[];\n}\n\nexport type StyleSheetEntry = StyleRule | StyleAtRule;\n\nexport type StyleSheet = StyleSheetEntry[];\n\nexport function renderStyleSheet(styles: StyleSheet): string {\n return styles.map((entry) => renderStyleEntry(entry)).join('\\n\\n');\n}\n\nfunction renderStyleEntry(entry: StyleSheetEntry, indent = ''): string {\n if ('atRule' in entry) {\n const rules = entry.rules\n .map((rule) => renderStyleEntry(rule, `${indent} `))\n .join('\\n\\n');\n\n return `${indent}${entry.atRule} {\\n${rules}\\n${indent}}`;\n }\n\n const declarations = Object.entries(entry.properties)\n .map(\n ([property, value]) =>\n `${indent} ${toCssProperty(property)}: ${String(value)};`\n )\n .join('\\n');\n\n return `${indent}${entry.selector} {\\n${declarations}\\n${indent}}`;\n}\n\nfunction toCssProperty(property: string): string {\n if (property.startsWith('--') || property.includes('-')) {\n return property;\n }\n\n return property.replace(/[A-Z]/g, (match) => `-${match.toLowerCase()}`);\n}\n"
|
|
6
7
|
],
|
|
7
|
-
"mappings": ";AAOO,MAAM,aAAa;AAAA,EACjB;AAAA,EACA,SAAoC,IAAI;AAAA,EAE/C,WAAW,GAAG;AAAA,IACZ,KAAK,eAAe,SAAS,cAAc,OAAO;AAAA,IAClD,SAAS,KAAK,YAAY,KAAK,YAAY;AAAA;AAAA,EAGtC,QAAQ,CAAC,MAAc,SAA6B;AAAA,IACzD,KAAK,OAAO,IAAI,MAAM,OAAO;AAAA,IAC7B,KAAK,aAAa;AAAA;AAAA,EAGb,WAAW,CAAC,MAAoB;AAAA,IACrC,KAAK,OAAO,OAAO,IAAI;AAAA,IACvB,KAAK,aAAa;AAAA;AAAA,EAGb,WAAW,GAAS;AAAA,IACzB,KAAK,OAAO,MAAM;AAAA,IAClB,KAAK,aAAa,cAAc;AAAA;AAAA,EAG3B,OAAO,GAAS;AAAA,IACrB,KAAK,YAAY;AAAA,IACjB,KAAK,aAAa,OAAO;AAAA;AAAA,EAGnB,YAAY,CAAC,YAAqD;AAAA,IACxE,OAAO,OAAO,QAAQ,UAAU,EAC7B,IAAI,EAAE,KAAK,WAAW;AAAA,MACrB,MAAM,SAAS,IAAI,QAAQ,YAAY,KAAK,EAAE,YAAY;AAAA,MAC1D,OAAO,GAAG,WAAW;AAAA,KACtB,EACA,KAAK;AAAA,CAAI;AAAA;AAAA,EAGN,YAAY,GAAS;AAAA,IAC3B,IAAI,UAAU;AAAA,IAEd,KAAK,OAAO,QAAQ,CAAC,UAAU;AAAA,MAE7B,WAAW,GAAG,MAAM;AAAA,EAAe,KAAK,aAAa,MAAM,UAAU;AAAA;AAAA;AAAA,MAGrE,IAAI,MAAM,OAAO;AAAA,QACf,WAAW,GAAG,MAAM;AAAA,EAAqB,KAAK,aAAa,MAAM,KAAK;AAAA;AAAA;AAAA,MACxE;AAAA,MAGA,IAAI,MAAM,OAAO;AAAA,QACf,OAAO,QAAQ,MAAM,KAAK,EAAE,QAAQ,EAAE,OAAO,gBAAgB;AAAA,UAC3D,WAAW,UAAU;AAAA,EAAY,MAAM;AAAA,EAAe,KAAK,aAAa,UAAU;AAAA;AAAA;AAAA;AAAA,SACnF;AAAA,MACH;AAAA,KACD;AAAA,IAED,KAAK,aAAa,cAAc;AAAA;AAEpC;",
|
|
8
|
-
"debugId": "
|
|
8
|
+
"mappings": ";AAOO,MAAM,aAAa;AAAA,EACjB;AAAA,EACA,SAAoC,IAAI;AAAA,EAE/C,WAAW,GAAG;AAAA,IACZ,KAAK,eAAe,SAAS,cAAc,OAAO;AAAA,IAClD,SAAS,KAAK,YAAY,KAAK,YAAY;AAAA;AAAA,EAGtC,QAAQ,CAAC,MAAc,SAA6B;AAAA,IACzD,KAAK,OAAO,IAAI,MAAM,OAAO;AAAA,IAC7B,KAAK,aAAa;AAAA;AAAA,EAGb,WAAW,CAAC,MAAoB;AAAA,IACrC,KAAK,OAAO,OAAO,IAAI;AAAA,IACvB,KAAK,aAAa;AAAA;AAAA,EAGb,WAAW,GAAS;AAAA,IACzB,KAAK,OAAO,MAAM;AAAA,IAClB,KAAK,aAAa,cAAc;AAAA;AAAA,EAG3B,OAAO,GAAS;AAAA,IACrB,KAAK,YAAY;AAAA,IACjB,KAAK,aAAa,OAAO;AAAA;AAAA,EAGnB,YAAY,CAAC,YAAqD;AAAA,IACxE,OAAO,OAAO,QAAQ,UAAU,EAC7B,IAAI,EAAE,KAAK,WAAW;AAAA,MACrB,MAAM,SAAS,IAAI,QAAQ,YAAY,KAAK,EAAE,YAAY;AAAA,MAC1D,OAAO,GAAG,WAAW;AAAA,KACtB,EACA,KAAK;AAAA,CAAI;AAAA;AAAA,EAGN,YAAY,GAAS;AAAA,IAC3B,IAAI,UAAU;AAAA,IAEd,KAAK,OAAO,QAAQ,CAAC,UAAU;AAAA,MAE7B,WAAW,GAAG,MAAM;AAAA,EAAe,KAAK,aAAa,MAAM,UAAU;AAAA;AAAA;AAAA,MAGrE,IAAI,MAAM,OAAO;AAAA,QACf,WAAW,GAAG,MAAM;AAAA,EAAqB,KAAK,aAAa,MAAM,KAAK;AAAA;AAAA;AAAA,MACxE;AAAA,MAGA,IAAI,MAAM,OAAO;AAAA,QACf,OAAO,QAAQ,MAAM,KAAK,EAAE,QAAQ,EAAE,OAAO,gBAAgB;AAAA,UAC3D,WAAW,UAAU;AAAA,EAAY,MAAM;AAAA,EAAe,KAAK,aAAa,UAAU;AAAA;AAAA;AAAA;AAAA,SACnF;AAAA,MACH;AAAA,KACD;AAAA,IAED,KAAK,aAAa,cAAc;AAAA;AAEpC;;;ACjDO,SAAS,gBAAgB,CAAC,QAA4B;AAAA,EAC3D,OAAO,OAAO,IAAI,CAAC,UAAU,iBAAiB,KAAK,CAAC,EAAE,KAAK;AAAA;AAAA,CAAM;AAAA;AAGnE,SAAS,gBAAgB,CAAC,OAAwB,SAAS,IAAY;AAAA,EACrE,IAAI,YAAY,OAAO;AAAA,IACrB,MAAM,QAAQ,MAAM,MACjB,IAAI,CAAC,SAAS,iBAAiB,MAAM,GAAG,UAAU,CAAC,EACnD,KAAK;AAAA;AAAA,CAAM;AAAA,IAEd,OAAO,GAAG,SAAS,MAAM;AAAA,EAAa;AAAA,EAAU;AAAA,EAClD;AAAA,EAEA,MAAM,eAAe,OAAO,QAAQ,MAAM,UAAU,EACjD,IACC,EAAE,UAAU,WACV,GAAG,WAAW,cAAc,QAAQ,MAAM,OAAO,KAAK,IAC1D,EACC,KAAK;AAAA,CAAI;AAAA,EAEZ,OAAO,GAAG,SAAS,MAAM;AAAA,EAAe;AAAA,EAAiB;AAAA;AAG3D,SAAS,aAAa,CAAC,UAA0B;AAAA,EAC/C,IAAI,SAAS,WAAW,IAAI,KAAK,SAAS,SAAS,GAAG,GAAG;AAAA,IACvD,OAAO;AAAA,EACT;AAAA,EAEA,OAAO,SAAS,QAAQ,UAAU,CAAC,UAAU,IAAI,MAAM,YAAY,GAAG;AAAA;",
|
|
9
|
+
"debugId": "4D9052062F0EFA4C64756E2164756E21",
|
|
9
10
|
"names": []
|
|
10
11
|
}
|
package/dist/index.d.ts
CHANGED
|
@@ -3,5 +3,5 @@ import type { ComponentProps } from './core/component';
|
|
|
3
3
|
export * from './core';
|
|
4
4
|
export * from './router';
|
|
5
5
|
export declare function createApp<TState extends object = Record<string, unknown>, TConfig extends object = Record<string, unknown>, TRootProps extends ComponentProps = ComponentProps>(options?: AppOptions<TState, TConfig, TRootProps>): OneApp<TState, TConfig, TRootProps>;
|
|
6
|
-
export declare const version = "0.
|
|
6
|
+
export declare const version = "0.2.1";
|
|
7
7
|
export declare const name = "@geektech/tsone";
|