@elliemae/pui-app-sdk 5.40.3 → 5.40.5
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/demo/{6879.3434f1e9.iframe.bundle.js → 1080.92f6b67a.iframe.bundle.js} +480 -480
- package/demo/1080.92f6b67a.iframe.bundle.js.br +0 -0
- package/demo/1080.92f6b67a.iframe.bundle.js.gz +0 -0
- package/demo/docs/{6879.3434f1e9.iframe.bundle.js → 1080.92f6b67a.iframe.bundle.js} +480 -480
- package/demo/docs/1080.92f6b67a.iframe.bundle.js.br +0 -0
- package/demo/docs/1080.92f6b67a.iframe.bundle.js.gz +0 -0
- package/demo/docs/iframe.html +1 -1
- package/demo/docs/index.html +1 -1
- package/demo/docs/{main.f4b9fb997236ae69d894.manager.bundle.js → main.cfd2e2085f77fe383f8d.manager.bundle.js} +1 -1
- package/demo/docs/{main.f4b9fb997236ae69d894.manager.bundle.js.br → main.cfd2e2085f77fe383f8d.manager.bundle.js.br} +0 -0
- package/demo/docs/{main.f4b9fb997236ae69d894.manager.bundle.js.gz → main.cfd2e2085f77fe383f8d.manager.bundle.js.gz} +0 -0
- package/demo/docs/main.f92b110f.iframe.bundle.js +5 -0
- package/demo/docs/main.f92b110f.iframe.bundle.js.br +0 -0
- package/demo/docs/main.f92b110f.iframe.bundle.js.gz +0 -0
- package/demo/docs/project.json +1 -1
- package/demo/iframe.html +1 -1
- package/demo/index.html +1 -1
- package/demo/{main.f4b9fb997236ae69d894.manager.bundle.js → main.cfd2e2085f77fe383f8d.manager.bundle.js} +1 -1
- package/demo/{main.f4b9fb997236ae69d894.manager.bundle.js.br → main.cfd2e2085f77fe383f8d.manager.bundle.js.br} +0 -0
- package/demo/{main.f4b9fb997236ae69d894.manager.bundle.js.gz → main.cfd2e2085f77fe383f8d.manager.bundle.js.gz} +0 -0
- package/demo/main.f92b110f.iframe.bundle.js +5 -0
- package/demo/main.f92b110f.iframe.bundle.js.br +0 -0
- package/demo/main.f92b110f.iframe.bundle.js.gz +0 -0
- package/demo/project.json +1 -1
- package/dist/cjs/utils/micro-frontend/guest-host-context.js +47 -0
- package/dist/cjs/utils/micro-frontend/guest.js +4 -3
- package/dist/cjs/utils/micro-frontend/host.js +4 -3
- package/dist/cjs/utils/micro-frontend/index.js +4 -1
- package/dist/cjs/utils/micro-frontend/module-so.js +5 -1
- package/dist/cjs/utils/micro-frontend/tests/guest-test-utils.js +27 -0
- package/dist/cjs/view/guest-microapp.js +30 -8
- package/dist/cjs/view/tests/__snapshots__/micro-iframe-app.test.tsx.snap +2 -2
- package/dist/esm/utils/micro-frontend/guest-host-context.js +27 -0
- package/dist/esm/utils/micro-frontend/guest.js +4 -3
- package/dist/esm/utils/micro-frontend/host.js +4 -3
- package/dist/esm/utils/micro-frontend/index.js +4 -1
- package/dist/esm/utils/micro-frontend/module-so.js +5 -1
- package/dist/esm/utils/micro-frontend/tests/guest-test-utils.js +7 -0
- package/dist/esm/view/guest-microapp.js +33 -8
- package/dist/esm/view/tests/__snapshots__/micro-iframe-app.test.tsx.snap +2 -2
- package/dist/types/lib/utils/micro-frontend/guest-host-context.d.ts +40 -0
- package/dist/types/lib/utils/micro-frontend/guest.d.ts +2 -1
- package/dist/types/lib/utils/micro-frontend/host.d.ts +2 -1
- package/dist/types/lib/utils/micro-frontend/module-so.d.ts +7 -5
- package/dist/types/lib/utils/micro-frontend/tests/guest-host-context.test.d.ts +1 -0
- package/dist/types/lib/utils/micro-frontend/tests/guest-test-utils.d.ts +2 -0
- package/dist/types/lib/view/guest-microapp.d.ts +12 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +6 -6
- package/build/docs/404.html +0 -16
- package/build/docs/api/classes/Analytics/index.html +0 -270
- package/build/docs/api/classes/CMicroAppGuest/index.html +0 -261
- package/build/docs/api/classes/CMicroAppHost/index.html +0 -346
- package/build/docs/api/classes/ErrorBoundary/index.html +0 -354
- package/build/docs/api/classes/GuestModule/index.html +0 -148
- package/build/docs/api/functions/AppRoot/index.html +0 -27
- package/build/docs/api/functions/Autocomplete/index.html +0 -22
- package/build/docs/api/functions/CheckBox/index.html +0 -22
- package/build/docs/api/functions/ComboBox/index.html +0 -27
- package/build/docs/api/functions/ComboBoxV3/index.html +0 -22
- package/build/docs/api/functions/ConnectForm/index.html +0 -22
- package/build/docs/api/functions/DateInput/index.html +0 -22
- package/build/docs/api/functions/DatePicker/index.html +0 -27
- package/build/docs/api/functions/DateRangePicker/index.html +0 -22
- package/build/docs/api/functions/DateTimePicker/index.html +0 -22
- package/build/docs/api/functions/Form/index.html +0 -34
- package/build/docs/api/functions/FormItemLayout/index.html +0 -22
- package/build/docs/api/functions/FormLayoutBlockItem/index.html +0 -22
- package/build/docs/api/functions/FormSubmitButton/index.html +0 -22
- package/build/docs/api/functions/InputMask/index.html +0 -22
- package/build/docs/api/functions/InputText/index.html +0 -22
- package/build/docs/api/functions/LargeTextBox/index.html +0 -22
- package/build/docs/api/functions/MaskedInputText/index.html +0 -22
- package/build/docs/api/functions/Page/index.html +0 -22
- package/build/docs/api/functions/Radio/index.html +0 -22
- package/build/docs/api/functions/RadioGroup/index.html +0 -22
- package/build/docs/api/functions/RegisterService/index.html +0 -27
- package/build/docs/api/functions/RenderWithStateAddOns/index.html +0 -22
- package/build/docs/api/functions/RequireAuth/index.html +0 -28
- package/build/docs/api/functions/SessionTimeout/index.html +0 -19
- package/build/docs/api/functions/TextBox/index.html +0 -27
- package/build/docs/api/functions/Toggle/index.html +0 -22
- package/build/docs/api/functions/authSaga/index.html +0 -19
- package/build/docs/api/functions/authorize/index.html +0 -44
- package/build/docs/api/functions/buildModuleParams/index.html +0 -31
- package/build/docs/api/functions/cleanup/index.html +0 -20
- package/build/docs/api/functions/configureStore/index.html +0 -56
- package/build/docs/api/functions/createGuestModule/index.html +0 -39
- package/build/docs/api/functions/createManager/index.html +0 -41
- package/build/docs/api/functions/enableReactAppForHostIntegration/index.html +0 -22
- package/build/docs/api/functions/fetchHostAppData/index.html +0 -24
- package/build/docs/api/functions/fetchUserSettings/index.html +0 -22
- package/build/docs/api/functions/getApiActionCreator/index.html +0 -30
- package/build/docs/api/functions/getAppConfig/index.html +0 -19
- package/build/docs/api/functions/getAppConfigValue/index.html +0 -35
- package/build/docs/api/functions/getAuthHTTPClient/index.html +0 -38
- package/build/docs/api/functions/getAuthorizationHeader/index.html +0 -23
- package/build/docs/api/functions/getHTTPClient/index.html +0 -36
- package/build/docs/api/functions/getHostAppDataByKey/index.html +0 -27
- package/build/docs/api/functions/getLogger/index.html +0 -19
- package/build/docs/api/functions/getMicroFrontEndAppConfig/index.html +0 -23
- package/build/docs/api/functions/getNavigationLinks/index.html +0 -19
- package/build/docs/api/functions/getRedirectUrl/index.html +0 -19
- package/build/docs/api/functions/getSelectField/index.html +0 -33
- package/build/docs/api/functions/getStore/index.html +0 -23
- package/build/docs/api/functions/initServiceWorker/index.html +0 -22
- package/build/docs/api/functions/isCIBuild/index.html +0 -19
- package/build/docs/api/functions/isProd/index.html +0 -19
- package/build/docs/api/functions/isUserAuthorized/index.html +0 -23
- package/build/docs/api/functions/listenStorageEvents/index.html +0 -19
- package/build/docs/api/functions/loadAppConfig/index.html +0 -30
- package/build/docs/api/functions/loadable/index.html +0 -37
- package/build/docs/api/functions/login/index.html +0 -62
- package/build/docs/api/functions/notifyGuestUnloadComplete/index.html +0 -26
- package/build/docs/api/functions/onAuthorizationFailure/index.html +0 -28
- package/build/docs/api/functions/onGuestUnloadStart/index.html +0 -19
- package/build/docs/api/functions/redactPii/index.html +0 -32
- package/build/docs/api/functions/removeDoubleSlash/index.html +0 -22
- package/build/docs/api/functions/removeStorageEvents/index.html +0 -19
- package/build/docs/api/functions/render/index.html +0 -392
- package/build/docs/api/functions/renderHook/index.html +0 -37
- package/build/docs/api/functions/renderWithHostData/index.html +0 -22
- package/build/docs/api/functions/renderWithRedux/index.html +0 -392
- package/build/docs/api/functions/renderWithRouter/index.html +0 -392
- package/build/docs/api/functions/renderWithRouterRedux/index.html +0 -392
- package/build/docs/api/functions/sdkBaseQuery/index.html +0 -37
- package/build/docs/api/functions/sendBAEvent/index.html +0 -34
- package/build/docs/api/functions/sendMessageToHost/index.html +0 -24
- package/build/docs/api/functions/setAppConfig/index.html +0 -27
- package/build/docs/api/functions/setAppConfigValue/index.html +0 -35
- package/build/docs/api/functions/setHostAppData/index.html +0 -25
- package/build/docs/api/functions/setLoginParams/index.html +0 -29
- package/build/docs/api/functions/subscribeToResetSession/index.html +0 -28
- package/build/docs/api/functions/subscribeToSessionExpiry/index.html +0 -28
- package/build/docs/api/functions/subscribeToSessionExpiryWarning/index.html +0 -28
- package/build/docs/api/functions/trackActivity/index.html +0 -31
- package/build/docs/api/functions/useAppDispatch/index.html +0 -24
- package/build/docs/api/functions/useAppMiddleware/index.html +0 -25
- package/build/docs/api/functions/useInjectQuery/index.html +0 -35
- package/build/docs/api/functions/useInjectReducer/index.html +0 -31
- package/build/docs/api/functions/useInjectSaga/index.html +0 -33
- package/build/docs/api/functions/useInjectSideEffect/index.html +0 -25
- package/build/docs/api/functions/useMediaQueryList/index.html +0 -26
- package/build/docs/api/functions/useStateSelector/index.html +0 -38
- package/build/docs/api/functions/useStateSelectorShallow/index.html +0 -39
- package/build/docs/api/functions/waitFor/index.html +0 -27
- package/build/docs/api/functions/waitForElementToBeRemoved/index.html +0 -27
- package/build/docs/api/functions/withAppDecorator/index.html +0 -26
- package/build/docs/api/index.html +0 -29
- package/build/docs/api/interfaces/AppConfig/index.html +0 -46
- package/build/docs/api/interfaces/GuestProps/index.html +0 -86
- package/build/docs/api/interfaces/UseStateSelectorOptions/index.html +0 -25
- package/build/docs/api/type-aliases/AppDispatch/index.html +0 -17
- package/build/docs/api/type-aliases/AppStore/index.html +0 -17
- package/build/docs/api/type-aliases/Await/index.html +0 -20
- package/build/docs/api/type-aliases/EMUI/index.html +0 -62
- package/build/docs/api/type-aliases/HostOptions/index.html +0 -28
- package/build/docs/api/type-aliases/HostProvidedParams/index.html +0 -33
- package/build/docs/api/type-aliases/ModuleOverrides/index.html +0 -47
- package/build/docs/api/type-aliases/OnHostInitCallback/index.html +0 -22
- package/build/docs/api/type-aliases/OnInitCallback/index.html +0 -22
- package/build/docs/api/type-aliases/OnMountCallback/index.html +0 -22
- package/build/docs/api/type-aliases/OnUnMountCallback/index.html +0 -22
- package/build/docs/api/type-aliases/RootState/index.html +0 -17
- package/build/docs/api/type-aliases/SelectStateFieldFunction/index.html +0 -29
- package/build/docs/api/variables/ErrorToast/index.html +0 -17
- package/build/docs/api/variables/FormPropsContext/index.html +0 -24
- package/build/docs/api/variables/GuestMicroApp/index.html +0 -20
- package/build/docs/api/variables/MASK_PIPES/index.html +0 -17
- package/build/docs/api/variables/MASK_TYPES/index.html +0 -17
- package/build/docs/api/variables/MicroApp/index.html +0 -21
- package/build/docs/api/variables/MicroIFrameApp/index.html +0 -21
- package/build/docs/api/variables/NavigationPrompt/index.html +0 -17
- package/build/docs/api/variables/NavigationPromptActions/index.html +0 -22
- package/build/docs/api/variables/Themes/index.html +0 -22
- package/build/docs/api/variables/VisuallyHidden/index.html +0 -17
- package/build/docs/api/variables/WaitMessage/index.html +0 -17
- package/build/docs/api/variables/act/index.html +0 -20
- package/build/docs/api/variables/ariaLive/index.html +0 -17
- package/build/docs/api/variables/auth/index.html +0 -40
- package/build/docs/api/variables/authReducer/index.html +0 -17
- package/build/docs/api/variables/clearSideEffects/index.html +0 -21
- package/build/docs/api/variables/createSideEffect/index.html +0 -19
- package/build/docs/api/variables/decorators/index.html +0 -222
- package/build/docs/api/variables/endSession/index.html +0 -37
- package/build/docs/api/variables/error/index.html +0 -17
- package/build/docs/api/variables/errorMiddleware/index.html +0 -17
- package/build/docs/api/variables/fireEvent/index.html +0 -17
- package/build/docs/api/variables/globalConstants/index.html +0 -22
- package/build/docs/api/variables/history/index.html +0 -17
- package/build/docs/api/variables/httpClientProps/index.html +0 -17
- package/build/docs/api/variables/logout/index.html +0 -22
- package/build/docs/api/variables/memoryHistory/index.html +0 -17
- package/build/docs/api/variables/removeSideEffect/index.html +0 -20
- package/build/docs/api/variables/resetUserIdleTime/index.html +0 -23
- package/build/docs/api/variables/screen/index.html +0 -17
- package/build/docs/api/variables/startSideEffect/index.html +0 -21
- package/build/docs/api/variables/updateBAEventParameters/index.html +0 -27
- package/build/docs/api/variables/useAppSelector/index.html +0 -21
- package/build/docs/api/variables/waitMessageAction/index.html +0 -43
- package/build/docs/api/variables/within/index.html +0 -17
- package/build/docs/assets/css/styles.0fad824b.css +0 -1
- package/build/docs/assets/js/04ee7372.a9b3e0ad.js +0 -1
- package/build/docs/assets/js/05fd5745.f77a9872.js +0 -1
- package/build/docs/assets/js/075aa584.dde55d25.js +0 -1
- package/build/docs/assets/js/0a1bd0e5.3336afb7.js +0 -1
- package/build/docs/assets/js/0f302db7.690bba2c.js +0 -1
- package/build/docs/assets/js/10c70e6f.3a611c9f.js +0 -1
- package/build/docs/assets/js/110b6cba.2039a4be.js +0 -1
- package/build/docs/assets/js/1126.2b1e83b8.js +0 -1
- package/build/docs/assets/js/1127.ce24a599.js +0 -1
- package/build/docs/assets/js/1154937a.58ab70e0.js +0 -1
- package/build/docs/assets/js/1298.f98e394e.js +0 -1
- package/build/docs/assets/js/14efea89.c724a605.js +0 -1
- package/build/docs/assets/js/15f40f8f.62fbc501.js +0 -1
- package/build/docs/assets/js/1617.443ab77e.js +0 -1
- package/build/docs/assets/js/16427680.5a41da14.js +0 -1
- package/build/docs/assets/js/16fba083.0c978e4b.js +0 -1
- package/build/docs/assets/js/1700.bb38b1b9.js +0 -1
- package/build/docs/assets/js/17896441.87af09c7.js +0 -1
- package/build/docs/assets/js/1a5ba401.bdd09a56.js +0 -1
- package/build/docs/assets/js/1ad86f56.5c4d3ed7.js +0 -1
- package/build/docs/assets/js/1cc7c915.18a50af2.js +0 -1
- package/build/docs/assets/js/1dfec420.e8ed9238.js +0 -1
- package/build/docs/assets/js/1fcf59a8.501bb96b.js +0 -1
- package/build/docs/assets/js/2026.f4b8efbd.js +0 -1
- package/build/docs/assets/js/213.07804718.js +0 -1
- package/build/docs/assets/js/2297.998393a9.js +0 -1
- package/build/docs/assets/js/22c6ac39.38c10213.js +0 -1
- package/build/docs/assets/js/242.98ba961c.js +0 -1
- package/build/docs/assets/js/247.f91b8960.js +0 -1
- package/build/docs/assets/js/24b1c163.4390b04b.js +0 -1
- package/build/docs/assets/js/25ae0bf1.3ff15c6f.js +0 -1
- package/build/docs/assets/js/2673.1111af38.js +0 -1
- package/build/docs/assets/js/27c4a013.bceaff37.js +0 -1
- package/build/docs/assets/js/27c8b774.1ec1881a.js +0 -1
- package/build/docs/assets/js/2805.21b4fb8d.js +0 -1
- package/build/docs/assets/js/2b2c5b3b.41587ade.js +0 -1
- package/build/docs/assets/js/3072782a.825cd627.js +0 -1
- package/build/docs/assets/js/3204d46b.7af2b3bd.js +0 -1
- package/build/docs/assets/js/322ec2e7.529db700.js +0 -1
- package/build/docs/assets/js/336f5910.34c060aa.js +0 -1
- package/build/docs/assets/js/3395.f8117aa5.js +0 -1
- package/build/docs/assets/js/3499.2c20c6ff.js +0 -1
- package/build/docs/assets/js/3552.2d0559a3.js +0 -1
- package/build/docs/assets/js/365a2c17.6afbd7ba.js +0 -1
- package/build/docs/assets/js/379bbc32.cfc06360.js +0 -1
- package/build/docs/assets/js/3992.aa5529d1.js +0 -2
- package/build/docs/assets/js/3992.aa5529d1.js.LICENSE.txt +0 -1
- package/build/docs/assets/js/3accd241.850fb650.js +0 -1
- package/build/docs/assets/js/3b0e1261.9caf419d.js +0 -1
- package/build/docs/assets/js/3b333d5b.831324f6.js +0 -1
- package/build/docs/assets/js/3cb0b0a9.99866080.js +0 -1
- package/build/docs/assets/js/3cd01694.04367956.js +0 -1
- package/build/docs/assets/js/4069.77c5dcc9.js +0 -1
- package/build/docs/assets/js/4134.d6069e6e.js +0 -1
- package/build/docs/assets/js/413bfdf1.2e754bf4.js +0 -1
- package/build/docs/assets/js/41f4ce7f.8662231d.js +0 -1
- package/build/docs/assets/js/4257.60660403.js +0 -1
- package/build/docs/assets/js/46eb403d.e5123d24.js +0 -1
- package/build/docs/assets/js/4772.988b91f1.js +0 -1
- package/build/docs/assets/js/4780.8d49dc64.js +0 -1
- package/build/docs/assets/js/47f7a134.2369c86a.js +0 -1
- package/build/docs/assets/js/4884.48d16d5b.js +0 -1
- package/build/docs/assets/js/4acce17e.b84485e3.js +0 -1
- package/build/docs/assets/js/4b10ac31.ffdbb394.js +0 -1
- package/build/docs/assets/js/4eef183e.99934dfe.js +0 -1
- package/build/docs/assets/js/50ae2c89.ea85453c.js +0 -1
- package/build/docs/assets/js/50b500dc.b1dafbf4.js +0 -1
- package/build/docs/assets/js/5113883b.19fc9d2f.js +0 -1
- package/build/docs/assets/js/5196.dda420ed.js +0 -1
- package/build/docs/assets/js/51cd08ce.eedf6a77.js +0 -1
- package/build/docs/assets/js/5248.5442863c.js +0 -1
- package/build/docs/assets/js/533e434c.6a22f28d.js +0 -1
- package/build/docs/assets/js/53defe29.b34f5bfe.js +0 -1
- package/build/docs/assets/js/5428.28b1d8b6.js +0 -1
- package/build/docs/assets/js/54dea6f0.7b5fa5e6.js +0 -1
- package/build/docs/assets/js/550f7dc1.a569914a.js +0 -1
- package/build/docs/assets/js/5575829c.04c44eb2.js +0 -1
- package/build/docs/assets/js/58e12487.6e6066d3.js +0 -1
- package/build/docs/assets/js/59169cbb.2d2d02ce.js +0 -1
- package/build/docs/assets/js/5964.fbd55ce8.js +0 -1
- package/build/docs/assets/js/5968.7a565a4e.js +0 -1
- package/build/docs/assets/js/5c5cf8ae.cf6912f5.js +0 -1
- package/build/docs/assets/js/5ca2639d.8b06c9ea.js +0 -1
- package/build/docs/assets/js/5da011d0.872006f0.js +0 -1
- package/build/docs/assets/js/5e13701d.8a6b7fd6.js +0 -1
- package/build/docs/assets/js/5e7ee35c.01ca7414.js +0 -1
- package/build/docs/assets/js/5e8c322a.0391dec4.js +0 -1
- package/build/docs/assets/js/5e95c892.f11d5bd6.js +0 -1
- package/build/docs/assets/js/5ebc190f.49776b06.js +0 -1
- package/build/docs/assets/js/5f21eb71.536ccef3.js +0 -1
- package/build/docs/assets/js/60781fed.87f57230.js +0 -1
- package/build/docs/assets/js/61b0e64b.c86eca9e.js +0 -1
- package/build/docs/assets/js/61f3b5cc.197d138c.js +0 -1
- package/build/docs/assets/js/62e1e335.d54d1d6e.js +0 -1
- package/build/docs/assets/js/6486.776625d1.js +0 -1
- package/build/docs/assets/js/6611.481d87ff.js +0 -2
- package/build/docs/assets/js/6611.481d87ff.js.LICENSE.txt +0 -9
- package/build/docs/assets/js/6aac2d5c.95d7104d.js +0 -1
- package/build/docs/assets/js/6b345055.f4f6c3b9.js +0 -1
- package/build/docs/assets/js/6b7fcc15.290796d9.js +0 -1
- package/build/docs/assets/js/6ca90961.8833c635.js +0 -1
- package/build/docs/assets/js/6d1f0509.55213557.js +0 -1
- package/build/docs/assets/js/6daa33e8.c1c74588.js +0 -1
- package/build/docs/assets/js/7080.73a89c35.js +0 -1
- package/build/docs/assets/js/7201.26026979.js +0 -1
- package/build/docs/assets/js/7344.12628cac.js +0 -1
- package/build/docs/assets/js/749b3cb7.660b1c4b.js +0 -1
- package/build/docs/assets/js/7516.78c3385c.js +0 -1
- package/build/docs/assets/js/7525.69d857f8.js +0 -1
- package/build/docs/assets/js/7540.ee4aa270.js +0 -1
- package/build/docs/assets/js/78fde597.9598cb2a.js +0 -1
- package/build/docs/assets/js/7985.6aac4971.js +0 -1
- package/build/docs/assets/js/7b224b5a.d21317ac.js +0 -1
- package/build/docs/assets/js/7c822e85.3cc0a954.js +0 -1
- package/build/docs/assets/js/7cde3459.802fae28.js +0 -1
- package/build/docs/assets/js/7d256524.087a46e5.js +0 -1
- package/build/docs/assets/js/7d48b3e7.5d6ce912.js +0 -1
- package/build/docs/assets/js/80392bdc.dbd30f9e.js +0 -1
- package/build/docs/assets/js/8049.5b4457b0.js +0 -1
- package/build/docs/assets/js/805daf1e.305437dc.js +0 -1
- package/build/docs/assets/js/8152.32ad98ca.js +0 -1
- package/build/docs/assets/js/821.19f6a696.js +0 -1
- package/build/docs/assets/js/822e0178.3c0d623a.js +0 -1
- package/build/docs/assets/js/82894961.81f97aaf.js +0 -1
- package/build/docs/assets/js/8290.f0834113.js +0 -1
- package/build/docs/assets/js/8355.bcde11e0.js +0 -1
- package/build/docs/assets/js/8389.b3f6164d.js +0 -1
- package/build/docs/assets/js/8585.e50595e8.js +0 -1
- package/build/docs/assets/js/85dc4c9b.d835c54a.js +0 -1
- package/build/docs/assets/js/8788.c86aea45.js +0 -1
- package/build/docs/assets/js/88a4c043.ca8fd05b.js +0 -1
- package/build/docs/assets/js/90579cbd.0835e6a5.js +0 -1
- package/build/docs/assets/js/90bbfd1d.d0fd53f0.js +0 -1
- package/build/docs/assets/js/9178.f2e05b02.js +0 -1
- package/build/docs/assets/js/9210.b5a9980e.js +0 -1
- package/build/docs/assets/js/9354.77e86f51.js +0 -1
- package/build/docs/assets/js/936.275fbed5.js +0 -1
- package/build/docs/assets/js/9550cc1f.e19e7779.js +0 -1
- package/build/docs/assets/js/9574.c7203040.js +0 -1
- package/build/docs/assets/js/97.d2ed6ba9.js +0 -1
- package/build/docs/assets/js/9852.cf8f89a9.js +0 -1
- package/build/docs/assets/js/9953.90bfd954.js +0 -1
- package/build/docs/assets/js/999f4a99.31e9f0f9.js +0 -1
- package/build/docs/assets/js/99a35e8f.3cb224e6.js +0 -1
- package/build/docs/assets/js/9ab62f73.a44012b0.js +0 -1
- package/build/docs/assets/js/9ea6fe4d.ebd612bc.js +0 -1
- package/build/docs/assets/js/a09470d9.16bfeef9.js +0 -1
- package/build/docs/assets/js/a0eb976e.f6504d94.js +0 -1
- package/build/docs/assets/js/a17fb045.0c651699.js +0 -1
- package/build/docs/assets/js/a2537f00.c241e3f2.js +0 -1
- package/build/docs/assets/js/a29a6e44.58d6b878.js +0 -1
- package/build/docs/assets/js/a3ecf861.0f55d8fd.js +0 -1
- package/build/docs/assets/js/a48fd09c.50989621.js +0 -1
- package/build/docs/assets/js/a6c41565.0821af7d.js +0 -1
- package/build/docs/assets/js/a6c5c03c.0e69962a.js +0 -1
- package/build/docs/assets/js/a769954d.02ea4cc3.js +0 -1
- package/build/docs/assets/js/a7861986.e4d90417.js +0 -1
- package/build/docs/assets/js/a7bd4aaa.3faf623f.js +0 -1
- package/build/docs/assets/js/a8687130.681fc6b9.js +0 -1
- package/build/docs/assets/js/a94703ab.9865def5.js +0 -1
- package/build/docs/assets/js/a9ba6591.bcdf3f9d.js +0 -1
- package/build/docs/assets/js/ab05b3aa.63cf7d9f.js +0 -1
- package/build/docs/assets/js/aba21aa0.4d968e31.js +0 -1
- package/build/docs/assets/js/ac9d64ec.dd98824b.js +0 -1
- package/build/docs/assets/js/aeb9810c.f3c24439.js +0 -1
- package/build/docs/assets/js/b0125fa2.c7fba4da.js +0 -1
- package/build/docs/assets/js/b0ccf0d8.89a4a7e2.js +0 -1
- package/build/docs/assets/js/b1474780.0982f737.js +0 -1
- package/build/docs/assets/js/b2a255cc.df3fdd56.js +0 -1
- package/build/docs/assets/js/b31a5f55.9a4737ac.js +0 -1
- package/build/docs/assets/js/b4285021.67b039a1.js +0 -1
- package/build/docs/assets/js/b784b5bb.7d7bb82c.js +0 -1
- package/build/docs/assets/js/b8c1226b.a92653b3.js +0 -1
- package/build/docs/assets/js/b93b454c.f87b4896.js +0 -1
- package/build/docs/assets/js/bc717899.36b37795.js +0 -1
- package/build/docs/assets/js/bf1a96cc.8abf8470.js +0 -1
- package/build/docs/assets/js/c10ec81d.0dff1cac.js +0 -1
- package/build/docs/assets/js/c254daed.d6764cd8.js +0 -1
- package/build/docs/assets/js/c377a04b.a6a0a334.js +0 -1
- package/build/docs/assets/js/c52b5473.1a1069c1.js +0 -1
- package/build/docs/assets/js/c5e9787b.448cc7d9.js +0 -1
- package/build/docs/assets/js/c7710052.d061cfdd.js +0 -1
- package/build/docs/assets/js/c8a9fc86.daf30d50.js +0 -1
- package/build/docs/assets/js/c90572d4.42231642.js +0 -1
- package/build/docs/assets/js/cfad4bb4.edde6aa3.js +0 -1
- package/build/docs/assets/js/d071c513.a096e87e.js +0 -1
- package/build/docs/assets/js/d0fd4a71.1d53f49d.js +0 -1
- package/build/docs/assets/js/d1d7a857.424e14dc.js +0 -1
- package/build/docs/assets/js/d38c25bf.1430a667.js +0 -1
- package/build/docs/assets/js/d3d37933.d7f15fe8.js +0 -1
- package/build/docs/assets/js/d71e6c8a.f4306e16.js +0 -1
- package/build/docs/assets/js/d9084ecb.61eb0649.js +0 -1
- package/build/docs/assets/js/de3ee31a.0992aa16.js +0 -1
- package/build/docs/assets/js/e0db4c79.6fcade57.js +0 -1
- package/build/docs/assets/js/e4ad89b2.9ca87caa.js +0 -1
- package/build/docs/assets/js/e876cff6.7c7560ed.js +0 -1
- package/build/docs/assets/js/e917d7c9.b54a542b.js +0 -1
- package/build/docs/assets/js/e9f568e8.b96fc01f.js +0 -1
- package/build/docs/assets/js/ea5986e4.ff0e5037.js +0 -1
- package/build/docs/assets/js/eb84a108.be29052f.js +0 -1
- package/build/docs/assets/js/ed6a4585.c5d8bf90.js +0 -1
- package/build/docs/assets/js/f4180cff.dae060fd.js +0 -1
- package/build/docs/assets/js/f7084923.91b0c545.js +0 -1
- package/build/docs/assets/js/f72a372a.4118877c.js +0 -1
- package/build/docs/assets/js/f72c86d0.d74270de.js +0 -1
- package/build/docs/assets/js/f8fa0321.c4c3a620.js +0 -1
- package/build/docs/assets/js/fc7c782f.bc0ad1ab.js +0 -1
- package/build/docs/assets/js/fce396bf.9f7f818c.js +0 -1
- package/build/docs/assets/js/fdb0d9e1.d2893206.js +0 -1
- package/build/docs/assets/js/fed4ae4f.e788c07f.js +0 -1
- package/build/docs/assets/js/fefe9566.113c5960.js +0 -1
- package/build/docs/assets/js/ff0bf96e.e457283e.js +0 -1
- package/build/docs/assets/js/ff6d65a9.39317a08.js +0 -1
- package/build/docs/assets/js/main.7d445fc8.js +0 -2
- package/build/docs/assets/js/main.7d445fc8.js.LICENSE.txt +0 -51
- package/build/docs/assets/js/runtime~main.5c8a1e20.js +0 -1
- package/build/docs/img/favicon.ico +0 -0
- package/build/docs/img/logo.jpeg +0 -0
- package/build/docs/img/logo.svg +0 -22
- package/build/docs/img/readme.md +0 -1
- package/build/docs/index.html +0 -102
- package/build/docs/readme.md +0 -1
- package/build/docs/sitemap.xml +0 -1
- package/build/docs/usage-guide/index.html +0 -580
- package/demo/6879.3434f1e9.iframe.bundle.js.br +0 -0
- package/demo/6879.3434f1e9.iframe.bundle.js.gz +0 -0
- package/demo/docs/6879.3434f1e9.iframe.bundle.js.br +0 -0
- package/demo/docs/6879.3434f1e9.iframe.bundle.js.gz +0 -0
- package/demo/docs/main.703b0e4c.iframe.bundle.js +0 -5
- package/demo/docs/main.703b0e4c.iframe.bundle.js.br +0 -0
- package/demo/docs/main.703b0e4c.iframe.bundle.js.gz +0 -0
- package/demo/main.703b0e4c.iframe.bundle.js +0 -5
- package/demo/main.703b0e4c.iframe.bundle.js.br +0 -0
- package/demo/main.703b0e4c.iframe.bundle.js.gz +0 -0
|
@@ -1,222 +0,0 @@
|
|
|
1
|
-
<!doctype html>
|
|
2
|
-
<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-api/variables/decorators" data-has-hydrated="false">
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="UTF-8">
|
|
5
|
-
<meta name="generator" content="Docusaurus v3.10.1">
|
|
6
|
-
<title data-rh="true">decorators | App SDK</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://pui.ice.com/app-sdk/api/variables/decorators"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="decorators | App SDK"><meta data-rh="true" name="description" content="Type Declaration"><meta data-rh="true" property="og:description" content="Type Declaration"><link data-rh="true" rel="icon" href="/app-sdk/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://pui.ice.com/app-sdk/api/variables/decorators"><link data-rh="true" rel="alternate" href="https://pui.ice.com/app-sdk/api/variables/decorators" hreflang="en"><link data-rh="true" rel="alternate" href="https://pui.ice.com/app-sdk/api/variables/decorators" hreflang="x-default"><script data-rh="true" type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"App SDK API","item":"https://pui.ice.com/app-sdk/api/"},{"@type":"ListItem","position":2,"name":"decorators","item":"https://pui.ice.com/app-sdk/api/variables/decorators"}]}</script><link rel="stylesheet" href="/app-sdk/assets/css/styles.0fad824b.css">
|
|
7
|
-
<script src="/app-sdk/assets/js/runtime~main.5c8a1e20.js" defer="defer"></script>
|
|
8
|
-
<script src="/app-sdk/assets/js/main.7d445fc8.js" defer="defer"></script>
|
|
9
|
-
</head>
|
|
10
|
-
<body>
|
|
11
|
-
<svg style="display: none;"><defs>
|
|
12
|
-
<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
|
|
13
|
-
</defs></svg>
|
|
14
|
-
<script>!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||"light"),document.documentElement.setAttribute("data-theme-choice",t||"light")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_JAhZ" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="theme-layout-navbar navbar navbar--fixed-top"><div class="navbar__inner"><div class="theme-layout-navbar-left navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/app-sdk/"><div class="navbar__logo"><img src="/app-sdk/img/logo.svg" alt="App SDK" class="themedComponent_SSxs themedComponent--light_SZPQ"><img src="/app-sdk/img/logo.svg" alt="App SDK" class="themedComponent_SSxs themedComponent--dark_komm"></div><b class="navbar__title text--truncate">App SDK</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/app-sdk/">Getting Started</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/app-sdk/api">API</a></div><div class="theme-layout-navbar-right navbar__items navbar__items--right"><a href="https://git.elliemae.io/platform-ui/pui-app-sdk.git" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-label="(opens in new tab)" class="iconExternalLink_uxYp"><use href="#theme-svg-external-link"></use></svg></a><div class="toggle_h793 colorModeToggle_v_2a"><button class="clean-btn toggleButton_luUl toggleButtonDisabled_cKAk" type="button" disabled="" title="system mode" aria-label="Switch between dark and light mode (currently system mode)"><svg viewBox="0 0 24 24" width="24" height="24" aria-hidden="true" class="toggleIcon_DcpM lightToggleIcon_kcXC"><path fill="currentColor" d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" aria-hidden="true" class="toggleIcon_DcpM darkToggleIcon_ZFgA"><path fill="currentColor" d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path></svg><svg viewBox="0 0 24 24" width="24" height="24" aria-hidden="true" class="toggleIcon_DcpM systemToggleIcon_v1mL"><path fill="currentColor" d="m12 21c4.971 0 9-4.029 9-9s-4.029-9-9-9-9 4.029-9 9 4.029 9 9 9zm4.95-13.95c1.313 1.313 2.05 3.093 2.05 4.95s-0.738 3.637-2.05 4.95c-1.313 1.313-3.093 2.05-4.95 2.05v-14c1.857 0 3.637 0.737 4.95 2.05z"></path></svg></button></div><div class="navbarSearchContainer_S02n"></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="theme-layout-main main-wrapper mainWrapper_Zl5R"><div class="docsWrapper_ueFZ"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_ODdz" type="button"></button><div class="docRoot_hEeJ"><aside class="theme-doc-sidebar-container docSidebarContainer_iMMY"><div class="sidebarViewport_qKht"><div class="sidebar_pQSv"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_rgip"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="categoryLink_nibH menu__link menu__link--sublist menu__link--active" href="/app-sdk/api/"><span title="App SDK API" class="categoryLinkLabel_IX6H">App SDK API</span></a><button aria-label="Collapse sidebar category 'App SDK API'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="categoryLink_nibH menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" tabindex="0" href="/app-sdk/api/classes/Analytics"><span title="classes" class="categoryLinkLabel_IX6H">classes</span></a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="categoryLink_nibH menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" tabindex="0" href="/app-sdk/api/functions/AppRoot"><span title="functions" class="categoryLinkLabel_IX6H">functions</span></a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="categoryLink_nibH menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" tabindex="0" href="/app-sdk/api/interfaces/AppConfig"><span title="interfaces" class="categoryLinkLabel_IX6H">interfaces</span></a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="categoryLink_nibH menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" tabindex="0" href="/app-sdk/api/type-aliases/AppDispatch"><span title="type-aliases" class="categoryLinkLabel_IX6H">type-aliases</span></a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="categoryLink_nibH menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" role="button" aria-expanded="true" tabindex="0" href="/app-sdk/api/variables/ErrorToast"><span title="variables" class="categoryLinkLabel_IX6H">variables</span></a></div><ul class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/app-sdk/api/variables/ErrorToast"><span title="ErrorToast" class="linkLabel_Jzo_">ErrorToast</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/app-sdk/api/variables/FormPropsContext"><span title="FormPropsContext" class="linkLabel_Jzo_">FormPropsContext</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/app-sdk/api/variables/GuestMicroApp"><span title="GuestMicroApp" class="linkLabel_Jzo_">GuestMicroApp</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/app-sdk/api/variables/MASK_PIPES"><span title="MASK\_PIPES" class="linkLabel_Jzo_">MASK\_PIPES</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/app-sdk/api/variables/MASK_TYPES"><span title="MASK\_TYPES" class="linkLabel_Jzo_">MASK\_TYPES</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/app-sdk/api/variables/MicroApp"><span title="~~MicroApp~~" class="linkLabel_Jzo_">~~MicroApp~~</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/app-sdk/api/variables/MicroIFrameApp"><span title="~~MicroIFrameApp~~" class="linkLabel_Jzo_">~~MicroIFrameApp~~</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/app-sdk/api/variables/NavigationPrompt"><span title="NavigationPrompt" class="linkLabel_Jzo_">NavigationPrompt</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/app-sdk/api/variables/NavigationPromptActions"><span title="NavigationPromptActions" class="linkLabel_Jzo_">NavigationPromptActions</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/app-sdk/api/variables/Themes"><span title="Themes" class="linkLabel_Jzo_">Themes</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/app-sdk/api/variables/VisuallyHidden"><span title="VisuallyHidden" class="linkLabel_Jzo_">VisuallyHidden</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/app-sdk/api/variables/WaitMessage"><span title="WaitMessage" class="linkLabel_Jzo_">WaitMessage</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/app-sdk/api/variables/act"><span title="act" class="linkLabel_Jzo_">act</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/app-sdk/api/variables/ariaLive"><span title="ariaLive" class="linkLabel_Jzo_">ariaLive</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/app-sdk/api/variables/auth"><span title="auth" class="linkLabel_Jzo_">auth</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/app-sdk/api/variables/authReducer"><span title="authReducer" class="linkLabel_Jzo_">authReducer</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/app-sdk/api/variables/clearSideEffects"><span title="clearSideEffects" class="linkLabel_Jzo_">clearSideEffects</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/app-sdk/api/variables/createSideEffect"><span title="createSideEffect" class="linkLabel_Jzo_">createSideEffect</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/app-sdk/api/variables/decorators"><span title="decorators" class="linkLabel_Jzo_">decorators</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/app-sdk/api/variables/endSession"><span title="endSession" class="linkLabel_Jzo_">endSession</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/app-sdk/api/variables/error"><span title="error" class="linkLabel_Jzo_">error</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/app-sdk/api/variables/errorMiddleware"><span title="errorMiddleware" class="linkLabel_Jzo_">errorMiddleware</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/app-sdk/api/variables/fireEvent"><span title="fireEvent" class="linkLabel_Jzo_">fireEvent</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/app-sdk/api/variables/globalConstants"><span title="globalConstants" class="linkLabel_Jzo_">globalConstants</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/app-sdk/api/variables/history"><span title="history" class="linkLabel_Jzo_">history</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/app-sdk/api/variables/httpClientProps"><span title="httpClientProps" class="linkLabel_Jzo_">httpClientProps</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/app-sdk/api/variables/logout"><span title="logout" class="linkLabel_Jzo_">logout</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/app-sdk/api/variables/memoryHistory"><span title="memoryHistory" class="linkLabel_Jzo_">memoryHistory</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/app-sdk/api/variables/removeSideEffect"><span title="removeSideEffect" class="linkLabel_Jzo_">removeSideEffect</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/app-sdk/api/variables/resetUserIdleTime"><span title="resetUserIdleTime" class="linkLabel_Jzo_">resetUserIdleTime</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/app-sdk/api/variables/screen"><span title="screen" class="linkLabel_Jzo_">screen</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/app-sdk/api/variables/startSideEffect"><span title="startSideEffect" class="linkLabel_Jzo_">startSideEffect</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/app-sdk/api/variables/updateBAEventParameters"><span title="updateBAEventParameters" class="linkLabel_Jzo_">updateBAEventParameters</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/app-sdk/api/variables/useAppSelector"><span title="useAppSelector" class="linkLabel_Jzo_">useAppSelector</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/app-sdk/api/variables/waitMessageAction"><span title="waitMessageAction" class="linkLabel_Jzo_">waitMessageAction</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/app-sdk/api/variables/within"><span title="within" class="linkLabel_Jzo_">within</span></a></li></ul></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/app-sdk/"><span title="Getting Started" class="linkLabel_Jzo_">Getting Started</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/app-sdk/usage-guide"><span title="Usage Guide" class="linkLabel_Jzo_">Usage Guide</span></a></li></ul></nav></div></div></aside><main class="docMainContainer_Ww0q"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_nUXI"><div class="docItemContainer_Lld7"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z125" aria-label="Breadcrumbs"><ul class="breadcrumbs"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/app-sdk/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_keIu"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li class="breadcrumbs__item"><a class="breadcrumbs__link" href="/app-sdk/api/"><span>App SDK API</span></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">variables</span></li><li class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link">decorators</span></li></ul></nav><div class="tocCollapsible_iI5M theme-doc-toc-mobile tocMobile_IiaZ"><button type="button" class="clean-btn tocCollapsibleButton_IsfN">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>decorators</h1></header>
|
|
15
|
-
<div class="language-ts codeBlockContainer_EUFB theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_UdBd"><pre tabindex="0" class="prism-code language-ts codeBlock_RL5w thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_V7PD"><div class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">const</span><span class="token plain"> decorators</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token keyword" style="color:#00009f">class</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token function-variable function" style="color:#d73a49">Mixins</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token operator" style="color:#393A34">...</span><span class="token plain">constructors</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">any</span><span class="token punctuation" style="color:#393A34">[</span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=></span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">derivedCtor</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">any</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=></span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">void</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> Singleton</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token operator" style="color:#393A34"><</span><span class="token constant" style="color:#36acaa">T</span><span class="token operator" style="color:#393A34">></span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">type</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token constant" style="color:#36acaa">T</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=></span><span class="token plain"> SingletonType</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token keyword" style="color:#00009f">function</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token function-variable function" style="color:#d73a49">AsyncSingleExecution</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">_target</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">any</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> _propertyKey</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">string</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> descriptor</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> PropertyDescriptor</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=></span><span class="token plain"> PropertyDescriptor</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token function-variable function" style="color:#d73a49">CacheUntilResolved</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">_target</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">any</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> propertyKey</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">string</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> descriptor</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> PropertyDescriptor</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=></span><span class="token plain"> PropertyDescriptor</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token function-variable function" style="color:#d73a49">Debounce</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">delay</span><span class="token operator" style="color:#393A34">?</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">number</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=></span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">_target</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">any</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> _propertyKey</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">string</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> descriptor</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> PropertyDescriptor</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=></span><span class="token plain"> PropertyDescriptor</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token function-variable function" style="color:#d73a49">ImmutableArgs</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">_target</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">any</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> _propertyKey</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">string</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">|</span><span class="token plain"> </span><span class="token builtin">symbol</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> descriptor</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> PropertyDescriptor</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=></span><span class="token plain"> PropertyDescriptor</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token function-variable function" style="color:#d73a49">Memoize</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">_target</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">any</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> _key</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">string</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> descriptor</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> PropertyDescriptor</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=></span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">void</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token function-variable function" style="color:#d73a49">MemoizeAsync</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">_target</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">any</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> _propertyKey</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">string</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> descriptor</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> PropertyDescriptor</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=></span><span class="token plain"> PropertyDescriptor</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> MemoizeSingleArgPrimitive</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token operator" style="color:#393A34"><</span><span class="token constant" style="color:#36acaa">T</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token constant" style="color:#36acaa">R</span><span class="token operator" style="color:#393A34">></span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">_target</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">any</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> _propertyKey</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">string</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> descriptor</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> TypedPropertyDescriptor</span><span class="token operator" style="color:#393A34"><</span><span class="token punctuation" style="color:#393A34">(</span><span class="token operator" style="color:#393A34">...</span><span class="token plain">args</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">any</span><span class="token punctuation" style="color:#393A34">[</span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=></span><span class="token plain"> </span><span class="token constant" style="color:#36acaa">R</span><span class="token operator" style="color:#393A34">></span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=></span><span class="token plain"> TypedPropertyDescriptor</span><span class="token operator" style="color:#393A34"><</span><span class="token punctuation" style="color:#393A34">(</span><span class="token operator" style="color:#393A34">...</span><span class="token plain">args</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">any</span><span class="token punctuation" style="color:#393A34">[</span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=></span><span class="token plain"> </span><span class="token constant" style="color:#36acaa">R</span><span class="token operator" style="color:#393A34">></span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token function-variable function" style="color:#d73a49">QueueTask</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">_target</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">unknown</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> _key</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">string</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> descriptor</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> PropertyDescriptor</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=></span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">void</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token function-variable function" style="color:#d73a49">RetryAsync</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">retries</span><span class="token operator" style="color:#393A34">?</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">number</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> interval</span><span class="token operator" style="color:#393A34">?</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">number</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> reThrowException</span><span class="token operator" style="color:#393A34">?</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">boolean</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=></span><span class="token plain"> MethodDecorator</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token function-variable function" style="color:#d73a49">Throttle</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">delay</span><span class="token operator" style="color:#393A34">?</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">number</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=></span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">_target</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">any</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> _propertyKey</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">string</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> descriptor</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> PropertyDescriptor</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=></span><span class="token plain"> PropertyDescriptor</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">;</span><br></div></code></pre></div></div>
|
|
16
|
-
<h2 class="anchor anchorTargetStickyNavbar_LxAM" id="type-declaration">Type Declaration<a href="#type-declaration" class="hash-link" aria-label="Direct link to Type Declaration" title="Direct link to Type Declaration" translate="no"></a></h2>
|
|
17
|
-
<h3 class="anchor anchorTargetStickyNavbar_LxAM" id="class">class<a href="#class" class="hash-link" aria-label="Direct link to class" title="Direct link to class" translate="no"></a></h3>
|
|
18
|
-
<div class="language-ts codeBlockContainer_EUFB theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_UdBd"><pre tabindex="0" class="prism-code language-ts codeBlock_RL5w thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_V7PD"><div class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">class</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token function-variable function" style="color:#d73a49">Mixins</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token operator" style="color:#393A34">...</span><span class="token plain">constructors</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">any</span><span class="token punctuation" style="color:#393A34">[</span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=></span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">derivedCtor</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">any</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=></span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">void</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> Singleton</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token operator" style="color:#393A34"><</span><span class="token constant" style="color:#36acaa">T</span><span class="token operator" style="color:#393A34">></span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">type</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token constant" style="color:#36acaa">T</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=></span><span class="token plain"> SingletonType</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">;</span><br></div></code></pre></div></div>
|
|
19
|
-
<h4 class="anchor anchorTargetStickyNavbar_LxAM" id="classmixins">class.Mixins<a href="#classmixins" class="hash-link" aria-label="Direct link to class.Mixins" title="Direct link to class.Mixins" translate="no"></a></h4>
|
|
20
|
-
<div class="language-ts codeBlockContainer_EUFB theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_UdBd"><pre tabindex="0" class="prism-code language-ts codeBlock_RL5w thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_V7PD"><div class="token-line" style="color:#393A34"><span class="token function-variable function" style="color:#d73a49">Mixins</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token operator" style="color:#393A34">...</span><span class="token plain">constructors</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">any</span><span class="token punctuation" style="color:#393A34">[</span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=></span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">derivedCtor</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">any</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=></span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">void</span><span class="token punctuation" style="color:#393A34">;</span><br></div></code></pre></div></div>
|
|
21
|
-
<p>A decorator to mix multiple classes into a single class.</p>
|
|
22
|
-
<h5 class="anchor anchorTargetStickyNavbar_LxAM" id="parameters">Parameters<a href="#parameters" class="hash-link" aria-label="Direct link to Parameters" title="Direct link to Parameters" translate="no"></a></h5>
|
|
23
|
-
<h6 class="anchor anchorTargetStickyNavbar_LxAM" id="constructors">constructors<a href="#constructors" class="hash-link" aria-label="Direct link to constructors" title="Direct link to constructors" translate="no"></a></h6>
|
|
24
|
-
<p>...<code>any</code>[]</p>
|
|
25
|
-
<p>The constructors of the classes to be mixed in.</p>
|
|
26
|
-
<h5 class="anchor anchorTargetStickyNavbar_LxAM" id="returns">Returns<a href="#returns" class="hash-link" aria-label="Direct link to Returns" title="Direct link to Returns" translate="no"></a></h5>
|
|
27
|
-
<p>A class decorator that mixes the provided classes into the target class.</p>
|
|
28
|
-
<p>(<code>derivedCtor</code>: <code>any</code>) => <code>void</code></p>
|
|
29
|
-
<h5 class="anchor anchorTargetStickyNavbar_LxAM" id="example">Example<a href="#example" class="hash-link" aria-label="Direct link to Example" title="Direct link to Example" translate="no"></a></h5>
|
|
30
|
-
<div class="language-typescript codeBlockContainer_EUFB theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_UdBd"><pre tabindex="0" class="prism-code language-typescript codeBlock_RL5w thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_V7PD"><div class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">class</span><span class="token plain"> </span><span class="token class-name constant" style="color:#36acaa">A</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token function" style="color:#d73a49">methodA</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token builtin">console</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">log</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">'A'</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword" style="color:#00009f">class</span><span class="token plain"> </span><span class="token class-name constant" style="color:#36acaa">B</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token function" style="color:#d73a49">methodB</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token builtin">console</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">log</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">'B'</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic">// Apply decorator</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic">// @Mixins(A, B)</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword" style="color:#00009f">class</span><span class="token plain"> </span><span class="token class-name constant" style="color:#36acaa">C</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword" style="color:#00009f">const</span><span class="token plain"> instance </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">new</span><span class="token plain"> </span><span class="token class-name constant" style="color:#36acaa">C</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">instance</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">methodA</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// Outputs: 'A'</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">instance</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">methodB</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// Outputs: 'B'</span><br></div></code></pre></div></div>
|
|
31
|
-
<h4 class="anchor anchorTargetStickyNavbar_LxAM" id="classsingleton">class.Singleton<a href="#classsingleton" class="hash-link" aria-label="Direct link to class.Singleton" title="Direct link to class.Singleton" translate="no"></a></h4>
|
|
32
|
-
<div class="language-ts codeBlockContainer_EUFB theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_UdBd"><pre tabindex="0" class="prism-code language-ts codeBlock_RL5w thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_V7PD"><div class="token-line" style="color:#393A34"><span class="token plain">Singleton</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token operator" style="color:#393A34"><</span><span class="token constant" style="color:#36acaa">T</span><span class="token operator" style="color:#393A34">></span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">type</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token constant" style="color:#36acaa">T</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=></span><span class="token plain"> SingletonType</span><span class="token punctuation" style="color:#393A34">;</span><br></div></code></pre></div></div>
|
|
33
|
-
<p>A decorator to make a class a singleton.</p>
|
|
34
|
-
<h5 class="anchor anchorTargetStickyNavbar_LxAM" id="type-parameters">Type Parameters<a href="#type-parameters" class="hash-link" aria-label="Direct link to Type Parameters" title="Direct link to Type Parameters" translate="no"></a></h5>
|
|
35
|
-
<h6 class="anchor anchorTargetStickyNavbar_LxAM" id="t">T<a href="#t" class="hash-link" aria-label="Direct link to T" title="Direct link to T" translate="no"></a></h6>
|
|
36
|
-
<p><code>T</code> <em>extends</em> (...<code>args</code>: <code>any</code>[]) => <code>any</code></p>
|
|
37
|
-
<h5 class="anchor anchorTargetStickyNavbar_LxAM" id="parameters-1">Parameters<a href="#parameters-1" class="hash-link" aria-label="Direct link to Parameters" title="Direct link to Parameters" translate="no"></a></h5>
|
|
38
|
-
<h6 class="anchor anchorTargetStickyNavbar_LxAM" id="type">type<a href="#type" class="hash-link" aria-label="Direct link to type" title="Direct link to type" translate="no"></a></h6>
|
|
39
|
-
<p><code>T</code></p>
|
|
40
|
-
<p>The class to be made a singleton.</p>
|
|
41
|
-
<h5 class="anchor anchorTargetStickyNavbar_LxAM" id="returns-1">Returns<a href="#returns-1" class="hash-link" aria-label="Direct link to Returns" title="Direct link to Returns" translate="no"></a></h5>
|
|
42
|
-
<p><code>SingletonType</code></p>
|
|
43
|
-
<p>A proxy that ensures only one instance of the class is created.</p>
|
|
44
|
-
<h5 class="anchor anchorTargetStickyNavbar_LxAM" id="example-1">Example<a href="#example-1" class="hash-link" aria-label="Direct link to Example" title="Direct link to Example" translate="no"></a></h5>
|
|
45
|
-
<div class="language-typescript codeBlockContainer_EUFB theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_UdBd"><pre tabindex="0" class="prism-code language-typescript codeBlock_RL5w thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_V7PD"><div class="token-line" style="color:#393A34"><span class="token comment" style="color:#999988;font-style:italic">// @Singleton decorator</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword" style="color:#00009f">class</span><span class="token plain"> </span><span class="token class-name">MyClass</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token function" style="color:#d73a49">constructor</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token builtin">console</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">log</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">'Instance created'</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword" style="color:#00009f">const</span><span class="token plain"> instance1 </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">new</span><span class="token plain"> </span><span class="token class-name">MyClass</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// Outputs: 'Instance created'</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword" style="color:#00009f">const</span><span class="token plain"> instance2 </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">new</span><span class="token plain"> </span><span class="token class-name">MyClass</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// No output, same instance returned</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token builtin">console</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">log</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">instance1 </span><span class="token operator" style="color:#393A34">===</span><span class="token plain"> instance2</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// Outputs: true</span><br></div></code></pre></div></div>
|
|
46
|
-
<h3 class="anchor anchorTargetStickyNavbar_LxAM" id="function">function<a href="#function" class="hash-link" aria-label="Direct link to function" title="Direct link to function" translate="no"></a></h3>
|
|
47
|
-
<div class="language-ts codeBlockContainer_EUFB theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_UdBd"><pre tabindex="0" class="prism-code language-ts codeBlock_RL5w thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_V7PD"><div class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">function</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token function-variable function" style="color:#d73a49">AsyncSingleExecution</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">_target</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">any</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> _propertyKey</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">string</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> descriptor</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> PropertyDescriptor</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=></span><span class="token plain"> PropertyDescriptor</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token function-variable function" style="color:#d73a49">CacheUntilResolved</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">_target</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">any</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> propertyKey</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">string</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> descriptor</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> PropertyDescriptor</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=></span><span class="token plain"> PropertyDescriptor</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token function-variable function" style="color:#d73a49">Debounce</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">delay</span><span class="token operator" style="color:#393A34">?</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">number</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=></span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">_target</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">any</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> _propertyKey</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">string</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> descriptor</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> PropertyDescriptor</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=></span><span class="token plain"> PropertyDescriptor</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token function-variable function" style="color:#d73a49">ImmutableArgs</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">_target</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">any</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> _propertyKey</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">string</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">|</span><span class="token plain"> </span><span class="token builtin">symbol</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> descriptor</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> PropertyDescriptor</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=></span><span class="token plain"> PropertyDescriptor</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token function-variable function" style="color:#d73a49">Memoize</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">_target</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">any</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> _key</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">string</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> descriptor</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> PropertyDescriptor</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=></span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">void</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token function-variable function" style="color:#d73a49">MemoizeAsync</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">_target</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">any</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> _propertyKey</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">string</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> descriptor</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> PropertyDescriptor</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=></span><span class="token plain"> PropertyDescriptor</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> MemoizeSingleArgPrimitive</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token operator" style="color:#393A34"><</span><span class="token constant" style="color:#36acaa">T</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token constant" style="color:#36acaa">R</span><span class="token operator" style="color:#393A34">></span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">_target</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">any</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> _propertyKey</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">string</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> descriptor</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> TypedPropertyDescriptor</span><span class="token operator" style="color:#393A34"><</span><span class="token punctuation" style="color:#393A34">(</span><span class="token operator" style="color:#393A34">...</span><span class="token plain">args</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">any</span><span class="token punctuation" style="color:#393A34">[</span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=></span><span class="token plain"> </span><span class="token constant" style="color:#36acaa">R</span><span class="token operator" style="color:#393A34">></span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=></span><span class="token plain"> TypedPropertyDescriptor</span><span class="token operator" style="color:#393A34"><</span><span class="token punctuation" style="color:#393A34">(</span><span class="token operator" style="color:#393A34">...</span><span class="token plain">args</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">any</span><span class="token punctuation" style="color:#393A34">[</span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=></span><span class="token plain"> </span><span class="token constant" style="color:#36acaa">R</span><span class="token operator" style="color:#393A34">></span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token function-variable function" style="color:#d73a49">QueueTask</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">_target</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">unknown</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> _key</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">string</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> descriptor</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> PropertyDescriptor</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=></span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">void</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token function-variable function" style="color:#d73a49">RetryAsync</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">retries</span><span class="token operator" style="color:#393A34">?</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">number</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> interval</span><span class="token operator" style="color:#393A34">?</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">number</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> reThrowException</span><span class="token operator" style="color:#393A34">?</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">boolean</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=></span><span class="token plain"> MethodDecorator</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token function-variable function" style="color:#d73a49">Throttle</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">delay</span><span class="token operator" style="color:#393A34">?</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">number</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=></span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">_target</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">any</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> _propertyKey</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">string</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> descriptor</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> PropertyDescriptor</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=></span><span class="token plain"> PropertyDescriptor</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">;</span><br></div></code></pre></div></div>
|
|
48
|
-
<h4 class="anchor anchorTargetStickyNavbar_LxAM" id="functionasyncsingleexecution">function.AsyncSingleExecution<a href="#functionasyncsingleexecution" class="hash-link" aria-label="Direct link to function.AsyncSingleExecution" title="Direct link to function.AsyncSingleExecution" translate="no"></a></h4>
|
|
49
|
-
<div class="language-ts codeBlockContainer_EUFB theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_UdBd"><pre tabindex="0" class="prism-code language-ts codeBlock_RL5w thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_V7PD"><div class="token-line" style="color:#393A34"><span class="token function-variable function" style="color:#d73a49">AsyncSingleExecution</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">_target</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">any</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> _propertyKey</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">string</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> descriptor</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> PropertyDescriptor</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=></span><span class="token plain"> PropertyDescriptor</span><span class="token punctuation" style="color:#393A34">;</span><br></div></code></pre></div></div>
|
|
50
|
-
<p>AsyncSingleExecution decorator ensures that multiple concurrent calls to an async function
|
|
51
|
-
with the same arguments will return the same promise instance until it resolves.
|
|
52
|
-
Once resolved, subsequent calls will trigger a new execution.</p>
|
|
53
|
-
<h5 class="anchor anchorTargetStickyNavbar_LxAM" id="parameters-2">Parameters<a href="#parameters-2" class="hash-link" aria-label="Direct link to Parameters" title="Direct link to Parameters" translate="no"></a></h5>
|
|
54
|
-
<h6 class="anchor anchorTargetStickyNavbar_LxAM" id="_target">_target<a href="#_target" class="hash-link" aria-label="Direct link to _target" title="Direct link to _target" translate="no"></a></h6>
|
|
55
|
-
<p><code>any</code></p>
|
|
56
|
-
<h6 class="anchor anchorTargetStickyNavbar_LxAM" id="_propertykey">_propertyKey<a href="#_propertykey" class="hash-link" aria-label="Direct link to _propertyKey" title="Direct link to _propertyKey" translate="no"></a></h6>
|
|
57
|
-
<p><code>string</code></p>
|
|
58
|
-
<h6 class="anchor anchorTargetStickyNavbar_LxAM" id="descriptor">descriptor<a href="#descriptor" class="hash-link" aria-label="Direct link to descriptor" title="Direct link to descriptor" translate="no"></a></h6>
|
|
59
|
-
<p><code>PropertyDescriptor</code></p>
|
|
60
|
-
<h5 class="anchor anchorTargetStickyNavbar_LxAM" id="returns-2">Returns<a href="#returns-2" class="hash-link" aria-label="Direct link to Returns" title="Direct link to Returns" translate="no"></a></h5>
|
|
61
|
-
<p><code>PropertyDescriptor</code></p>
|
|
62
|
-
<p>A function that modifies the property descriptor.</p>
|
|
63
|
-
<h5 class="anchor anchorTargetStickyNavbar_LxAM" id="example-2">Example<a href="#example-2" class="hash-link" aria-label="Direct link to Example" title="Direct link to Example" translate="no"></a></h5>
|
|
64
|
-
<div class="language-typescript codeBlockContainer_EUFB theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_UdBd"><pre tabindex="0" class="prism-code language-typescript codeBlock_RL5w thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_V7PD"><div class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">import</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"> AsyncSingleExecution </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">from</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'./functionDecorators'</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword" style="color:#00009f">class</span><span class="token plain"> </span><span class="token class-name">Example</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token decorator at operator" style="color:#393A34">@</span><span class="token decorator function" style="color:#d73a49">AsyncSingleExecution</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token keyword" style="color:#00009f">async</span><span class="token plain"> </span><span class="token function" style="color:#d73a49">fetchData</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">id</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">number</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token builtin">console</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">log</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">'Fetching data for'</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> id</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token keyword" style="color:#00009f">return</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">new</span><span class="token plain"> </span><span class="token class-name builtin">Promise</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">resolve </span><span class="token operator" style="color:#393A34">=></span><span class="token plain"> </span><span class="token function" style="color:#d73a49">setTimeout</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=></span><span class="token plain"> </span><span class="token function" style="color:#d73a49">resolve</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">id</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1000</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword" style="color:#00009f">const</span><span class="token plain"> instance </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">new</span><span class="token plain"> </span><span class="token class-name">Example</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword" style="color:#00009f">const</span><span class="token plain"> promise1 </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> instance</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">fetchData</span><span class="token punctuation" style="color:#393A34">(</span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword" style="color:#00009f">const</span><span class="token plain"> promise2 </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> instance</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">fetchData</span><span class="token punctuation" style="color:#393A34">(</span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token builtin">console</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">log</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">promise1 </span><span class="token operator" style="color:#393A34">===</span><span class="token plain"> promise2</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// true</span><br></div></code></pre></div></div>
|
|
65
|
-
<p>// Output:
|
|
66
|
-
// Fetching data for 1 (only logged once)</p>
|
|
67
|
-
<div class="language-text codeBlockContainer_EUFB theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_UdBd"><pre tabindex="0" class="prism-code language-text codeBlock_RL5w thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_V7PD"><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">#### function.CacheUntilResolved</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">```ts</span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">CacheUntilResolved: (_target: any, propertyKey: string, descriptor: PropertyDescriptor) => PropertyDescriptor;</span><br></div></code></pre></div></div>
|
|
68
|
-
<p>Caches the result of a method until the promise is resolved.</p>
|
|
69
|
-
<h5 class="anchor anchorTargetStickyNavbar_LxAM" id="parameters-3">Parameters<a href="#parameters-3" class="hash-link" aria-label="Direct link to Parameters" title="Direct link to Parameters" translate="no"></a></h5>
|
|
70
|
-
<h6 class="anchor anchorTargetStickyNavbar_LxAM" id="_target-1">_target<a href="#_target-1" class="hash-link" aria-label="Direct link to _target" title="Direct link to _target" translate="no"></a></h6>
|
|
71
|
-
<p><code>any</code></p>
|
|
72
|
-
<p>The target object.</p>
|
|
73
|
-
<h6 class="anchor anchorTargetStickyNavbar_LxAM" id="propertykey">propertyKey<a href="#propertykey" class="hash-link" aria-label="Direct link to propertyKey" title="Direct link to propertyKey" translate="no"></a></h6>
|
|
74
|
-
<p><code>string</code></p>
|
|
75
|
-
<p>The name of the method.</p>
|
|
76
|
-
<h6 class="anchor anchorTargetStickyNavbar_LxAM" id="descriptor-1">descriptor<a href="#descriptor-1" class="hash-link" aria-label="Direct link to descriptor" title="Direct link to descriptor" translate="no"></a></h6>
|
|
77
|
-
<p><code>PropertyDescriptor</code></p>
|
|
78
|
-
<p>The property descriptor.</p>
|
|
79
|
-
<h5 class="anchor anchorTargetStickyNavbar_LxAM" id="returns-3">Returns<a href="#returns-3" class="hash-link" aria-label="Direct link to Returns" title="Direct link to Returns" translate="no"></a></h5>
|
|
80
|
-
<p><code>PropertyDescriptor</code></p>
|
|
81
|
-
<p>The modified property descriptor.</p>
|
|
82
|
-
<h5 class="anchor anchorTargetStickyNavbar_LxAM" id="example-3">Example<a href="#example-3" class="hash-link" aria-label="Direct link to Example" title="Direct link to Example" translate="no"></a></h5>
|
|
83
|
-
<div class="language-typescript codeBlockContainer_EUFB theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_UdBd"><pre tabindex="0" class="prism-code language-typescript codeBlock_RL5w thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_V7PD"><div class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">class</span><span class="token plain"> </span><span class="token class-name">Example</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// Apply decorator: CacheUntilResolved</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token keyword" style="color:#00009f">async</span><span class="token plain"> </span><span class="token function" style="color:#d73a49">fetchData</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// ...fetch data...</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></div></code></pre></div></div>
|
|
84
|
-
<h4 class="anchor anchorTargetStickyNavbar_LxAM" id="functiondebounce">function.Debounce<a href="#functiondebounce" class="hash-link" aria-label="Direct link to function.Debounce" title="Direct link to function.Debounce" translate="no"></a></h4>
|
|
85
|
-
<div class="language-ts codeBlockContainer_EUFB theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_UdBd"><pre tabindex="0" class="prism-code language-ts codeBlock_RL5w thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_V7PD"><div class="token-line" style="color:#393A34"><span class="token function-variable function" style="color:#d73a49">Debounce</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">delay</span><span class="token operator" style="color:#393A34">?</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">number</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=></span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">_target</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">any</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> _propertyKey</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">string</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> descriptor</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> PropertyDescriptor</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=></span><span class="token plain"> PropertyDescriptor</span><span class="token punctuation" style="color:#393A34">;</span><br></div></code></pre></div></div>
|
|
86
|
-
<p>Debounces the method call by the specified delay.</p>
|
|
87
|
-
<h5 class="anchor anchorTargetStickyNavbar_LxAM" id="parameters-4">Parameters<a href="#parameters-4" class="hash-link" aria-label="Direct link to Parameters" title="Direct link to Parameters" translate="no"></a></h5>
|
|
88
|
-
<h6 class="anchor anchorTargetStickyNavbar_LxAM" id="delay">delay?<a href="#delay" class="hash-link" aria-label="Direct link to delay?" title="Direct link to delay?" translate="no"></a></h6>
|
|
89
|
-
<p><code>number</code> = <code>300</code></p>
|
|
90
|
-
<p>The delay in milliseconds.</p>
|
|
91
|
-
<h5 class="anchor anchorTargetStickyNavbar_LxAM" id="returns-4">Returns<a href="#returns-4" class="hash-link" aria-label="Direct link to Returns" title="Direct link to Returns" translate="no"></a></h5>
|
|
92
|
-
<p>A function that modifies the property descriptor.</p>
|
|
93
|
-
<p>(<code>_target</code>: <code>any</code>, <code>_propertyKey</code>: <code>string</code>, <code>descriptor</code>: <code>PropertyDescriptor</code>) => <code>PropertyDescriptor</code></p>
|
|
94
|
-
<h5 class="anchor anchorTargetStickyNavbar_LxAM" id="example-4">Example<a href="#example-4" class="hash-link" aria-label="Direct link to Example" title="Direct link to Example" translate="no"></a></h5>
|
|
95
|
-
<div class="language-typescript codeBlockContainer_EUFB theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_UdBd"><pre tabindex="0" class="prism-code language-typescript codeBlock_RL5w thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_V7PD"><div class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">class</span><span class="token plain"> </span><span class="token class-name">Example</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// Apply decorator: Debounce(500)</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token function" style="color:#d73a49">onResize</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// ...handle resize...</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></div></code></pre></div></div>
|
|
96
|
-
<h4 class="anchor anchorTargetStickyNavbar_LxAM" id="functionimmutableargs">function.ImmutableArgs<a href="#functionimmutableargs" class="hash-link" aria-label="Direct link to function.ImmutableArgs" title="Direct link to function.ImmutableArgs" translate="no"></a></h4>
|
|
97
|
-
<div class="language-ts codeBlockContainer_EUFB theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_UdBd"><pre tabindex="0" class="prism-code language-ts codeBlock_RL5w thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_V7PD"><div class="token-line" style="color:#393A34"><span class="token function-variable function" style="color:#d73a49">ImmutableArgs</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">_target</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">any</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> _propertyKey</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">string</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">|</span><span class="token plain"> </span><span class="token builtin">symbol</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> descriptor</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> PropertyDescriptor</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=></span><span class="token plain"> PropertyDescriptor</span><span class="token punctuation" style="color:#393A34">;</span><br></div></code></pre></div></div>
|
|
98
|
-
<p>Makes the arguments of a method immutable.</p>
|
|
99
|
-
<h5 class="anchor anchorTargetStickyNavbar_LxAM" id="parameters-5">Parameters<a href="#parameters-5" class="hash-link" aria-label="Direct link to Parameters" title="Direct link to Parameters" translate="no"></a></h5>
|
|
100
|
-
<h6 class="anchor anchorTargetStickyNavbar_LxAM" id="_target-2">_target<a href="#_target-2" class="hash-link" aria-label="Direct link to _target" title="Direct link to _target" translate="no"></a></h6>
|
|
101
|
-
<p><code>any</code></p>
|
|
102
|
-
<p>The target object.</p>
|
|
103
|
-
<h6 class="anchor anchorTargetStickyNavbar_LxAM" id="_propertykey-1">_propertyKey<a href="#_propertykey-1" class="hash-link" aria-label="Direct link to _propertyKey" title="Direct link to _propertyKey" translate="no"></a></h6>
|
|
104
|
-
<p><code>string</code> | <code>symbol</code></p>
|
|
105
|
-
<p>The name of the method.</p>
|
|
106
|
-
<h6 class="anchor anchorTargetStickyNavbar_LxAM" id="descriptor-2">descriptor<a href="#descriptor-2" class="hash-link" aria-label="Direct link to descriptor" title="Direct link to descriptor" translate="no"></a></h6>
|
|
107
|
-
<p><code>PropertyDescriptor</code></p>
|
|
108
|
-
<p>The property descriptor.</p>
|
|
109
|
-
<h5 class="anchor anchorTargetStickyNavbar_LxAM" id="returns-5">Returns<a href="#returns-5" class="hash-link" aria-label="Direct link to Returns" title="Direct link to Returns" translate="no"></a></h5>
|
|
110
|
-
<p><code>PropertyDescriptor</code></p>
|
|
111
|
-
<p>The modified property descriptor.</p>
|
|
112
|
-
<h5 class="anchor anchorTargetStickyNavbar_LxAM" id="example-5">Example<a href="#example-5" class="hash-link" aria-label="Direct link to Example" title="Direct link to Example" translate="no"></a></h5>
|
|
113
|
-
<div class="language-typescript codeBlockContainer_EUFB theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_UdBd"><pre tabindex="0" class="prism-code language-typescript codeBlock_RL5w thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_V7PD"><div class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">class</span><span class="token plain"> </span><span class="token class-name">Example</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// Apply decorator: ImmutableArgs</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token function" style="color:#d73a49">updateData</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">data</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">any</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// ...update data...</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></div></code></pre></div></div>
|
|
114
|
-
<h4 class="anchor anchorTargetStickyNavbar_LxAM" id="functionmemoize">function.Memoize<a href="#functionmemoize" class="hash-link" aria-label="Direct link to function.Memoize" title="Direct link to function.Memoize" translate="no"></a></h4>
|
|
115
|
-
<div class="language-ts codeBlockContainer_EUFB theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_UdBd"><pre tabindex="0" class="prism-code language-ts codeBlock_RL5w thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_V7PD"><div class="token-line" style="color:#393A34"><span class="token function-variable function" style="color:#d73a49">Memoize</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">_target</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">any</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> _key</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">string</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> descriptor</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> PropertyDescriptor</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=></span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">void</span><span class="token punctuation" style="color:#393A34">;</span><br></div></code></pre></div></div>
|
|
116
|
-
<p>Memoizes the result of a method.</p>
|
|
117
|
-
<h5 class="anchor anchorTargetStickyNavbar_LxAM" id="parameters-6">Parameters<a href="#parameters-6" class="hash-link" aria-label="Direct link to Parameters" title="Direct link to Parameters" translate="no"></a></h5>
|
|
118
|
-
<h6 class="anchor anchorTargetStickyNavbar_LxAM" id="_target-3">_target<a href="#_target-3" class="hash-link" aria-label="Direct link to _target" title="Direct link to _target" translate="no"></a></h6>
|
|
119
|
-
<p><code>any</code></p>
|
|
120
|
-
<p>The target object.</p>
|
|
121
|
-
<h6 class="anchor anchorTargetStickyNavbar_LxAM" id="_key">_key<a href="#_key" class="hash-link" aria-label="Direct link to _key" title="Direct link to _key" translate="no"></a></h6>
|
|
122
|
-
<p><code>string</code></p>
|
|
123
|
-
<p>The name of the method.</p>
|
|
124
|
-
<h6 class="anchor anchorTargetStickyNavbar_LxAM" id="descriptor-3">descriptor<a href="#descriptor-3" class="hash-link" aria-label="Direct link to descriptor" title="Direct link to descriptor" translate="no"></a></h6>
|
|
125
|
-
<p><code>PropertyDescriptor</code></p>
|
|
126
|
-
<p>The property descriptor.</p>
|
|
127
|
-
<h5 class="anchor anchorTargetStickyNavbar_LxAM" id="returns-6">Returns<a href="#returns-6" class="hash-link" aria-label="Direct link to Returns" title="Direct link to Returns" translate="no"></a></h5>
|
|
128
|
-
<p><code>void</code></p>
|
|
129
|
-
<p>The modified property descriptor.</p>
|
|
130
|
-
<h5 class="anchor anchorTargetStickyNavbar_LxAM" id="example-6">Example<a href="#example-6" class="hash-link" aria-label="Direct link to Example" title="Direct link to Example" translate="no"></a></h5>
|
|
131
|
-
<div class="language-typescript codeBlockContainer_EUFB theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_UdBd"><pre tabindex="0" class="prism-code language-typescript codeBlock_RL5w thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_V7PD"><div class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">class</span><span class="token plain"> </span><span class="token class-name">Example</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// Apply decorator: Memoize</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token function" style="color:#d73a49">computeValue</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">x</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">number</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token keyword" style="color:#00009f">return</span><span class="token plain"> x </span><span class="token operator" style="color:#393A34">*</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">2</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></div></code></pre></div></div>
|
|
132
|
-
<h4 class="anchor anchorTargetStickyNavbar_LxAM" id="functionmemoizeasync">function.MemoizeAsync<a href="#functionmemoizeasync" class="hash-link" aria-label="Direct link to function.MemoizeAsync" title="Direct link to function.MemoizeAsync" translate="no"></a></h4>
|
|
133
|
-
<div class="language-ts codeBlockContainer_EUFB theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_UdBd"><pre tabindex="0" class="prism-code language-ts codeBlock_RL5w thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_V7PD"><div class="token-line" style="color:#393A34"><span class="token function-variable function" style="color:#d73a49">MemoizeAsync</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">_target</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">any</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> _propertyKey</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">string</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> descriptor</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> PropertyDescriptor</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=></span><span class="token plain"> PropertyDescriptor</span><span class="token punctuation" style="color:#393A34">;</span><br></div></code></pre></div></div>
|
|
134
|
-
<p>Memoizes the result of an async method.</p>
|
|
135
|
-
<h5 class="anchor anchorTargetStickyNavbar_LxAM" id="parameters-7">Parameters<a href="#parameters-7" class="hash-link" aria-label="Direct link to Parameters" title="Direct link to Parameters" translate="no"></a></h5>
|
|
136
|
-
<h6 class="anchor anchorTargetStickyNavbar_LxAM" id="_target-4">_target<a href="#_target-4" class="hash-link" aria-label="Direct link to _target" title="Direct link to _target" translate="no"></a></h6>
|
|
137
|
-
<p><code>any</code></p>
|
|
138
|
-
<p>The target object.</p>
|
|
139
|
-
<h6 class="anchor anchorTargetStickyNavbar_LxAM" id="_propertykey-2">_propertyKey<a href="#_propertykey-2" class="hash-link" aria-label="Direct link to _propertyKey" title="Direct link to _propertyKey" translate="no"></a></h6>
|
|
140
|
-
<p><code>string</code></p>
|
|
141
|
-
<p>The name of the method.</p>
|
|
142
|
-
<h6 class="anchor anchorTargetStickyNavbar_LxAM" id="descriptor-4">descriptor<a href="#descriptor-4" class="hash-link" aria-label="Direct link to descriptor" title="Direct link to descriptor" translate="no"></a></h6>
|
|
143
|
-
<p><code>PropertyDescriptor</code></p>
|
|
144
|
-
<p>The property descriptor.</p>
|
|
145
|
-
<h5 class="anchor anchorTargetStickyNavbar_LxAM" id="returns-7">Returns<a href="#returns-7" class="hash-link" aria-label="Direct link to Returns" title="Direct link to Returns" translate="no"></a></h5>
|
|
146
|
-
<p><code>PropertyDescriptor</code></p>
|
|
147
|
-
<p>The modified property descriptor.</p>
|
|
148
|
-
<h5 class="anchor anchorTargetStickyNavbar_LxAM" id="example-7">Example<a href="#example-7" class="hash-link" aria-label="Direct link to Example" title="Direct link to Example" translate="no"></a></h5>
|
|
149
|
-
<div class="language-typescript codeBlockContainer_EUFB theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_UdBd"><pre tabindex="0" class="prism-code language-typescript codeBlock_RL5w thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_V7PD"><div class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">class</span><span class="token plain"> </span><span class="token class-name">Example</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// Apply decorator: MemoizeAsync</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token keyword" style="color:#00009f">async</span><span class="token plain"> </span><span class="token function" style="color:#d73a49">fetchData</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// ...fetch data...</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></div></code></pre></div></div>
|
|
150
|
-
<h4 class="anchor anchorTargetStickyNavbar_LxAM" id="functionmemoizesingleargprimitive">function.MemoizeSingleArgPrimitive<a href="#functionmemoizesingleargprimitive" class="hash-link" aria-label="Direct link to function.MemoizeSingleArgPrimitive" title="Direct link to function.MemoizeSingleArgPrimitive" translate="no"></a></h4>
|
|
151
|
-
<div class="language-ts codeBlockContainer_EUFB theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_UdBd"><pre tabindex="0" class="prism-code language-ts codeBlock_RL5w thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_V7PD"><div class="token-line" style="color:#393A34"><span class="token plain">MemoizeSingleArgPrimitive</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token operator" style="color:#393A34"><</span><span class="token constant" style="color:#36acaa">T</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token constant" style="color:#36acaa">R</span><span class="token operator" style="color:#393A34">></span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">_target</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">any</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> _propertyKey</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">string</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> descriptor</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> TypedPropertyDescriptor</span><span class="token operator" style="color:#393A34"><</span><span class="token punctuation" style="color:#393A34">(</span><span class="token operator" style="color:#393A34">...</span><span class="token plain">args</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">any</span><span class="token punctuation" style="color:#393A34">[</span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=></span><span class="token plain"> </span><span class="token constant" style="color:#36acaa">R</span><span class="token operator" style="color:#393A34">></span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=></span><span class="token plain"> TypedPropertyDescriptor</span><span class="token operator" style="color:#393A34"><</span><span class="token punctuation" style="color:#393A34">(</span><span class="token operator" style="color:#393A34">...</span><span class="token plain">args</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">any</span><span class="token punctuation" style="color:#393A34">[</span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=></span><span class="token plain"> </span><span class="token constant" style="color:#36acaa">R</span><span class="token operator" style="color:#393A34">></span><span class="token punctuation" style="color:#393A34">;</span><br></div></code></pre></div></div>
|
|
152
|
-
<p>Memoizes the result of a function with a single primitive argument or no arguments.
|
|
153
|
-
Only caches results for functions that take exactly one primitive argument (string, number, boolean, symbol, null, or undefined)
|
|
154
|
-
or no arguments at all. Uses a simple object as the cache.</p>
|
|
155
|
-
<h5 class="anchor anchorTargetStickyNavbar_LxAM" id="type-parameters-1">Type Parameters<a href="#type-parameters-1" class="hash-link" aria-label="Direct link to Type Parameters" title="Direct link to Type Parameters" translate="no"></a></h5>
|
|
156
|
-
<h6 class="anchor anchorTargetStickyNavbar_LxAM" id="t-1">T<a href="#t-1" class="hash-link" aria-label="Direct link to T" title="Direct link to T" translate="no"></a></h6>
|
|
157
|
-
<p><code>T</code> <em>extends</em> <code>string</code> | <code>number</code> | <code>boolean</code> | <code>symbol</code> | <code>null</code> | <code>undefined</code></p>
|
|
158
|
-
<h6 class="anchor anchorTargetStickyNavbar_LxAM" id="r">R<a href="#r" class="hash-link" aria-label="Direct link to R" title="Direct link to R" translate="no"></a></h6>
|
|
159
|
-
<p><code>R</code></p>
|
|
160
|
-
<h5 class="anchor anchorTargetStickyNavbar_LxAM" id="parameters-8">Parameters<a href="#parameters-8" class="hash-link" aria-label="Direct link to Parameters" title="Direct link to Parameters" translate="no"></a></h5>
|
|
161
|
-
<h6 class="anchor anchorTargetStickyNavbar_LxAM" id="_target-5">_target<a href="#_target-5" class="hash-link" aria-label="Direct link to _target" title="Direct link to _target" translate="no"></a></h6>
|
|
162
|
-
<p><code>any</code></p>
|
|
163
|
-
<h6 class="anchor anchorTargetStickyNavbar_LxAM" id="_propertykey-3">_propertyKey<a href="#_propertykey-3" class="hash-link" aria-label="Direct link to _propertyKey" title="Direct link to _propertyKey" translate="no"></a></h6>
|
|
164
|
-
<p><code>string</code></p>
|
|
165
|
-
<h6 class="anchor anchorTargetStickyNavbar_LxAM" id="descriptor-5">descriptor<a href="#descriptor-5" class="hash-link" aria-label="Direct link to descriptor" title="Direct link to descriptor" translate="no"></a></h6>
|
|
166
|
-
<p><code>TypedPropertyDescriptor</code><(...<code>args</code>: <code>any</code>[]) => <code>R</code>></p>
|
|
167
|
-
<h5 class="anchor anchorTargetStickyNavbar_LxAM" id="returns-8">Returns<a href="#returns-8" class="hash-link" aria-label="Direct link to Returns" title="Direct link to Returns" translate="no"></a></h5>
|
|
168
|
-
<p><code>TypedPropertyDescriptor</code><(...<code>args</code>: <code>any</code>[]) => <code>R</code>></p>
|
|
169
|
-
<h5 class="anchor anchorTargetStickyNavbar_LxAM" id="examples">Examples<a href="#examples" class="hash-link" aria-label="Direct link to Examples" title="Direct link to Examples" translate="no"></a></h5>
|
|
170
|
-
<div class="language-typescript codeBlockContainer_EUFB theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_UdBd"><pre tabindex="0" class="prism-code language-typescript codeBlock_RL5w thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_V7PD"><div class="token-line" style="color:#393A34"><span class="token comment" style="color:#999988;font-style:italic">// Single primitive argument</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword" style="color:#00009f">class</span><span class="token plain"> </span><span class="token class-name">Example</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// Apply decorator: MemoizeSingleArgPrimitive</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token function" style="color:#d73a49">double</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">x</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">number</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token keyword" style="color:#00009f">return</span><span class="token plain"> x </span><span class="token operator" style="color:#393A34">*</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">2</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword" style="color:#00009f">const</span><span class="token plain"> ex </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">new</span><span class="token plain"> </span><span class="token class-name">Example</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">ex</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">double</span><span class="token punctuation" style="color:#393A34">(</span><span class="token number" style="color:#36acaa">2</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// Calls original, returns 4</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">ex</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">double</span><span class="token punctuation" style="color:#393A34">(</span><span class="token number" style="color:#36acaa">2</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// Returns cached result, 4</span><br></div></code></pre></div></div>
|
|
171
|
-
<div class="language-typescript codeBlockContainer_EUFB theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_UdBd"><pre tabindex="0" class="prism-code language-typescript codeBlock_RL5w thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_V7PD"><div class="token-line" style="color:#393A34"><span class="token comment" style="color:#999988;font-style:italic">// No arguments</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword" style="color:#00009f">class</span><span class="token plain"> </span><span class="token class-name">ExampleNoArg</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// Apply decorator: MemoizeSingleArgPrimitive</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token function" style="color:#d73a49">getRandom</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token keyword" style="color:#00009f">return</span><span class="token plain"> Math</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">random</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword" style="color:#00009f">const</span><span class="token plain"> ex2 </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">new</span><span class="token plain"> </span><span class="token class-name">ExampleNoArg</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">ex2</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">getRandom</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// Calls original, returns a value</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">ex2</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">getRandom</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// Returns cached value</span><br></div></code></pre></div></div>
|
|
172
|
-
<div class="language-typescript codeBlockContainer_EUFB theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_UdBd"><pre tabindex="0" class="prism-code language-typescript codeBlock_RL5w thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_V7PD"><div class="token-line" style="color:#393A34"><span class="token comment" style="color:#999988;font-style:italic">// Not cached for non-primitive or multiple arguments</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword" style="color:#00009f">class</span><span class="token plain"> </span><span class="token class-name">ExampleObj</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// Apply decorator: MemoizeSingleArgPrimitive</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token function" style="color:#d73a49">sum</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">obj</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"> x</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">number</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token keyword" style="color:#00009f">return</span><span class="token plain"> obj</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">x </span><span class="token operator" style="color:#393A34">+</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword" style="color:#00009f">const</span><span class="token plain"> ex3 </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">new</span><span class="token plain"> </span><span class="token class-name">ExampleObj</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">ex3</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">sum</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"> x</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// Calls original</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">ex3</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">sum</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"> x</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// Calls original again (not cached)</span><br></div></code></pre></div></div>
|
|
173
|
-
<h4 class="anchor anchorTargetStickyNavbar_LxAM" id="functionqueuetask">function.QueueTask<a href="#functionqueuetask" class="hash-link" aria-label="Direct link to function.QueueTask" title="Direct link to function.QueueTask" translate="no"></a></h4>
|
|
174
|
-
<div class="language-ts codeBlockContainer_EUFB theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_UdBd"><pre tabindex="0" class="prism-code language-ts codeBlock_RL5w thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_V7PD"><div class="token-line" style="color:#393A34"><span class="token function-variable function" style="color:#d73a49">QueueTask</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">_target</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">unknown</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> _key</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">string</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> descriptor</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> PropertyDescriptor</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=></span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">void</span><span class="token punctuation" style="color:#393A34">;</span><br></div></code></pre></div></div>
|
|
175
|
-
<p>Queues the method call as a microtask.</p>
|
|
176
|
-
<h5 class="anchor anchorTargetStickyNavbar_LxAM" id="parameters-9">Parameters<a href="#parameters-9" class="hash-link" aria-label="Direct link to Parameters" title="Direct link to Parameters" translate="no"></a></h5>
|
|
177
|
-
<h6 class="anchor anchorTargetStickyNavbar_LxAM" id="_target-6">_target<a href="#_target-6" class="hash-link" aria-label="Direct link to _target" title="Direct link to _target" translate="no"></a></h6>
|
|
178
|
-
<p><code>unknown</code></p>
|
|
179
|
-
<p>The target object.</p>
|
|
180
|
-
<h6 class="anchor anchorTargetStickyNavbar_LxAM" id="_key-1">_key<a href="#_key-1" class="hash-link" aria-label="Direct link to _key" title="Direct link to _key" translate="no"></a></h6>
|
|
181
|
-
<p><code>string</code></p>
|
|
182
|
-
<p>The name of the method.</p>
|
|
183
|
-
<h6 class="anchor anchorTargetStickyNavbar_LxAM" id="descriptor-6">descriptor<a href="#descriptor-6" class="hash-link" aria-label="Direct link to descriptor" title="Direct link to descriptor" translate="no"></a></h6>
|
|
184
|
-
<p><code>PropertyDescriptor</code></p>
|
|
185
|
-
<p>The property descriptor.</p>
|
|
186
|
-
<h5 class="anchor anchorTargetStickyNavbar_LxAM" id="returns-9">Returns<a href="#returns-9" class="hash-link" aria-label="Direct link to Returns" title="Direct link to Returns" translate="no"></a></h5>
|
|
187
|
-
<p><code>void</code></p>
|
|
188
|
-
<p>The modified property descriptor.</p>
|
|
189
|
-
<h5 class="anchor anchorTargetStickyNavbar_LxAM" id="example-8">Example<a href="#example-8" class="hash-link" aria-label="Direct link to Example" title="Direct link to Example" translate="no"></a></h5>
|
|
190
|
-
<div class="language-typescript codeBlockContainer_EUFB theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_UdBd"><pre tabindex="0" class="prism-code language-typescript codeBlock_RL5w thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_V7PD"><div class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">class</span><span class="token plain"> </span><span class="token class-name">Example</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// Apply decorator: QueueTask</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token function" style="color:#d73a49">processTask</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// ...process task...</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></div></code></pre></div></div>
|
|
191
|
-
<h4 class="anchor anchorTargetStickyNavbar_LxAM" id="functionretryasync">function.RetryAsync<a href="#functionretryasync" class="hash-link" aria-label="Direct link to function.RetryAsync" title="Direct link to function.RetryAsync" translate="no"></a></h4>
|
|
192
|
-
<div class="language-ts codeBlockContainer_EUFB theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_UdBd"><pre tabindex="0" class="prism-code language-ts codeBlock_RL5w thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_V7PD"><div class="token-line" style="color:#393A34"><span class="token function-variable function" style="color:#d73a49">RetryAsync</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">retries</span><span class="token operator" style="color:#393A34">?</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">number</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> interval</span><span class="token operator" style="color:#393A34">?</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">number</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> reThrowException</span><span class="token operator" style="color:#393A34">?</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">boolean</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=></span><span class="token plain"> MethodDecorator</span><span class="token punctuation" style="color:#393A34">;</span><br></div></code></pre></div></div>
|
|
193
|
-
<p>Retries an async method a specified number of times with a delay between attempts.</p>
|
|
194
|
-
<h5 class="anchor anchorTargetStickyNavbar_LxAM" id="parameters-10">Parameters<a href="#parameters-10" class="hash-link" aria-label="Direct link to Parameters" title="Direct link to Parameters" translate="no"></a></h5>
|
|
195
|
-
<h6 class="anchor anchorTargetStickyNavbar_LxAM" id="retries">retries?<a href="#retries" class="hash-link" aria-label="Direct link to retries?" title="Direct link to retries?" translate="no"></a></h6>
|
|
196
|
-
<p><code>number</code> = <code>3</code></p>
|
|
197
|
-
<p>The number of retry attempts.</p>
|
|
198
|
-
<h6 class="anchor anchorTargetStickyNavbar_LxAM" id="interval">interval?<a href="#interval" class="hash-link" aria-label="Direct link to interval?" title="Direct link to interval?" translate="no"></a></h6>
|
|
199
|
-
<p><code>number</code> = <code>2000</code></p>
|
|
200
|
-
<p>The delay in milliseconds between retries.</p>
|
|
201
|
-
<h6 class="anchor anchorTargetStickyNavbar_LxAM" id="rethrowexception">reThrowException?<a href="#rethrowexception" class="hash-link" aria-label="Direct link to reThrowException?" title="Direct link to reThrowException?" translate="no"></a></h6>
|
|
202
|
-
<p><code>boolean</code> = <code>true</code></p>
|
|
203
|
-
<p>Whether to rethrow the exception after all retries fail.</p>
|
|
204
|
-
<h5 class="anchor anchorTargetStickyNavbar_LxAM" id="returns-10">Returns<a href="#returns-10" class="hash-link" aria-label="Direct link to Returns" title="Direct link to Returns" translate="no"></a></h5>
|
|
205
|
-
<p><code>MethodDecorator</code></p>
|
|
206
|
-
<p>A method decorator that modifies the property descriptor.</p>
|
|
207
|
-
<h5 class="anchor anchorTargetStickyNavbar_LxAM" id="example-9">Example<a href="#example-9" class="hash-link" aria-label="Direct link to Example" title="Direct link to Example" translate="no"></a></h5>
|
|
208
|
-
<div class="language-ts codeBlockContainer_EUFB theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_UdBd"><pre tabindex="0" class="prism-code language-ts codeBlock_RL5w thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_V7PD"><div class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">class</span><span class="token plain"> </span><span class="token class-name">Example</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token decorator at operator" style="color:#393A34">@</span><span class="token decorator function" style="color:#d73a49">RetryAsync</span><span class="token punctuation" style="color:#393A34">(</span><span class="token number" style="color:#36acaa">3</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1000</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token boolean" style="color:#36acaa">true</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token keyword" style="color:#00009f">async</span><span class="token plain"> </span><span class="token function" style="color:#d73a49">fetchData</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token builtin">console</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">log</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">'Attempting to fetch data...'</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token keyword" style="color:#00009f">if</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">Math</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">random</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token operator" style="color:#393A34"><</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">0.7</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token keyword" style="color:#00009f">throw</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">new</span><span class="token plain"> </span><span class="token class-name">Error</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">'Fetch failed'</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token keyword" style="color:#00009f">return</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'Data fetched successfully'</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword" style="color:#00009f">const</span><span class="token plain"> instance </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">new</span><span class="token plain"> </span><span class="token class-name">Example</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain">instance</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">fetchData</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">then</span><span class="token punctuation" style="color:#393A34">(</span><span class="token builtin">console</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">log</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">catch</span><span class="token punctuation" style="color:#393A34">(</span><span class="token builtin">console</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">error</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic">// Output (example):</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic">// Attempting to fetch data...</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic">// Attempting to fetch data...</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic">// Attempting to fetch data...</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic">// Error: Fetch failed</span><br></div></code></pre></div></div>
|
|
209
|
-
<h4 class="anchor anchorTargetStickyNavbar_LxAM" id="functionthrottle">function.Throttle<a href="#functionthrottle" class="hash-link" aria-label="Direct link to function.Throttle" title="Direct link to function.Throttle" translate="no"></a></h4>
|
|
210
|
-
<div class="language-ts codeBlockContainer_EUFB theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_UdBd"><pre tabindex="0" class="prism-code language-ts codeBlock_RL5w thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_V7PD"><div class="token-line" style="color:#393A34"><span class="token function-variable function" style="color:#d73a49">Throttle</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">delay</span><span class="token operator" style="color:#393A34">?</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">number</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=></span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">_target</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">any</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> _propertyKey</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token builtin">string</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> descriptor</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> PropertyDescriptor</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">=></span><span class="token plain"> PropertyDescriptor</span><span class="token punctuation" style="color:#393A34">;</span><br></div></code></pre></div></div>
|
|
211
|
-
<p>Throttles the method call by the specified delay.</p>
|
|
212
|
-
<h5 class="anchor anchorTargetStickyNavbar_LxAM" id="parameters-11">Parameters<a href="#parameters-11" class="hash-link" aria-label="Direct link to Parameters" title="Direct link to Parameters" translate="no"></a></h5>
|
|
213
|
-
<h6 class="anchor anchorTargetStickyNavbar_LxAM" id="delay-1">delay?<a href="#delay-1" class="hash-link" aria-label="Direct link to delay?" title="Direct link to delay?" translate="no"></a></h6>
|
|
214
|
-
<p><code>number</code> = <code>300</code></p>
|
|
215
|
-
<p>The delay in milliseconds.</p>
|
|
216
|
-
<h5 class="anchor anchorTargetStickyNavbar_LxAM" id="returns-11">Returns<a href="#returns-11" class="hash-link" aria-label="Direct link to Returns" title="Direct link to Returns" translate="no"></a></h5>
|
|
217
|
-
<p>A function that modifies the property descriptor.</p>
|
|
218
|
-
<p>(<code>_target</code>: <code>any</code>, <code>_propertyKey</code>: <code>string</code>, <code>descriptor</code>: <code>PropertyDescriptor</code>) => <code>PropertyDescriptor</code></p>
|
|
219
|
-
<h5 class="anchor anchorTargetStickyNavbar_LxAM" id="example-10">Example<a href="#example-10" class="hash-link" aria-label="Direct link to Example" title="Direct link to Example" translate="no"></a></h5>
|
|
220
|
-
<div class="language-ts codeBlockContainer_EUFB theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_UdBd"><pre tabindex="0" class="prism-code language-ts codeBlock_RL5w thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_V7PD"><div class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">class</span><span class="token plain"> </span><span class="token class-name">Example</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token decorator at operator" style="color:#393A34">@</span><span class="token decorator function" style="color:#d73a49">Throttle</span><span class="token punctuation" style="color:#393A34">(</span><span class="token number" style="color:#36acaa">500</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token function" style="color:#d73a49">onScroll</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// ...handle scroll...</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><br></div></code></pre></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col noPrint_CXW_"><a href="https://git.elliemae.io/platform-ui/pui-app-sdk.git/docs/api/variables/decorators.md" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_lW2Z" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_jQ0h"></div></div></footer></article><nav class="docusaurus-mt-lg pagination-nav" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/app-sdk/api/variables/createSideEffect"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">createSideEffect</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/app-sdk/api/variables/endSession"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">endSession</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_HU9B thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#type-declaration" class="table-of-contents__link toc-highlight">Type Declaration</a><ul><li><a href="#class" class="table-of-contents__link toc-highlight">class</a></li><li><a href="#function" class="table-of-contents__link toc-highlight">function</a></li></ul></li></ul></div></div></div></div></main></div></div></div><footer class="theme-layout-footer footer footer--dark"><div class="container container-fluid"><div class="row footer__links"><div class="theme-layout-footer-column col footer__col"><div class="footer__title">Docs</div><ul class="footer__items clean-list"><li class="footer__item"><a class="footer__link-item" href="/app-sdk/">Getting Started</a></li></ul></div><div class="theme-layout-footer-column col footer__col"><div class="footer__title">Community</div><ul class="footer__items clean-list"><li class="footer__item"><a href="https://icemortgagetechnology.slack.com/archives/C01M49EGP6Z" target="_blank" rel="noopener noreferrer" class="footer__link-item">Slack<svg width="13.5" height="13.5" aria-label="(opens in new tab)" class="iconExternalLink_uxYp"><use href="#theme-svg-external-link"></use></svg></a></li></ul></div><div class="theme-layout-footer-column col footer__col"><div class="footer__title">More</div><ul class="footer__items clean-list"><li class="footer__item"><a href="https://git.elliemae.io/platform-ui/pui-app-sdk.git" target="_blank" rel="noopener noreferrer" class="footer__link-item">GitHub<svg width="13.5" height="13.5" aria-label="(opens in new tab)" class="iconExternalLink_uxYp"><use href="#theme-svg-external-link"></use></svg></a></li></ul></div></div><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2026 ICE.</div></div></div></footer></div>
|
|
221
|
-
</body>
|
|
222
|
-
</html>
|