annil 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8 -0
- package/LICENSE +21 -0
- package/README.md +4 -0
- package/dist/api/DefineComponent/NameOrPage/NameOrPathOption.d.ts +7 -0
- package/dist/api/DefineComponent/NameOrPage/NameOrPathOption.js +2 -0
- package/dist/api/DefineComponent/NameOrPage/NameOrPathOption.js.map +1 -0
- package/dist/api/DefineComponent/NameOrPage/test/error.test.d.ts +1 -0
- package/dist/api/DefineComponent/NameOrPage/test/error.test.js +18 -0
- package/dist/api/DefineComponent/NameOrPage/test/error.test.js.map +1 -0
- package/dist/api/DefineComponent/NameOrPage/test/normal.test.d.ts +1 -0
- package/dist/api/DefineComponent/NameOrPage/test/normal.test.js +10 -0
- package/dist/api/DefineComponent/NameOrPage/test/normal.test.js.map +1 -0
- package/dist/api/DefineComponent/ReturnType/ComponentDoc.d.ts +9 -0
- package/dist/api/DefineComponent/ReturnType/ComponentDoc.js +2 -0
- package/dist/api/DefineComponent/ReturnType/ComponentDoc.js.map +1 -0
- package/dist/api/DefineComponent/ReturnType/CreateComponentDoc.d.ts +19 -0
- package/dist/api/DefineComponent/ReturnType/CreateComponentDoc.js +2 -0
- package/dist/api/DefineComponent/ReturnType/CreateComponentDoc.js.map +1 -0
- package/dist/api/DefineComponent/ReturnType/CreatePageDoc.d.ts +11 -0
- package/dist/api/DefineComponent/ReturnType/CreatePageDoc.js +2 -0
- package/dist/api/DefineComponent/ReturnType/CreatePageDoc.js.map +1 -0
- package/dist/api/DefineComponent/ReturnType/GetCustomEventDocOfSubDoc.d.ts +7 -0
- package/dist/api/DefineComponent/ReturnType/GetCustomEventDocOfSubDoc.js +2 -0
- package/dist/api/DefineComponent/ReturnType/GetCustomEventDocOfSubDoc.js.map +1 -0
- package/dist/api/DefineComponent/ReturnType/GetPropertiesDocOfSubDoc.d.ts +5 -0
- package/dist/api/DefineComponent/ReturnType/GetPropertiesDocOfSubDoc.js +2 -0
- package/dist/api/DefineComponent/ReturnType/GetPropertiesDocOfSubDoc.js.map +1 -0
- package/dist/api/DefineComponent/ReturnType/PageDoc.d.ts +8 -0
- package/dist/api/DefineComponent/ReturnType/PageDoc.js +2 -0
- package/dist/api/DefineComponent/ReturnType/PageDoc.js.map +1 -0
- package/dist/api/DefineComponent/ReturnType/test/normalComponentDoc.test.d.ts +1 -0
- package/dist/api/DefineComponent/ReturnType/test/normalComponentDoc.test.js +93 -0
- package/dist/api/DefineComponent/ReturnType/test/normalComponentDoc.test.js.map +1 -0
- package/dist/api/DefineComponent/ReturnType/test/normalPageDoc.test.d.ts +1 -0
- package/dist/api/DefineComponent/ReturnType/test/normalPageDoc.test.js +25 -0
- package/dist/api/DefineComponent/ReturnType/test/normalPageDoc.test.js.map +1 -0
- package/dist/api/DefineComponent/RootComponent/RootComponentOption.d.ts +4 -0
- package/dist/api/DefineComponent/RootComponent/RootComponentOption.js +2 -0
- package/dist/api/DefineComponent/RootComponent/RootComponentOption.js.map +1 -0
- package/dist/api/DefineComponent/SubComponents/SubComponentsOption.d.ts +4 -0
- package/dist/api/DefineComponent/SubComponents/SubComponentsOption.js +2 -0
- package/dist/api/DefineComponent/SubComponents/SubComponentsOption.js.map +1 -0
- package/dist/api/DefineComponent/SubComponents/test/error.test.d.ts +0 -0
- package/dist/api/DefineComponent/SubComponents/test/error.test.js +2 -0
- package/dist/api/DefineComponent/SubComponents/test/error.test.js.map +1 -0
- package/dist/api/DefineComponent/SubComponents/test/normal.test.d.ts +1 -0
- package/dist/api/DefineComponent/SubComponents/test/normal.test.js +1022 -0
- package/dist/api/DefineComponent/SubComponents/test/normal.test.js.map +1 -0
- package/dist/api/DefineComponent/index.d.ts +61 -0
- package/dist/api/DefineComponent/index.js +35 -0
- package/dist/api/DefineComponent/index.js.map +1 -0
- package/dist/api/InstanceInject/InstanceInject.d.ts +0 -0
- package/dist/api/InstanceInject/InstanceInject.js +2 -0
- package/dist/api/InstanceInject/InstanceInject.js.map +1 -0
- package/dist/api/InstanceInject/test/InjectConfig.d.ts +0 -0
- package/dist/api/InstanceInject/test/InjectConfig.js +2 -0
- package/dist/api/InstanceInject/test/InjectConfig.js.map +1 -0
- package/dist/api/RootComponent/Computed/ComputedConstraint.d.ts +1 -0
- package/dist/api/RootComponent/Computed/ComputedConstraint.js +2 -0
- package/dist/api/RootComponent/Computed/ComputedConstraint.js.map +1 -0
- package/dist/api/RootComponent/Computed/ComputedOption.d.ts +5 -0
- package/dist/api/RootComponent/Computed/ComputedOption.js +2 -0
- package/dist/api/RootComponent/Computed/ComputedOption.js.map +1 -0
- package/dist/api/RootComponent/Computed/GetComputedDoc.d.ts +4 -0
- package/dist/api/RootComponent/Computed/GetComputedDoc.js +2 -0
- package/dist/api/RootComponent/Computed/GetComputedDoc.js.map +1 -0
- package/dist/api/RootComponent/Computed/test/GetComputedDoc.test.d.ts +1 -0
- package/dist/api/RootComponent/Computed/test/GetComputedDoc.test.js +4 -0
- package/dist/api/RootComponent/Computed/test/GetComputedDoc.test.js.map +1 -0
- package/dist/api/RootComponent/Computed/test/error.test.d.ts +1 -0
- package/dist/api/RootComponent/Computed/test/error.test.js +28 -0
- package/dist/api/RootComponent/Computed/test/error.test.js.map +1 -0
- package/dist/api/RootComponent/Computed/test/normal.test.d.ts +1 -0
- package/dist/api/RootComponent/Computed/test/normal.test.js +55 -0
- package/dist/api/RootComponent/Computed/test/normal.test.js.map +1 -0
- package/dist/api/RootComponent/CustomEvents/CustomEventConstraint.d.ts +35 -0
- package/dist/api/RootComponent/CustomEvents/CustomEventConstraint.js +2 -0
- package/dist/api/RootComponent/CustomEvents/CustomEventConstraint.js.map +1 -0
- package/dist/api/RootComponent/CustomEvents/CustomEventsDoc.d.ts +5 -0
- package/dist/api/RootComponent/CustomEvents/CustomEventsDoc.js +2 -0
- package/dist/api/RootComponent/CustomEvents/CustomEventsDoc.js.map +1 -0
- package/dist/api/RootComponent/CustomEvents/CustomEventsOption.d.ts +5 -0
- package/dist/api/RootComponent/CustomEvents/CustomEventsOption.js +2 -0
- package/dist/api/RootComponent/CustomEvents/CustomEventsOption.js.map +1 -0
- package/dist/api/RootComponent/CustomEvents/CustomEventsTag.d.ts +11 -0
- package/dist/api/RootComponent/CustomEvents/CustomEventsTag.js +2 -0
- package/dist/api/RootComponent/CustomEvents/CustomEventsTag.js.map +1 -0
- package/dist/api/RootComponent/CustomEvents/GetCustomEventDoc.d.ts +9 -0
- package/dist/api/RootComponent/CustomEvents/GetCustomEventDoc.js +2 -0
- package/dist/api/RootComponent/CustomEvents/GetCustomEventDoc.js.map +1 -0
- package/dist/api/RootComponent/CustomEvents/test/GetCustomEventDoc.test.d.ts +14 -0
- package/dist/api/RootComponent/CustomEvents/test/GetCustomEventDoc.test.js +4 -0
- package/dist/api/RootComponent/CustomEvents/test/GetCustomEventDoc.test.js.map +1 -0
- package/dist/api/RootComponent/CustomEvents/test/GetFullEventDoc.test.d.ts +7 -0
- package/dist/api/RootComponent/CustomEvents/test/GetFullEventDoc.test.js +9 -0
- package/dist/api/RootComponent/CustomEvents/test/GetFullEventDoc.test.js.map +1 -0
- package/dist/api/RootComponent/CustomEvents/test/GetShortEventDoc.test.d.ts +4 -0
- package/dist/api/RootComponent/CustomEvents/test/GetShortEventDoc.test.js +7 -0
- package/dist/api/RootComponent/CustomEvents/test/GetShortEventDoc.test.js.map +1 -0
- package/dist/api/RootComponent/CustomEvents/test/error.test.d.ts +1 -0
- package/dist/api/RootComponent/CustomEvents/test/error.test.js +73 -0
- package/dist/api/RootComponent/CustomEvents/test/error.test.js.map +1 -0
- package/dist/api/RootComponent/CustomEvents/test/normal.test.d.ts +97 -0
- package/dist/api/RootComponent/CustomEvents/test/normal.test.js +46 -0
- package/dist/api/RootComponent/CustomEvents/test/normal.test.js.map +1 -0
- package/dist/api/RootComponent/Data/DataOption.d.ts +4 -0
- package/dist/api/RootComponent/Data/DataOption.js +2 -0
- package/dist/api/RootComponent/Data/DataOption.js.map +1 -0
- package/dist/api/RootComponent/Data/GetDataDoc.d.ts +4 -0
- package/dist/api/RootComponent/Data/GetDataDoc.js +2 -0
- package/dist/api/RootComponent/Data/GetDataDoc.js.map +1 -0
- package/dist/api/RootComponent/Data/expected/error.d.ts +1 -0
- package/dist/api/RootComponent/Data/expected/error.js +10 -0
- package/dist/api/RootComponent/Data/expected/error.js.map +1 -0
- package/dist/api/RootComponent/Data/expected/normal.d.ts +1 -0
- package/dist/api/RootComponent/Data/expected/normal.js +33 -0
- package/dist/api/RootComponent/Data/expected/normal.js.map +1 -0
- package/dist/api/RootComponent/Data/test/GetDataDoc.test.d.ts +6 -0
- package/dist/api/RootComponent/Data/test/GetDataDoc.test.js +13 -0
- package/dist/api/RootComponent/Data/test/GetDataDoc.test.js.map +1 -0
- package/dist/api/RootComponent/Data/test/error.test.d.ts +1 -0
- package/dist/api/RootComponent/Data/test/error.test.js +10 -0
- package/dist/api/RootComponent/Data/test/error.test.js.map +1 -0
- package/dist/api/RootComponent/Data/test/normal.test.d.ts +1 -0
- package/dist/api/RootComponent/Data/test/normal.test.js +33 -0
- package/dist/api/RootComponent/Data/test/normal.test.js.map +1 -0
- package/dist/api/RootComponent/Events/EventsConstraint.d.ts +16 -0
- package/dist/api/RootComponent/Events/EventsConstraint.js +2 -0
- package/dist/api/RootComponent/Events/EventsConstraint.js.map +1 -0
- package/dist/api/RootComponent/Events/EventsOption.d.ts +4 -0
- package/dist/api/RootComponent/Events/EventsOption.js +2 -0
- package/dist/api/RootComponent/Events/EventsOption.js.map +1 -0
- package/dist/api/RootComponent/Events/test/normal.test.d.ts +1 -0
- package/dist/api/RootComponent/Events/test/normal.test.js +59 -0
- package/dist/api/RootComponent/Events/test/normal.test.js.map +1 -0
- package/dist/api/RootComponent/Instance/CustomEventMethods.d.ts +5 -0
- package/dist/api/RootComponent/Instance/CustomEventMethods.js +2 -0
- package/dist/api/RootComponent/Instance/CustomEventMethods.js.map +1 -0
- package/dist/api/RootComponent/Instance/CustomSetData.d.ts +7 -0
- package/dist/api/RootComponent/Instance/CustomSetData.js +2 -0
- package/dist/api/RootComponent/Instance/CustomSetData.js.map +1 -0
- package/dist/api/RootComponent/Instance/RootComponentInstance.d.ts +18 -0
- package/dist/api/RootComponent/Instance/RootComponentInstance.js +2 -0
- package/dist/api/RootComponent/Instance/RootComponentInstance.js.map +1 -0
- package/dist/api/RootComponent/Instance/test/CustomEventsDoc.test.d.ts +1 -0
- package/dist/api/RootComponent/Instance/test/CustomEventsDoc.test.js +58 -0
- package/dist/api/RootComponent/Instance/test/CustomEventsDoc.test.js.map +1 -0
- package/dist/api/RootComponent/Instance/test/CustomSetData.test.d.ts +1 -0
- package/dist/api/RootComponent/Instance/test/CustomSetData.test.js +42 -0
- package/dist/api/RootComponent/Instance/test/CustomSetData.test.js.map +1 -0
- package/dist/api/RootComponent/Instance/test/customEvents/error.test.d.ts +1 -0
- package/dist/api/RootComponent/Instance/test/customEvents/error.test.js +12 -0
- package/dist/api/RootComponent/Instance/test/customEvents/error.test.js.map +1 -0
- package/dist/api/RootComponent/Instance/test/customEvents/normal.test.d.ts +1 -0
- package/dist/api/RootComponent/Instance/test/customEvents/normal.test.js +58 -0
- package/dist/api/RootComponent/Instance/test/customEvents/normal.test.js.map +1 -0
- package/dist/api/RootComponent/Instance/test/methods/error.test.d.ts +1 -0
- package/dist/api/RootComponent/Instance/test/methods/error.test.js +12 -0
- package/dist/api/RootComponent/Instance/test/methods/error.test.js.map +1 -0
- package/dist/api/RootComponent/Instance/test/methods/mormal.test.d.ts +1 -0
- package/dist/api/RootComponent/Instance/test/methods/mormal.test.js +15 -0
- package/dist/api/RootComponent/Instance/test/methods/mormal.test.js.map +1 -0
- package/dist/api/RootComponent/Instance/test/properties/mormal.test.d.ts +1 -0
- package/dist/api/RootComponent/Instance/test/properties/mormal.test.js +34 -0
- package/dist/api/RootComponent/Instance/test/properties/mormal.test.js.map +1 -0
- package/dist/api/RootComponent/Instance/test/setData/error.test.d.ts +1 -0
- package/dist/api/RootComponent/Instance/test/setData/error.test.js +57 -0
- package/dist/api/RootComponent/Instance/test/setData/error.test.js.map +1 -0
- package/dist/api/RootComponent/Instance/test/setData/normal.test.d.ts +1 -0
- package/dist/api/RootComponent/Instance/test/setData/normal.test.js +47 -0
- package/dist/api/RootComponent/Instance/test/setData/normal.test.js.map +1 -0
- package/dist/api/RootComponent/IsPage/IsPageOption.d.ts +3 -0
- package/dist/api/RootComponent/IsPage/IsPageOption.js +2 -0
- package/dist/api/RootComponent/IsPage/IsPageOption.js.map +1 -0
- package/dist/api/RootComponent/IsPage/test/normal.test.d.ts +1 -0
- package/dist/api/RootComponent/IsPage/test/normal.test.js +13 -0
- package/dist/api/RootComponent/IsPage/test/normal.test.js.map +1 -0
- package/dist/api/RootComponent/Lifetimes/LifetimesConstraint.d.ts +2 -0
- package/dist/api/RootComponent/Lifetimes/LifetimesConstraint.js +2 -0
- package/dist/api/RootComponent/Lifetimes/LifetimesConstraint.js.map +1 -0
- package/dist/api/RootComponent/Lifetimes/LifetimesOption.d.ts +4 -0
- package/dist/api/RootComponent/Lifetimes/LifetimesOption.js +2 -0
- package/dist/api/RootComponent/Lifetimes/LifetimesOption.js.map +1 -0
- package/dist/api/RootComponent/Lifetimes/test/error.test.d.ts +1 -0
- package/dist/api/RootComponent/Lifetimes/test/error.test.js +19 -0
- package/dist/api/RootComponent/Lifetimes/test/error.test.js.map +1 -0
- package/dist/api/RootComponent/Lifetimes/test/normal.test.d.ts +1 -0
- package/dist/api/RootComponent/Lifetimes/test/normal.test.js +19 -0
- package/dist/api/RootComponent/Lifetimes/test/normal.test.js.map +1 -0
- package/dist/api/RootComponent/Methods/MethodsConstraint.d.ts +2 -0
- package/dist/api/RootComponent/Methods/MethodsConstraint.js +2 -0
- package/dist/api/RootComponent/Methods/MethodsConstraint.js.map +1 -0
- package/dist/api/RootComponent/Methods/MethodsOption.d.ts +5 -0
- package/dist/api/RootComponent/Methods/MethodsOption.js +2 -0
- package/dist/api/RootComponent/Methods/MethodsOption.js.map +1 -0
- package/dist/api/RootComponent/Methods/test/error.test.d.ts +1 -0
- package/dist/api/RootComponent/Methods/test/error.test.js +30 -0
- package/dist/api/RootComponent/Methods/test/error.test.js.map +1 -0
- package/dist/api/RootComponent/Methods/test/mormal.test.d.ts +1 -0
- package/dist/api/RootComponent/Methods/test/mormal.test.js +14 -0
- package/dist/api/RootComponent/Methods/test/mormal.test.js.map +1 -0
- package/dist/api/RootComponent/PageLifetimes/PageLifetimesOption.d.ts +13 -0
- package/dist/api/RootComponent/PageLifetimes/PageLifetimesOption.js +2 -0
- package/dist/api/RootComponent/PageLifetimes/PageLifetimesOption.js.map +1 -0
- package/dist/api/RootComponent/PageLifetimes/test/error.test.d.ts +1 -0
- package/dist/api/RootComponent/PageLifetimes/test/error.test.js +20 -0
- package/dist/api/RootComponent/PageLifetimes/test/error.test.js.map +1 -0
- package/dist/api/RootComponent/PageLifetimes/test/normal.test.d.ts +1 -0
- package/dist/api/RootComponent/PageLifetimes/test/normal.test.js +36 -0
- package/dist/api/RootComponent/PageLifetimes/test/normal.test.js.map +1 -0
- package/dist/api/RootComponent/Properties/GetOptionalDoc.d.ts +8 -0
- package/dist/api/RootComponent/Properties/GetOptionalDoc.js +2 -0
- package/dist/api/RootComponent/Properties/GetOptionalDoc.js.map +1 -0
- package/dist/api/RootComponent/Properties/GetPropertiesDoc.d.ts +9 -0
- package/dist/api/RootComponent/Properties/GetPropertiesDoc.js +2 -0
- package/dist/api/RootComponent/Properties/GetPropertiesDoc.js.map +1 -0
- package/dist/api/RootComponent/Properties/GetRequiredDoc.d.ts +8 -0
- package/dist/api/RootComponent/Properties/GetRequiredDoc.js +2 -0
- package/dist/api/RootComponent/Properties/GetRequiredDoc.js.map +1 -0
- package/dist/api/RootComponent/Properties/PropertiesConstraint.d.ts +14 -0
- package/dist/api/RootComponent/Properties/PropertiesConstraint.js +2 -0
- package/dist/api/RootComponent/Properties/PropertiesConstraint.js.map +1 -0
- package/dist/api/RootComponent/Properties/PropertiesOption.d.ts +10 -0
- package/dist/api/RootComponent/Properties/PropertiesOption.js +2 -0
- package/dist/api/RootComponent/Properties/PropertiesOption.js.map +1 -0
- package/dist/api/RootComponent/Properties/PropertiesValueValidator.d.ts +10 -0
- package/dist/api/RootComponent/Properties/PropertiesValueValidator.js +2 -0
- package/dist/api/RootComponent/Properties/PropertiesValueValidator.js.map +1 -0
- package/dist/api/RootComponent/Properties/expected/error.d.ts +1 -0
- package/dist/api/RootComponent/Properties/expected/error.js +38 -0
- package/dist/api/RootComponent/Properties/expected/error.js.map +1 -0
- package/dist/api/RootComponent/Properties/expected/normalEmpty.d.ts +1 -0
- package/dist/api/RootComponent/Properties/expected/normalEmpty.js +20 -0
- package/dist/api/RootComponent/Properties/expected/normalEmpty.js.map +1 -0
- package/dist/api/RootComponent/Properties/expected/normalOptional.d.ts +1 -0
- package/dist/api/RootComponent/Properties/expected/normalOptional.js +80 -0
- package/dist/api/RootComponent/Properties/expected/normalOptional.js.map +1 -0
- package/dist/api/RootComponent/Properties/expected/normalRequired.d.ts +69 -0
- package/dist/api/RootComponent/Properties/expected/normalRequired.js +44 -0
- package/dist/api/RootComponent/Properties/expected/normalRequired.js.map +1 -0
- package/dist/api/RootComponent/Properties/test/error.test.d.ts +1 -0
- package/dist/api/RootComponent/Properties/test/error.test.js +38 -0
- package/dist/api/RootComponent/Properties/test/error.test.js.map +1 -0
- package/dist/api/RootComponent/Properties/test/normalEmpty.test..d.ts +1 -0
- package/dist/api/RootComponent/Properties/test/normalEmpty.test..js +20 -0
- package/dist/api/RootComponent/Properties/test/normalEmpty.test..js.map +1 -0
- package/dist/api/RootComponent/Properties/test/normalOptional.test.d.ts +1 -0
- package/dist/api/RootComponent/Properties/test/normalOptional.test.js +41 -0
- package/dist/api/RootComponent/Properties/test/normalOptional.test.js.map +1 -0
- package/dist/api/RootComponent/Properties/test/normalRequired.test.d.ts +93 -0
- package/dist/api/RootComponent/Properties/test/normalRequired.test.js +44 -0
- package/dist/api/RootComponent/Properties/test/normalRequired.test.js.map +1 -0
- package/dist/api/RootComponent/RootComponentDoc.d.ts +21 -0
- package/dist/api/RootComponent/RootComponentDoc.js +2 -0
- package/dist/api/RootComponent/RootComponentDoc.js.map +1 -0
- package/dist/api/RootComponent/Store/GeTStoreDoc.d.ts +4 -0
- package/dist/api/RootComponent/Store/GeTStoreDoc.js +2 -0
- package/dist/api/RootComponent/Store/GeTStoreDoc.js.map +1 -0
- package/dist/api/RootComponent/Store/StoreConstraint.d.ts +1 -0
- package/dist/api/RootComponent/Store/StoreConstraint.js +2 -0
- package/dist/api/RootComponent/Store/StoreConstraint.js.map +1 -0
- package/dist/api/RootComponent/Store/StoreOption.d.ts +5 -0
- package/dist/api/RootComponent/Store/StoreOption.js +2 -0
- package/dist/api/RootComponent/Store/StoreOption.js.map +1 -0
- package/dist/api/RootComponent/Store/test/error.test.d.ts +1 -0
- package/dist/api/RootComponent/Store/test/error.test.js +24 -0
- package/dist/api/RootComponent/Store/test/error.test.js.map +1 -0
- package/dist/api/RootComponent/Store/test/normal.test.d.ts +1 -0
- package/dist/api/RootComponent/Store/test/normal.test.js +13 -0
- package/dist/api/RootComponent/Store/test/normal.test.js.map +1 -0
- package/dist/api/RootComponent/Watch/WatchOption.d.ts +22 -0
- package/dist/api/RootComponent/Watch/WatchOption.js +2 -0
- package/dist/api/RootComponent/Watch/WatchOption.js.map +1 -0
- package/dist/api/RootComponent/Watch/test/WatchComputed.test.d.ts +1 -0
- package/dist/api/RootComponent/Watch/test/WatchComputed.test.js +30 -0
- package/dist/api/RootComponent/Watch/test/WatchComputed.test.js.map +1 -0
- package/dist/api/RootComponent/Watch/test/WatchData.test.d.ts +1 -0
- package/dist/api/RootComponent/Watch/test/WatchData.test.js +40 -0
- package/dist/api/RootComponent/Watch/test/WatchData.test.js.map +1 -0
- package/dist/api/RootComponent/Watch/test/WatchProperties.test.d.ts +1 -0
- package/dist/api/RootComponent/Watch/test/WatchProperties.test.js +111 -0
- package/dist/api/RootComponent/Watch/test/WatchProperties.test.js.map +1 -0
- package/dist/api/RootComponent/Watch/test/error.test.d.ts +1 -0
- package/dist/api/RootComponent/Watch/test/error.test.js +25 -0
- package/dist/api/RootComponent/Watch/test/error.test.js.map +1 -0
- package/dist/api/RootComponent/index.d.ts +51 -0
- package/dist/api/RootComponent/index.js +4 -0
- package/dist/api/RootComponent/index.js.map +1 -0
- package/dist/api/SubComponent/SubComponentDoc.d.ts +8 -0
- package/dist/api/SubComponent/SubComponentDoc.js +2 -0
- package/dist/api/SubComponent/SubComponentDoc.js.map +1 -0
- package/dist/api/SubComponent/SubComputed/GetSubComputedDoc.d.ts +4 -0
- package/dist/api/SubComponent/SubComputed/GetSubComputedDoc.js +2 -0
- package/dist/api/SubComponent/SubComputed/GetSubComputedDoc.js.map +1 -0
- package/dist/api/SubComponent/SubComputed/SubComputedConstraint.d.ts +3 -0
- package/dist/api/SubComponent/SubComputed/SubComputedConstraint.js +2 -0
- package/dist/api/SubComponent/SubComputed/SubComputedConstraint.js.map +1 -0
- package/dist/api/SubComponent/SubComputed/SubComputedOption.d.ts +4 -0
- package/dist/api/SubComponent/SubComputed/SubComputedOption.js +2 -0
- package/dist/api/SubComponent/SubComputed/SubComputedOption.js.map +1 -0
- package/dist/api/SubComponent/SubComputed/test/error.test.d.ts +1 -0
- package/dist/api/SubComponent/SubComputed/test/error.test.js +30 -0
- package/dist/api/SubComponent/SubComputed/test/error.test.js.map +1 -0
- package/dist/api/SubComponent/SubComputed/test/normal.test.d.ts +1 -0
- package/dist/api/SubComponent/SubComputed/test/normal.test.js +61 -0
- package/dist/api/SubComponent/SubComputed/test/normal.test.js.map +1 -0
- package/dist/api/SubComponent/SubData/SubDataConstraint.d.ts +3 -0
- package/dist/api/SubComponent/SubData/SubDataConstraint.js +2 -0
- package/dist/api/SubComponent/SubData/SubDataConstraint.js.map +1 -0
- package/dist/api/SubComponent/SubData/SubDataOption.d.ts +4 -0
- package/dist/api/SubComponent/SubData/SubDataOption.js +2 -0
- package/dist/api/SubComponent/SubData/SubDataOption.js.map +1 -0
- package/dist/api/SubComponent/SubData/test/error.test.d.ts +1 -0
- package/dist/api/SubComponent/SubData/test/error.test.js +32 -0
- package/dist/api/SubComponent/SubData/test/error.test.js.map +1 -0
- package/dist/api/SubComponent/SubData/test/normal.test.d.ts +1 -0
- package/dist/api/SubComponent/SubData/test/normal.test.js +51 -0
- package/dist/api/SubComponent/SubData/test/normal.test.js.map +1 -0
- package/dist/api/SubComponent/SubEvents/SubEventsConstraint.d.ts +8 -0
- package/dist/api/SubComponent/SubEvents/SubEventsConstraint.js +2 -0
- package/dist/api/SubComponent/SubEvents/SubEventsConstraint.js.map +1 -0
- package/dist/api/SubComponent/SubEvents/SubEventsOptions.d.ts +4 -0
- package/dist/api/SubComponent/SubEvents/SubEventsOptions.js +2 -0
- package/dist/api/SubComponent/SubEvents/SubEventsOptions.js.map +1 -0
- package/dist/api/SubComponent/SubEvents/test/error.test.d.ts +1 -0
- package/dist/api/SubComponent/SubEvents/test/error.test.js +15 -0
- package/dist/api/SubComponent/SubEvents/test/error.test.js.map +1 -0
- package/dist/api/SubComponent/SubEvents/test/normal.test.d.ts +1 -0
- package/dist/api/SubComponent/SubEvents/test/normal.test.js +71 -0
- package/dist/api/SubComponent/SubEvents/test/normal.test.js.map +1 -0
- package/dist/api/SubComponent/SubInherit/SubInheritConstraint.d.ts +7 -0
- package/dist/api/SubComponent/SubInherit/SubInheritConstraint.js +2 -0
- package/dist/api/SubComponent/SubInherit/SubInheritConstraint.js.map +1 -0
- package/dist/api/SubComponent/SubInherit/test/error.test.d.ts +1 -0
- package/dist/api/SubComponent/SubInherit/test/error.test.js +21 -0
- package/dist/api/SubComponent/SubInherit/test/error.test.js.map +1 -0
- package/dist/api/SubComponent/SubInherit/test/normal.test.d.ts +1 -0
- package/dist/api/SubComponent/SubInherit/test/normal.test.js +19 -0
- package/dist/api/SubComponent/SubInherit/test/normal.test.js.map +1 -0
- package/dist/api/SubComponent/SubInstance/SubInstance.d.ts +2 -0
- package/dist/api/SubComponent/SubInstance/SubInstance.js +2 -0
- package/dist/api/SubComponent/SubInstance/SubInstance.js.map +1 -0
- package/dist/api/SubComponent/SubInstance/test/error.test.d.ts +1 -0
- package/dist/api/SubComponent/SubInstance/test/error.test.js +10 -0
- package/dist/api/SubComponent/SubInstance/test/error.test.js.map +1 -0
- package/dist/api/SubComponent/SubInstance/test/normal.test.d.ts +1 -0
- package/dist/api/SubComponent/SubInstance/test/normal.test.js +26 -0
- package/dist/api/SubComponent/SubInstance/test/normal.test.js.map +1 -0
- package/dist/api/SubComponent/SubLifetimes/SubLifetimesOption.d.ts +2 -0
- package/dist/api/SubComponent/SubLifetimes/SubLifetimesOption.js +2 -0
- package/dist/api/SubComponent/SubLifetimes/SubLifetimesOption.js.map +1 -0
- package/dist/api/SubComponent/SubMethods/SubMethodsConstraint.d.ts +4 -0
- package/dist/api/SubComponent/SubMethods/SubMethodsConstraint.js +2 -0
- package/dist/api/SubComponent/SubMethods/SubMethodsConstraint.js.map +1 -0
- package/dist/api/SubComponent/SubMethods/SubMethodsOption.d.ts +5 -0
- package/dist/api/SubComponent/SubMethods/SubMethodsOption.js +2 -0
- package/dist/api/SubComponent/SubMethods/SubMethodsOption.js.map +1 -0
- package/dist/api/SubComponent/SubMethods/test/error.test.d.ts +1 -0
- package/dist/api/SubComponent/SubMethods/test/error.test.js +12 -0
- package/dist/api/SubComponent/SubMethods/test/error.test.js.map +1 -0
- package/dist/api/SubComponent/SubMethods/test/normarl.test.d.ts +1 -0
- package/dist/api/SubComponent/SubMethods/test/normarl.test.js +11 -0
- package/dist/api/SubComponent/SubMethods/test/normarl.test.js.map +1 -0
- package/dist/api/SubComponent/SubPageLifetimes/SubPageLifetimesOption.d.ts +2 -0
- package/dist/api/SubComponent/SubPageLifetimes/SubPageLifetimesOption.js +2 -0
- package/dist/api/SubComponent/SubPageLifetimes/SubPageLifetimesOption.js.map +1 -0
- package/dist/api/SubComponent/SubPageLifetimes/test/error.test.d.ts +1 -0
- package/dist/api/SubComponent/SubPageLifetimes/test/error.test.js +12 -0
- package/dist/api/SubComponent/SubPageLifetimes/test/error.test.js.map +1 -0
- package/dist/api/SubComponent/SubPageLifetimes/test/normal.test.d.ts +1 -0
- package/dist/api/SubComponent/SubPageLifetimes/test/normal.test.js +26 -0
- package/dist/api/SubComponent/SubPageLifetimes/test/normal.test.js.map +1 -0
- package/dist/api/SubComponent/SubReturnType/CreateSubComponentDoc.d.ts +12 -0
- package/dist/api/SubComponent/SubReturnType/CreateSubComponentDoc.js +2 -0
- package/dist/api/SubComponent/SubReturnType/CreateSubComponentDoc.js.map +1 -0
- package/dist/api/SubComponent/SubReturnType/test/error.test.d.ts +1 -0
- package/dist/api/SubComponent/SubReturnType/test/error.test.js +5 -0
- package/dist/api/SubComponent/SubReturnType/test/error.test.js.map +1 -0
- package/dist/api/SubComponent/SubReturnType/test/normal.test.d.ts +1 -0
- package/dist/api/SubComponent/SubReturnType/test/normal.test.js +9 -0
- package/dist/api/SubComponent/SubReturnType/test/normal.test.js.map +1 -0
- package/dist/api/SubComponent/SubStore/SubDataConstraint.d.ts +3 -0
- package/dist/api/SubComponent/SubStore/SubDataConstraint.js +2 -0
- package/dist/api/SubComponent/SubStore/SubDataConstraint.js.map +1 -0
- package/dist/api/SubComponent/SubStore/SubStoreOption.d.ts +4 -0
- package/dist/api/SubComponent/SubStore/SubStoreOption.js +2 -0
- package/dist/api/SubComponent/SubStore/SubStoreOption.js.map +1 -0
- package/dist/api/SubComponent/SubStore/test/error.test.d.ts +1 -0
- package/dist/api/SubComponent/SubStore/test/error.test.js +19 -0
- package/dist/api/SubComponent/SubStore/test/error.test.js.map +1 -0
- package/dist/api/SubComponent/SubStore/test/normal.test.d.ts +1 -0
- package/dist/api/SubComponent/SubStore/test/normal.test.js +13 -0
- package/dist/api/SubComponent/SubStore/test/normal.test.js.map +1 -0
- package/dist/api/SubComponent/SubWatch/SubWatchOption.d.ts +2 -0
- package/dist/api/SubComponent/SubWatch/SubWatchOption.js +2 -0
- package/dist/api/SubComponent/SubWatch/SubWatchOption.js.map +1 -0
- package/dist/api/SubComponent/SubWatch/test/WatchComputed.test.d.ts +0 -0
- package/dist/api/SubComponent/SubWatch/test/WatchComputed.test.js +2 -0
- package/dist/api/SubComponent/SubWatch/test/WatchComputed.test.js.map +1 -0
- package/dist/api/SubComponent/SubWatch/test/WatchRootData.test.d.ts +1 -0
- package/dist/api/SubComponent/SubWatch/test/WatchRootData.test.js +63 -0
- package/dist/api/SubComponent/SubWatch/test/WatchRootData.test.js.map +1 -0
- package/dist/api/SubComponent/SubWatch/test/WatchSubData.test.d.ts +1 -0
- package/dist/api/SubComponent/SubWatch/test/WatchSubData.test.js +29 -0
- package/dist/api/SubComponent/SubWatch/test/WatchSubData.test.js.map +1 -0
- package/dist/api/SubComponent/SubWatch/test/error.test.d.ts +1 -0
- package/dist/api/SubComponent/SubWatch/test/error.test.js +12 -0
- package/dist/api/SubComponent/SubWatch/test/error.test.js.map +1 -0
- package/dist/api/SubComponent/index.d.ts +48 -0
- package/dist/api/SubComponent/index.js +4 -0
- package/dist/api/SubComponent/index.js.map +1 -0
- package/dist/api/navigateTo.d.ts +16 -0
- package/dist/api/navigateTo.js +18 -0
- package/dist/api/navigateTo.js.map +1 -0
- package/dist/behaviors/BComputedAndWatch/IsPage.d.ts +2 -0
- package/dist/behaviors/BComputedAndWatch/IsPage.js +4 -0
- package/dist/behaviors/BComputedAndWatch/IsPage.js.map +1 -0
- package/dist/behaviors/BComputedAndWatch/data-tracer.d.ts +3 -0
- package/dist/behaviors/BComputedAndWatch/data-tracer.js +38 -0
- package/dist/behaviors/BComputedAndWatch/data-tracer.js.map +1 -0
- package/dist/behaviors/BComputedAndWatch/index.d.ts +1 -0
- package/dist/behaviors/BComputedAndWatch/index.js +78 -0
- package/dist/behaviors/BComputedAndWatch/index.js.map +1 -0
- package/dist/behaviors/BComputedAndWatch/initComputed.d.ts +13 -0
- package/dist/behaviors/BComputedAndWatch/initComputed.js +87 -0
- package/dist/behaviors/BComputedAndWatch/initComputed.js.map +1 -0
- package/dist/behaviors/BComputedAndWatch/isEqual.d.ts +1 -0
- package/dist/behaviors/BComputedAndWatch/isEqual.js +20 -0
- package/dist/behaviors/BComputedAndWatch/isEqual.js.map +1 -0
- package/dist/behaviors/BComputedAndWatch/types.d.ts +21 -0
- package/dist/behaviors/BComputedAndWatch/types.js +2 -0
- package/dist/behaviors/BComputedAndWatch/types.js.map +1 -0
- package/dist/behaviors/BStore.d.ts +1 -0
- package/dist/behaviors/BStore.js +42 -0
- package/dist/behaviors/BStore.js.map +1 -0
- package/dist/behaviors/BbeforeCreated.d.ts +1 -0
- package/dist/behaviors/BbeforeCreated.js +8 -0
- package/dist/behaviors/BbeforeCreated.js.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -0
- package/dist/thirdLib/index.d.ts +3 -0
- package/dist/thirdLib/index.js +3 -0
- package/dist/thirdLib/index.js.map +1 -0
- package/dist/thirdLib/vant/Button.d.ts +9 -0
- package/dist/thirdLib/vant/Button.js +2 -0
- package/dist/thirdLib/vant/Button.js.map +1 -0
- package/dist/thirdLib/vant/NoticeBar.d.ts +23 -0
- package/dist/thirdLib/vant/NoticeBar.js +2 -0
- package/dist/thirdLib/vant/NoticeBar.js.map +1 -0
- package/dist/thirdLib/vant/Popup.d.ts +25 -0
- package/dist/thirdLib/vant/Popup.js +2 -0
- package/dist/thirdLib/vant/Popup.js.map +1 -0
- package/dist/thirdLib/vant/index.d.ts +3 -0
- package/dist/thirdLib/vant/index.js +2 -0
- package/dist/thirdLib/vant/index.js.map +1 -0
- package/dist/thirdLib/wm/Textarea.d.ts +19 -0
- package/dist/thirdLib/wm/Textarea.js +2 -0
- package/dist/thirdLib/wm/Textarea.js.map +1 -0
- package/dist/thirdLib/wm/baseEvents.d.ts +16 -0
- package/dist/thirdLib/wm/baseEvents.js +2 -0
- package/dist/thirdLib/wm/baseEvents.js.map +1 -0
- package/dist/thirdLib/wm/index.d.ts +4 -0
- package/dist/thirdLib/wm/index.js +2 -0
- package/dist/thirdLib/wm/index.js.map +1 -0
- package/dist/thirdLib/wm/scrollView.d.ts +58 -0
- package/dist/thirdLib/wm/scrollView.js +2 -0
- package/dist/thirdLib/wm/scrollView.js.map +1 -0
- package/dist/thirdLib/wm/swiper.d.ts +39 -0
- package/dist/thirdLib/wm/swiper.js +2 -0
- package/dist/thirdLib/wm/swiper.js.map +1 -0
- package/dist/thirdLib/wm/view.d.ts +11 -0
- package/dist/thirdLib/wm/view.js +2 -0
- package/dist/thirdLib/wm/view.js.map +1 -0
- package/dist/types/AddNullForObject.d.ts +2 -0
- package/dist/types/AddNullForObject.js +2 -0
- package/dist/types/AddNullForObject.js.map +1 -0
- package/dist/types/AddPrefix.d.ts +3 -0
- package/dist/types/AddPrefix.js +2 -0
- package/dist/types/AddPrefix.js.map +1 -0
- package/dist/types/CompDocExtends.d.ts +8 -0
- package/dist/types/CompDocExtends.js +2 -0
- package/dist/types/CompDocExtends.js.map +1 -0
- package/dist/types/CreateComponentDoc.d.ts +10 -0
- package/dist/types/CreateComponentDoc.js +2 -0
- package/dist/types/CreateComponentDoc.js.map +1 -0
- package/dist/types/Drop.d.ts +2 -0
- package/dist/types/Drop.js +2 -0
- package/dist/types/Drop.js.map +1 -0
- package/dist/types/DropStr.d.ts +1 -0
- package/dist/types/DropStr.js +2 -0
- package/dist/types/DropStr.js.map +1 -0
- package/dist/types/GetComponentPrefix.d.ts +3 -0
- package/dist/types/GetComponentPrefix.js +5 -0
- package/dist/types/GetComponentPrefix.js.map +1 -0
- package/dist/types/GetPropertiesDuplicatedKeys.d.ts +2 -0
- package/dist/types/GetPropertiesDuplicatedKeys.js +2 -0
- package/dist/types/GetPropertiesDuplicatedKeys.js.map +1 -0
- package/dist/types/Has.d.ts +1 -0
- package/dist/types/Has.js +2 -0
- package/dist/types/Has.js.map +1 -0
- package/dist/types/InferSpecificType.d.ts +2 -0
- package/dist/types/InferSpecificType.js +2 -0
- package/dist/types/InferSpecificType.js.map +1 -0
- package/dist/types/InferSpecificType.test.d.ts +1 -0
- package/dist/types/InferSpecificType.test.js +9 -0
- package/dist/types/InferSpecificType.test.js.map +1 -0
- package/dist/types/ListOfSamePrimitive.d.ts +8 -0
- package/dist/types/ListOfSamePrimitive.js +2 -0
- package/dist/types/ListOfSamePrimitive.js.map +1 -0
- package/dist/types/OfficialTypeAlias.d.ts +31 -0
- package/dist/types/OfficialTypeAlias.js +2 -0
- package/dist/types/OfficialTypeAlias.js.map +1 -0
- package/dist/types/PrefixValidator.d.ts +4 -0
- package/dist/types/PrefixValidator.js +2 -0
- package/dist/types/PrefixValidator.js.map +1 -0
- package/dist/types/RemoveNever.d.ts +4 -0
- package/dist/types/RemoveNever.js +2 -0
- package/dist/types/RemoveNever.js.map +1 -0
- package/dist/types/RemoveNullOfRequired.d.ts +4 -0
- package/dist/types/RemoveNullOfRequired.js +2 -0
- package/dist/types/RemoveNullOfRequired.js.map +1 -0
- package/dist/types/RemovePrefix.d.ts +3 -0
- package/dist/types/RemovePrefix.js +2 -0
- package/dist/types/RemovePrefix.js.map +1 -0
- package/dist/types/ReplacePrefix.d.ts +11 -0
- package/dist/types/ReplacePrefix.js +5 -0
- package/dist/types/ReplacePrefix.js.map +1 -0
- package/dist/types/RequiredKeys.d.ts +3 -0
- package/dist/types/RequiredKeys.js +2 -0
- package/dist/types/RequiredKeys.js.map +1 -0
- package/dist/types/RestorePropTypeOfList.d.ts +2 -0
- package/dist/types/RestorePropTypeOfList.js +3 -0
- package/dist/types/RestorePropTypeOfList.js.map +1 -0
- package/dist/types/RestorePropertiesDoc.d.ts +0 -0
- package/dist/types/RestorePropertiesDoc.js +2 -0
- package/dist/types/RestorePropertiesDoc.js.map +1 -0
- package/dist/types/Shift.d.ts +1 -0
- package/dist/types/Shift.js +2 -0
- package/dist/types/Shift.js.map +1 -0
- package/dist/types/SpecificType.d.ts +5 -0
- package/dist/types/SpecificType.js +2 -0
- package/dist/types/SpecificType.js.map +1 -0
- package/dist/types/TwoParamsEqual.d.ts +2 -0
- package/dist/types/TwoParamsEqual.js +2 -0
- package/dist/types/TwoParamsEqual.js.map +1 -0
- package/dist/types/UnionToComma.test.d.ts +5 -0
- package/dist/types/UnionToComma.test.js +2 -0
- package/dist/types/UnionToComma.test.js.map +1 -0
- package/dist/types/Validators.d.ts +1 -0
- package/dist/types/Validators.js +2 -0
- package/dist/types/Validators.js.map +1 -0
- package/dist/utils/InnerMarker.d.ts +3 -0
- package/dist/utils/InnerMarker.js +4 -0
- package/dist/utils/InnerMarker.js.map +1 -0
- package/dist/utils/computedUpdater.d.ts +2 -0
- package/dist/utils/computedUpdater.js +30 -0
- package/dist/utils/computedUpdater.js.map +1 -0
- package/dist/utils/deepClone.d.ts +1 -0
- package/dist/utils/deepClone.js +14 -0
- package/dist/utils/deepClone.js.map +1 -0
- package/dist/utils/deleteProtoField.d.ts +1 -0
- package/dist/utils/deleteProtoField.js +4 -0
- package/dist/utils/deleteProtoField.js.map +1 -0
- package/dist/utils/getPathsValue.d.ts +2 -0
- package/dist/utils/getPathsValue.js +11 -0
- package/dist/utils/getPathsValue.js.map +1 -0
- package/dist/utils/initWatchOldValue.d.ts +2 -0
- package/dist/utils/initWatchOldValue.js +10 -0
- package/dist/utils/initWatchOldValue.js.map +1 -0
- package/dist/utils/isEmptyObject.d.ts +1 -0
- package/dist/utils/isEmptyObject.js +8 -0
- package/dist/utils/isEmptyObject.js.map +1 -0
- package/dist/utils/preprocessingOptions.d.ts +18 -0
- package/dist/utils/preprocessingOptions.js +184 -0
- package/dist/utils/preprocessingOptions.js.map +1 -0
- package/package.json +52 -0
- package/src/api/DefineComponent/NameOrPage/NameOrPathOption.ts +24 -0
- package/src/api/DefineComponent/NameOrPage/test/error.test.ts +26 -0
- package/src/api/DefineComponent/NameOrPage/test/normal.test.ts +13 -0
- package/src/api/DefineComponent/ReturnType/ComponentDoc.ts +25 -0
- package/src/api/DefineComponent/ReturnType/CreateComponentDoc.ts +46 -0
- package/src/api/DefineComponent/ReturnType/CreatePageDoc.ts +26 -0
- package/src/api/DefineComponent/ReturnType/GetCustomEventDocOfSubDoc.ts +20 -0
- package/src/api/DefineComponent/ReturnType/GetPropertiesDocOfSubDoc.ts +7 -0
- package/src/api/DefineComponent/ReturnType/PageDoc.ts +19 -0
- package/src/api/DefineComponent/ReturnType/test/normalComponentDoc.test.ts +226 -0
- package/src/api/DefineComponent/ReturnType/test/normalPageDoc.test.ts +39 -0
- package/src/api/DefineComponent/RootComponent/RootComponentOption.ts +8 -0
- package/src/api/DefineComponent/SubComponents/SubComponentsOption.ts +24 -0
- package/src/api/DefineComponent/SubComponents/test/error.test.ts +14 -0
- package/src/api/DefineComponent/SubComponents/test/normal.test.ts +1046 -0
- package/src/api/DefineComponent/index.ts +144 -0
- package/src/api/InstanceInject/InstanceInject.ts +25 -0
- package/src/api/InstanceInject/test/InjectConfig.ts +50 -0
- package/src/api/RootComponent/Computed/ComputedConstraint.ts +4 -0
- package/src/api/RootComponent/Computed/ComputedOption.ts +12 -0
- package/src/api/RootComponent/Computed/GetComputedDoc.ts +10 -0
- package/src/api/RootComponent/Computed/test/GetComputedDoc.test.ts +24 -0
- package/src/api/RootComponent/Computed/test/error.test.ts +37 -0
- package/src/api/RootComponent/Computed/test/normal.test.ts +99 -0
- package/src/api/RootComponent/CustomEvents/CustomEventConstraint.ts +50 -0
- package/src/api/RootComponent/CustomEvents/CustomEventsDoc.ts +4 -0
- package/src/api/RootComponent/CustomEvents/CustomEventsOption.ts +37 -0
- package/src/api/RootComponent/CustomEvents/CustomEventsTag.ts +59 -0
- package/src/api/RootComponent/CustomEvents/GetCustomEventDoc.ts +46 -0
- package/src/api/RootComponent/CustomEvents/test/GetCustomEventDoc.test.ts +30 -0
- package/src/api/RootComponent/CustomEvents/test/GetFullEventDoc.test.ts +56 -0
- package/src/api/RootComponent/CustomEvents/test/GetShortEventDoc.test.ts +28 -0
- package/src/api/RootComponent/CustomEvents/test/error.test.ts +101 -0
- package/src/api/RootComponent/CustomEvents/test/normal.test.ts +92 -0
- package/src/api/RootComponent/Data/DataOption.ts +19 -0
- package/src/api/RootComponent/Data/GetDataDoc.ts +25 -0
- package/src/api/RootComponent/Data/expected/error.ts +14 -0
- package/src/api/RootComponent/Data/expected/normal.ts +68 -0
- package/src/api/RootComponent/Data/test/GetDataDoc.test.ts +43 -0
- package/src/api/RootComponent/Data/test/error.test.ts +14 -0
- package/src/api/RootComponent/Data/test/normal.test.ts +63 -0
- package/src/api/RootComponent/Events/EventsConstraint.ts +69 -0
- package/src/api/RootComponent/Events/EventsOption.ts +7 -0
- package/src/api/RootComponent/Events/test/normal.test.ts +142 -0
- package/src/api/RootComponent/Instance/CustomEventMethods.ts +11 -0
- package/src/api/RootComponent/Instance/CustomSetData.ts +17 -0
- package/src/api/RootComponent/Instance/RootComponentInstance.ts +34 -0
- package/src/api/RootComponent/Instance/test/CustomEventsDoc.test.ts +66 -0
- package/src/api/RootComponent/Instance/test/CustomSetData.test.ts +44 -0
- package/src/api/RootComponent/Instance/test/customEvents/error.test.ts +13 -0
- package/src/api/RootComponent/Instance/test/customEvents/normal.test.ts +67 -0
- package/src/api/RootComponent/Instance/test/methods/error.test.ts +14 -0
- package/src/api/RootComponent/Instance/test/methods/mormal.test.ts +18 -0
- package/src/api/RootComponent/Instance/test/properties/mormal.test.ts +48 -0
- package/src/api/RootComponent/Instance/test/setData/error.test.ts +75 -0
- package/src/api/RootComponent/Instance/test/setData/normal.test.ts +54 -0
- package/src/api/RootComponent/IsPage/IsPageOption.ts +1 -0
- package/src/api/RootComponent/IsPage/test/normal.test.ts +27 -0
- package/src/api/RootComponent/Lifetimes/LifetimesConstraint.ts +10 -0
- package/src/api/RootComponent/Lifetimes/LifetimesOption.ts +8 -0
- package/src/api/RootComponent/Lifetimes/test/error.test.ts +33 -0
- package/src/api/RootComponent/Lifetimes/test/normal.test.ts +26 -0
- package/src/api/RootComponent/Methods/MethodsConstraint.ts +3 -0
- package/src/api/RootComponent/Methods/MethodsOption.ts +12 -0
- package/src/api/RootComponent/Methods/test/error.test.ts +41 -0
- package/src/api/RootComponent/Methods/test/mormal.test.ts +25 -0
- package/src/api/RootComponent/PageLifetimes/PageLifetimesOption.ts +31 -0
- package/src/api/RootComponent/PageLifetimes/test/error.test.ts +28 -0
- package/src/api/RootComponent/PageLifetimes/test/normal.test.ts +61 -0
- package/src/api/RootComponent/Properties/GetOptionalDoc.ts +38 -0
- package/src/api/RootComponent/Properties/GetPropertiesDoc.ts +33 -0
- package/src/api/RootComponent/Properties/GetRequiredDoc.ts +32 -0
- package/src/api/RootComponent/Properties/PropertiesConstraint.ts +38 -0
- package/src/api/RootComponent/Properties/PropertiesOption.ts +39 -0
- package/src/api/RootComponent/Properties/PropertiesValueValidator.ts +20 -0
- package/src/api/RootComponent/Properties/expected/error.ts +49 -0
- package/src/api/RootComponent/Properties/expected/normalEmpty.ts +33 -0
- package/src/api/RootComponent/Properties/expected/normalOptional.ts +136 -0
- package/src/api/RootComponent/Properties/expected/normalRequired.ts +100 -0
- package/src/api/RootComponent/Properties/test/error.test.ts +49 -0
- package/src/api/RootComponent/Properties/test/normalEmpty.test..ts +41 -0
- package/src/api/RootComponent/Properties/test/normalOptional.test.ts +75 -0
- package/src/api/RootComponent/Properties/test/normalRequired.test.ts +106 -0
- package/src/api/RootComponent/RootComponentDoc.ts +38 -0
- package/src/api/RootComponent/Store/GeTStoreDoc.ts +3 -0
- package/src/api/RootComponent/Store/StoreConstraint.ts +1 -0
- package/src/api/RootComponent/Store/StoreOption.ts +8 -0
- package/src/api/RootComponent/Store/test/error.test.ts +30 -0
- package/src/api/RootComponent/Store/test/normal.test.ts +13 -0
- package/src/api/RootComponent/Watch/WatchOption.ts +64 -0
- package/src/api/RootComponent/Watch/test/WatchComputed.test.ts +38 -0
- package/src/api/RootComponent/Watch/test/WatchData.test.ts +52 -0
- package/src/api/RootComponent/Watch/test/WatchProperties.test.ts +156 -0
- package/src/api/RootComponent/Watch/test/error.test.ts +31 -0
- package/src/api/RootComponent/index.ts +139 -0
- package/src/api/SubComponent/SubComponentDoc.ts +30 -0
- package/src/api/SubComponent/SubComputed/GetSubComputedDoc.ts +3 -0
- package/src/api/SubComponent/SubComputed/SubComputedConstraint.ts +1 -0
- package/src/api/SubComponent/SubComputed/SubComputedOption.ts +10 -0
- package/src/api/SubComponent/SubComputed/test/error.test.ts +50 -0
- package/src/api/SubComponent/SubComputed/test/normal.test.ts +132 -0
- package/src/api/SubComponent/SubData/SubDataConstraint.ts +10 -0
- package/src/api/SubComponent/SubData/SubDataOption.ts +13 -0
- package/src/api/SubComponent/SubData/test/error.test.ts +56 -0
- package/src/api/SubComponent/SubData/test/normal.test.ts +91 -0
- package/src/api/SubComponent/SubEvents/SubEventsConstraint.ts +22 -0
- package/src/api/SubComponent/SubEvents/SubEventsOptions.ts +7 -0
- package/src/api/SubComponent/SubEvents/test/error.test.ts +33 -0
- package/src/api/SubComponent/SubEvents/test/normal.test.ts +128 -0
- package/src/api/SubComponent/SubInherit/SubInheritConstraint.ts +12 -0
- package/src/api/SubComponent/SubInherit/test/error.test.ts +62 -0
- package/src/api/SubComponent/SubInherit/test/normal.test.ts +55 -0
- package/src/api/SubComponent/SubInstance/SubInstance.ts +9 -0
- package/src/api/SubComponent/SubInstance/test/error.test.ts +22 -0
- package/src/api/SubComponent/SubInstance/test/normal.test.ts +83 -0
- package/src/api/SubComponent/SubLifetimes/SubLifetimesOption.ts +3 -0
- package/src/api/SubComponent/SubMethods/SubMethodsConstraint.ts +5 -0
- package/src/api/SubComponent/SubMethods/SubMethodsOption.ts +13 -0
- package/src/api/SubComponent/SubMethods/test/error.test.ts +37 -0
- package/src/api/SubComponent/SubMethods/test/normarl.test.ts +35 -0
- package/src/api/SubComponent/SubPageLifetimes/SubPageLifetimesOption.ts +6 -0
- package/src/api/SubComponent/SubPageLifetimes/test/error.test.ts +32 -0
- package/src/api/SubComponent/SubPageLifetimes/test/normal.test.ts +73 -0
- package/src/api/SubComponent/SubReturnType/CreateSubComponentDoc.ts +37 -0
- package/src/api/SubComponent/SubReturnType/test/error.test.ts +18 -0
- package/src/api/SubComponent/SubReturnType/test/normal.test.ts +39 -0
- package/src/api/SubComponent/SubStore/SubDataConstraint.ts +9 -0
- package/src/api/SubComponent/SubStore/SubStoreOption.ts +13 -0
- package/src/api/SubComponent/SubStore/test/error.test.ts +35 -0
- package/src/api/SubComponent/SubStore/test/normal.test.ts +23 -0
- package/src/api/SubComponent/SubWatch/SubWatchOption.ts +3 -0
- package/src/api/SubComponent/SubWatch/test/WatchComputed.test.ts +46 -0
- package/src/api/SubComponent/SubWatch/test/WatchRootData.test.ts +118 -0
- package/src/api/SubComponent/SubWatch/test/WatchSubData.test.ts +46 -0
- package/src/api/SubComponent/SubWatch/test/error.test.ts +20 -0
- package/src/api/SubComponent/index.ts +204 -0
- package/src/api/navigateTo.ts +66 -0
- package/src/behaviors/BComputedAndWatch/IsPage.ts +5 -0
- package/src/behaviors/BComputedAndWatch/data-tracer.ts +63 -0
- package/src/behaviors/BComputedAndWatch/index.ts +122 -0
- package/src/behaviors/BComputedAndWatch/initComputed.ts +166 -0
- package/src/behaviors/BComputedAndWatch/isEqual.ts +26 -0
- package/src/behaviors/BComputedAndWatch/types.ts +28 -0
- package/src/behaviors/BStore.ts +59 -0
- package/src/behaviors/BbeforeCreated.ts +8 -0
- package/src/index.ts +17 -0
- package/src/thirdLib/index.ts +3 -0
- package/src/thirdLib/vant/Button.ts +23 -0
- package/src/thirdLib/vant/NoticeBar.ts +32 -0
- package/src/thirdLib/vant/Popup.ts +70 -0
- package/src/thirdLib/vant/index.ts +5 -0
- package/src/thirdLib/wm/Textarea.ts +22 -0
- package/src/thirdLib/wm/baseEvents.ts +53 -0
- package/src/thirdLib/wm/index.ts +7 -0
- package/src/thirdLib/wm/scrollView.ts +86 -0
- package/src/thirdLib/wm/swiper.ts +106 -0
- package/src/thirdLib/wm/view.ts +28 -0
- package/src/types/AddNullForObject.ts +6 -0
- package/src/types/AddPrefix.ts +10 -0
- package/src/types/CompDocExtends.ts +14 -0
- package/src/types/CreateComponentDoc.ts +17 -0
- package/src/types/Drop.ts +18 -0
- package/src/types/DropStr.ts +5 -0
- package/src/types/GetComponentPrefix.ts +34 -0
- package/src/types/GetPropertiesDuplicatedKeys.ts +14 -0
- package/src/types/Has.ts +1 -0
- package/src/types/InferSpecificType.test.ts +18 -0
- package/src/types/InferSpecificType.ts +12 -0
- package/src/types/ListOfSamePrimitive.ts +20 -0
- package/src/types/OfficialTypeAlias.ts +111 -0
- package/src/types/PrefixValidator.ts +56 -0
- package/src/types/RemoveNever.ts +6 -0
- package/src/types/RemoveNullOfRequired.ts +8 -0
- package/src/types/RemovePrefix.ts +3 -0
- package/src/types/ReplacePrefix.ts +47 -0
- package/src/types/RequiredKeys.ts +8 -0
- package/src/types/RestorePropTypeOfList.ts +20 -0
- package/src/types/RestorePropertiesDoc.ts +26 -0
- package/src/types/Shift.ts +2 -0
- package/src/types/SpecificType.ts +19 -0
- package/src/types/TwoParamsEqual.ts +3 -0
- package/src/types/UnionToComma.test.ts +9 -0
- package/src/types/Validators.ts +17 -0
- package/src/utils/InnerMarker.ts +4 -0
- package/src/utils/computedUpdater.ts +51 -0
- package/src/utils/deepClone.ts +19 -0
- package/src/utils/deleteProtoField.ts +6 -0
- package/src/utils/getPathsValue.ts +12 -0
- package/src/utils/initWatchOldValue.ts +12 -0
- package/src/utils/isEmptyObject.ts +13 -0
- package/src/utils/preprocessingOptions.ts +334 -0
- package/tsconfig.json +38 -0
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
import type { IfExtends } from "hry-types/src/Any/IfExtends";
|
|
2
|
+
import type { EmptyObject } from "hry-types/src/Misc/EmptyObject";
|
|
3
|
+
import type { RequiredKeys } from "hry-types/src/Object/RequiredKeys";
|
|
4
|
+
import type { ExtractDocPrefix } from "../../types/GetComponentPrefix";
|
|
5
|
+
import type { ReplacePrefix } from "../../types/ReplacePrefix";
|
|
6
|
+
import type { ComponentDoc } from "../DefineComponent/ReturnType/ComponentDoc";
|
|
7
|
+
|
|
8
|
+
import type { Func } from "hry-types/src/Misc/Func";
|
|
9
|
+
import type {
|
|
10
|
+
WMCompLifetimes,
|
|
11
|
+
WMCompOtherOption,
|
|
12
|
+
WMCompPageLifetimes,
|
|
13
|
+
WMPageLifetimes,
|
|
14
|
+
} from "../../types/OfficialTypeAlias";
|
|
15
|
+
import type { RootComponentDoc } from "../RootComponent/RootComponentDoc";
|
|
16
|
+
import type { GetSubComputedDoc } from "./SubComputed/GetSubComputedDoc";
|
|
17
|
+
import type { SubComputedConstraint } from "./SubComputed/SubComputedConstraint";
|
|
18
|
+
import type { SubComputedOption } from "./SubComputed/SubComputedOption";
|
|
19
|
+
import type { SubDataConstraint } from "./SubData/SubDataConstraint";
|
|
20
|
+
import type { SubDataOption } from "./SubData/SubDataOption";
|
|
21
|
+
import type { SubEventsConstraint } from "./SubEvents/SubEventsConstraint";
|
|
22
|
+
import type { SubEventsOption } from "./SubEvents/SubEventsOptions";
|
|
23
|
+
import type { InheritConstraint } from "./SubInherit/SubInheritConstraint";
|
|
24
|
+
import type { SubInstance } from "./SubInstance/SubInstance";
|
|
25
|
+
import type { SubLifetimesOption } from "./SubLifetimes/SubLifetimesOption";
|
|
26
|
+
import type { SubMethodsConstraint } from "./SubMethods/SubMethodsConstraint";
|
|
27
|
+
import type { SubMethodsOption } from "./SubMethods/SubMethodsOption";
|
|
28
|
+
import type { SubPageLifetimesOption } from "./SubPageLifetimes/SubPageLifetimesOption";
|
|
29
|
+
import type { CreateSubComponentDoc } from "./SubReturnType/CreateSubComponentDoc";
|
|
30
|
+
import type { SubStoreConstraint } from "./SubStore/SubDataConstraint";
|
|
31
|
+
import type { SubStoreOption } from "./SubStore/SubStoreOption";
|
|
32
|
+
import type { SubWatchOption } from "./SubWatch/SubWatchOption";
|
|
33
|
+
|
|
34
|
+
type Options<
|
|
35
|
+
RootDoc extends RootComponentDoc,
|
|
36
|
+
IsPage extends boolean,
|
|
37
|
+
CurrentCompDoc extends ComponentDoc,
|
|
38
|
+
Prefix extends string,
|
|
39
|
+
AllRootDataDoc extends object,
|
|
40
|
+
TInherit extends object,
|
|
41
|
+
TSubData extends object,
|
|
42
|
+
TSubStore extends object,
|
|
43
|
+
TSubComputed extends object,
|
|
44
|
+
TEvents extends object,
|
|
45
|
+
TSubMethods extends object,
|
|
46
|
+
InheritDoc extends object,
|
|
47
|
+
SubDataDoc extends object,
|
|
48
|
+
SubStoreDoc extends object,
|
|
49
|
+
SubComputedDoc extends object,
|
|
50
|
+
SubEventsDoc extends object,
|
|
51
|
+
SubMethodsDoc extends object,
|
|
52
|
+
> =
|
|
53
|
+
& { inherit?: TInherit }
|
|
54
|
+
& SubDataOption<
|
|
55
|
+
TSubData,
|
|
56
|
+
Exclude<keyof CurrentCompDoc["properties"], (keyof InheritDoc)>,
|
|
57
|
+
Prefix
|
|
58
|
+
>
|
|
59
|
+
& SubStoreOption<
|
|
60
|
+
TSubStore,
|
|
61
|
+
Exclude<keyof CurrentCompDoc["properties"], (keyof (InheritDoc & SubDataDoc))>,
|
|
62
|
+
Prefix
|
|
63
|
+
>
|
|
64
|
+
& SubComputedOption<
|
|
65
|
+
TSubComputed,
|
|
66
|
+
// AllRootDataDoc & SubDataDoc & SubDataDoc & SubComputedDoc,
|
|
67
|
+
// 合法的配置
|
|
68
|
+
Omit<CurrentCompDoc["properties"], (keyof (InheritDoc & SubDataDoc & SubStoreDoc))>
|
|
69
|
+
>
|
|
70
|
+
& SubEventsOption<TEvents, SubEventsDoc, keyof SubEventsConstraint<CurrentCompDoc>>
|
|
71
|
+
& SubMethodsOption<TSubMethods, Prefix, keyof CurrentCompDoc["customEvents"]>
|
|
72
|
+
& SubPageLifetimesOption<IsPage, RootDoc["properties"] & {}>
|
|
73
|
+
& SubLifetimesOption
|
|
74
|
+
& SubWatchOption<
|
|
75
|
+
& SubComputedDoc
|
|
76
|
+
& SubDataDoc
|
|
77
|
+
& AllRootDataDoc
|
|
78
|
+
& SubStoreDoc
|
|
79
|
+
>
|
|
80
|
+
& Partial<Omit<WMCompOtherOption, "pageLifetimes">>
|
|
81
|
+
& ThisType<
|
|
82
|
+
SubInstance<
|
|
83
|
+
SubMethodsDoc & RootDoc["methods"],
|
|
84
|
+
TSubData,
|
|
85
|
+
AllRootDataDoc & SubDataDoc & SubComputedDoc & SubStoreDoc,
|
|
86
|
+
RootDoc["customEvents"] & {},
|
|
87
|
+
SubStoreDoc
|
|
88
|
+
>
|
|
89
|
+
>;
|
|
90
|
+
|
|
91
|
+
type SubComponentConstructor<
|
|
92
|
+
TRootDoc extends RootComponentDoc,
|
|
93
|
+
TOriginalCompDoc extends ComponentDoc,
|
|
94
|
+
// 补充的前缀
|
|
95
|
+
TSupplementalPrefix extends string = "",
|
|
96
|
+
IsPage extends boolean = TRootDoc["isPage"] extends true ? true : false,
|
|
97
|
+
// 重构子组件的前缀
|
|
98
|
+
CurrentPrefix extends string = `${ExtractDocPrefix<TOriginalCompDoc>}${Capitalize<TSupplementalPrefix>}`,
|
|
99
|
+
// 更新原始文档的前缀为Prefix
|
|
100
|
+
CurrentCompDoc extends ComponentDoc = IfExtends<
|
|
101
|
+
TSupplementalPrefix,
|
|
102
|
+
"",
|
|
103
|
+
TOriginalCompDoc,
|
|
104
|
+
ReplacePrefix<TOriginalCompDoc, CurrentPrefix>
|
|
105
|
+
>,
|
|
106
|
+
AllRootDataDoc extends object =
|
|
107
|
+
& Required<TRootDoc["properties"]>
|
|
108
|
+
& TRootDoc["data"]
|
|
109
|
+
& TRootDoc["computed"],
|
|
110
|
+
> = {
|
|
111
|
+
<
|
|
112
|
+
TInherit extends InheritConstraint<AllRootDataDoc, CurrentCompDoc>,
|
|
113
|
+
TSubData extends SubDataConstraint<Omit<Required<CurrentCompDoc["properties"]>, keyof InheritDoc>>,
|
|
114
|
+
TSubStore extends SubStoreConstraint<Omit<Required<CurrentCompDoc["properties"]>, keyof (InheritDoc & SubDataDoc)>>,
|
|
115
|
+
TEvents extends SubEventsConstraint<CurrentCompDoc>,
|
|
116
|
+
TSubComputed extends SubComputedConstraint<
|
|
117
|
+
Omit<Required<CurrentCompDoc["properties"]>, keyof (InheritDoc & SubDataDoc & SubStoreDoc)>
|
|
118
|
+
>,
|
|
119
|
+
TSubMethods extends SubMethodsConstraint = {},
|
|
120
|
+
InheritDoc extends object = IfExtends<InheritConstraint<AllRootDataDoc, CurrentCompDoc>, TInherit, {}, TInherit>,
|
|
121
|
+
SubDataDoc extends object = IfExtends<
|
|
122
|
+
SubDataConstraint<Omit<Required<CurrentCompDoc["properties"]>, keyof InheritDoc>>,
|
|
123
|
+
TSubData,
|
|
124
|
+
{},
|
|
125
|
+
TSubData
|
|
126
|
+
>,
|
|
127
|
+
SubStoreDoc extends object = IfExtends<
|
|
128
|
+
SubStoreConstraint<Omit<Required<CurrentCompDoc["properties"]>, keyof (InheritDoc & SubDataDoc)>>,
|
|
129
|
+
TSubStore,
|
|
130
|
+
{},
|
|
131
|
+
{ [k in keyof TSubStore]: ReturnType<TSubStore[k] & {}> }
|
|
132
|
+
>,
|
|
133
|
+
// 无效的计算
|
|
134
|
+
SubComputedDoc extends object = IfExtends<
|
|
135
|
+
SubComputedConstraint<
|
|
136
|
+
Omit<Required<CurrentCompDoc["properties"]>, keyof (InheritDoc & SubDataDoc & SubStoreDoc)>
|
|
137
|
+
>,
|
|
138
|
+
TSubComputed,
|
|
139
|
+
{},
|
|
140
|
+
GetSubComputedDoc<TSubComputed>
|
|
141
|
+
>,
|
|
142
|
+
SubEventsDoc extends object = IfExtends<
|
|
143
|
+
SubEventsConstraint<CurrentCompDoc>,
|
|
144
|
+
TEvents,
|
|
145
|
+
{},
|
|
146
|
+
TEvents
|
|
147
|
+
>,
|
|
148
|
+
SubMethodsDoc extends object = TSubMethods,
|
|
149
|
+
// 缺失的必传字段(配置中inhrit,data,computed的字段不包含的必传字段)
|
|
150
|
+
MissingRequiredField extends PropertyKey = Exclude<
|
|
151
|
+
RequiredKeys<CurrentCompDoc["properties"] & {}>,
|
|
152
|
+
keyof (
|
|
153
|
+
& InheritDoc
|
|
154
|
+
& SubDataDoc
|
|
155
|
+
& SubStoreDoc
|
|
156
|
+
& SubComputedDoc
|
|
157
|
+
)
|
|
158
|
+
>,
|
|
159
|
+
>(
|
|
160
|
+
options: Options<
|
|
161
|
+
TRootDoc,
|
|
162
|
+
IsPage,
|
|
163
|
+
CurrentCompDoc,
|
|
164
|
+
CurrentPrefix,
|
|
165
|
+
AllRootDataDoc,
|
|
166
|
+
TInherit,
|
|
167
|
+
TSubData,
|
|
168
|
+
TSubStore,
|
|
169
|
+
TSubComputed,
|
|
170
|
+
TEvents,
|
|
171
|
+
TSubMethods,
|
|
172
|
+
InheritDoc,
|
|
173
|
+
SubDataDoc,
|
|
174
|
+
SubStoreDoc,
|
|
175
|
+
SubComputedDoc,
|
|
176
|
+
SubEventsDoc,
|
|
177
|
+
SubMethodsDoc
|
|
178
|
+
>,
|
|
179
|
+
): CreateSubComponentDoc<TOriginalCompDoc["customEvents"] & {}, SubEventsDoc, MissingRequiredField>;
|
|
180
|
+
};
|
|
181
|
+
|
|
182
|
+
/**
|
|
183
|
+
* 子组件构建函数
|
|
184
|
+
* @returns `(options:) => SubComponentDoc`
|
|
185
|
+
*/
|
|
186
|
+
export function SubComponent<
|
|
187
|
+
RootDoc extends RootComponentDoc,
|
|
188
|
+
CompDoc extends ComponentDoc,
|
|
189
|
+
Prefix extends string = "",
|
|
190
|
+
>(): IfExtends<EmptyObject, CompDoc, (opt: EmptyObject) => never, SubComponentConstructor<RootDoc, CompDoc, Prefix>> {
|
|
191
|
+
return ((options: any) => options) as any;
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
// 相比与 export type TrivialOption = Options<{},...>,更直观字段和类型,但断耦合,注意类型是否正确.这是为最终生成官方Component API 的options参数而生。
|
|
195
|
+
export type SubComponentOptions = {
|
|
196
|
+
inhrit?: string;
|
|
197
|
+
data?: Record<string, unknown>;
|
|
198
|
+
computed?: Record<string, Func>;
|
|
199
|
+
events?: Record<string, Func>;
|
|
200
|
+
methods?: Record<string, Func>;
|
|
201
|
+
watch?: Record<string, Func>;
|
|
202
|
+
lifetimes?: WMCompLifetimes["lifetimes"];
|
|
203
|
+
pageLifetimes?: Partial<WMCompPageLifetimes & { load: Func } & WMPageLifetimes>;
|
|
204
|
+
};
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import type { IfEquals } from "hry-types/src/Any/IfEquals";
|
|
2
|
+
import type { IfExtends } from "hry-types/src/Any/IfExtends";
|
|
3
|
+
import type { NoInfer } from "hry-types/src/Generic/NoInfer";
|
|
4
|
+
import type { WMNavigateToOption } from "../types/OfficialTypeAlias";
|
|
5
|
+
import type { RequiredKeys } from "../types/RequiredKeys";
|
|
6
|
+
import { INNERMARKER } from "../utils/InnerMarker";
|
|
7
|
+
import type { PageDoc } from "./DefineComponent/ReturnType/PageDoc";
|
|
8
|
+
|
|
9
|
+
type NavigateToOption<T extends PageDoc> =
|
|
10
|
+
& {
|
|
11
|
+
url: T["path"];
|
|
12
|
+
}
|
|
13
|
+
& IfExtends<
|
|
14
|
+
unknown,
|
|
15
|
+
T["properties"],
|
|
16
|
+
unknown,
|
|
17
|
+
IfEquals<
|
|
18
|
+
RequiredKeys<NonNullable<T["properties"]>>,
|
|
19
|
+
never,
|
|
20
|
+
{
|
|
21
|
+
data?: T["properties"];
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
data: T["properties"];
|
|
25
|
+
}
|
|
26
|
+
>
|
|
27
|
+
>
|
|
28
|
+
& Omit<WMNavigateToOption, "url">;
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* 对象中可以使用 `"; / ? : @ & = + $ `, #"做为数据的一部分
|
|
32
|
+
*/
|
|
33
|
+
function _encodeURIComponent(
|
|
34
|
+
option: Omit<WMNavigateToOption, "url"> & { url: string; data: object },
|
|
35
|
+
): WechatMiniprogram.NavigateToOption {
|
|
36
|
+
const result: WMNavigateToOption = {
|
|
37
|
+
url: `${option.url}?${INNERMARKER.url}=${
|
|
38
|
+
encodeURIComponent(
|
|
39
|
+
JSON.stringify(option.data),
|
|
40
|
+
)
|
|
41
|
+
}`,
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
Reflect.deleteProperty(option, "url");
|
|
45
|
+
|
|
46
|
+
Reflect.deleteProperty(option, "data");
|
|
47
|
+
|
|
48
|
+
return Object.assign(result, option);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* 页面onload参数中接受的数据值是传递的url解析后的字符串。例如:A页面通过`wx.navigateTo({url:'/pages/test/test?num=123&obj={"name":"zhao"}'})`
|
|
53
|
+
* test页面onLoad(data)的参数data接受内容为` data = {num:"123",obj:"{"name":"zhao"}"}`即默认的url传的数据值为字符串,需要在接收时自行解析(JSON.parse)。且url采取ASCII编码只能接受0x20-0x7e区间的符号。无法使用一些特殊符号 如 ` :/?#[]@!$&'()*+,;= `。
|
|
54
|
+
* navigateTo API 为 wx.navigateTo的语法糖,增加了data字段,最终的url数据拼接了通过encodeURIComponent编码(支持默认忽略的特殊符号)的data字段,在跳转页面的onload中通过decodeURIComponent解析url赋值给实例的data对象。为求使用时更加方便(无需对参数data解析再赋值)。且有ts类型提示。
|
|
55
|
+
*/
|
|
56
|
+
export function navigateTo<TPageDoc extends PageDoc = never>(
|
|
57
|
+
option: NoInfer<NavigateToOption<TPageDoc>>,
|
|
58
|
+
) {
|
|
59
|
+
if (!option["data"]) {
|
|
60
|
+
return wx.navigateTo(option);
|
|
61
|
+
} else {
|
|
62
|
+
return wx.navigateTo(
|
|
63
|
+
_encodeURIComponent(option as NavigateToOption<TPageDoc> & { data: object }),
|
|
64
|
+
);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import type { ComputedDependence } from "./initComputed";
|
|
2
|
+
|
|
3
|
+
export function deepProxy(
|
|
4
|
+
data: object,
|
|
5
|
+
dependences: ComputedDependence[],
|
|
6
|
+
basePath: string[] = [],
|
|
7
|
+
): object {
|
|
8
|
+
const handler = {
|
|
9
|
+
set() {
|
|
10
|
+
throw Error("计算属性中不可以改变data对象的值");
|
|
11
|
+
},
|
|
12
|
+
get(target: object, prop: string) {
|
|
13
|
+
// // 得到原始的对象 在unwrap时使用
|
|
14
|
+
// console.log(target, prop);
|
|
15
|
+
|
|
16
|
+
if (prop === "__rawObject__") return target;
|
|
17
|
+
|
|
18
|
+
const val = target[prop];
|
|
19
|
+
|
|
20
|
+
// console.log("获取依赖", prop, val);
|
|
21
|
+
|
|
22
|
+
// 依赖长度不为0时 去重
|
|
23
|
+
if (basePath.length !== 0) {
|
|
24
|
+
// 依赖去重
|
|
25
|
+
const lastDependences = dependences[dependences.length - 1]; // 倒数第一个是当前依赖。2022 at(-1)
|
|
26
|
+
// 只留最后一个路径。比如 return this.data.obj.user.name 得到的是最后1个路径 ['obj','user','name'] 减少无效依赖,提高性能。 而非3个 ['obj'], ['obj','user'],['obj','user','name']
|
|
27
|
+
if (lastDependences.paths.toString() === basePath.toString()) {
|
|
28
|
+
// console.log('删除', lastDependences)
|
|
29
|
+
dependences.pop();
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
const curPath = basePath.concat(prop);
|
|
33
|
+
|
|
34
|
+
dependences.push({ paths: curPath, val: unwrap(val) });
|
|
35
|
+
|
|
36
|
+
// 自身方法或原型属性不代理
|
|
37
|
+
if (!Object.prototype.hasOwnProperty.call(target, prop) || typeof val === "function") {
|
|
38
|
+
// 原型链上的属性不代理,函数加bind。如 this.data.arr.slice() this.data.arr.forEach(...)
|
|
39
|
+
return typeof val === "function" ? val.bind(target) : val;
|
|
40
|
+
}
|
|
41
|
+
// 非对象不代理
|
|
42
|
+
if (typeof val !== "object" || val === null) return val;
|
|
43
|
+
|
|
44
|
+
return deepProxy(val, dependences, curPath);
|
|
45
|
+
},
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
return new Proxy(data, handler);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
export function unwrap(wrapped: any): unknown {
|
|
52
|
+
// 非引用值 直接返回
|
|
53
|
+
if (typeof wrapped !== "object" || wrapped === null) {
|
|
54
|
+
return wrapped;
|
|
55
|
+
}
|
|
56
|
+
// 是引用值 取原值
|
|
57
|
+
const originalValue = wrapped.__rawObject__;
|
|
58
|
+
if (originalValue) {
|
|
59
|
+
wrapped = originalValue;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
return wrapped;
|
|
63
|
+
}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import type { Func } from "hry-types/src/Misc/Func";
|
|
2
|
+
import type { ComponentOptions } from "../../api/DefineComponent";
|
|
3
|
+
import { deepClone } from "../../utils/deepClone";
|
|
4
|
+
import { deleteProtoField } from "../../utils/deleteProtoField";
|
|
5
|
+
import { initWatchOldValue } from "../../utils/initWatchOldValue";
|
|
6
|
+
import { isEmptyObject } from "../../utils/isEmptyObject";
|
|
7
|
+
import { initComputed } from "./initComputed";
|
|
8
|
+
import { isEqual } from "./isEqual";
|
|
9
|
+
import { isPage } from "./IsPage";
|
|
10
|
+
import type { Instance } from "./types";
|
|
11
|
+
/**
|
|
12
|
+
* 实现
|
|
13
|
+
* 1. 计算属性初始化在attached之后(前版本在beforeCreate)
|
|
14
|
+
* 2. 通过observers.**(前版本劫持setData)更新计算属性。
|
|
15
|
+
* 原因
|
|
16
|
+
* 1. 之前版本放在beforeCreate好处是符合正常思维,即组件建立后(created)包含计算属性的data就应该都存在了。
|
|
17
|
+
* 但由于properties字段数据实际有效是发生在attached之后。所以之前版本计算属性在挂载到上级组件时,依赖properties的计算属性更新有可能是无意义的。因为上级组件传递的properties有可能由它的上级组件传递而来。根本愿意是组件实例挂载是由内而外,而properties是由外到内传递数据。虽然这些无意义更新只发生在一次(onload之前).
|
|
18
|
+
* 2 当properties中有内部字段时(例如设置了pureDataPattern: /^_/,),无法通过设置properties下的observer属性来获知属性更新通知,从而无法劫持setData。才导致有这个最新版本出现。
|
|
19
|
+
* 3. 子组件计算属性若依赖properties字段,当子组件挂载到父组件时,就会触发observers.**字段,从而进行一次无效的计算属性更新。解决方案是:实例默认一个__computedStatus__字段,当observers.**变化时,如果__computedStatus__为'初始化中'(表示计算属性还未初始化完毕),就不会进行计算属性更新。当attached周期后(计算属性初始化完毕)把__computedStatus__变为'待更新',再次触发observers.**字段则更新计算属性。
|
|
20
|
+
*/
|
|
21
|
+
/**
|
|
22
|
+
* computed初始化值在组件建立后,这样能保证计算属性依赖properties字段时,properties必传字段一定有值,减少计算属性代码(不必考虑properties无值时的情况)。坏处是增加了组件初始化时运行的代码量。
|
|
23
|
+
*/
|
|
24
|
+
|
|
25
|
+
export const BComputedAndWatch = Behavior({
|
|
26
|
+
definitionFilter(options: ComponentOptions) {
|
|
27
|
+
const computedConfig = options.computed;
|
|
28
|
+
|
|
29
|
+
// computed handle
|
|
30
|
+
if (computedConfig && !isEmptyObject(computedConfig)) {
|
|
31
|
+
const methodsConfig = options.methods ||= {};
|
|
32
|
+
|
|
33
|
+
// 把计算属性配置保留在methods的__computedConfig__字段下带入到组件实例中。
|
|
34
|
+
methodsConfig.__computedConfig__ = () => computedConfig;
|
|
35
|
+
|
|
36
|
+
const observersConfig = options.observers ||= {};
|
|
37
|
+
// 通过observers加入`**`字段来触发计算属性更新
|
|
38
|
+
const originalFunc = observersConfig["**"] as Func | undefined;
|
|
39
|
+
|
|
40
|
+
observersConfig["**"] = function(this: Instance): undefined {
|
|
41
|
+
const computedStatus = this.__computedStatus__;
|
|
42
|
+
switch (computedStatus) {
|
|
43
|
+
case undefined:
|
|
44
|
+
// 1 触发来自attach时或没有计算属性时
|
|
45
|
+
originalFunc && originalFunc.call(this);
|
|
46
|
+
|
|
47
|
+
break;
|
|
48
|
+
case "初始化中":
|
|
49
|
+
// 2 触发来自计算属性初始化时的setData,什么都不需要做。 初始化后__computedStatus__变为待更新
|
|
50
|
+
|
|
51
|
+
break;
|
|
52
|
+
case "待更新":
|
|
53
|
+
// 3. 触发来自attached后的setData或properties更新
|
|
54
|
+
{
|
|
55
|
+
const isUpdated = this.__computedUpdater__();
|
|
56
|
+
if (isUpdated) {
|
|
57
|
+
// 更新了会再次触发自身转到 4
|
|
58
|
+
this.__computedStatus__ = "更新完毕";
|
|
59
|
+
} else {
|
|
60
|
+
// 无需更新计算属性
|
|
61
|
+
originalFunc && originalFunc.call(this);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
break;
|
|
65
|
+
case "更新完毕":
|
|
66
|
+
{
|
|
67
|
+
// 4 来自计算属性更新后的自身回调
|
|
68
|
+
// console.log("来自计算属性更新后的自身回调");
|
|
69
|
+
this.__computedStatus__ = "待更新";
|
|
70
|
+
|
|
71
|
+
originalFunc && originalFunc.call(this);
|
|
72
|
+
}
|
|
73
|
+
break;
|
|
74
|
+
}
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
// watch handle
|
|
79
|
+
const watchConfig = options.watch;
|
|
80
|
+
if (watchConfig && !isEmptyObject(watchConfig)) {
|
|
81
|
+
const methodsConfig = options.methods ||= {};
|
|
82
|
+
|
|
83
|
+
// 把watch配置保留在methods的__watchConfig__字段下带入到组件实例中。
|
|
84
|
+
methodsConfig.__watchConfig__ = () => watchConfig;
|
|
85
|
+
|
|
86
|
+
const observersConfig = options.observers ||= {};
|
|
87
|
+
for (const key in watchConfig) {
|
|
88
|
+
const watchHadle = watchConfig[key];
|
|
89
|
+
|
|
90
|
+
observersConfig[key] = function(this: Instance, newValue: unknown) {
|
|
91
|
+
const watchOldValue = this.__watchOldValue__!;
|
|
92
|
+
const oldValue = watchOldValue[key];
|
|
93
|
+
// 当watch对象的子属性时,有可能对象为null(properties默认值)
|
|
94
|
+
if ((newValue === undefined) || isEqual(newValue, oldValue)) return;
|
|
95
|
+
watchOldValue[key] = deepClone(newValue);
|
|
96
|
+
|
|
97
|
+
watchHadle.call(this, newValue, oldValue);
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
},
|
|
102
|
+
lifetimes: {
|
|
103
|
+
created(this: Instance) {
|
|
104
|
+
// 初始化watch 生成OldValue
|
|
105
|
+
const watchConfig = this.__watchConfig__?.();
|
|
106
|
+
|
|
107
|
+
deleteProtoField(this, "__watchConfig__");
|
|
108
|
+
|
|
109
|
+
if (watchConfig) {
|
|
110
|
+
// 此时计算属性还未初始化,properties还未第一次传入
|
|
111
|
+
this.__watchOldValue__ = initWatchOldValue.call(this, watchConfig);
|
|
112
|
+
}
|
|
113
|
+
},
|
|
114
|
+
attached(this: Instance) {
|
|
115
|
+
if (!isPage(this)) {
|
|
116
|
+
// 组件此时properties已传入
|
|
117
|
+
initComputed.call(this);
|
|
118
|
+
}
|
|
119
|
+
// else 页面在onLoad时传入properties 计算属性初始化逻辑通过onLoadHijack函数完成
|
|
120
|
+
},
|
|
121
|
+
},
|
|
122
|
+
});
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
// import type { ComponentInstance } from "../../api/RootComponent/Instance/RootComponentInstance";
|
|
2
|
+
// import type { IsDependOnOthers } from "./data-tracer";
|
|
3
|
+
|
|
4
|
+
import type { Func } from "hry-types/src/Misc/Func";
|
|
5
|
+
import { computedUpdater } from "../../utils/computedUpdater";
|
|
6
|
+
import { deleteProtoField } from "../../utils/deleteProtoField";
|
|
7
|
+
import { deepProxy, unwrap } from "./data-tracer";
|
|
8
|
+
import type { ComputedCache, Instance } from "./types";
|
|
9
|
+
export type ComputedDependence = { paths: string[]; val: unknown };
|
|
10
|
+
|
|
11
|
+
type ComputedInfo = {
|
|
12
|
+
dependences: ComputedDependence[];
|
|
13
|
+
value: unknown;
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* 如果依赖列表某项的首个字段值为undefined并且字段为其他计算属性字段 返回false(即被依赖的计算字段写在了依赖他的计算字段后面), 否则返回ComputedInfo。
|
|
18
|
+
*/
|
|
19
|
+
function isValidDependences(dependences: ComputedDependence[], computedKeys: string[]): boolean {
|
|
20
|
+
for (const { paths: path, val } of dependences) {
|
|
21
|
+
// 引用值为undefined时
|
|
22
|
+
// console.log(path[0]);
|
|
23
|
+
if (val === undefined && computedKeys.includes(path[0])) {
|
|
24
|
+
return false;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
return true; // 依赖有效
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export function getComputedInfo(
|
|
32
|
+
this: Instance,
|
|
33
|
+
computedKeys: string[],
|
|
34
|
+
computedFunc: Func,
|
|
35
|
+
key: string,
|
|
36
|
+
): false | ComputedInfo {
|
|
37
|
+
// 建立当前计算字段的依赖
|
|
38
|
+
const dependences: ComputedDependence[] = [];
|
|
39
|
+
let initValue: unknown;
|
|
40
|
+
try {
|
|
41
|
+
initValue = computedFunc.call({
|
|
42
|
+
data: deepProxy(this.data, dependences),
|
|
43
|
+
});
|
|
44
|
+
} catch (error) {
|
|
45
|
+
// 为js开发考虑使用了 this.data.xxx.age 当xxx为undefined时
|
|
46
|
+
if (!isValidDependences(dependences, computedKeys)) {
|
|
47
|
+
// 情况2 依赖了未初始化的计算属性的子属性(会报错) 见computed测试文件
|
|
48
|
+
return false;
|
|
49
|
+
}
|
|
50
|
+
// 其他错误正常报错
|
|
51
|
+
throw error;
|
|
52
|
+
}
|
|
53
|
+
if (isValidDependences(dependences, computedKeys)) {
|
|
54
|
+
// 有效的依赖
|
|
55
|
+
initValue = unwrap(initValue);
|
|
56
|
+
|
|
57
|
+
this.setData({
|
|
58
|
+
[key]: initValue,
|
|
59
|
+
});
|
|
60
|
+
|
|
61
|
+
return { dependences, value: initValue };
|
|
62
|
+
} else {
|
|
63
|
+
// 情况1 依赖了其他未初始化的计算属性(不报错) 见computed测试文件
|
|
64
|
+
return false;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* 依赖去重
|
|
70
|
+
* @example
|
|
71
|
+
* ```ts
|
|
72
|
+
* const dependences = [{path:['a','b']}, {path:['a','b','c']}, {path:['d','e']}, {path:['d']}]
|
|
73
|
+
* const result = uniqueDependences(dependences)
|
|
74
|
+
* // result = [{path:['a','b'] } ,{ path:['d'] }]
|
|
75
|
+
* ```
|
|
76
|
+
*/
|
|
77
|
+
function uniqueDependences(dependences: ComputedDependence[]): ComputedDependence[] {
|
|
78
|
+
if (dependences.length === 1) return dependences;
|
|
79
|
+
|
|
80
|
+
for (let f = 0; f < dependences.length; f++) {
|
|
81
|
+
const firstPath = dependences[f].paths.join(".") + ".";
|
|
82
|
+
for (let i = f + 1; i < dependences.length; i++) {
|
|
83
|
+
const curPath = dependences[i].paths.join(".") + ".";
|
|
84
|
+
// console.log(firstPath,curPath)
|
|
85
|
+
if (firstPath.startsWith(curPath)) {
|
|
86
|
+
// console.log('删除:',f)
|
|
87
|
+
// 例如 path[0] = 'a.b.c',curPath = 'a.b'
|
|
88
|
+
dependences.splice(f, 1);
|
|
89
|
+
|
|
90
|
+
return uniqueDependences(dependences);
|
|
91
|
+
}
|
|
92
|
+
if (curPath.startsWith(firstPath)) {
|
|
93
|
+
// console.log('删除:',i)
|
|
94
|
+
// 例如 curPath = 'a.b.c' path[0] = 'a.b',
|
|
95
|
+
dependences.splice(i, 1);
|
|
96
|
+
|
|
97
|
+
return uniqueDependences(dependences);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
return dependences;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* 初始化计算属性配置返回计算属性缓存
|
|
106
|
+
* @param computedConfig - 计算属性配置
|
|
107
|
+
* @param uninitedkeys - 未初始的计算属性keys
|
|
108
|
+
* @param computedCache - 计算属性缓存默认=`{}`
|
|
109
|
+
* @returns 计算属性缓存
|
|
110
|
+
*/
|
|
111
|
+
function _initComputed(
|
|
112
|
+
this: Instance,
|
|
113
|
+
computedConfig: Record<string, Func>,
|
|
114
|
+
uninitedkeys: string[], //
|
|
115
|
+
computedCache: ComputedCache = {},
|
|
116
|
+
): ComputedCache {
|
|
117
|
+
// 收集依赖
|
|
118
|
+
for (const key of uninitedkeys) {
|
|
119
|
+
const computedInfo = getComputedInfo.call(this, uninitedkeys, computedConfig[key], key);
|
|
120
|
+
|
|
121
|
+
// 去除完成的依赖key
|
|
122
|
+
uninitedkeys = uninitedkeys.filter(ele => ele !== key);
|
|
123
|
+
|
|
124
|
+
if (computedInfo === false) {
|
|
125
|
+
// 把当前依赖不正确的key放到后面去
|
|
126
|
+
uninitedkeys.push(key);
|
|
127
|
+
} else {
|
|
128
|
+
computedCache[key] = {
|
|
129
|
+
// 去重 避免 如: ` age(){ return this.data.xxx.num + this.data.xxx.str + this.data.xxx} ` 造成的多个依赖相同情况。应就要一个 xxx
|
|
130
|
+
dependences: uniqueDependences(computedInfo.dependences),
|
|
131
|
+
method: computedConfig[key],
|
|
132
|
+
value: computedInfo.value, // 为了watch的oldValue
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
// 看uninitedkey是否未空,空表示所有依赖收集完毕直接返回
|
|
137
|
+
if (uninitedkeys.length === 0) {
|
|
138
|
+
return computedCache;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
// uninitedkey不为空,递归
|
|
142
|
+
return _initComputed.call(this, computedConfig, uninitedkeys, computedCache);
|
|
143
|
+
}
|
|
144
|
+
export function initComputed(this: Instance) {
|
|
145
|
+
const computedConfig = this.__computedConfig__?.();
|
|
146
|
+
|
|
147
|
+
deleteProtoField(this, "__computedConfig__");
|
|
148
|
+
|
|
149
|
+
if (computedConfig) {
|
|
150
|
+
// 实例加入 __computedUpdateStatus__ 提高性能
|
|
151
|
+
this.__computedStatus__ = "初始化中";
|
|
152
|
+
|
|
153
|
+
// 初始化计算属性(返回缓存)
|
|
154
|
+
this.__computedCache__ = _initComputed.call(
|
|
155
|
+
this,
|
|
156
|
+
computedConfig,
|
|
157
|
+
Object.keys(computedConfig),
|
|
158
|
+
);
|
|
159
|
+
|
|
160
|
+
// 给原型上加入__computedUpdater__方法 在observers下的'**'配置中触发
|
|
161
|
+
|
|
162
|
+
this.__computedUpdater__ = computedUpdater.bind(this);
|
|
163
|
+
|
|
164
|
+
this.__computedStatus__ = "待更新";
|
|
165
|
+
}
|
|
166
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 深度判断2个值是否相等,NaN与NaN不等,+0与-0相等。
|
|
3
|
+
*/
|
|
4
|
+
export function isEqual(value: unknown, other: unknown) {
|
|
5
|
+
if (value === other) {
|
|
6
|
+
return true;
|
|
7
|
+
}
|
|
8
|
+
// value和other有一个为null或不是对象 一定不相等
|
|
9
|
+
if (typeof value !== "object" || value === null || typeof other !== "object" || other === null) {
|
|
10
|
+
return false;
|
|
11
|
+
}
|
|
12
|
+
const keys1 = Object.keys(value);
|
|
13
|
+
const keys2 = Object.keys(other);
|
|
14
|
+
// 对象类型长度不等,一定不相等
|
|
15
|
+
if (keys1.length !== keys2.length) {
|
|
16
|
+
return false;
|
|
17
|
+
}
|
|
18
|
+
// 递归比较存在的相同key是否相等
|
|
19
|
+
for (const key of keys1) {
|
|
20
|
+
if (!keys2.includes(key) || !isEqual(value[key], other[key])) {
|
|
21
|
+
return false;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
return true;
|
|
26
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { Func } from "hry-types/src/Misc/Func";
|
|
2
|
+
import type { ComponentInstance, PageInstance } from "../../api/RootComponent/Instance/RootComponentInstance";
|
|
3
|
+
import type { ComputedDependence } from "./initComputed";
|
|
4
|
+
|
|
5
|
+
export type InstanceCustomFields = {
|
|
6
|
+
__pendingSetData__?: object | null;
|
|
7
|
+
__storeConfig__?: () => Record<string, () => unknown>;
|
|
8
|
+
__computedStatus__?: "初始化中" | "待更新" | "更新完毕";
|
|
9
|
+
__computedUpdater__: Func;
|
|
10
|
+
__computedConfig__?: () => Record<string, Func>;
|
|
11
|
+
__computedCache__?: ComputedCache;
|
|
12
|
+
__watchOldValue__?: WatchOldValue;
|
|
13
|
+
__watchConfig__?: () => Record<string, Func>;
|
|
14
|
+
disposer: Record<string, Func>;
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
export type Instance = (ComponentInstance | PageInstance) & InstanceCustomFields;
|
|
18
|
+
|
|
19
|
+
export type ComputedCache = Record<
|
|
20
|
+
string,
|
|
21
|
+
{
|
|
22
|
+
dependences: ComputedDependence[];
|
|
23
|
+
method: Func;
|
|
24
|
+
value: unknown;
|
|
25
|
+
}
|
|
26
|
+
>;
|
|
27
|
+
|
|
28
|
+
export type WatchOldValue = Record<string, unknown>;
|