@decaf-ts/for-angular 0.1.0 → 0.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/{dist/lib/fesm2022 → fesm2022}/decaf-ts-for-angular.mjs +93 -109
- package/fesm2022/decaf-ts-for-angular.mjs.map +1 -0
- package/{dist/lib/index.d.ts → index.d.ts} +6 -5
- package/package.json +15 -86
- package/.editorconfig +0 -31
- package/.gitlab-ci.yml +0 -197
- package/.hintrc +0 -19
- package/.prettierrc +0 -49
- package/.snyk +0 -13
- package/LICENSE.md +0 -260
- package/angular.json +0 -274
- package/bs-config.json +0 -5
- package/cli-module.js.map +0 -1
- package/dist/for-angular/cli/cli-module.d.ts +0 -22
- package/dist/for-angular/cli/cli-module.d.ts.map +0 -1
- package/dist/for-angular/cli/cli-module.js +0 -131
- package/dist/for-angular/cli/cli-module.js.map +0 -1
- package/dist/lib/README.md +0 -117
- package/dist/lib/fesm2022/decaf-ts-for-angular.mjs.map +0 -1
- package/eslint.config.mjs +0 -101
- package/ionic.config.json +0 -14
- package/jest.config.ts +0 -52
- package/jest.setup.ts +0 -50
- package/karma.conf.js +0 -50
- package/ng-package.json +0 -17
- package/ngsw-config.json +0 -30
- package/playwright.config.ts +0 -80
- package/resources/favicon.png +0 -0
- package/resources/favicon.svg +0 -29
- package/resources/icon-background.png +0 -0
- package/resources/icon-foreground.png +0 -0
- package/resources/icon-only.png +0 -0
- package/resources/icon-only.svg +0 -29
- package/resources/splash-dark.png +0 -0
- package/resources/splash-dark2.png +0 -0
- package/resources/splash.png +0 -0
- package/resources/splash2.png +0 -0
- package/resources/touch-icon.svg +0 -29
- package/schematics/README.md +0 -28
- package/schematics/collection.json +0 -20
- package/schematics/package-lock.json +0 -1501
- package/schematics/package.json +0 -37
- package/schematics/src/component/files/__name@dasherize@if-flat__/__name@dasherize__.__type@dasherize__.__style__.template +0 -0
- package/schematics/src/component/files/__name@dasherize@if-flat__/__name@dasherize__.__type@dasherize__.html.template +0 -3
- package/schematics/src/component/files/__name@dasherize@if-flat__/__name@dasherize__.__type@dasherize__.spec.ts.template +0 -40
- package/schematics/src/component/files/__name@dasherize@if-flat__/__name@dasherize__.__type@dasherize__.ts.template +0 -37
- package/schematics/src/component/files/__name@dasherize@if-flat__/__name@dasherize__.module.ts.template +0 -14
- package/schematics/src/component/index.js +0 -146
- package/schematics/src/component/schema.js +0 -2
- package/schematics/src/component/schema.json +0 -101
- package/schematics/src/page/files/__name@dasherize__.page.html.template +0 -15
- package/schematics/src/page/files/__name@dasherize__.page.scss.template +0 -0
- package/schematics/src/page/files/__name@dasherize__.page.ts.template +0 -19
- package/schematics/src/page/index.js +0 -71
- package/schematics/src/page/schema.json +0 -87
- package/schematics/src/schematics/index.js +0 -11
- package/schematics/src/schematics/index_spec.js +0 -13
- package/schematics/src/util/ast-util.js +0 -517
- package/schematics/src/util/change.js +0 -96
- package/schematics/src/util/index.js +0 -14
- package/settings.json +0 -112
- package/tsconfig.app.json +0 -22
- package/tsconfig.cli.json +0 -82
- package/tsconfig.lib.json +0 -14
- package/tsconfig.lib.prod.json +0 -10
- package/tsconfig.spec.json +0 -22
- package/webpack.config.js +0 -10
- package/workdocs/1-Header.md +0 -5
- package/workdocs/2-Badges.md +0 -30
- package/workdocs/4-Description.md +0 -4
- package/workdocs/5-HowToUse.md +0 -27
- package/workdocs/6-Related.md +0 -7
- package/workdocs/7-Social.md +0 -5
- package/workdocs/99-Footer.md +0 -28
- package/workdocs/Readme.md +0 -12
- package/workdocs/assets/apple-touch-icon.png +0 -0
- package/workdocs/assets/decaf-logo.svg +0 -54
- package/workdocs/assets/favicon.png +0 -0
- package/workdocs/assets/slogans.json +0 -182
- package/workdocs/confluence/.markdown-confluence.template.json +0 -6
- package/workdocs/confluence/Angular Module.md +0 -5
- package/workdocs/drawings/diagram.drawio +0 -24
- package/workdocs/prompts/bulk.md +0 -122
- package/workdocs/prompts/code.md +0 -47
- package/workdocs/prompts/documentation.md +0 -146
- package/workdocs/prompts/uml.md +0 -11
- package/workdocs/readme-md.json +0 -6
- package/workdocs/reports/CHANGELOG.md +0 -12
- package/workdocs/reports/DEPENDENCIES.md +0 -213
- package/workdocs/reports/RELEASE_NOTES.md +0 -24
- package/workdocs/reports/coverage/.gitkeep +0 -0
- package/workdocs/reports/coverage/clover.xml +0 -4107
- package/workdocs/reports/coverage/coverage-final.json +0 -76
- package/workdocs/reports/coverage/lcov-report/base.css +0 -224
- package/workdocs/reports/coverage/lcov-report/block-navigation.js +0 -87
- package/workdocs/reports/coverage/lcov-report/favicon.png +0 -0
- package/workdocs/reports/coverage/lcov-report/index.html +0 -551
- package/workdocs/reports/coverage/lcov-report/prettify.css +0 -1
- package/workdocs/reports/coverage/lcov-report/prettify.js +0 -2
- package/workdocs/reports/coverage/lcov-report/sort-arrow-sprite.png +0 -0
- package/workdocs/reports/coverage/lcov-report/sorter.js +0 -210
- package/workdocs/reports/coverage/lcov-report/src/app/models/CategoryModel.ts.html +0 -277
- package/workdocs/reports/coverage/lcov-report/src/app/models/DemoModel.ts.html +0 -427
- package/workdocs/reports/coverage/lcov-report/src/app/models/UserModel.ts.html +0 -226
- package/workdocs/reports/coverage/lcov-report/src/app/models/index.html +0 -146
- package/workdocs/reports/coverage/lcov-report/src/cli-module.ts.html +0 -502
- package/workdocs/reports/coverage/lcov-report/src/environments/environment.ts.html +0 -166
- package/workdocs/reports/coverage/lcov-report/src/environments/index.html +0 -116
- package/workdocs/reports/coverage/lcov-report/src/index.html +0 -191
- package/workdocs/reports/coverage/lcov-report/src/karma-test.ts.html +0 -121
- package/workdocs/reports/coverage/lcov-report/src/lib/components/card/card.component.ts.html +0 -625
- package/workdocs/reports/coverage/lcov-report/src/lib/components/card/index.html +0 -116
- package/workdocs/reports/coverage/lcov-report/src/lib/components/component-renderer/component-renderer.component.ts.html +0 -772
- package/workdocs/reports/coverage/lcov-report/src/lib/components/component-renderer/index.html +0 -116
- package/workdocs/reports/coverage/lcov-report/src/lib/components/crud-field/crud-field.component.ts.html +0 -2698
- package/workdocs/reports/coverage/lcov-report/src/lib/components/crud-field/index.html +0 -116
- package/workdocs/reports/coverage/lcov-report/src/lib/components/crud-form/constants.ts.html +0 -133
- package/workdocs/reports/coverage/lcov-report/src/lib/components/crud-form/crud-form.component.ts.html +0 -346
- package/workdocs/reports/coverage/lcov-report/src/lib/components/crud-form/index.html +0 -116
- package/workdocs/reports/coverage/lcov-report/src/lib/components/empty-state/empty-state.component.ts.html +0 -1264
- package/workdocs/reports/coverage/lcov-report/src/lib/components/empty-state/index.html +0 -116
- package/workdocs/reports/coverage/lcov-report/src/lib/components/fieldset/fieldset.component.ts.html +0 -2965
- package/workdocs/reports/coverage/lcov-report/src/lib/components/fieldset/index.html +0 -116
- package/workdocs/reports/coverage/lcov-report/src/lib/components/file-upload/file-upload.component.ts.html +0 -2263
- package/workdocs/reports/coverage/lcov-report/src/lib/components/file-upload/index.html +0 -116
- package/workdocs/reports/coverage/lcov-report/src/lib/components/filter/filter.component.ts.html +0 -2485
- package/workdocs/reports/coverage/lcov-report/src/lib/components/filter/index.html +0 -116
- package/workdocs/reports/coverage/lcov-report/src/lib/components/for-angular-components.module.ts.html +0 -259
- package/workdocs/reports/coverage/lcov-report/src/lib/components/icon/icon.component.ts.html +0 -358
- package/workdocs/reports/coverage/lcov-report/src/lib/components/icon/index.html +0 -116
- package/workdocs/reports/coverage/lcov-report/src/lib/components/index.html +0 -131
- package/workdocs/reports/coverage/lcov-report/src/lib/components/index.ts.html +0 -181
- package/workdocs/reports/coverage/lcov-report/src/lib/components/layout/index.html +0 -116
- package/workdocs/reports/coverage/lcov-report/src/lib/components/layout/layout.component.ts.html +0 -943
- package/workdocs/reports/coverage/lcov-report/src/lib/components/list/index.html +0 -116
- package/workdocs/reports/coverage/lcov-report/src/lib/components/list/list.component.ts.html +0 -4420
- package/workdocs/reports/coverage/lcov-report/src/lib/components/list-item/index.html +0 -116
- package/workdocs/reports/coverage/lcov-report/src/lib/components/list-item/list-item.component.ts.html +0 -1741
- package/workdocs/reports/coverage/lcov-report/src/lib/components/modal/index.html +0 -116
- package/workdocs/reports/coverage/lcov-report/src/lib/components/modal/modal.component.ts.html +0 -1984
- package/workdocs/reports/coverage/lcov-report/src/lib/components/model-renderer/index.html +0 -116
- package/workdocs/reports/coverage/lcov-report/src/lib/components/model-renderer/model-renderer.component.ts.html +0 -373
- package/workdocs/reports/coverage/lcov-report/src/lib/components/pagination/index.html +0 -116
- package/workdocs/reports/coverage/lcov-report/src/lib/components/pagination/pagination.component.ts.html +0 -1165
- package/workdocs/reports/coverage/lcov-report/src/lib/components/searchbar/index.html +0 -116
- package/workdocs/reports/coverage/lcov-report/src/lib/components/searchbar/searchbar.component.ts.html +0 -1774
- package/workdocs/reports/coverage/lcov-report/src/lib/components/stepped-form/index.html +0 -116
- package/workdocs/reports/coverage/lcov-report/src/lib/components/stepped-form/stepped-form.component.ts.html +0 -1219
- package/workdocs/reports/coverage/lcov-report/src/lib/components/table/index.html +0 -116
- package/workdocs/reports/coverage/lcov-report/src/lib/components/table/table.component.ts.html +0 -1054
- package/workdocs/reports/coverage/lcov-report/src/lib/directives/NgxSvgDirective.ts.html +0 -163
- package/workdocs/reports/coverage/lcov-report/src/lib/directives/collapsable.directive.ts.html +0 -268
- package/workdocs/reports/coverage/lcov-report/src/lib/directives/index.html +0 -131
- package/workdocs/reports/coverage/lcov-report/src/lib/directives/index.ts.html +0 -91
- package/workdocs/reports/coverage/lcov-report/src/lib/engine/DynamicModule.ts.html +0 -133
- package/workdocs/reports/coverage/lcov-report/src/lib/engine/MediaService.ts.html +0 -142
- package/workdocs/reports/coverage/lcov-report/src/lib/engine/NgxBaseComponent.ts.html +0 -2194
- package/workdocs/reports/coverage/lcov-report/src/lib/engine/NgxComponentDirective.ts.html +0 -3430
- package/workdocs/reports/coverage/lcov-report/src/lib/engine/NgxCrudFormField.ts.html +0 -721
- package/workdocs/reports/coverage/lcov-report/src/lib/engine/NgxDecafComponentDirective.ts.html +0 -1864
- package/workdocs/reports/coverage/lcov-report/src/lib/engine/NgxDecafFormFieldDirective.ts.html +0 -952
- package/workdocs/reports/coverage/lcov-report/src/lib/engine/NgxDecafFormService.ts.html +0 -3211
- package/workdocs/reports/coverage/lcov-report/src/lib/engine/NgxEventHandler.ts.html +0 -307
- package/workdocs/reports/coverage/lcov-report/src/lib/engine/NgxFormDirective.ts.html +0 -1366
- package/workdocs/reports/coverage/lcov-report/src/lib/engine/NgxFormFieldDirective.ts.html +0 -1960
- package/workdocs/reports/coverage/lcov-report/src/lib/engine/NgxFormService.ts.html +0 -3004
- package/workdocs/reports/coverage/lcov-report/src/lib/engine/NgxModelPageDirective.ts.html +0 -1672
- package/workdocs/reports/coverage/lcov-report/src/lib/engine/NgxPageDirective.ts.html +0 -748
- package/workdocs/reports/coverage/lcov-report/src/lib/engine/NgxParentComponentDirective.ts.html +0 -775
- package/workdocs/reports/coverage/lcov-report/src/lib/engine/NgxRenderableComponentDirective.ts.html +0 -727
- package/workdocs/reports/coverage/lcov-report/src/lib/engine/NgxRenderingEngine.ts.html +0 -2005
- package/workdocs/reports/coverage/lcov-report/src/lib/engine/NgxRepositoryDirective.ts.html +0 -1546
- package/workdocs/reports/coverage/lcov-report/src/lib/engine/ValidatorFactory.ts.html +0 -817
- package/workdocs/reports/coverage/lcov-report/src/lib/engine/constants.ts.html +0 -1120
- package/workdocs/reports/coverage/lcov-report/src/lib/engine/decorators.ts.html +0 -376
- package/workdocs/reports/coverage/lcov-report/src/lib/engine/helpers.ts.html +0 -694
- package/workdocs/reports/coverage/lcov-report/src/lib/engine/index.html +0 -356
- package/workdocs/reports/coverage/lcov-report/src/lib/engine/index.ts.html +0 -160
- package/workdocs/reports/coverage/lcov-report/src/lib/engine/overrides.ts.html +0 -502
- package/workdocs/reports/coverage/lcov-report/src/lib/for-angular-common.module.ts.html +0 -298
- package/workdocs/reports/coverage/lcov-report/src/lib/helpers/index.html +0 -131
- package/workdocs/reports/coverage/lcov-report/src/lib/helpers/index.ts.html +0 -121
- package/workdocs/reports/coverage/lcov-report/src/lib/helpers/utils.ts.html +0 -1603
- package/workdocs/reports/coverage/lcov-report/src/lib/i18n/FakeLoader.ts.html +0 -157
- package/workdocs/reports/coverage/lcov-report/src/lib/i18n/Loader.ts.html +0 -826
- package/workdocs/reports/coverage/lcov-report/src/lib/i18n/index.html +0 -146
- package/workdocs/reports/coverage/lcov-report/src/lib/i18n/index.ts.html +0 -91
- package/workdocs/reports/coverage/lcov-report/src/lib/index.html +0 -131
- package/workdocs/reports/coverage/lcov-report/src/lib/public-apis.ts.html +0 -157
- package/workdocs/reports/coverage/lcov-report/src/lib/services/NgxFormService.ts.html +0 -3460
- package/workdocs/reports/coverage/lcov-report/src/lib/services/NgxMediaService.ts.html +0 -1420
- package/workdocs/reports/coverage/lcov-report/src/lib/services/NgxRouterService.ts.html +0 -1243
- package/workdocs/reports/coverage/lcov-report/src/lib/services/NgxTranslateService.ts.html +0 -214
- package/workdocs/reports/coverage/lcov-report/src/lib/services/index.html +0 -176
- package/workdocs/reports/coverage/lcov-report/src/lib/services/index.ts.html +0 -91
- package/workdocs/reports/coverage/lcov-report/src/lib/utils/DecafFakerRepository.ts.html +0 -571
- package/workdocs/reports/coverage/lcov-report/src/lib/utils/helpers.ts.html +0 -1711
- package/workdocs/reports/coverage/lcov-report/src/lib/utils/index.html +0 -146
- package/workdocs/reports/coverage/lcov-report/src/lib/utils/index.ts.html +0 -124
- package/workdocs/reports/coverage/lcov-report/src/main.ts.html +0 -100
- package/workdocs/reports/coverage/lcov-report/src/polyfills.ts.html +0 -271
- package/workdocs/reports/coverage/lcov-report/src/stories/Configure.stories.ts.html +0 -1156
- package/workdocs/reports/coverage/lcov-report/src/stories/button.component.ts.html +0 -229
- package/workdocs/reports/coverage/lcov-report/src/stories/button.stories.ts.html +0 -235
- package/workdocs/reports/coverage/lcov-report/src/stories/crud-field.stories.ts.html +0 -325
- package/workdocs/reports/coverage/lcov-report/src/stories/header.stories.ts.html +0 -181
- package/workdocs/reports/coverage/lcov-report/src/stories/index.html +0 -281
- package/workdocs/reports/coverage/lcov-report/src/stories/list.stories.ts.html +0 -289
- package/workdocs/reports/coverage/lcov-report/src/stories/login.page.stories.ts.html +0 -175
- package/workdocs/reports/coverage/lcov-report/src/stories/model-renderer.stories.ts.html +0 -259
- package/workdocs/reports/coverage/lcov-report/src/stories/page.component.ts.html +0 -331
- package/workdocs/reports/coverage/lcov-report/src/stories/page.stories.ts.html +0 -193
- package/workdocs/reports/coverage/lcov-report/src/stories/setup.ts.html +0 -127
- package/workdocs/reports/coverage/lcov-report/src/stories/utils.ts.html +0 -247
- package/workdocs/reports/coverage/lcov-report/src/tests/index.html +0 -116
- package/workdocs/reports/coverage/lcov-report/src/tests/karmaErrorParser.ts.html +0 -190
- package/workdocs/reports/coverage/lcov-report/src/typings.d.ts.html +0 -88
- package/workdocs/reports/coverage/lcov-report/src/zone-flags.ts.html +0 -103
- package/workdocs/reports/coverage/lcov.info +0 -7898
- package/workdocs/reports/data/.gitkeep +0 -1
- package/workdocs/reports/html/.gitkeep +0 -0
- package/workdocs/reports/html/jest-html-reporters-attach/test-report/index.js +0 -3
- package/workdocs/reports/html/jest-html-reporters-attach/test-report/result.js +0 -1
- package/workdocs/reports/html/test-report.html +0 -1
- package/workdocs/reports/images/.gitkeep +0 -1
- package/workdocs/reports/jest.coverage.config.ts +0 -43
- package/workdocs/reports/junit/junit-report.xml +0 -91
- package/workdocs/resources/.gitlock +0 -0
- package/workdocs/resources/diagram-Actor.png +0 -0
- package/workdocs/resources/diagram-banner.png +0 -0
- package/workdocs/resources/diagram.png +0 -0
- package/workdocs/tutorials/Contributing.md +0 -64
- package/workdocs/tutorials/Documentation.md +0 -340
- package/workdocs/tutorials/For Developers.md +0 -337
- package/workdocs/uml/diagram.puml +0 -11
- package/www/1049.10b030f0de36543b.js +0 -1
- package/www/1102.67cedfb3e29f0a05.js +0 -1
- package/www/1107.6b592a1672821270.js +0 -1
- package/www/1459.cabc18e941afa5d7.js +0 -1
- package/www/1577.5221deebe3501e43.js +0 -1
- package/www/2075.b6dc4fbb89dd6afc.js +0 -1
- package/www/2348.c4cc27dadbec70ec.js +0 -1
- package/www/2375.318d0b24ab346271.js +0 -1
- package/www/2415.618d6968ffda319c.js +0 -1
- package/www/2460.1d97c6f48b898ee2.js +0 -1
- package/www/2560.2e7000dcf80b6b2c.js +0 -1
- package/www/2585.274d59d52bafc7ed.js +0 -1
- package/www/2885.d99b86afd1ff7aa8.js +0 -1
- package/www/3162.bbc401f4a5f82460.js +0 -1
- package/www/323.f64c512be5c8d797.js +0 -1
- package/www/3238.a3e7e8004c6b6667.js +0 -1
- package/www/3506.8c03f5589b33a4a6.js +0 -1
- package/www/3511.56b7e49bb6c2c936.js +0 -1
- package/www/3519.84fbb67dc803f702.js +0 -1
- package/www/3675.7ebfdcf145052232.js +0 -1
- package/www/3814.765c1794e1be63de.js +0 -1
- package/www/3rdpartylicenses.txt +0 -1344
- package/www/4171.a974bdbf9c97e4e1.js +0 -1
- package/www/4183.41ef1def450a2cc0.js +0 -1
- package/www/4406.0b2dd3839b8c1417.js +0 -1
- package/www/441.e1031657c7e5f0ff.js +0 -1
- package/www/4463.6ad7b857e5f34009.js +0 -1
- package/www/4591.42f34534d38b9b31.js +0 -1
- package/www/4699.8df8ea9806163d4c.js +0 -1
- package/www/5100.ed6483c55a157d67.js +0 -1
- package/www/5193.15ea6938534eceb1.js +0 -1
- package/www/5197.6733853529768a45.js +0 -1
- package/www/5222.8439a641c2c4b1c1.js +0 -1
- package/www/5373.d7878f708309f038.js +0 -1
- package/www/5467.f0e21031db47308c.js +0 -1
- package/www/5712.b08cf436ee8145ce.js +0 -1
- package/www/5887.3d038f564e925abb.js +0 -1
- package/www/5949.37330f20e95dee79.js +0 -1
- package/www/6024.c10cc3d1b341c748.js +0 -1
- package/www/6433.360fcff952bde822.js +0 -1
- package/www/6499.60169da9869db697.js +0 -1
- package/www/6521.fab1f34bfe6b8200.js +0 -1
- package/www/6631.eaa711da6e0aeed9.js +0 -1
- package/www/6717.9d970c383bb0cf1c.js +0 -1
- package/www/6840.7317cd962ab23932.js +0 -1
- package/www/7030.d115d82ca7468a4e.js +0 -1
- package/www/7076.cce20ed5c79ff305.js +0 -1
- package/www/7179.c0545989ce869b3d.js +0 -1
- package/www/7240.69aeb484d78eb24d.js +0 -1
- package/www/7372.94c62459e34f7303.js +0 -1
- package/www/7402.983a5ecff61e9a5d.js +0 -1
- package/www/7428.527ac48035a2f915.js +0 -1
- package/www/7676.d7db23d350e4b096.js +0 -1
- package/www/770.80af87d5eb0075d3.js +0 -1
- package/www/7720.0701576cb9966779.js +0 -1
- package/www/7927.ee869d0dc478250a.js +0 -1
- package/www/8066.894688fbb2e5c832.js +0 -1
- package/www/8193.7f09ecd40b6d42c2.js +0 -1
- package/www/8255.158098a6302c91c2.js +0 -1
- package/www/8314.596c1ccf26b9c93a.js +0 -1
- package/www/8357.c5406b92e6933d7a.js +0 -1
- package/www/8477.a3ccc11c25a642d3.js +0 -1
- package/www/8487.93b6f7465ae1b7ac.js +0 -1
- package/www/8584.b77ad478a5a7ac2a.js +0 -1
- package/www/8805.a87413652185ff8f.js +0 -1
- package/www/8814.b489a78ae8e926c4.js +0 -1
- package/www/8970.234b3db1f97528fe.js +0 -1
- package/www/9013.c2e6ba17a915bdd6.js +0 -1
- package/www/9073.16c4e42482d55a3c.js +0 -1
- package/www/9344.7d2d24b194b794e2.js +0 -1
- package/www/9364.9a028036dd89e3e7.js +0 -1
- package/www/944.7e4317348c48d4f4.js +0 -1
- package/www/964.9a979e1c1aad0f5b.js +0 -1
- package/www/9657.fbb680ad1064e91a.js +0 -1
- package/www/9956.2d00a2153e9a7799.js +0 -1
- package/www/9977.068cd5561462bc99.js +0 -1
- package/www/assets/i18n/en.json +0 -210
- package/www/assets/i18n/ew/en.json +0 -346
- package/www/assets/i18n/pt.json +0 -186
- package/www/assets/icons/icon-128.webp +0 -0
- package/www/assets/icons/icon-192.webp +0 -0
- package/www/assets/icons/icon-256.webp +0 -0
- package/www/assets/icons/icon-48.webp +0 -0
- package/www/assets/icons/icon-512.webp +0 -0
- package/www/assets/icons/icon-72.webp +0 -0
- package/www/assets/icons/icon-96.webp +0 -0
- package/www/assets/images/angular-logo.svg +0 -45
- package/www/assets/images/apple-touch-icon.png +0 -0
- package/www/assets/images/decaf-logo-black.svg +0 -22
- package/www/assets/images/decaf-logo-contrast.svg +0 -54
- package/www/assets/images/decaf-logo-white.svg +0 -22
- package/www/assets/images/decaf-logo.svg +0 -54
- package/www/assets/images/ew/product.txt +0 -1
- package/www/assets/images/favicon-contrast.svg +0 -7
- package/www/assets/images/favicon.png +0 -0
- package/www/assets/images/favicon.svg +0 -29
- package/www/assets/images/icons/document.svg +0 -7
- package/www/assets/images/icons/edit.svg +0 -1
- package/www/assets/images/icons/logout.svg +0 -4
- package/www/assets/images/icons/menu-collapse.svg +0 -5
- package/www/assets/images/icons/menu.svg +0 -3
- package/www/assets/images/icons/moon-stars.svg +0 -5
- package/www/assets/images/icons/trash.svg +0 -1
- package/www/cli-module.ts +0 -139
- package/www/common.e50b5f8708aca9a5.js +0 -1
- package/www/index.html +0 -29
- package/www/main.7814262e404641fd.js +0 -1
- package/www/polyfills.4c1e087fffe784e8.js +0 -1
- package/www/runtime.e81aa7ecff7177cd.js +0 -1
- package/www/styles.5a3cd83eba16afc9.css +0 -4
- package/www/tabler-icons.bfabe54eef86ae62.woff +0 -0
- package/www/tabler-icons.d9f65ab9439b4ffc.ttf +0 -0
- package/www/tabler-icons.f17d2c3b34a5deaa.woff2 +0 -0
- /package/{dist/lib/assets → assets}/i18n/en.json +0 -0
- /package/{dist/lib/assets → assets}/i18n/ew/en.json +0 -0
- /package/{dist/lib/assets → assets}/i18n/pt.json +0 -0
- /package/{dist/lib/assets → assets}/icons/icon-128.webp +0 -0
- /package/{dist/lib/assets → assets}/icons/icon-192.webp +0 -0
- /package/{dist/lib/assets → assets}/icons/icon-256.webp +0 -0
- /package/{dist/lib/assets → assets}/icons/icon-48.webp +0 -0
- /package/{dist/lib/assets → assets}/icons/icon-512.webp +0 -0
- /package/{dist/lib/assets → assets}/icons/icon-72.webp +0 -0
- /package/{dist/lib/assets → assets}/icons/icon-96.webp +0 -0
- /package/{dist/lib/assets → assets}/images/angular-logo.svg +0 -0
- /package/{dist/lib/assets → assets}/images/apple-touch-icon.png +0 -0
- /package/{dist/lib/assets → assets}/images/decaf-logo-black.svg +0 -0
- /package/{dist/lib/assets → assets}/images/decaf-logo-contrast.svg +0 -0
- /package/{dist/lib/assets → assets}/images/decaf-logo-white.svg +0 -0
- /package/{dist/lib/assets → assets}/images/decaf-logo.svg +0 -0
- /package/{dist/lib/assets → assets}/images/ew/product.txt +0 -0
- /package/{dist/lib/assets → assets}/images/favicon-contrast.svg +0 -0
- /package/{dist/lib/assets → assets}/images/favicon.png +0 -0
- /package/{dist/lib/assets → assets}/images/favicon.svg +0 -0
- /package/{dist/lib/assets → assets}/images/icons/document.svg +0 -0
- /package/{dist/lib/assets → assets}/images/icons/edit.svg +0 -0
- /package/{dist/lib/assets → assets}/images/icons/logout.svg +0 -0
- /package/{dist/lib/assets → assets}/images/icons/menu-collapse.svg +0 -0
- /package/{dist/lib/assets → assets}/images/icons/menu.svg +0 -0
- /package/{dist/lib/assets → assets}/images/icons/moon-stars.svg +0 -0
- /package/{dist/lib/assets → assets}/images/icons/trash.svg +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
window.jest_html_reporters_callback__({"numFailedTestSuites":0,"numFailedTests":0,"numPassedTestSuites":10,"numPassedTests":29,"numPendingTestSuites":0,"numPendingTests":0,"numRuntimeErrorTestSuites":0,"numTodoTests":0,"numTotalTestSuites":10,"numTotalTests":29,"startTime":1771870429486,"success":false,"testResults":[{"numFailingTests":0,"numPassingTests":20,"numPendingTests":0,"numTodoTests":0,"perfStats":{"end":1771870434626,"runtime":1480,"slow":false,"start":1771870433146},"testFilePath":"/home/tvenceslau/local-workspace/decaf-ts/for-angular/src/lib/components/crud-field/crud-field.component.spec.ts","failureMessage":null,"testResults":[{"ancestorTitles":["CrudFieldComponent"],"duration":64,"failureMessages":[],"fullName":"CrudFieldComponent should create","status":"passed","title":"should create"},{"ancestorTitles":["CrudFieldComponent"],"duration":61,"failureMessages":[],"fullName":"CrudFieldComponent should render textarea when type is textarea","status":"passed","title":"should render textarea when type is textarea"},{"ancestorTitles":["CrudFieldComponent"],"duration":31,"failureMessages":[],"fullName":"CrudFieldComponent should render checkbox when type is checkbox","status":"passed","title":"should render checkbox when type is checkbox"},{"ancestorTitles":["CrudFieldComponent"],"duration":65,"failureMessages":[],"fullName":"CrudFieldComponent should render radio when type is radio","status":"passed","title":"should render radio when type is radio"},{"ancestorTitles":["CrudFieldComponent"],"duration":49,"failureMessages":[],"fullName":"CrudFieldComponent should render select when type is select","status":"passed","title":"should render select when type is select"},{"ancestorTitles":["CrudFieldComponent"],"duration":22,"failureMessages":[],"fullName":"CrudFieldComponent should render text when type is text","status":"passed","title":"should render text when type is text"},{"ancestorTitles":["CrudFieldComponent"],"duration":22,"failureMessages":[],"fullName":"CrudFieldComponent should render number when type is number","status":"passed","title":"should render number when type is number"},{"ancestorTitles":["CrudFieldComponent"],"duration":22,"failureMessages":[],"fullName":"CrudFieldComponent should render email when type is email","status":"passed","title":"should render email when type is email"},{"ancestorTitles":["CrudFieldComponent"],"duration":26,"failureMessages":[],"fullName":"CrudFieldComponent should render password when type is password","status":"passed","title":"should render password when type is password"},{"ancestorTitles":["CrudFieldComponent"],"duration":26,"failureMessages":[],"fullName":"CrudFieldComponent should render date when type is date","status":"passed","title":"should render date when type is date"},{"ancestorTitles":["CrudFieldComponent"],"duration":38,"failureMessages":[],"fullName":"CrudFieldComponent should show error message when required field is empty","status":"passed","title":"should show error message when required field is empty"},{"ancestorTitles":["CrudFieldComponent"],"duration":35,"failureMessages":[],"fullName":"CrudFieldComponent should show error message when minlength is not met","status":"passed","title":"should show error message when minlength is not met"},{"ancestorTitles":["CrudFieldComponent"],"duration":24,"failureMessages":[],"fullName":"CrudFieldComponent should show error message when maxlength is exceeded","status":"passed","title":"should show error message when maxlength is exceeded"},{"ancestorTitles":["CrudFieldComponent"],"duration":26,"failureMessages":[],"fullName":"CrudFieldComponent should show error message when pattern is not matched","status":"passed","title":"should show error message when pattern is not matched"},{"ancestorTitles":["CrudFieldComponent"],"duration":23,"failureMessages":[],"fullName":"CrudFieldComponent should show error message when min value is not met","status":"passed","title":"should show error message when min value is not met"},{"ancestorTitles":["CrudFieldComponent"],"duration":24,"failureMessages":[],"fullName":"CrudFieldComponent should show error message when max value is exceeded","status":"passed","title":"should show error message when max value is exceeded"},{"ancestorTitles":["CrudFieldComponent"],"duration":23,"failureMessages":[],"fullName":"CrudFieldComponent should not show error message when field is valid","status":"passed","title":"should not show error message when field is valid"},{"ancestorTitles":["CrudFieldComponent"],"duration":22,"failureMessages":[],"fullName":"CrudFieldComponent should translate labels and placeholders","status":"passed","title":"should translate labels and placeholders"},{"ancestorTitles":["CrudFieldComponent"],"duration":25,"failureMessages":[],"fullName":"CrudFieldComponent should handle readonly attribute correctly","status":"passed","title":"should handle readonly attribute correctly"},{"ancestorTitles":["CrudFieldComponent"],"duration":22,"failureMessages":[],"fullName":"CrudFieldComponent should handle disabled attribute correctly","status":"passed","title":"should handle disabled attribute correctly"}]},{"numFailingTests":0,"numPassingTests":1,"numPendingTests":0,"numTodoTests":0,"perfStats":{"end":1771870435761,"runtime":1051,"slow":false,"start":1771870434710},"testFilePath":"/home/tvenceslau/local-workspace/decaf-ts/for-angular/src/lib/components/model-renderer/model-renderer.component.spec.ts","failureMessage":null,"testResults":[{"ancestorTitles":["ModelRendererComponent"],"duration":70,"failureMessages":[],"fullName":"ModelRendererComponent should create","status":"passed","title":"should create"}]},{"numFailingTests":0,"numPassingTests":1,"numPendingTests":0,"numTodoTests":0,"perfStats":{"end":1771870437064,"runtime":1215,"slow":false,"start":1771870435849},"testFilePath":"/home/tvenceslau/local-workspace/decaf-ts/for-angular/src/lib/components/list/list.component.spec.ts","failureMessage":null,"testResults":[{"ancestorTitles":["ListComponent"],"duration":82,"failureMessages":[],"fullName":"ListComponent should create","status":"passed","title":"should create"}]},{"numFailingTests":0,"numPassingTests":1,"numPendingTests":0,"numTodoTests":0,"perfStats":{"end":1771870438079,"runtime":912,"slow":false,"start":1771870437167},"testFilePath":"/home/tvenceslau/local-workspace/decaf-ts/for-angular/src/lib/components/crud-form/crud-form.component.spec.ts","failureMessage":null,"testResults":[{"ancestorTitles":["CrudFormComponent"],"duration":25,"failureMessages":[],"fullName":"CrudFormComponent should create","status":"passed","title":"should create"}]},{"numFailingTests":0,"numPassingTests":1,"numPendingTests":0,"numTodoTests":0,"perfStats":{"end":1771870438773,"runtime":661,"slow":false,"start":1771870438112},"testFilePath":"/home/tvenceslau/local-workspace/decaf-ts/for-angular/src/lib/components/list-item/list-item.component.spec.ts","failureMessage":null,"testResults":[{"ancestorTitles":["ListItemComponent"],"duration":25,"failureMessages":[],"fullName":"ListItemComponent should create","status":"passed","title":"should create"}]},{"numFailingTests":0,"numPassingTests":1,"numPendingTests":0,"numTodoTests":0,"perfStats":{"end":1771870439400,"runtime":581,"slow":false,"start":1771870438819},"testFilePath":"/home/tvenceslau/local-workspace/decaf-ts/for-angular/src/lib/components/pagination/pagination.component.spec.ts","failureMessage":null,"testResults":[{"ancestorTitles":["PaginationComponent"],"duration":78,"failureMessages":[],"fullName":"PaginationComponent should create","status":"passed","title":"should create"}]},{"numFailingTests":0,"numPassingTests":1,"numPendingTests":0,"numTodoTests":0,"perfStats":{"end":1771870440272,"runtime":818,"slow":false,"start":1771870439454},"testFilePath":"/home/tvenceslau/local-workspace/decaf-ts/for-angular/src/lib/components/table/table.component.spec.ts","failureMessage":null,"testResults":[{"ancestorTitles":["TableComponent"],"duration":69,"failureMessages":[],"fullName":"TableComponent should create","status":"passed","title":"should create"}]},{"numFailingTests":0,"numPassingTests":1,"numPendingTests":0,"numTodoTests":0,"perfStats":{"end":1771870441445,"runtime":1062,"slow":false,"start":1771870440383},"testFilePath":"/home/tvenceslau/local-workspace/decaf-ts/for-angular/src/lib/components/fieldset/fieldset.component.spec.ts","failureMessage":null,"testResults":[{"ancestorTitles":["FieldsetComponent"],"duration":74,"failureMessages":[],"fullName":"FieldsetComponent should create","status":"passed","title":"should create"}]},{"numFailingTests":0,"numPassingTests":1,"numPendingTests":0,"numTodoTests":0,"perfStats":{"end":1771870442214,"runtime":711,"slow":false,"start":1771870441503},"testFilePath":"/home/tvenceslau/local-workspace/decaf-ts/for-angular/src/lib/components/searchbar/searchbar.component.spec.ts","failureMessage":null,"testResults":[{"ancestorTitles":["SearchbarComponent"],"duration":75,"failureMessages":[],"fullName":"SearchbarComponent should create","status":"passed","title":"should create"}]},{"numFailingTests":0,"numPassingTests":1,"numPendingTests":0,"numTodoTests":0,"perfStats":{"end":1771870442943,"runtime":656,"slow":false,"start":1771870442287},"testFilePath":"/home/tvenceslau/local-workspace/decaf-ts/for-angular/src/lib/components/empty-state/empty-state.component.spec.ts","failureMessage":null,"testResults":[{"ancestorTitles":["EmptyStateComponent"],"duration":46,"failureMessages":[],"fullName":"EmptyStateComponent should create","status":"passed","title":"should create"}]}],"config":{"bail":0,"changedFilesWithAncestor":false,"ci":false,"collectCoverage":true,"collectCoverageFrom":["src/**/*.{js,jsx,ts,tsx}","!src/bin/**/*"],"coverageDirectory":"/home/tvenceslau/local-workspace/decaf-ts/for-angular/workdocs/reports/coverage","coverageProvider":"babel","coverageReporters":["json","text","lcov","clover"],"coverageThreshold":{"global":{"statements":25,"branches":5,"functions":15,"lines":25}},"detectLeaks":false,"detectOpenHandles":false,"errorOnDeprecated":false,"expand":false,"findRelatedTests":false,"forceExit":false,"json":false,"lastCommit":false,"listTests":false,"logHeapUsage":false,"maxConcurrency":5,"maxWorkers":1,"noStackTrace":false,"nonFlagArgs":[],"notify":false,"notifyMode":"failure-change","onlyChanged":false,"onlyFailures":false,"openHandlesTimeout":1000,"passWithNoTests":true,"projects":[],"reporters":[["default",{}],["/home/tvenceslau/local-workspace/decaf-ts/for-angular/node_modules/jest-junit/index.js",{"outputDirectory":"./workdocs/reports/junit","outputName":"junit-report.xml"}],["/home/tvenceslau/local-workspace/decaf-ts/for-angular/node_modules/jest-html-reporters/index.js",{"publicPath":"./workdocs/reports/html","filename":"test-report.html","openReport":true,"expand":true,"pageTitle":"For Angular - Test Report","stripSkippedTest":true,"darkTheme":true,"enableMergeData":true,"dataMergeLevel":2}]],"rootDir":"/home/tvenceslau/local-workspace/decaf-ts/for-angular","runTestsByPath":false,"seed":1478584192,"skipFilter":false,"snapshotFormat":{"escapeString":false,"printBasicPrototype":false},"testFailureExitCode":1,"testPathPattern":"","testSequencer":"/home/tvenceslau/local-workspace/decaf-ts/for-angular/node_modules/@jest/test-sequencer/build/index.js","updateSnapshot":"new","useStderr":false,"verbose":true,"watch":false,"watchAll":false,"watchman":true,"workerThreads":false,"coverageLinkPath":"../coverage/lcov-report/index.html"},"endTime":1771870442999,"_reporterOptions":{"publicPath":"./workdocs/reports/html","filename":"test-report.html","expand":true,"pageTitle":"For Angular - Test Report","hideIcon":false,"testCommand":"","openReport":true,"failureMessageOnly":0,"enableMergeData":true,"dataMergeLevel":2,"inlineSource":false,"urlForTestFiles":"","darkTheme":true,"includeConsoleLog":false,"stripSkippedTest":true},"logInfoMapping":{},"attachInfos":{}})
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
<!doctype html><html><head><meta charset="utf-8"><meta http-equiv="Content-Type" content="text/html;charset=utf-8"><meta name="keywords" contect="jest, reporters"><meta name="author" contect="hazyzh"><meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=0,minimum-scale=1,maximum-scale=1"><link rel="shortcut icon" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAHX0lEQVR4Xu2bfWwUVRDAZ/buSsG0Vxq1EAhtL/e2kKISAVEoKJVE4gfiR6wmJsoflpBANLZKqyRIgVg+/CLBNqKoMX5RKWhFsUbRBuJHRCoECLt7x0Jb5IBmr62tx+3dPrNH93Itd7e7xx0ccu+/dmfmzfz2vXmzu3MI1/jAazx+yADIrIBrnMDl2gK4atWqF8+ePXufx+OZFAgEbLG422w2/8SJE7fW1dXVAgBN9f1JOYD6+vqb2trafhUEYZSZYAghA3Pnzp1eXV19xIyeWdmUAli2bNmIY8eOeUVRzDbrmCo/duzYwPz580tqa2vdiegb0UkpgKVLl/7c2to6R3OEYRgoLS2F7OzoPHw+Hxw+fBgURQn7Xl5efqCxsfFWI8EkIpMQAIfDMc1iscxHxFmU0pGxJs7Pz79TkqTQZYfDAVu2bIHx48fH9bOvrw8WL14M+/fvD8nl5uZCT0/Pz1GU/ADQBQBuRPzF7/fvFUXRZxaCKQDFxcUlVqv1NUS8T28iu92uOh4WW7duHSxcuFBPLXR9586dsHz58rBsXl4eeL1ePd1/AGDjwMDA+s7Ozn/1hLXrhgGwLHsbpfQ7RMwzYvwKAAi5RSnlFUUpc7lcZ4z4aQiA0+m8HRF/QMSLMjmlVKV9FAD6hk84bty4OadOnQrNMXXqVGhoaAAVTLzR0dEBlZWV4HZfyHs5OTnQ29sbbQuol7MAYAYiMpE2KaVuWZZniaJ4Wg+CLgCWZR0A8AcAjNaMUUp9iLg6EAg0ud1uIdZ5XVVVtb2lpeVhTS/BJPhnY2Pj1FiBFBUVjcnKylpBKV0yDMTBnp6emR6Ppz8eBF0AhJAmRHw0IvjfZFl+XBRFUY9uZWWlzev1dra3t9+oJxvtupljkGXZ6QDQBACFEbZe5ziuKmEAhJBJiBguRCilXbIsTxZFUTcjaZOqECwWy762trbpsiwb4mCz2aCsrKydZdkFVVVVHYaUAIAQMgURfxvcGmo++BcRJ3Acdy6WjbgrgGXZegAIp2NFUR4UBOErow5FyqkVocfjqQ8Gg9fF07dYLP0FBQU1NTU1hxKZhxBSjYgbIlbsCzzPb0wIACHkCCJOGsyuB3iej1qQ9PrPPaUAPJ2Iw8nSQUBRAeat0VmjDxFCuhFRy7b7OI4rSwQAEkKCiBhaJYqi1AqCoK6I8JColIdycAcA3pWsQC7VDgW6aMbkmWrB8eCgLZnjOPW0iDpibgGn03kDwzDhs1RRlApBELYNAXC++xVEWHmpTidb/57Z974vSdIizW5/f//1XV1d3dHmiQnA4XAQq9XKaUrBYPBel8v1baQRr79brXMNFUbJDjKevZerV/z+/e4fbovwnbhcLvW4vmgkDECiUhHKyvHLGZjRuerrNpxo3tYcPg6DwWAKAMjSXUiVPUadupxyGQCZFZDZApkckBZJ8KjPBd/3tEXNfzmWHLg/rxxusOYnPT+mRRI8T/1wx5FHoDd40WuCcMB2Sw7smfgJ5FpykgohLQCogd96+AHdwL4peR/YEcW6cmYE0gKA6vAbnvdgs+ejmL7Ps8+ChsI1gEn+RJk2AMzctWTKZgBkCqFMIZQphNKiEEpmYjNjK5ME0ykJquVwb6DXzA0cIuvILjRdLqfNCqjpWAdfSEPeopkGUWC7HlrIu5BvNf7mLS0AdAckmHHkIdMBR1PYXFgH99jDbQa6NtMCgAIKzDlaAafls7oOxxNQy+RdJVtNPS+kBQA1qE7/39As7b4kAJNHlkB57kxTNtIGgCmvkyicAZBOx2ASb6xhU5kVkFkBSXgaLCkpKVZ7bbR1N/zboJTOX4ZWrz/Z/PmOCZrviqI4BUFwRdtDMb8NFhQUXGe329XWs9BQFOVJQRA+1v5OZwA1z7/094+te8Zqvvp8vvyTJ09eaFgcNuJ2iBBCehAxV9WhlK7leX7F1QCgYsETfcfdovaqOcBxXMzmbL0WmR0AoHU3HuI47uYwAL80BUE5YDg1XyZBz+kz8MA8rTciNOlejuNmx5o+LgCn0/kkwzCRr3UXcxz3jmbM6+9OeTu7WW51K9bA1zt3hdUURXleEIQ3EgJQWlqaJcvyCQAYM7gNfMFg8Ba32x1qnJD83R8gwFNmnUyV/Jfbv4K1K1+NNN/n8/kKY+1/VVC3T9DpdC5hGOZtzSqlVH26WcTz/C61Rwhk5ScEuCVVQRm1+8mHn8KbGzYNEaeUPsvz/NB/mkmCmizLsp8BQEWkLqV0OwBsav299WDeqNznAOBpxCFNikZ9T0iuv78fXLwbXLwLvm3ZDe1//jXcThPHcY/pGdddAYMGbISQTxHxET2D6XCdUvoFz/NPAEBAzx+jAFQ7DMuyjQDwjJ7RK3mdUtrA8/xStXQx4ocZACF76o8lrFbrKkrp3Yg4wsgkqZahlJ5Xu9kDgcBKt9utNnYbHqYBRFi2OZ3OaYhYRCktZBgmod8FGfZ0mCCldEB950IpPS4Ighq0sUbkRJJgok5eDXqXsgKuhvh0fcwA0EX0Pxf4Dws8WYyVxouxAAAAAElFTkSuQmCC"></head><title>Report</title><body><div id="app"></div><script defer="defer" src="./jest-html-reporters-attach/test-report/index.js"></script></body></html>
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
keeps temp data to generate test reports
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { Config } from '@jest/types';
|
|
2
|
-
import conf from '../../jest.config';
|
|
3
|
-
|
|
4
|
-
const config: Config.InitialOptions = {
|
|
5
|
-
...conf,
|
|
6
|
-
rootDir: '../..',
|
|
7
|
-
collectCoverage: true,
|
|
8
|
-
coverageDirectory: './workdocs/reports/coverage',
|
|
9
|
-
reporters: [
|
|
10
|
-
'default',
|
|
11
|
-
[
|
|
12
|
-
'jest-junit',
|
|
13
|
-
{
|
|
14
|
-
outputDirectory: './workdocs/reports/junit',
|
|
15
|
-
outputName: 'junit-report.xml',
|
|
16
|
-
},
|
|
17
|
-
],
|
|
18
|
-
[
|
|
19
|
-
'jest-html-reporters',
|
|
20
|
-
{
|
|
21
|
-
publicPath: './workdocs/reports/html',
|
|
22
|
-
filename: 'test-report.html',
|
|
23
|
-
openReport: true,
|
|
24
|
-
expand: true,
|
|
25
|
-
pageTitle: 'For Angular - Test Report',
|
|
26
|
-
stripSkippedTest: true,
|
|
27
|
-
darkTheme: true,
|
|
28
|
-
enableMergeData: true,
|
|
29
|
-
dataMergeLevel: 2,
|
|
30
|
-
},
|
|
31
|
-
],
|
|
32
|
-
],
|
|
33
|
-
coverageThreshold: {
|
|
34
|
-
global: {
|
|
35
|
-
statements: 25,
|
|
36
|
-
branches: 5,
|
|
37
|
-
functions: 15,
|
|
38
|
-
lines: 25,
|
|
39
|
-
},
|
|
40
|
-
},
|
|
41
|
-
};
|
|
42
|
-
|
|
43
|
-
export default config;
|
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<testsuites name="jest tests" tests="31" failures="0" errors="0" time="13.509">
|
|
3
|
-
<testsuite name="ComponentRendererComponent" errors="0" failures="0" skipped="1" timestamp="2026-02-23T18:13:50" time="2.514" tests="1">
|
|
4
|
-
<testcase classname="ComponentRendererComponent should create" name="ComponentRendererComponent should create" time="0">
|
|
5
|
-
<skipped/>
|
|
6
|
-
</testcase>
|
|
7
|
-
</testsuite>
|
|
8
|
-
<testsuite name="decorators" errors="0" failures="0" skipped="1" timestamp="2026-02-23T18:13:52" time="0.54" tests="1">
|
|
9
|
-
<testcase classname="decorators should populate from @Component Metadata" name="decorators should populate from @Component Metadata" time="0">
|
|
10
|
-
<skipped/>
|
|
11
|
-
</testcase>
|
|
12
|
-
</testsuite>
|
|
13
|
-
<testsuite name="CrudFieldComponent" errors="0" failures="0" skipped="0" timestamp="2026-02-23T18:13:53" time="1.48" tests="20">
|
|
14
|
-
<testcase classname="CrudFieldComponent should create" name="CrudFieldComponent should create" time="0.064">
|
|
15
|
-
</testcase>
|
|
16
|
-
<testcase classname="CrudFieldComponent should render textarea when type is textarea" name="CrudFieldComponent should render textarea when type is textarea" time="0.061">
|
|
17
|
-
</testcase>
|
|
18
|
-
<testcase classname="CrudFieldComponent should render checkbox when type is checkbox" name="CrudFieldComponent should render checkbox when type is checkbox" time="0.031">
|
|
19
|
-
</testcase>
|
|
20
|
-
<testcase classname="CrudFieldComponent should render radio when type is radio" name="CrudFieldComponent should render radio when type is radio" time="0.065">
|
|
21
|
-
</testcase>
|
|
22
|
-
<testcase classname="CrudFieldComponent should render select when type is select" name="CrudFieldComponent should render select when type is select" time="0.049">
|
|
23
|
-
</testcase>
|
|
24
|
-
<testcase classname="CrudFieldComponent should render text when type is text" name="CrudFieldComponent should render text when type is text" time="0.022">
|
|
25
|
-
</testcase>
|
|
26
|
-
<testcase classname="CrudFieldComponent should render number when type is number" name="CrudFieldComponent should render number when type is number" time="0.022">
|
|
27
|
-
</testcase>
|
|
28
|
-
<testcase classname="CrudFieldComponent should render email when type is email" name="CrudFieldComponent should render email when type is email" time="0.022">
|
|
29
|
-
</testcase>
|
|
30
|
-
<testcase classname="CrudFieldComponent should render password when type is password" name="CrudFieldComponent should render password when type is password" time="0.026">
|
|
31
|
-
</testcase>
|
|
32
|
-
<testcase classname="CrudFieldComponent should render date when type is date" name="CrudFieldComponent should render date when type is date" time="0.026">
|
|
33
|
-
</testcase>
|
|
34
|
-
<testcase classname="CrudFieldComponent should show error message when required field is empty" name="CrudFieldComponent should show error message when required field is empty" time="0.038">
|
|
35
|
-
</testcase>
|
|
36
|
-
<testcase classname="CrudFieldComponent should show error message when minlength is not met" name="CrudFieldComponent should show error message when minlength is not met" time="0.035">
|
|
37
|
-
</testcase>
|
|
38
|
-
<testcase classname="CrudFieldComponent should show error message when maxlength is exceeded" name="CrudFieldComponent should show error message when maxlength is exceeded" time="0.024">
|
|
39
|
-
</testcase>
|
|
40
|
-
<testcase classname="CrudFieldComponent should show error message when pattern is not matched" name="CrudFieldComponent should show error message when pattern is not matched" time="0.026">
|
|
41
|
-
</testcase>
|
|
42
|
-
<testcase classname="CrudFieldComponent should show error message when min value is not met" name="CrudFieldComponent should show error message when min value is not met" time="0.023">
|
|
43
|
-
</testcase>
|
|
44
|
-
<testcase classname="CrudFieldComponent should show error message when max value is exceeded" name="CrudFieldComponent should show error message when max value is exceeded" time="0.024">
|
|
45
|
-
</testcase>
|
|
46
|
-
<testcase classname="CrudFieldComponent should not show error message when field is valid" name="CrudFieldComponent should not show error message when field is valid" time="0.023">
|
|
47
|
-
</testcase>
|
|
48
|
-
<testcase classname="CrudFieldComponent should translate labels and placeholders" name="CrudFieldComponent should translate labels and placeholders" time="0.022">
|
|
49
|
-
</testcase>
|
|
50
|
-
<testcase classname="CrudFieldComponent should handle readonly attribute correctly" name="CrudFieldComponent should handle readonly attribute correctly" time="0.025">
|
|
51
|
-
</testcase>
|
|
52
|
-
<testcase classname="CrudFieldComponent should handle disabled attribute correctly" name="CrudFieldComponent should handle disabled attribute correctly" time="0.022">
|
|
53
|
-
</testcase>
|
|
54
|
-
</testsuite>
|
|
55
|
-
<testsuite name="ModelRendererComponent" errors="0" failures="0" skipped="0" timestamp="2026-02-23T18:13:54" time="1.051" tests="1">
|
|
56
|
-
<testcase classname="ModelRendererComponent should create" name="ModelRendererComponent should create" time="0.07">
|
|
57
|
-
</testcase>
|
|
58
|
-
</testsuite>
|
|
59
|
-
<testsuite name="ListComponent" errors="0" failures="0" skipped="0" timestamp="2026-02-23T18:13:55" time="1.215" tests="1">
|
|
60
|
-
<testcase classname="ListComponent should create" name="ListComponent should create" time="0.082">
|
|
61
|
-
</testcase>
|
|
62
|
-
</testsuite>
|
|
63
|
-
<testsuite name="CrudFormComponent" errors="0" failures="0" skipped="0" timestamp="2026-02-23T18:13:57" time="0.912" tests="1">
|
|
64
|
-
<testcase classname="CrudFormComponent should create" name="CrudFormComponent should create" time="0.025">
|
|
65
|
-
</testcase>
|
|
66
|
-
</testsuite>
|
|
67
|
-
<testsuite name="ListItemComponent" errors="0" failures="0" skipped="0" timestamp="2026-02-23T18:13:58" time="0.661" tests="1">
|
|
68
|
-
<testcase classname="ListItemComponent should create" name="ListItemComponent should create" time="0.025">
|
|
69
|
-
</testcase>
|
|
70
|
-
</testsuite>
|
|
71
|
-
<testsuite name="PaginationComponent" errors="0" failures="0" skipped="0" timestamp="2026-02-23T18:13:58" time="0.581" tests="1">
|
|
72
|
-
<testcase classname="PaginationComponent should create" name="PaginationComponent should create" time="0.078">
|
|
73
|
-
</testcase>
|
|
74
|
-
</testsuite>
|
|
75
|
-
<testsuite name="TableComponent" errors="0" failures="0" skipped="0" timestamp="2026-02-23T18:13:59" time="0.818" tests="1">
|
|
76
|
-
<testcase classname="TableComponent should create" name="TableComponent should create" time="0.069">
|
|
77
|
-
</testcase>
|
|
78
|
-
</testsuite>
|
|
79
|
-
<testsuite name="FieldsetComponent" errors="0" failures="0" skipped="0" timestamp="2026-02-23T18:14:00" time="1.062" tests="1">
|
|
80
|
-
<testcase classname="FieldsetComponent should create" name="FieldsetComponent should create" time="0.074">
|
|
81
|
-
</testcase>
|
|
82
|
-
</testsuite>
|
|
83
|
-
<testsuite name="SearchbarComponent" errors="0" failures="0" skipped="0" timestamp="2026-02-23T18:14:01" time="0.711" tests="1">
|
|
84
|
-
<testcase classname="SearchbarComponent should create" name="SearchbarComponent should create" time="0.075">
|
|
85
|
-
</testcase>
|
|
86
|
-
</testsuite>
|
|
87
|
-
<testsuite name="EmptyStateComponent" errors="0" failures="0" skipped="0" timestamp="2026-02-23T18:14:02" time="0.656" tests="1">
|
|
88
|
-
<testcase classname="EmptyStateComponent should create" name="EmptyStateComponent should create" time="0.046">
|
|
89
|
-
</testcase>
|
|
90
|
-
</testsuite>
|
|
91
|
-
</testsuites>
|
|
File without changes
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
## Contributing
|
|
2
|
-
|
|
3
|
-
[fork]: https://github.com/actions/dependency-review-action/fork
|
|
4
|
-
[pr]: https://github.com/actions/dependency-review-action/compare
|
|
5
|
-
[code-of-conduct]: CODE_OF_CONDUCT.md
|
|
6
|
-
[developers-guide]: ./For%20Developers.md
|
|
7
|
-
|
|
8
|
-
Hi there! I'm thrilled that you'd like to contribute to this project. Your help is essential for keeping it great.
|
|
9
|
-
|
|
10
|
-
Contributions to this project are
|
|
11
|
-
[released](https://help.github.com/articles/github-terms-of-service/#6-contributions-under-repository-license)
|
|
12
|
-
to the public under the [project's open source license](../../LICENSE.md).
|
|
13
|
-
|
|
14
|
-
Please note that this project is released with a [Contributor Code of
|
|
15
|
-
Conduct][code-of-conduct]. By participating in this project you agree
|
|
16
|
-
to abide by its terms.
|
|
17
|
-
|
|
18
|
-
### Bootstrapping the project
|
|
19
|
-
|
|
20
|
-
```bash
|
|
21
|
-
git clone https://github.com/decaf-ts/for-angular.git
|
|
22
|
-
cd for-angular
|
|
23
|
-
npm install
|
|
24
|
-
npm run build
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
### Running the tests
|
|
28
|
-
|
|
29
|
-
```bash
|
|
30
|
-
npm run test:all
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
_Note_: We don't have any useful tests yet, contributions are welcome!
|
|
34
|
-
|
|
35
|
-
## Submitting a pull request
|
|
36
|
-
|
|
37
|
-
0. [Fork][fork] and clone the repository
|
|
38
|
-
1. Configure and install the dependencies: `npm install`
|
|
39
|
-
2. Make sure the tests pass on your machine: `npm run test:all`
|
|
40
|
-
3. Create a new branch: `git checkout -b my-branch-name`. Relate the branch to an issue if possible
|
|
41
|
-
4. Make your change, add tests, add documentation, and make sure the tests still pass
|
|
42
|
-
5. Make sure to build and package before pushing: `npm run prepare-release`
|
|
43
|
-
6. Push to your fork and [submit a pull request][pr]
|
|
44
|
-
7. Pat your self on the back and wait for your pull request to be reviewed and merged.
|
|
45
|
-
|
|
46
|
-
Here are a few things you can do that will increase the likelihood of your pull request being accepted:
|
|
47
|
-
|
|
48
|
-
- Add lots of tests for new features.
|
|
49
|
-
- Keep your change as focused as possible. If there are multiple changes you would like to make that are not dependent upon each other, consider submitting them as separate pull requests.
|
|
50
|
-
- Write a [good commit message](https://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html).
|
|
51
|
-
|
|
52
|
-
## Cutting a new release
|
|
53
|
-
|
|
54
|
-
The acceptance of a pull request will trigger an automatic release by the CI.
|
|
55
|
-
|
|
56
|
-
## Resources
|
|
57
|
-
|
|
58
|
-
- [How to Contribute to Open Source](https://opensource.guide/how-to-contribute/)
|
|
59
|
-
- [Using Pull Requests](https://help.github.com/articles/about-pull-requests/)
|
|
60
|
-
- [GitHub Help](https://help.github.com)
|
|
61
|
-
|
|
62
|
-
## Developers Guide
|
|
63
|
-
|
|
64
|
-
Please follow read the [developers guide] before making any changes.
|
|
@@ -1,340 +0,0 @@
|
|
|
1
|
-
## Documentation Guide
|
|
2
|
-
|
|
3
|
-
# 📘 The Ultimate TypeScript JSDoc Documentation Guide with Better-Docs
|
|
4
|
-
|
|
5
|
-
_Standardize your team’s code documentation with strict typing, clean JSDoc tags, visual diagrams, and automatic doc site generation using the powerful [`better-docs`](https://github.com/SoftwareBrothers/better-docs) template._
|
|
6
|
-
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
## 🌟 Guiding Principles
|
|
10
|
-
|
|
11
|
-
Every documented entity **must** include:
|
|
12
|
-
|
|
13
|
-
- `@description` – Short, one-liner description.
|
|
14
|
-
- `@summary` – Longer, detailed explanation.
|
|
15
|
-
- Declaration tags: `@class`, `@interface`, `@function`, `@const`, `@typedef`.
|
|
16
|
-
- `@template` – For generic types/functions.
|
|
17
|
-
- `@param` and `@return` – For functions, class/interface methods, and callable types.
|
|
18
|
-
- `@extends` – If extending classes/interfaces.
|
|
19
|
-
- `@abstract`, `@protected`, `@private` – Where applicable.
|
|
20
|
-
- `@link` – Cross-reference to other entities.
|
|
21
|
-
- `@mermaid` – For methods/functions longer than 10 LOC.
|
|
22
|
-
- `@menu`, `@category`, `@component` – Optional, but powerful enhancements.
|
|
23
|
-
|
|
24
|
-
---
|
|
25
|
-
|
|
26
|
-
## 🔢 TypeScript Object JSDoc Tag Matrix
|
|
27
|
-
|
|
28
|
-
| TypeScript Object | Required Tags |
|
|
29
|
-
|------------------------|--------------------------------------------------------------------------------------------------------------------------|
|
|
30
|
-
| **Class** | `@class`, `@description`, `@summary`, `@template` (if generic), `@extends`, `@menu`, `@category` |
|
|
31
|
-
| | For methods: `@param`, `@return`, `@mermaid` (if >10 lines), `@link`, `@private`, `@protected`, `@abstract` |
|
|
32
|
-
| **Interface** | `@interface`, `@description`, `@summary`, `@template` (if generic), `@menu`, `@category` |
|
|
33
|
-
| | For methods: `@param`, `@return`, `@link` |
|
|
34
|
-
| **Function** | `@function`, `@description`, `@summary`, `@template` (if generic), `@param`, `@return`, `@mermaid`, `@menu`, `@category` |
|
|
35
|
-
| **Type (typedef)** | `@typedef`, `@description`, `@summary`, `@template` (if generic), `@param`, `@return`, `@typeDef`, `@menu`, `@category` |
|
|
36
|
-
| **Module** | `@module`, `@description`, `@summary`, `@menu` |
|
|
37
|
-
| **Namespace** | `@namespace`, `@description`, `@summary`, `@menu`, `@category` |
|
|
38
|
-
| **Constant** | `@const`, `@name`, `@description`, `@summary`, `@type`, `@menu`, `@category` |
|
|
39
|
-
| **Enum** | `@const`, `@name`, `@description`, `@summary`, `@type` (optional), `@menu`, `@category` |
|
|
40
|
-
| **Component (UI)** | `@component`, `@description`, `@summary`, `@example`, `@menu`, `@category` |
|
|
41
|
-
|
|
42
|
-
use `@example` and `@see` when required
|
|
43
|
-
---
|
|
44
|
-
|
|
45
|
-
## 🔍 Notes on Key Tags
|
|
46
|
-
|
|
47
|
-
- **`@class` / `@interface` / `@function` / `@typedef` / `@const`**: Always include to ensure type is properly rendered by better-docs.
|
|
48
|
-
- **`@description`**: One-liner description for quick scan/read.
|
|
49
|
-
- **`@summary`**: Paragraph-level detail; used for in-depth context.
|
|
50
|
-
- **`@param` / `@return`**: Must be present on all callable functions and methods.
|
|
51
|
-
- **`@template`**: Required when generics like `<T>` or `<K, V>` are used.
|
|
52
|
-
- **`@mermaid`**: Include when the method or function has more than 10 lines of logic.
|
|
53
|
-
- **`@extends`**: If the class inherits from another one.
|
|
54
|
-
- **`@link`**: When referring to other documented entities (e.g., `{@link User}`).
|
|
55
|
-
- **`@menu` / `@category`**: Used by better-docs to organize the sidebar.
|
|
56
|
-
- **`@component`**: Special tag to tell better-docs this is a UI component (React, Vue, Angular).
|
|
57
|
-
- **`@private`, `@protected`, `@abstract`**: Visibility and inheritance markers for internal or extended logic.
|
|
58
|
-
|
|
59
|
-
---
|
|
60
|
-
|
|
61
|
-
## 🧱 1. Classes
|
|
62
|
-
|
|
63
|
-
```ts
|
|
64
|
-
/**
|
|
65
|
-
* @class UserService
|
|
66
|
-
* @description Handles all user-related data fetching and processing.
|
|
67
|
-
* @summary Acts as a business logic layer between the API and UI for user entities.
|
|
68
|
-
* @template T - A generic type extending {@link User}.
|
|
69
|
-
* @extends {BaseService}
|
|
70
|
-
* @menu Services > User
|
|
71
|
-
* @category Services
|
|
72
|
-
*/
|
|
73
|
-
export class UserService<T extends User> extends BaseService {
|
|
74
|
-
/**
|
|
75
|
-
* @description Retrieves a user by ID.
|
|
76
|
-
* @summary Fetches user data from the API and maps it to the internal model.
|
|
77
|
-
* @param {number} id - Unique identifier of the user.
|
|
78
|
-
* @return {Promise<T>} Resolves with the user object.
|
|
79
|
-
* @link User
|
|
80
|
-
* @mermaid
|
|
81
|
-
* sequenceDiagram
|
|
82
|
-
* actor UI
|
|
83
|
-
* UI->>UserService: getUser(id)
|
|
84
|
-
* UserService->>API: GET /users/:id
|
|
85
|
-
* API-->>UserService: { id, name, ... }
|
|
86
|
-
* UserService-->>UI: Promise<User>
|
|
87
|
-
*/
|
|
88
|
-
async getUser(id: number): Promise<T> {
|
|
89
|
-
const res = await fetch(`/users/${id}`);
|
|
90
|
-
const json = await res.json();
|
|
91
|
-
return json as T;
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
/**
|
|
95
|
-
* @description Removes a user from the in-memory cache.
|
|
96
|
-
* @summary Only affects local cache, does not delete from API.
|
|
97
|
-
* @param {number} id - ID of the user to remove.
|
|
98
|
-
* @return {void}
|
|
99
|
-
* @protected
|
|
100
|
-
*/
|
|
101
|
-
protected removeUserFromCache(id: number): void {
|
|
102
|
-
this.cache.delete(id);
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
/**
|
|
106
|
-
* In-memory user cache.
|
|
107
|
-
*/
|
|
108
|
-
private cache: Map<number, T> = new Map();
|
|
109
|
-
}
|
|
110
|
-
```
|
|
111
|
-
|
|
112
|
-
---
|
|
113
|
-
|
|
114
|
-
## 🧹 2. Interfaces
|
|
115
|
-
|
|
116
|
-
```ts
|
|
117
|
-
/**
|
|
118
|
-
* @interface User
|
|
119
|
-
* @description Describes the shape of a user object.
|
|
120
|
-
* @summary Used across services, components, and API typing layers.
|
|
121
|
-
* @menu Models
|
|
122
|
-
*/
|
|
123
|
-
export interface User {
|
|
124
|
-
/** Unique user identifier. */
|
|
125
|
-
id: number;
|
|
126
|
-
|
|
127
|
-
/** Full name of the user. */
|
|
128
|
-
name: string;
|
|
129
|
-
|
|
130
|
-
/**
|
|
131
|
-
* @description Returns a user-friendly display name.
|
|
132
|
-
* @summary Typically used in user listings and dropdowns.
|
|
133
|
-
* @return {string}
|
|
134
|
-
*/
|
|
135
|
-
getDisplayName(): string;
|
|
136
|
-
}
|
|
137
|
-
```
|
|
138
|
-
|
|
139
|
-
---
|
|
140
|
-
|
|
141
|
-
## ⚙️ 3. Functions
|
|
142
|
-
|
|
143
|
-
```ts
|
|
144
|
-
/**
|
|
145
|
-
* @function calculateDiscount
|
|
146
|
-
* @description Calculates the final price after applying a discount.
|
|
147
|
-
* @summary Supports both percentage and fixed-amount discounts.
|
|
148
|
-
* @param {number} price - Original price.
|
|
149
|
-
* @param {number} discount - Discount amount.
|
|
150
|
-
* @param {boolean} isPercentage - Whether the discount is a percentage.
|
|
151
|
-
* @return {number} Final price after discount.
|
|
152
|
-
* @menu Utilities > Pricing
|
|
153
|
-
* @category Utilities
|
|
154
|
-
* @mermaid
|
|
155
|
-
* sequenceDiagram
|
|
156
|
-
* participant UI
|
|
157
|
-
* UI->>calculateDiscount: price, discount, isPercentage
|
|
158
|
-
* calculateDiscount-->>UI: discounted price
|
|
159
|
-
*/
|
|
160
|
-
export function calculateDiscount(
|
|
161
|
-
price: number,
|
|
162
|
-
discount: number,
|
|
163
|
-
isPercentage: boolean
|
|
164
|
-
): number {
|
|
165
|
-
return isPercentage ? price * (1 - discount / 100) : price - discount;
|
|
166
|
-
}
|
|
167
|
-
```
|
|
168
|
-
|
|
169
|
-
---
|
|
170
|
-
|
|
171
|
-
## 🧬 4. Types (Typedefs)
|
|
172
|
-
|
|
173
|
-
```ts
|
|
174
|
-
/**
|
|
175
|
-
* @typedef ApiResponse
|
|
176
|
-
* @description A standard API response wrapper.
|
|
177
|
-
* @summary Used across HTTP services to ensure consistent response shapes.
|
|
178
|
-
* @template T - Payload data type.
|
|
179
|
-
* @typeDef
|
|
180
|
-
* @param {T} data - The actual payload.
|
|
181
|
-
* @param {string} [error] - Optional error message.
|
|
182
|
-
* @return {ApiResponse<T>}
|
|
183
|
-
* @menu Models > Network
|
|
184
|
-
* @category Networking
|
|
185
|
-
*/
|
|
186
|
-
export type ApiResponse<T> = {
|
|
187
|
-
data: T;
|
|
188
|
-
error?: string;
|
|
189
|
-
};
|
|
190
|
-
```
|
|
191
|
-
|
|
192
|
-
---
|
|
193
|
-
|
|
194
|
-
## 📆 5. Modules
|
|
195
|
-
|
|
196
|
-
```ts
|
|
197
|
-
/**
|
|
198
|
-
* @module user
|
|
199
|
-
* @description User domain module.
|
|
200
|
-
* @summary Includes models, services, and utils related to user management.
|
|
201
|
-
* @menu Modules
|
|
202
|
-
*/
|
|
203
|
-
```
|
|
204
|
-
|
|
205
|
-
---
|
|
206
|
-
|
|
207
|
-
## 🔭 6. Namespaces
|
|
208
|
-
|
|
209
|
-
```ts
|
|
210
|
-
/**
|
|
211
|
-
* @namespace MathUtils
|
|
212
|
-
* @description A collection of reusable mathematical utilities.
|
|
213
|
-
* @summary Includes clamping, rounding, and interpolation helpers.
|
|
214
|
-
* @menu Utilities > Math
|
|
215
|
-
*/
|
|
216
|
-
export namespace MathUtils {
|
|
217
|
-
/**
|
|
218
|
-
* @description Clamps a number between two bounds.
|
|
219
|
-
* @summary Ensures a value does not exceed min or max.
|
|
220
|
-
* @param {number} value - The number to clamp.
|
|
221
|
-
* @param {number} min - Minimum allowed value.
|
|
222
|
-
* @param {number} max - Maximum allowed value.
|
|
223
|
-
* @return {number} Clamped value.
|
|
224
|
-
*/
|
|
225
|
-
export function clamp(value: number, min: number, max: number): number {
|
|
226
|
-
return Math.max(min, Math.min(max, value));
|
|
227
|
-
}
|
|
228
|
-
}
|
|
229
|
-
```
|
|
230
|
-
|
|
231
|
-
---
|
|
232
|
-
|
|
233
|
-
## 📌 7. Constants
|
|
234
|
-
|
|
235
|
-
```ts
|
|
236
|
-
/**
|
|
237
|
-
* @const API_TIMEOUT
|
|
238
|
-
* @name API_TIMEOUT
|
|
239
|
-
* @description Global timeout setting for all HTTP requests.
|
|
240
|
-
* @summary Used to cancel requests that exceed allowed duration.
|
|
241
|
-
* @type {number}
|
|
242
|
-
* @menu Constants
|
|
243
|
-
* @category Config
|
|
244
|
-
*/
|
|
245
|
-
export const API_TIMEOUT = 10000;
|
|
246
|
-
```
|
|
247
|
-
|
|
248
|
-
---
|
|
249
|
-
|
|
250
|
-
## 📊 8. Enums
|
|
251
|
-
|
|
252
|
-
```ts
|
|
253
|
-
/**
|
|
254
|
-
* @const LogLevel
|
|
255
|
-
* @name LogLevel
|
|
256
|
-
* @description Enum representing severity levels for logs.
|
|
257
|
-
* @summary Enables filtering and categorizing of runtime logs.
|
|
258
|
-
* @type {enum}
|
|
259
|
-
* @menu Constants > Logging
|
|
260
|
-
*/
|
|
261
|
-
export enum LogLevel {
|
|
262
|
-
/** Informational log */
|
|
263
|
-
INFO = 'info',
|
|
264
|
-
|
|
265
|
-
/** Recoverable warning */
|
|
266
|
-
WARN = 'warn',
|
|
267
|
-
|
|
268
|
-
/** Critical failure */
|
|
269
|
-
ERROR = 'error'
|
|
270
|
-
}
|
|
271
|
-
```
|
|
272
|
-
|
|
273
|
-
---
|
|
274
|
-
|
|
275
|
-
## 🧹 Advanced Better-docs Tags
|
|
276
|
-
|
|
277
|
-
### 📌 @menu
|
|
278
|
-
|
|
279
|
-
Organizes the item in the navigation sidebar.
|
|
280
|
-
|
|
281
|
-
```ts
|
|
282
|
-
@menu Services > User
|
|
283
|
-
```
|
|
284
|
-
|
|
285
|
-
### 🗂 @category
|
|
286
|
-
|
|
287
|
-
Used to group entries visually within the same page or sidebar section.
|
|
288
|
-
|
|
289
|
-
```ts
|
|
290
|
-
@category Utilities
|
|
291
|
-
```
|
|
292
|
-
|
|
293
|
-
### 🔧 @component
|
|
294
|
-
|
|
295
|
-
Used with frameworks like **React**, **Vue**, or **Angular** for UI docs.
|
|
296
|
-
|
|
297
|
-
---
|
|
298
|
-
|
|
299
|
-
## 🧰 Suggested `jsdoc.json` Configuration
|
|
300
|
-
|
|
301
|
-
```json
|
|
302
|
-
{
|
|
303
|
-
"plugins": [
|
|
304
|
-
"plugins/markdown",
|
|
305
|
-
"better-docs/component",
|
|
306
|
-
"better-docs/category"
|
|
307
|
-
],
|
|
308
|
-
"source": {
|
|
309
|
-
"include": ["src"],
|
|
310
|
-
"includePattern": ".+\\.ts(x)?$"
|
|
311
|
-
},
|
|
312
|
-
"opts": {
|
|
313
|
-
"destination": "./docs",
|
|
314
|
-
"template": "node_modules/better-docs"
|
|
315
|
-
},
|
|
316
|
-
"tags": {
|
|
317
|
-
"allowUnknownTags": ["category", "component", "menu"]
|
|
318
|
-
}
|
|
319
|
-
}
|
|
320
|
-
```
|
|
321
|
-
|
|
322
|
-
---
|
|
323
|
-
|
|
324
|
-
## ✅ Final Documentation Checklist
|
|
325
|
-
|
|
326
|
-
- [x] `@description` and `@summary` on all documentable elements
|
|
327
|
-
- [x] `@param` and `@return` for all functions/methods/callables
|
|
328
|
-
- [x] `@template` where generics exist
|
|
329
|
-
- [x] `@extends`, `@abstract`, `@private`, `@protected` where needed
|
|
330
|
-
- [x] `@link` for all internal references
|
|
331
|
-
- [x] `@mermaid` for any logic-heavy methods/functions (>10 lines)
|
|
332
|
-
- [x] Use `@menu`, `@category`, `@component` for better organization and UI rendering
|
|
333
|
-
|
|
334
|
-
---
|
|
335
|
-
|
|
336
|
-
Need help setting up the initial doc site or generating docs from your CI pipeline? Reach out to your tech lead or tooling team — or set up `jsdoc` + `better-docs` with a custom GitHub Action to automate it.
|
|
337
|
-
|
|
338
|
-
also check out the [Documentation prompts](../prompts/documentation.md) section. It might just be what you need.
|
|
339
|
-
|
|
340
|
-
|