sgmc-be 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of sgmc-be might be problematic. Click here for more details.
- package/images/Suji.png +0 -0
- package/images/lab_footer.jpg +0 -0
- package/images/lab_header.jpg +0 -0
- package/log/.3643ff0bd74ce42d2d2897fd41e13cbd98ec1584-audit.json +35 -0
- package/log/application-2023-03-03.log.gz +0 -0
- package/log/application-2023-03-04.log.gz +0 -0
- package/log/application-2023-03-06.log.gz +0 -0
- package/log/application-2023-06-18.log.gz +0 -0
- package/log/application-2023-06-19.log.gz +0 -0
- package/log/application-2023-06-20.log.gz +0 -0
- package/log/application-2023-06-22.log.gz +0 -0
- package/log/application-2023-06-24.log.gz +0 -0
- package/log/application-2023-07-03.log.gz +0 -0
- package/log/application-2023-07-04.log.gz +0 -0
- package/log/application-2023-07-16.log.gz +0 -0
- package/log/application-2023-07-25.log.gz +0 -0
- package/log/application-2023-07-26.log.gz +0 -0
- package/log/application-2023-08-06.log.gz +0 -0
- package/log/application-2023-08-07.log.gz +0 -0
- package/log/application-2023-08-14.log.gz +0 -0
- package/log/application-2023-08-17.log.gz +0 -0
- package/log/application-2023-08-18.log.gz +0 -0
- package/log/application-2023-08-19.log.gz +0 -0
- package/log/application-2023-08-20.log.gz +0 -0
- package/log/application-2023-08-21.log +1 -0
- package/log/application-2023-08-22.log.gz +0 -0
- package/log/application-2023-08-23.log +10 -0
- package/log/application-2023-08-25.log +0 -0
- package/log/application-2023-08-25.log.gz +0 -0
- package/log/application-2023-08-26.log +1 -0
- package/log/application-2023-08-28.log.gz +0 -0
- package/log/application-2023-08-29.log.gz +0 -0
- package/log/application-2023-08-30.log.gz +0 -0
- package/log/application-2023-08-31.log.gz +0 -0
- package/log/application-2023-09-01.log.gz +0 -0
- package/log/application-2023-09-02.log.gz +0 -0
- package/log/application-2023-09-03.log.gz +0 -0
- package/log/application-2023-09-21.log.gz +0 -0
- package/log/application-2023-09-28.log.gz +0 -0
- package/log/application-2023-09-29.log.gz +0 -0
- package/log/application-2023-09-30.log.gz +0 -0
- package/log/application-2023-10-02.log.gz +0 -0
- package/log/application-2023-10-09.log.gz +0 -0
- package/log/application-2023-10-10.log.gz +0 -0
- package/log/application-2023-10-12.log.gz +0 -0
- package/log/application-2023-10-20.log.gz +0 -0
- package/log/application-2023-10-30.log.gz +0 -0
- package/log/application-2023-10-31.log.gz +0 -0
- package/log/application-2023-11-06.log +0 -0
- package/log/application-2023-11-07.log +0 -0
- package/log/application-2023-11-08.log +21 -0
- package/log/application-2023-11-09.log +551 -0
- package/log/application-2023-11-10.log +15 -0
- package/package.json +44 -0
- package/src/MailTemplates/dueInvoiceTemplate.js +173 -0
- package/src/MailTemplates/ex.html +62 -0
- package/src/MailTemplates/invoiceTemplate.js +200 -0
- package/src/MailTemplates/labResultTemplate.js +418 -0
- package/src/MailTemplates/registrationCardTemplate.js +65 -0
- package/src/app.js +44 -0
- package/src/controller.js +139 -0
- package/src/controllers/appointmentController.js +2381 -0
- package/src/controllers/billingController.js +4467 -0
- package/src/controllers/drViewAppointmentController.js +619 -0
- package/src/controllers/labController.js +1081 -0
- package/src/controllers/leaveController.js +305 -0
- package/src/controllers/patientController.js +1595 -0
- package/src/controllers/physioController.js +2632 -0
- package/src/controllers/procedureController.js +641 -0
- package/src/controllers/registrationController.js +374 -0
- package/src/controllers/settingsController.js +333 -0
- package/src/controllers/staffController.js +791 -0
- package/src/controllers/userController.js +57 -0
- package/src/functions/appointmentFunctions.js +412 -0
- package/src/functions/registrationFunctions.js +54 -0
- package/src/log/.3643ff0bd74ce42d2d2897fd41e13cbd98ec1584-audit.json +40 -0
- package/src/log/application-2022-11-14.log.gz +0 -0
- package/src/log/application-2022-12-03.log.gz +0 -0
- package/src/log/application-2022-12-08.log.gz +0 -0
- package/src/log/application-2022-12-12.log.gz +0 -0
- package/src/log/application-2022-12-13.log.gz +0 -0
- package/src/log/application-2022-12-22.log.gz +0 -0
- package/src/log/application-2022-12-23.log.gz +0 -0
- package/src/log/application-2022-12-30.log.gz +0 -0
- package/src/log/application-2022-12-31.log.gz +0 -0
- package/src/log/application-2023-01-08.log.gz +0 -0
- package/src/log/application-2023-02-03.log.gz +0 -0
- package/src/log/application-2023-02-09.log.gz +0 -0
- package/src/log/application-2023-02-17.log.gz +0 -0
- package/src/log/application-2023-02-24.log.gz +0 -0
- package/src/log/application-2023-02-25.log.gz +0 -0
- package/src/log/application-2023-02-28.log.gz +0 -0
- package/src/log/application-2023-03-01.log.gz +0 -0
- package/src/log/application-2023-03-02.log.gz +0 -0
- package/src/log/application-2023-03-03.log +1 -0
- package/src/log/log/.3643ff0bd74ce42d2d2897fd41e13cbd98ec1584-audit.json +15 -0
- package/src/log/log/application-2023-11-06.log +0 -0
- package/src/log/node_modules/.bin/acorn +12 -0
- package/src/log/node_modules/.bin/acorn.cmd +17 -0
- package/src/log/node_modules/.bin/acorn.ps1 +28 -0
- package/src/log/node_modules/.bin/browserslist +12 -0
- package/src/log/node_modules/.bin/browserslist.cmd +17 -0
- package/src/log/node_modules/.bin/browserslist.ps1 +28 -0
- package/src/log/node_modules/.bin/envinfo +12 -0
- package/src/log/node_modules/.bin/envinfo.cmd +17 -0
- package/src/log/node_modules/.bin/envinfo.ps1 +28 -0
- package/src/log/node_modules/.bin/flat +12 -0
- package/src/log/node_modules/.bin/flat.cmd +17 -0
- package/src/log/node_modules/.bin/flat.ps1 +28 -0
- package/src/log/node_modules/.bin/import-local-fixture +12 -0
- package/src/log/node_modules/.bin/import-local-fixture.cmd +17 -0
- package/src/log/node_modules/.bin/import-local-fixture.ps1 +28 -0
- package/src/log/node_modules/.bin/node-which +12 -0
- package/src/log/node_modules/.bin/node-which.cmd +17 -0
- package/src/log/node_modules/.bin/node-which.ps1 +28 -0
- package/src/log/node_modules/.bin/resolve +12 -0
- package/src/log/node_modules/.bin/resolve.cmd +17 -0
- package/src/log/node_modules/.bin/resolve.ps1 +28 -0
- package/src/log/node_modules/.bin/terser +12 -0
- package/src/log/node_modules/.bin/terser.cmd +17 -0
- package/src/log/node_modules/.bin/terser.ps1 +28 -0
- package/src/log/node_modules/.bin/update-browserslist-db +12 -0
- package/src/log/node_modules/.bin/update-browserslist-db.cmd +17 -0
- package/src/log/node_modules/.bin/update-browserslist-db.ps1 +28 -0
- package/src/log/node_modules/.bin/webpack +12 -0
- package/src/log/node_modules/.bin/webpack-cli +12 -0
- package/src/log/node_modules/.bin/webpack-cli.cmd +17 -0
- package/src/log/node_modules/.bin/webpack-cli.ps1 +28 -0
- package/src/log/node_modules/.bin/webpack.cmd +17 -0
- package/src/log/node_modules/.bin/webpack.ps1 +28 -0
- package/src/log/node_modules/.package-lock.json +1352 -0
- package/src/log/node_modules/@discoveryjs/json-ext/LICENSE +21 -0
- package/src/log/node_modules/@discoveryjs/json-ext/README.md +256 -0
- package/src/log/node_modules/@discoveryjs/json-ext/dist/json-ext.js +791 -0
- package/src/log/node_modules/@discoveryjs/json-ext/dist/json-ext.min.js +1 -0
- package/src/log/node_modules/@discoveryjs/json-ext/dist/version.js +1 -0
- package/src/log/node_modules/@discoveryjs/json-ext/index.d.ts +31 -0
- package/src/log/node_modules/@discoveryjs/json-ext/package.json +56 -0
- package/src/log/node_modules/@discoveryjs/json-ext/src/index.js +6 -0
- package/src/log/node_modules/@discoveryjs/json-ext/src/parse-chunked.js +384 -0
- package/src/log/node_modules/@discoveryjs/json-ext/src/stringify-info.js +231 -0
- package/src/log/node_modules/@discoveryjs/json-ext/src/stringify-stream-browser.js +3 -0
- package/src/log/node_modules/@discoveryjs/json-ext/src/stringify-stream.js +408 -0
- package/src/log/node_modules/@discoveryjs/json-ext/src/text-decoder-browser.js +1 -0
- package/src/log/node_modules/@discoveryjs/json-ext/src/text-decoder.js +1 -0
- package/src/log/node_modules/@discoveryjs/json-ext/src/utils.js +149 -0
- package/src/log/node_modules/@discoveryjs/json-ext/src/version.js +1 -0
- package/src/log/node_modules/@jridgewell/gen-mapping/LICENSE +19 -0
- package/src/log/node_modules/@jridgewell/gen-mapping/README.md +227 -0
- package/src/log/node_modules/@jridgewell/gen-mapping/dist/gen-mapping.mjs +230 -0
- package/src/log/node_modules/@jridgewell/gen-mapping/dist/gen-mapping.mjs.map +1 -0
- package/src/log/node_modules/@jridgewell/gen-mapping/dist/gen-mapping.umd.js +236 -0
- package/src/log/node_modules/@jridgewell/gen-mapping/dist/gen-mapping.umd.js.map +1 -0
- package/src/log/node_modules/@jridgewell/gen-mapping/dist/types/gen-mapping.d.ts +90 -0
- package/src/log/node_modules/@jridgewell/gen-mapping/dist/types/sourcemap-segment.d.ts +12 -0
- package/src/log/node_modules/@jridgewell/gen-mapping/dist/types/types.d.ts +35 -0
- package/src/log/node_modules/@jridgewell/gen-mapping/package.json +77 -0
- package/src/log/node_modules/@jridgewell/resolve-uri/LICENSE +19 -0
- package/src/log/node_modules/@jridgewell/resolve-uri/README.md +40 -0
- package/src/log/node_modules/@jridgewell/resolve-uri/dist/resolve-uri.mjs +242 -0
- package/src/log/node_modules/@jridgewell/resolve-uri/dist/resolve-uri.mjs.map +1 -0
- package/src/log/node_modules/@jridgewell/resolve-uri/dist/resolve-uri.umd.js +250 -0
- package/src/log/node_modules/@jridgewell/resolve-uri/dist/resolve-uri.umd.js.map +1 -0
- package/src/log/node_modules/@jridgewell/resolve-uri/dist/types/resolve-uri.d.ts +4 -0
- package/src/log/node_modules/@jridgewell/resolve-uri/package.json +69 -0
- package/src/log/node_modules/@jridgewell/set-array/LICENSE +19 -0
- package/src/log/node_modules/@jridgewell/set-array/README.md +37 -0
- package/src/log/node_modules/@jridgewell/set-array/dist/set-array.mjs +48 -0
- package/src/log/node_modules/@jridgewell/set-array/dist/set-array.mjs.map +1 -0
- package/src/log/node_modules/@jridgewell/set-array/dist/set-array.umd.js +58 -0
- package/src/log/node_modules/@jridgewell/set-array/dist/set-array.umd.js.map +1 -0
- package/src/log/node_modules/@jridgewell/set-array/dist/types/set-array.d.ts +26 -0
- package/src/log/node_modules/@jridgewell/set-array/package.json +66 -0
- package/src/log/node_modules/@jridgewell/set-array/src/set-array.ts +55 -0
- package/src/log/node_modules/@jridgewell/source-map/LICENSE +19 -0
- package/src/log/node_modules/@jridgewell/source-map/README.md +82 -0
- package/src/log/node_modules/@jridgewell/source-map/dist/source-map.mjs +928 -0
- package/src/log/node_modules/@jridgewell/source-map/dist/source-map.mjs.map +1 -0
- package/src/log/node_modules/@jridgewell/source-map/dist/source-map.umd.js +939 -0
- package/src/log/node_modules/@jridgewell/source-map/dist/source-map.umd.js.map +1 -0
- package/src/log/node_modules/@jridgewell/source-map/dist/types/source-map.d.ts +25 -0
- package/src/log/node_modules/@jridgewell/source-map/package.json +71 -0
- package/src/log/node_modules/@jridgewell/sourcemap-codec/LICENSE +21 -0
- package/src/log/node_modules/@jridgewell/sourcemap-codec/README.md +200 -0
- package/src/log/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.mjs +164 -0
- package/src/log/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.mjs.map +1 -0
- package/src/log/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.umd.js +175 -0
- package/src/log/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.umd.js.map +1 -0
- package/src/log/node_modules/@jridgewell/sourcemap-codec/dist/types/sourcemap-codec.d.ts +6 -0
- package/src/log/node_modules/@jridgewell/sourcemap-codec/package.json +74 -0
- package/src/log/node_modules/@jridgewell/trace-mapping/LICENSE +19 -0
- package/src/log/node_modules/@jridgewell/trace-mapping/README.md +252 -0
- package/src/log/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.mjs +552 -0
- package/src/log/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.mjs.map +1 -0
- package/src/log/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.umd.js +566 -0
- package/src/log/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.umd.js.map +1 -0
- package/src/log/node_modules/@jridgewell/trace-mapping/dist/types/any-map.d.ts +8 -0
- package/src/log/node_modules/@jridgewell/trace-mapping/dist/types/binary-search.d.ts +32 -0
- package/src/log/node_modules/@jridgewell/trace-mapping/dist/types/by-source.d.ts +7 -0
- package/src/log/node_modules/@jridgewell/trace-mapping/dist/types/resolve.d.ts +1 -0
- package/src/log/node_modules/@jridgewell/trace-mapping/dist/types/sort.d.ts +2 -0
- package/src/log/node_modules/@jridgewell/trace-mapping/dist/types/sourcemap-segment.d.ts +16 -0
- package/src/log/node_modules/@jridgewell/trace-mapping/dist/types/strip-filename.d.ts +4 -0
- package/src/log/node_modules/@jridgewell/trace-mapping/dist/types/trace-mapping.d.ts +74 -0
- package/src/log/node_modules/@jridgewell/trace-mapping/dist/types/types.d.ts +92 -0
- package/src/log/node_modules/@jridgewell/trace-mapping/package.json +75 -0
- package/src/log/node_modules/@types/eslint/LICENSE +21 -0
- package/src/log/node_modules/@types/eslint/README.md +15 -0
- package/src/log/node_modules/@types/eslint/helpers.d.ts +3 -0
- package/src/log/node_modules/@types/eslint/index.d.ts +1305 -0
- package/src/log/node_modules/@types/eslint/package.json +65 -0
- package/src/log/node_modules/@types/eslint/rules/best-practices.d.ts +931 -0
- package/src/log/node_modules/@types/eslint/rules/deprecated.d.ts +267 -0
- package/src/log/node_modules/@types/eslint/rules/ecmascript-6.d.ts +502 -0
- package/src/log/node_modules/@types/eslint/rules/index.d.ts +23 -0
- package/src/log/node_modules/@types/eslint/rules/node-commonjs.d.ts +133 -0
- package/src/log/node_modules/@types/eslint/rules/possible-errors.d.ts +484 -0
- package/src/log/node_modules/@types/eslint/rules/strict-mode.d.ts +11 -0
- package/src/log/node_modules/@types/eslint/rules/stylistic-issues.d.ts +1905 -0
- package/src/log/node_modules/@types/eslint/rules/variables.d.ts +187 -0
- package/src/log/node_modules/@types/eslint/use-at-your-own-risk.d.ts +19 -0
- package/src/log/node_modules/@types/eslint-scope/LICENSE +21 -0
- package/src/log/node_modules/@types/eslint-scope/README.md +90 -0
- package/src/log/node_modules/@types/eslint-scope/index.d.ts +71 -0
- package/src/log/node_modules/@types/eslint-scope/package.json +28 -0
- package/src/log/node_modules/@types/estree/LICENSE +21 -0
- package/src/log/node_modules/@types/estree/README.md +15 -0
- package/src/log/node_modules/@types/estree/flow.d.ts +167 -0
- package/src/log/node_modules/@types/estree/index.d.ts +683 -0
- package/src/log/node_modules/@types/estree/package.json +26 -0
- package/src/log/node_modules/@types/json-schema/LICENSE +21 -0
- package/src/log/node_modules/@types/json-schema/README.md +15 -0
- package/src/log/node_modules/@types/json-schema/index.d.ts +749 -0
- package/src/log/node_modules/@types/json-schema/package.json +40 -0
- package/src/log/node_modules/@types/node/LICENSE +21 -0
- package/src/log/node_modules/@types/node/README.md +15 -0
- package/src/log/node_modules/@types/node/assert/strict.d.ts +8 -0
- package/src/log/node_modules/@types/node/assert.d.ts +996 -0
- package/src/log/node_modules/@types/node/async_hooks.d.ts +539 -0
- package/src/log/node_modules/@types/node/buffer.d.ts +2362 -0
- package/src/log/node_modules/@types/node/child_process.d.ts +1540 -0
- package/src/log/node_modules/@types/node/cluster.d.ts +432 -0
- package/src/log/node_modules/@types/node/console.d.ts +415 -0
- package/src/log/node_modules/@types/node/constants.d.ts +19 -0
- package/src/log/node_modules/@types/node/crypto.d.ts +4456 -0
- package/src/log/node_modules/@types/node/dgram.d.ts +586 -0
- package/src/log/node_modules/@types/node/diagnostics_channel.d.ts +191 -0
- package/src/log/node_modules/@types/node/dns/promises.d.ts +417 -0
- package/src/log/node_modules/@types/node/dns.d.ts +809 -0
- package/src/log/node_modules/@types/node/dom-events.d.ts +122 -0
- package/src/log/node_modules/@types/node/domain.d.ts +170 -0
- package/src/log/node_modules/@types/node/events.d.ts +844 -0
- package/src/log/node_modules/@types/node/fs/promises.d.ts +1232 -0
- package/src/log/node_modules/@types/node/fs.d.ts +4289 -0
- package/src/log/node_modules/@types/node/globals.d.ts +381 -0
- package/src/log/node_modules/@types/node/globals.global.d.ts +1 -0
- package/src/log/node_modules/@types/node/http.d.ts +1888 -0
- package/src/log/node_modules/@types/node/http2.d.ts +2381 -0
- package/src/log/node_modules/@types/node/https.d.ts +550 -0
- package/src/log/node_modules/@types/node/index.d.ts +88 -0
- package/src/log/node_modules/@types/node/inspector.d.ts +2747 -0
- package/src/log/node_modules/@types/node/module.d.ts +297 -0
- package/src/log/node_modules/@types/node/net.d.ts +949 -0
- package/src/log/node_modules/@types/node/os.d.ts +477 -0
- package/src/log/node_modules/@types/node/package.json +230 -0
- package/src/log/node_modules/@types/node/path.d.ts +191 -0
- package/src/log/node_modules/@types/node/perf_hooks.d.ts +639 -0
- package/src/log/node_modules/@types/node/process.d.ts +1532 -0
- package/src/log/node_modules/@types/node/punycode.d.ts +117 -0
- package/src/log/node_modules/@types/node/querystring.d.ts +141 -0
- package/src/log/node_modules/@types/node/readline/promises.d.ts +150 -0
- package/src/log/node_modules/@types/node/readline.d.ts +539 -0
- package/src/log/node_modules/@types/node/repl.d.ts +430 -0
- package/src/log/node_modules/@types/node/stream/consumers.d.ts +12 -0
- package/src/log/node_modules/@types/node/stream/promises.d.ts +83 -0
- package/src/log/node_modules/@types/node/stream/web.d.ts +350 -0
- package/src/log/node_modules/@types/node/stream.d.ts +1701 -0
- package/src/log/node_modules/@types/node/string_decoder.d.ts +67 -0
- package/src/log/node_modules/@types/node/test.d.ts +1382 -0
- package/src/log/node_modules/@types/node/timers/promises.d.ts +93 -0
- package/src/log/node_modules/@types/node/timers.d.ts +240 -0
- package/src/log/node_modules/@types/node/tls.d.ts +1210 -0
- package/src/log/node_modules/@types/node/trace_events.d.ts +182 -0
- package/src/log/node_modules/@types/node/ts4.8/assert/strict.d.ts +8 -0
- package/src/log/node_modules/@types/node/ts4.8/assert.d.ts +996 -0
- package/src/log/node_modules/@types/node/ts4.8/async_hooks.d.ts +539 -0
- package/src/log/node_modules/@types/node/ts4.8/buffer.d.ts +2362 -0
- package/src/log/node_modules/@types/node/ts4.8/child_process.d.ts +1540 -0
- package/src/log/node_modules/@types/node/ts4.8/cluster.d.ts +432 -0
- package/src/log/node_modules/@types/node/ts4.8/console.d.ts +415 -0
- package/src/log/node_modules/@types/node/ts4.8/constants.d.ts +19 -0
- package/src/log/node_modules/@types/node/ts4.8/crypto.d.ts +4455 -0
- package/src/log/node_modules/@types/node/ts4.8/dgram.d.ts +586 -0
- package/src/log/node_modules/@types/node/ts4.8/diagnostics_channel.d.ts +191 -0
- package/src/log/node_modules/@types/node/ts4.8/dns/promises.d.ts +417 -0
- package/src/log/node_modules/@types/node/ts4.8/dns.d.ts +809 -0
- package/src/log/node_modules/@types/node/ts4.8/dom-events.d.ts +122 -0
- package/src/log/node_modules/@types/node/ts4.8/domain.d.ts +170 -0
- package/src/log/node_modules/@types/node/ts4.8/events.d.ts +796 -0
- package/src/log/node_modules/@types/node/ts4.8/fs/promises.d.ts +1232 -0
- package/src/log/node_modules/@types/node/ts4.8/fs.d.ts +4289 -0
- package/src/log/node_modules/@types/node/ts4.8/globals.d.ts +381 -0
- package/src/log/node_modules/@types/node/ts4.8/globals.global.d.ts +1 -0
- package/src/log/node_modules/@types/node/ts4.8/http.d.ts +1888 -0
- package/src/log/node_modules/@types/node/ts4.8/http2.d.ts +2381 -0
- package/src/log/node_modules/@types/node/ts4.8/https.d.ts +550 -0
- package/src/log/node_modules/@types/node/ts4.8/index.d.ts +88 -0
- package/src/log/node_modules/@types/node/ts4.8/inspector.d.ts +2747 -0
- package/src/log/node_modules/@types/node/ts4.8/module.d.ts +297 -0
- package/src/log/node_modules/@types/node/ts4.8/net.d.ts +949 -0
- package/src/log/node_modules/@types/node/ts4.8/os.d.ts +477 -0
- package/src/log/node_modules/@types/node/ts4.8/path.d.ts +191 -0
- package/src/log/node_modules/@types/node/ts4.8/perf_hooks.d.ts +639 -0
- package/src/log/node_modules/@types/node/ts4.8/process.d.ts +1532 -0
- package/src/log/node_modules/@types/node/ts4.8/punycode.d.ts +117 -0
- package/src/log/node_modules/@types/node/ts4.8/querystring.d.ts +141 -0
- package/src/log/node_modules/@types/node/ts4.8/readline/promises.d.ts +150 -0
- package/src/log/node_modules/@types/node/ts4.8/readline.d.ts +539 -0
- package/src/log/node_modules/@types/node/ts4.8/repl.d.ts +430 -0
- package/src/log/node_modules/@types/node/ts4.8/stream/consumers.d.ts +12 -0
- package/src/log/node_modules/@types/node/ts4.8/stream/promises.d.ts +83 -0
- package/src/log/node_modules/@types/node/ts4.8/stream/web.d.ts +350 -0
- package/src/log/node_modules/@types/node/ts4.8/stream.d.ts +1701 -0
- package/src/log/node_modules/@types/node/ts4.8/string_decoder.d.ts +67 -0
- package/src/log/node_modules/@types/node/ts4.8/test.d.ts +1382 -0
- package/src/log/node_modules/@types/node/ts4.8/timers/promises.d.ts +93 -0
- package/src/log/node_modules/@types/node/ts4.8/timers.d.ts +240 -0
- package/src/log/node_modules/@types/node/ts4.8/tls.d.ts +1210 -0
- package/src/log/node_modules/@types/node/ts4.8/trace_events.d.ts +182 -0
- package/src/log/node_modules/@types/node/ts4.8/tty.d.ts +208 -0
- package/src/log/node_modules/@types/node/ts4.8/url.d.ts +927 -0
- package/src/log/node_modules/@types/node/ts4.8/util.d.ts +2186 -0
- package/src/log/node_modules/@types/node/ts4.8/v8.d.ts +635 -0
- package/src/log/node_modules/@types/node/ts4.8/vm.d.ts +901 -0
- package/src/log/node_modules/@types/node/ts4.8/wasi.d.ts +152 -0
- package/src/log/node_modules/@types/node/ts4.8/worker_threads.d.ts +691 -0
- package/src/log/node_modules/@types/node/ts4.8/zlib.d.ts +517 -0
- package/src/log/node_modules/@types/node/tty.d.ts +208 -0
- package/src/log/node_modules/@types/node/url.d.ts +927 -0
- package/src/log/node_modules/@types/node/util.d.ts +2186 -0
- package/src/log/node_modules/@types/node/v8.d.ts +635 -0
- package/src/log/node_modules/@types/node/vm.d.ts +901 -0
- package/src/log/node_modules/@types/node/wasi.d.ts +152 -0
- package/src/log/node_modules/@types/node/worker_threads.d.ts +691 -0
- package/src/log/node_modules/@types/node/zlib.d.ts +517 -0
- package/src/log/node_modules/@webassemblyjs/ast/README.md +167 -0
- package/src/log/node_modules/@webassemblyjs/ast/lib/clone.js +11 -0
- package/src/log/node_modules/@webassemblyjs/ast/lib/definitions.js +670 -0
- package/src/log/node_modules/@webassemblyjs/ast/lib/index.js +129 -0
- package/src/log/node_modules/@webassemblyjs/ast/lib/node-helpers.js +107 -0
- package/src/log/node_modules/@webassemblyjs/ast/lib/node-path.js +148 -0
- package/src/log/node_modules/@webassemblyjs/ast/lib/nodes.js +1144 -0
- package/src/log/node_modules/@webassemblyjs/ast/lib/signatures.js +207 -0
- package/src/log/node_modules/@webassemblyjs/ast/lib/transform/ast-module-to-module-context/index.js +389 -0
- package/src/log/node_modules/@webassemblyjs/ast/lib/transform/denormalize-type-references/index.js +83 -0
- package/src/log/node_modules/@webassemblyjs/ast/lib/transform/wast-identifier-to-index/index.js +238 -0
- package/src/log/node_modules/@webassemblyjs/ast/lib/traverse.js +105 -0
- package/src/log/node_modules/@webassemblyjs/ast/lib/types/basic.js +1 -0
- package/src/log/node_modules/@webassemblyjs/ast/lib/types/nodes.js +1 -0
- package/src/log/node_modules/@webassemblyjs/ast/lib/types/traverse.js +1 -0
- package/src/log/node_modules/@webassemblyjs/ast/lib/utils.js +315 -0
- package/src/log/node_modules/@webassemblyjs/ast/package.json +31 -0
- package/src/log/node_modules/@webassemblyjs/ast/scripts/generateNodeUtils.js +219 -0
- package/src/log/node_modules/@webassemblyjs/ast/scripts/generateTypeDefinitions.js +48 -0
- package/src/log/node_modules/@webassemblyjs/ast/scripts/util.js +38 -0
- package/src/log/node_modules/@webassemblyjs/floating-point-hex-parser/LICENSE +21 -0
- package/src/log/node_modules/@webassemblyjs/floating-point-hex-parser/README.md +34 -0
- package/src/log/node_modules/@webassemblyjs/floating-point-hex-parser/lib/index.js +49 -0
- package/src/log/node_modules/@webassemblyjs/floating-point-hex-parser/package.json +23 -0
- package/src/log/node_modules/@webassemblyjs/helper-api-error/lib/index.js +78 -0
- package/src/log/node_modules/@webassemblyjs/helper-api-error/package.json +17 -0
- package/src/log/node_modules/@webassemblyjs/helper-buffer/lib/compare.js +73 -0
- package/src/log/node_modules/@webassemblyjs/helper-buffer/lib/index.js +89 -0
- package/src/log/node_modules/@webassemblyjs/helper-buffer/package.json +23 -0
- package/src/log/node_modules/@webassemblyjs/helper-numbers/lib/index.js +117 -0
- package/src/log/node_modules/@webassemblyjs/helper-numbers/package.json +24 -0
- package/src/log/node_modules/@webassemblyjs/helper-numbers/src/index.js +106 -0
- package/src/log/node_modules/@webassemblyjs/helper-wasm-bytecode/lib/index.js +406 -0
- package/src/log/node_modules/@webassemblyjs/helper-wasm-bytecode/lib/section.js +38 -0
- package/src/log/node_modules/@webassemblyjs/helper-wasm-bytecode/package.json +19 -0
- package/src/log/node_modules/@webassemblyjs/helper-wasm-section/lib/create.js +123 -0
- package/src/log/node_modules/@webassemblyjs/helper-wasm-section/lib/index.js +35 -0
- package/src/log/node_modules/@webassemblyjs/helper-wasm-section/lib/remove.js +45 -0
- package/src/log/node_modules/@webassemblyjs/helper-wasm-section/lib/resize.js +90 -0
- package/src/log/node_modules/@webassemblyjs/helper-wasm-section/package.json +28 -0
- package/src/log/node_modules/@webassemblyjs/ieee754/lib/index.js +52 -0
- package/src/log/node_modules/@webassemblyjs/ieee754/package.json +22 -0
- package/src/log/node_modules/@webassemblyjs/ieee754/src/index.js +47 -0
- package/src/log/node_modules/@webassemblyjs/leb128/LICENSE.txt +194 -0
- package/src/log/node_modules/@webassemblyjs/leb128/lib/bits.js +156 -0
- package/src/log/node_modules/@webassemblyjs/leb128/lib/bufs.js +236 -0
- package/src/log/node_modules/@webassemblyjs/leb128/lib/index.js +59 -0
- package/src/log/node_modules/@webassemblyjs/leb128/lib/leb.js +343 -0
- package/src/log/node_modules/@webassemblyjs/leb128/package.json +22 -0
- package/src/log/node_modules/@webassemblyjs/utf8/lib/decoder.js +74 -0
- package/src/log/node_modules/@webassemblyjs/utf8/lib/encoder.js +67 -0
- package/src/log/node_modules/@webassemblyjs/utf8/lib/index.js +21 -0
- package/src/log/node_modules/@webassemblyjs/utf8/package.json +19 -0
- package/src/log/node_modules/@webassemblyjs/utf8/src/decoder.js +67 -0
- package/src/log/node_modules/@webassemblyjs/utf8/src/encoder.js +44 -0
- package/src/log/node_modules/@webassemblyjs/utf8/src/index.js +4 -0
- package/src/log/node_modules/@webassemblyjs/utf8/test/index.js +13 -0
- package/src/log/node_modules/@webassemblyjs/wasm-edit/README.md +86 -0
- package/src/log/node_modules/@webassemblyjs/wasm-edit/lib/apply.js +318 -0
- package/src/log/node_modules/@webassemblyjs/wasm-edit/lib/index.js +134 -0
- package/src/log/node_modules/@webassemblyjs/wasm-edit/package.json +32 -0
- package/src/log/node_modules/@webassemblyjs/wasm-gen/lib/encoder/index.js +372 -0
- package/src/log/node_modules/@webassemblyjs/wasm-gen/lib/index.js +68 -0
- package/src/log/node_modules/@webassemblyjs/wasm-gen/package.json +26 -0
- package/src/log/node_modules/@webassemblyjs/wasm-opt/lib/index.js +66 -0
- package/src/log/node_modules/@webassemblyjs/wasm-opt/lib/leb128.js +56 -0
- package/src/log/node_modules/@webassemblyjs/wasm-opt/package.json +25 -0
- package/src/log/node_modules/@webassemblyjs/wasm-parser/README.md +28 -0
- package/src/log/node_modules/@webassemblyjs/wasm-parser/lib/decoder.js +1821 -0
- package/src/log/node_modules/@webassemblyjs/wasm-parser/lib/index.js +262 -0
- package/src/log/node_modules/@webassemblyjs/wasm-parser/lib/types/decoder.js +1 -0
- package/src/log/node_modules/@webassemblyjs/wasm-parser/package.json +43 -0
- package/src/log/node_modules/@webassemblyjs/wast-printer/README.md +17 -0
- package/src/log/node_modules/@webassemblyjs/wast-printer/lib/index.js +931 -0
- package/src/log/node_modules/@webassemblyjs/wast-printer/package.json +35 -0
- package/src/log/node_modules/@webpack-cli/configtest/LICENSE +20 -0
- package/src/log/node_modules/@webpack-cli/configtest/README.md +31 -0
- package/src/log/node_modules/@webpack-cli/configtest/lib/index.d.ts +5 -0
- package/src/log/node_modules/@webpack-cli/configtest/lib/index.js +53 -0
- package/src/log/node_modules/@webpack-cli/configtest/package.json +27 -0
- package/src/log/node_modules/@webpack-cli/info/LICENSE +20 -0
- package/src/log/node_modules/@webpack-cli/info/README.md +54 -0
- package/src/log/node_modules/@webpack-cli/info/lib/index.d.ts +5 -0
- package/src/log/node_modules/@webpack-cli/info/lib/index.js +17 -0
- package/src/log/node_modules/@webpack-cli/info/package.json +27 -0
- package/src/log/node_modules/@webpack-cli/serve/LICENSE +20 -0
- package/src/log/node_modules/@webpack-cli/serve/README.md +32 -0
- package/src/log/node_modules/@webpack-cli/serve/lib/index.d.ts +5 -0
- package/src/log/node_modules/@webpack-cli/serve/lib/index.js +174 -0
- package/src/log/node_modules/@webpack-cli/serve/package.json +33 -0
- package/src/log/node_modules/@xtuc/ieee754/LICENSE +28 -0
- package/src/log/node_modules/@xtuc/ieee754/README.md +51 -0
- package/src/log/node_modules/@xtuc/ieee754/dist/.gitkeep +0 -0
- package/src/log/node_modules/@xtuc/ieee754/dist/index.cjs.js +96 -0
- package/src/log/node_modules/@xtuc/ieee754/index.js +84 -0
- package/src/log/node_modules/@xtuc/ieee754/package.json +42 -0
- package/src/log/node_modules/@xtuc/long/LICENSE +202 -0
- package/src/log/node_modules/@xtuc/long/README.md +257 -0
- package/src/log/node_modules/@xtuc/long/dist/long.js +2 -0
- package/src/log/node_modules/@xtuc/long/dist/long.js.map +1 -0
- package/src/log/node_modules/@xtuc/long/index.d.ts +429 -0
- package/src/log/node_modules/@xtuc/long/index.js +1 -0
- package/src/log/node_modules/@xtuc/long/package.json +36 -0
- package/src/log/node_modules/@xtuc/long/src/long.js +1405 -0
- package/src/log/node_modules/acorn/CHANGELOG.md +870 -0
- package/src/log/node_modules/acorn/LICENSE +21 -0
- package/src/log/node_modules/acorn/README.md +283 -0
- package/src/log/node_modules/acorn/bin/acorn +4 -0
- package/src/log/node_modules/acorn/dist/acorn.d.mts +857 -0
- package/src/log/node_modules/acorn/dist/acorn.d.ts +857 -0
- package/src/log/node_modules/acorn/dist/acorn.js +6001 -0
- package/src/log/node_modules/acorn/dist/acorn.mjs +5972 -0
- package/src/log/node_modules/acorn/dist/bin.js +90 -0
- package/src/log/node_modules/acorn/package.json +50 -0
- package/src/log/node_modules/acorn-import-assertions/README.md +15 -0
- package/src/log/node_modules/acorn-import-assertions/lib/index.js +235 -0
- package/src/log/node_modules/acorn-import-assertions/lib/index.mjs +242 -0
- package/src/log/node_modules/acorn-import-assertions/package.json +49 -0
- package/src/log/node_modules/acorn-import-assertions/src/index.js +242 -0
- package/src/log/node_modules/ajv/.tonic_example.js +20 -0
- package/src/log/node_modules/ajv/LICENSE +22 -0
- package/src/log/node_modules/ajv/README.md +1497 -0
- package/src/log/node_modules/ajv/dist/ajv.bundle.js +7189 -0
- package/src/log/node_modules/ajv/dist/ajv.min.js +3 -0
- package/src/log/node_modules/ajv/dist/ajv.min.js.map +1 -0
- package/src/log/node_modules/ajv/lib/ajv.d.ts +397 -0
- package/src/log/node_modules/ajv/lib/ajv.js +506 -0
- package/src/log/node_modules/ajv/lib/cache.js +26 -0
- package/src/log/node_modules/ajv/lib/compile/async.js +90 -0
- package/src/log/node_modules/ajv/lib/compile/equal.js +5 -0
- package/src/log/node_modules/ajv/lib/compile/error_classes.js +34 -0
- package/src/log/node_modules/ajv/lib/compile/formats.js +142 -0
- package/src/log/node_modules/ajv/lib/compile/index.js +387 -0
- package/src/log/node_modules/ajv/lib/compile/resolve.js +270 -0
- package/src/log/node_modules/ajv/lib/compile/rules.js +66 -0
- package/src/log/node_modules/ajv/lib/compile/schema_obj.js +9 -0
- package/src/log/node_modules/ajv/lib/compile/ucs2length.js +20 -0
- package/src/log/node_modules/ajv/lib/compile/util.js +239 -0
- package/src/log/node_modules/ajv/lib/data.js +49 -0
- package/src/log/node_modules/ajv/lib/definition_schema.js +37 -0
- package/src/log/node_modules/ajv/lib/dot/_limit.jst +113 -0
- package/src/log/node_modules/ajv/lib/dot/_limitItems.jst +12 -0
- package/src/log/node_modules/ajv/lib/dot/_limitLength.jst +12 -0
- package/src/log/node_modules/ajv/lib/dot/_limitProperties.jst +12 -0
- package/src/log/node_modules/ajv/lib/dot/allOf.jst +32 -0
- package/src/log/node_modules/ajv/lib/dot/anyOf.jst +46 -0
- package/src/log/node_modules/ajv/lib/dot/coerce.def +51 -0
- package/src/log/node_modules/ajv/lib/dot/comment.jst +9 -0
- package/src/log/node_modules/ajv/lib/dot/const.jst +11 -0
- package/src/log/node_modules/ajv/lib/dot/contains.jst +55 -0
- package/src/log/node_modules/ajv/lib/dot/custom.jst +191 -0
- package/src/log/node_modules/ajv/lib/dot/defaults.def +47 -0
- package/src/log/node_modules/ajv/lib/dot/definitions.def +203 -0
- package/src/log/node_modules/ajv/lib/dot/dependencies.jst +79 -0
- package/src/log/node_modules/ajv/lib/dot/enum.jst +30 -0
- package/src/log/node_modules/ajv/lib/dot/errors.def +194 -0
- package/src/log/node_modules/ajv/lib/dot/format.jst +106 -0
- package/src/log/node_modules/ajv/lib/dot/if.jst +73 -0
- package/src/log/node_modules/ajv/lib/dot/items.jst +98 -0
- package/src/log/node_modules/ajv/lib/dot/missing.def +39 -0
- package/src/log/node_modules/ajv/lib/dot/multipleOf.jst +22 -0
- package/src/log/node_modules/ajv/lib/dot/not.jst +43 -0
- package/src/log/node_modules/ajv/lib/dot/oneOf.jst +54 -0
- package/src/log/node_modules/ajv/lib/dot/pattern.jst +14 -0
- package/src/log/node_modules/ajv/lib/dot/properties.jst +245 -0
- package/src/log/node_modules/ajv/lib/dot/propertyNames.jst +52 -0
- package/src/log/node_modules/ajv/lib/dot/ref.jst +85 -0
- package/src/log/node_modules/ajv/lib/dot/required.jst +108 -0
- package/src/log/node_modules/ajv/lib/dot/uniqueItems.jst +62 -0
- package/src/log/node_modules/ajv/lib/dot/validate.jst +276 -0
- package/src/log/node_modules/ajv/lib/dotjs/README.md +3 -0
- package/src/log/node_modules/ajv/lib/dotjs/_limit.js +163 -0
- package/src/log/node_modules/ajv/lib/dotjs/_limitItems.js +80 -0
- package/src/log/node_modules/ajv/lib/dotjs/_limitLength.js +85 -0
- package/src/log/node_modules/ajv/lib/dotjs/_limitProperties.js +80 -0
- package/src/log/node_modules/ajv/lib/dotjs/allOf.js +42 -0
- package/src/log/node_modules/ajv/lib/dotjs/anyOf.js +73 -0
- package/src/log/node_modules/ajv/lib/dotjs/comment.js +14 -0
- package/src/log/node_modules/ajv/lib/dotjs/const.js +56 -0
- package/src/log/node_modules/ajv/lib/dotjs/contains.js +81 -0
- package/src/log/node_modules/ajv/lib/dotjs/custom.js +228 -0
- package/src/log/node_modules/ajv/lib/dotjs/dependencies.js +168 -0
- package/src/log/node_modules/ajv/lib/dotjs/enum.js +66 -0
- package/src/log/node_modules/ajv/lib/dotjs/format.js +150 -0
- package/src/log/node_modules/ajv/lib/dotjs/if.js +103 -0
- package/src/log/node_modules/ajv/lib/dotjs/index.js +33 -0
- package/src/log/node_modules/ajv/lib/dotjs/items.js +140 -0
- package/src/log/node_modules/ajv/lib/dotjs/multipleOf.js +80 -0
- package/src/log/node_modules/ajv/lib/dotjs/not.js +84 -0
- package/src/log/node_modules/ajv/lib/dotjs/oneOf.js +73 -0
- package/src/log/node_modules/ajv/lib/dotjs/pattern.js +75 -0
- package/src/log/node_modules/ajv/lib/dotjs/properties.js +335 -0
- package/src/log/node_modules/ajv/lib/dotjs/propertyNames.js +81 -0
- package/src/log/node_modules/ajv/lib/dotjs/ref.js +124 -0
- package/src/log/node_modules/ajv/lib/dotjs/required.js +270 -0
- package/src/log/node_modules/ajv/lib/dotjs/uniqueItems.js +86 -0
- package/src/log/node_modules/ajv/lib/dotjs/validate.js +482 -0
- package/src/log/node_modules/ajv/lib/keyword.js +146 -0
- package/src/log/node_modules/ajv/lib/refs/data.json +17 -0
- package/src/log/node_modules/ajv/lib/refs/json-schema-draft-04.json +149 -0
- package/src/log/node_modules/ajv/lib/refs/json-schema-draft-06.json +154 -0
- package/src/log/node_modules/ajv/lib/refs/json-schema-draft-07.json +168 -0
- package/src/log/node_modules/ajv/lib/refs/json-schema-secure.json +94 -0
- package/src/log/node_modules/ajv/package.json +106 -0
- package/src/log/node_modules/ajv/scripts/.eslintrc.yml +3 -0
- package/src/log/node_modules/ajv/scripts/bundle.js +61 -0
- package/src/log/node_modules/ajv/scripts/compile-dots.js +73 -0
- package/src/log/node_modules/ajv/scripts/info +10 -0
- package/src/log/node_modules/ajv/scripts/prepare-tests +12 -0
- package/src/log/node_modules/ajv/scripts/publish-built-version +32 -0
- package/src/log/node_modules/ajv/scripts/travis-gh-pages +23 -0
- package/src/log/node_modules/ajv-keywords/LICENSE +21 -0
- package/src/log/node_modules/ajv-keywords/README.md +836 -0
- package/src/log/node_modules/ajv-keywords/ajv-keywords.d.ts +7 -0
- package/src/log/node_modules/ajv-keywords/index.js +35 -0
- package/src/log/node_modules/ajv-keywords/keywords/_formatLimit.js +101 -0
- package/src/log/node_modules/ajv-keywords/keywords/_util.js +15 -0
- package/src/log/node_modules/ajv-keywords/keywords/allRequired.js +18 -0
- package/src/log/node_modules/ajv-keywords/keywords/anyRequired.js +24 -0
- package/src/log/node_modules/ajv-keywords/keywords/deepProperties.js +54 -0
- package/src/log/node_modules/ajv-keywords/keywords/deepRequired.js +57 -0
- package/src/log/node_modules/ajv-keywords/keywords/dot/_formatLimit.jst +116 -0
- package/src/log/node_modules/ajv-keywords/keywords/dot/patternRequired.jst +33 -0
- package/src/log/node_modules/ajv-keywords/keywords/dot/switch.jst +71 -0
- package/src/log/node_modules/ajv-keywords/keywords/dotjs/README.md +3 -0
- package/src/log/node_modules/ajv-keywords/keywords/dotjs/_formatLimit.js +178 -0
- package/src/log/node_modules/ajv-keywords/keywords/dotjs/patternRequired.js +58 -0
- package/src/log/node_modules/ajv-keywords/keywords/dotjs/switch.js +129 -0
- package/src/log/node_modules/ajv-keywords/keywords/dynamicDefaults.js +72 -0
- package/src/log/node_modules/ajv-keywords/keywords/formatMaximum.js +3 -0
- package/src/log/node_modules/ajv-keywords/keywords/formatMinimum.js +3 -0
- package/src/log/node_modules/ajv-keywords/keywords/index.js +22 -0
- package/src/log/node_modules/ajv-keywords/keywords/instanceof.js +58 -0
- package/src/log/node_modules/ajv-keywords/keywords/oneRequired.js +24 -0
- package/src/log/node_modules/ajv-keywords/keywords/patternRequired.js +21 -0
- package/src/log/node_modules/ajv-keywords/keywords/prohibited.js +24 -0
- package/src/log/node_modules/ajv-keywords/keywords/range.js +36 -0
- package/src/log/node_modules/ajv-keywords/keywords/regexp.js +36 -0
- package/src/log/node_modules/ajv-keywords/keywords/select.js +79 -0
- package/src/log/node_modules/ajv-keywords/keywords/switch.js +38 -0
- package/src/log/node_modules/ajv-keywords/keywords/transform.js +80 -0
- package/src/log/node_modules/ajv-keywords/keywords/typeof.js +32 -0
- package/src/log/node_modules/ajv-keywords/keywords/uniqueItemProperties.js +59 -0
- package/src/log/node_modules/ajv-keywords/package.json +53 -0
- package/src/log/node_modules/browserslist/LICENSE +20 -0
- package/src/log/node_modules/browserslist/README.md +73 -0
- package/src/log/node_modules/browserslist/browser.js +52 -0
- package/src/log/node_modules/browserslist/cli.js +156 -0
- package/src/log/node_modules/browserslist/error.d.ts +7 -0
- package/src/log/node_modules/browserslist/error.js +12 -0
- package/src/log/node_modules/browserslist/index.d.ts +200 -0
- package/src/log/node_modules/browserslist/index.js +1197 -0
- package/src/log/node_modules/browserslist/node.js +410 -0
- package/src/log/node_modules/browserslist/package.json +44 -0
- package/src/log/node_modules/browserslist/parse.js +78 -0
- package/src/log/node_modules/buffer-from/LICENSE +21 -0
- package/src/log/node_modules/buffer-from/index.js +72 -0
- package/src/log/node_modules/buffer-from/package.json +19 -0
- package/src/log/node_modules/buffer-from/readme.md +69 -0
- package/src/log/node_modules/caniuse-lite/LICENSE +395 -0
- package/src/log/node_modules/caniuse-lite/README.md +6 -0
- package/src/log/node_modules/caniuse-lite/data/agents.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/browserVersions.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/browsers.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/aac.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/abortcontroller.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/ac3-ec3.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/accelerometer.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/addeventlistener.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/alternate-stylesheet.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/ambient-light.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/apng.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/array-find-index.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/array-find.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/array-flat.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/array-includes.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/arrow-functions.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/asmjs.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/async-clipboard.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/async-functions.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/atob-btoa.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/audio-api.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/audio.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/audiotracks.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/autofocus.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/auxclick.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/av1.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/avif.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/background-attachment.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/background-clip-text.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/background-img-opts.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/background-position-x-y.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/background-repeat-round-space.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/background-sync.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/battery-status.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/beacon.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/beforeafterprint.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/bigint.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/blobbuilder.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/bloburls.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/border-image.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/border-radius.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/broadcastchannel.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/brotli.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/calc.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/canvas-blending.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/canvas-text.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/canvas.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/ch-unit.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/chacha20-poly1305.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/channel-messaging.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/childnode-remove.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/classlist.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/client-hints-dpr-width-viewport.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/clipboard.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/colr-v1.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/colr.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/comparedocumentposition.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/console-basic.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/console-time.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/const.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/constraint-validation.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/contenteditable.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/contentsecuritypolicy.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/contentsecuritypolicy2.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/cookie-store-api.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/cors.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/createimagebitmap.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/credential-management.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/cryptography.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-all.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-anchor-positioning.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-animation.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-any-link.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-appearance.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-at-counter-style.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-autofill.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-backdrop-filter.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-background-offsets.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-backgroundblendmode.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-boxdecorationbreak.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-boxshadow.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-canvas.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-caret-color.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-cascade-layers.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-cascade-scope.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-case-insensitive.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-clip-path.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-color-adjust.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-color-function.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-conic-gradients.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-container-queries-style.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-container-queries.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-container-query-units.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-containment.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-content-visibility.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-counters.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-crisp-edges.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-cross-fade.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-default-pseudo.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-descendant-gtgt.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-deviceadaptation.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-dir-pseudo.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-display-contents.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-element-function.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-env-function.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-exclusions.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-featurequeries.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-file-selector-button.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-filter-function.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-filters.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-first-letter.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-first-line.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-fixed.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-focus-visible.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-focus-within.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-font-palette.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-font-rendering-controls.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-font-stretch.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-gencontent.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-gradients.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-grid-animation.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-grid.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-hanging-punctuation.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-has.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-hyphens.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-image-orientation.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-image-set.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-in-out-of-range.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-indeterminate-pseudo.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-initial-letter.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-initial-value.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-lch-lab.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-letter-spacing.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-line-clamp.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-logical-props.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-marker-pseudo.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-masks.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-matches-pseudo.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-math-functions.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-media-interaction.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-media-range-syntax.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-media-resolution.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-media-scripting.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-mediaqueries.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-mixblendmode.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-motion-paths.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-namespaces.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-nesting.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-not-sel-list.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-nth-child-of.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-opacity.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-optional-pseudo.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-overflow-anchor.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-overflow-overlay.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-overflow.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-overscroll-behavior.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-page-break.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-paged-media.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-paint-api.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-placeholder-shown.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-placeholder.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-print-color-adjust.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-read-only-write.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-rebeccapurple.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-reflections.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-regions.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-relative-colors.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-repeating-gradients.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-resize.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-revert-value.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-rrggbbaa.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-scroll-behavior.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-scroll-timeline.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-scrollbar.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-sel2.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-sel3.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-selection.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-shapes.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-snappoints.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-sticky.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-subgrid.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-supports-api.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-table.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-text-align-last.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-text-box-trim.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-text-indent.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-text-justify.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-text-orientation.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-text-spacing.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-text-wrap-balance.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-textshadow.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-touch-action.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-transitions.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-unicode-bidi.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-unset-value.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-variables.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-when-else.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-widows-orphans.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-width-stretch.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-writing-mode.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-zoom.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css3-attr.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css3-boxsizing.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css3-colors.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css3-cursors-grab.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css3-cursors-newer.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css3-cursors.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css3-tabsize.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/currentcolor.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/custom-elements.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/custom-elementsv1.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/customevent.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/datalist.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/dataset.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/datauri.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/date-tolocaledatestring.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/declarative-shadow-dom.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/decorators.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/details.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/deviceorientation.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/devicepixelratio.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/dialog.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/dispatchevent.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/dnssec.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/do-not-track.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/document-currentscript.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/document-evaluate-xpath.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/document-execcommand.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/document-policy.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/document-scrollingelement.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/documenthead.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/dom-manip-convenience.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/dom-range.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/domcontentloaded.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/dommatrix.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/download.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/dragndrop.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/element-closest.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/element-from-point.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/element-scroll-methods.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/eme.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/eot.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/es5.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/es6-class.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/es6-generators.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/es6-module-dynamic-import.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/es6-module.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/es6-number.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/es6-string-includes.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/es6.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/eventsource.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/extended-system-fonts.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/feature-policy.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/fetch.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/fieldset-disabled.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/fileapi.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/filereader.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/filereadersync.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/filesystem.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/flac.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/flexbox-gap.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/flexbox.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/flow-root.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/focusin-focusout-events.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/font-family-system-ui.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/font-feature.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/font-kerning.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/font-loading.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/font-size-adjust.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/font-smooth.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/font-unicode-range.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/font-variant-alternates.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/font-variant-numeric.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/fontface.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/form-attribute.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/form-submit-attributes.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/form-validation.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/forms.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/fullscreen.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/gamepad.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/geolocation.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/getboundingclientrect.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/getcomputedstyle.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/getelementsbyclassname.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/getrandomvalues.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/gyroscope.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/hardwareconcurrency.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/hashchange.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/heif.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/hevc.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/hidden.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/high-resolution-time.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/history.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/html-media-capture.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/html5semantic.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/http-live-streaming.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/http2.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/http3.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/iframe-sandbox.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/iframe-seamless.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/iframe-srcdoc.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/imagecapture.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/ime.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/img-naturalwidth-naturalheight.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/import-maps.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/imports.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/indeterminate-checkbox.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/indexeddb.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/indexeddb2.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/inline-block.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/innertext.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/input-autocomplete-onoff.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/input-color.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/input-datetime.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/input-email-tel-url.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/input-event.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/input-file-accept.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/input-file-directory.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/input-file-multiple.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/input-inputmode.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/input-minlength.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/input-number.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/input-pattern.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/input-placeholder.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/input-range.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/input-search.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/input-selection.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/insert-adjacent.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/insertadjacenthtml.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/internationalization.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/intersectionobserver-v2.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/intersectionobserver.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/intl-pluralrules.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/intrinsic-width.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/jpeg2000.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/jpegxl.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/jpegxr.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/js-regexp-lookbehind.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/json.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/justify-content-space-evenly.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/kerning-pairs-ligatures.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/keyboardevent-charcode.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/keyboardevent-code.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/keyboardevent-getmodifierstate.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/keyboardevent-key.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/keyboardevent-location.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/keyboardevent-which.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/lazyload.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/let.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/link-icon-png.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/link-icon-svg.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/link-rel-dns-prefetch.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/link-rel-modulepreload.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/link-rel-preconnect.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/link-rel-prefetch.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/link-rel-preload.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/link-rel-prerender.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/loading-lazy-attr.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/localecompare.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/magnetometer.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/matchesselector.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/matchmedia.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/mathml.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/maxlength.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/mdn-css-backdrop-pseudo-element.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-isolate-override.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-isolate.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-plaintext.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/mdn-text-decoration-color.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/mdn-text-decoration-line.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/mdn-text-decoration-shorthand.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/mdn-text-decoration-style.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/media-fragments.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/mediacapture-fromelement.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/mediarecorder.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/mediasource.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/menu.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/meta-theme-color.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/meter.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/midi.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/minmaxwh.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/mp3.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/mpeg-dash.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/mpeg4.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/multibackgrounds.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/multicolumn.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/mutation-events.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/mutationobserver.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/namevalue-storage.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/native-filesystem-api.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/nav-timing.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/netinfo.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/notifications.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/object-entries.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/object-fit.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/object-observe.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/object-values.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/objectrtc.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/offline-apps.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/offscreencanvas.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/ogg-vorbis.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/ogv.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/ol-reversed.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/once-event-listener.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/online-status.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/opus.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/orientation-sensor.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/outline.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/pad-start-end.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/page-transition-events.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/pagevisibility.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/passive-event-listener.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/passkeys.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/passwordrules.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/path2d.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/payment-request.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/pdf-viewer.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/permissions-api.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/permissions-policy.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/picture-in-picture.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/picture.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/ping.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/png-alpha.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/pointer-events.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/pointer.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/pointerlock.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/portals.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/prefers-color-scheme.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/prefers-reduced-motion.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/progress.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/promise-finally.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/promises.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/proximity.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/proxy.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/publickeypinning.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/push-api.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/queryselector.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/readonly-attr.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/referrer-policy.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/registerprotocolhandler.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/rel-noopener.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/rel-noreferrer.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/rellist.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/rem.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/requestanimationframe.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/requestidlecallback.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/resizeobserver.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/resource-timing.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/rest-parameters.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/rtcpeerconnection.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/ruby.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/run-in.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/same-site-cookie-attribute.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/screen-orientation.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/script-async.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/script-defer.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/scrollintoview.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/scrollintoviewifneeded.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/sdch.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/selection-api.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/server-timing.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/serviceworkers.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/setimmediate.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/shadowdom.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/shadowdomv1.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/sharedarraybuffer.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/sharedworkers.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/sni.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/spdy.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/speech-recognition.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/speech-synthesis.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/spellcheck-attribute.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/sql-storage.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/srcset.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/stream.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/streams.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/stricttransportsecurity.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/style-scoped.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/subresource-bundling.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/subresource-integrity.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/svg-css.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/svg-filters.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/svg-fonts.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/svg-fragment.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/svg-html.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/svg-html5.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/svg-img.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/svg-smil.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/svg.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/sxg.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/tabindex-attr.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/template-literals.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/template.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/temporal.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/testfeat.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/text-decoration.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/text-emphasis.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/text-overflow.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/text-size-adjust.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/text-stroke.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/textcontent.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/textencoder.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/tls1-1.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/tls1-2.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/tls1-3.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/touch.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/transforms2d.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/transforms3d.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/trusted-types.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/ttf.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/typedarrays.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/u2f.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/unhandledrejection.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/upgradeinsecurerequests.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/url-scroll-to-text-fragment.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/url.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/urlsearchparams.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/use-strict.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/user-select-none.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/user-timing.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/variable-fonts.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/vector-effect.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/vibration.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/video.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/videotracks.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/view-transitions.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/viewport-unit-variants.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/viewport-units.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/wai-aria.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/wake-lock.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/wasm.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/wav.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/wbr-element.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/web-animation.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/web-app-manifest.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/web-bluetooth.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/web-serial.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/web-share.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/webauthn.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/webcodecs.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/webgl.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/webgl2.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/webgpu.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/webhid.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/webkit-user-drag.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/webm.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/webnfc.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/webp.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/websockets.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/webtransport.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/webusb.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/webvr.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/webvtt.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/webworkers.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/webxr.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/will-change.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/woff.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/woff2.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/word-break.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/wordwrap.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/x-doc-messaging.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/x-frame-options.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/xhr2.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/xhtml.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/xhtmlsmil.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/xml-serializer.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/zstd.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/AD.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/AE.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/AF.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/AG.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/AI.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/AL.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/AM.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/AO.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/AR.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/AS.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/AT.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/AU.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/AW.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/AX.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/AZ.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/BA.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/BB.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/BD.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/BE.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/BF.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/BG.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/BH.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/BI.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/BJ.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/BM.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/BN.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/BO.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/BR.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/BS.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/BT.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/BW.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/BY.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/BZ.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/CA.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/CD.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/CF.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/CG.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/CH.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/CI.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/CK.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/CL.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/CM.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/CN.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/CO.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/CR.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/CU.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/CV.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/CX.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/CY.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/CZ.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/DE.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/DJ.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/DK.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/DM.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/DO.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/DZ.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/EC.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/EE.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/EG.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/ER.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/ES.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/ET.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/FI.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/FJ.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/FK.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/FM.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/FO.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/FR.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/GA.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/GB.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/GD.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/GE.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/GF.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/GG.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/GH.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/GI.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/GL.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/GM.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/GN.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/GP.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/GQ.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/GR.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/GT.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/GU.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/GW.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/GY.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/HK.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/HN.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/HR.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/HT.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/HU.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/ID.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/IE.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/IL.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/IM.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/IN.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/IQ.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/IR.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/IS.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/IT.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/JE.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/JM.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/JO.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/JP.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/KE.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/KG.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/KH.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/KI.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/KM.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/KN.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/KP.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/KR.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/KW.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/KY.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/KZ.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/LA.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/LB.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/LC.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/LI.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/LK.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/LR.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/LS.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/LT.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/LU.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/LV.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/LY.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/MA.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/MC.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/MD.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/ME.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/MG.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/MH.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/MK.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/ML.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/MM.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/MN.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/MO.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/MP.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/MQ.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/MR.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/MS.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/MT.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/MU.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/MV.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/MW.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/MX.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/MY.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/MZ.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/NA.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/NC.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/NE.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/NF.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/NG.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/NI.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/NL.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/NO.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/NP.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/NR.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/NU.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/NZ.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/OM.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/PA.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/PE.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/PF.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/PG.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/PH.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/PK.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/PL.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/PM.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/PN.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/PR.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/PS.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/PT.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/PW.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/PY.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/QA.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/RE.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/RO.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/RS.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/RU.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/RW.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/SA.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/SB.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/SC.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/SD.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/SE.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/SG.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/SH.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/SI.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/SK.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/SL.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/SM.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/SN.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/SO.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/SR.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/ST.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/SV.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/SY.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/SZ.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/TC.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/TD.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/TG.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/TH.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/TJ.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/TK.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/TL.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/TM.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/TN.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/TO.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/TR.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/TT.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/TV.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/TW.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/TZ.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/UA.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/UG.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/US.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/UY.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/UZ.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/VA.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/VC.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/VE.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/VG.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/VI.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/VN.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/VU.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/WF.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/WS.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/YE.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/YT.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/ZA.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/ZM.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/ZW.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/alt-af.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/alt-an.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/alt-as.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/alt-eu.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/alt-na.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/alt-oc.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/alt-sa.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/alt-ww.js +1 -0
- package/src/log/node_modules/caniuse-lite/dist/lib/statuses.js +9 -0
- package/src/log/node_modules/caniuse-lite/dist/lib/supported.js +9 -0
- package/src/log/node_modules/caniuse-lite/dist/unpacker/agents.js +47 -0
- package/src/log/node_modules/caniuse-lite/dist/unpacker/browserVersions.js +1 -0
- package/src/log/node_modules/caniuse-lite/dist/unpacker/browsers.js +1 -0
- package/src/log/node_modules/caniuse-lite/dist/unpacker/feature.js +52 -0
- package/src/log/node_modules/caniuse-lite/dist/unpacker/features.js +6 -0
- package/src/log/node_modules/caniuse-lite/dist/unpacker/index.js +4 -0
- package/src/log/node_modules/caniuse-lite/dist/unpacker/region.js +22 -0
- package/src/log/node_modules/caniuse-lite/package.json +34 -0
- package/src/log/node_modules/chrome-trace-event/CHANGES.md +26 -0
- package/src/log/node_modules/chrome-trace-event/LICENSE.txt +23 -0
- package/src/log/node_modules/chrome-trace-event/README.md +31 -0
- package/src/log/node_modules/chrome-trace-event/dist/trace-event.d.ts +52 -0
- package/src/log/node_modules/chrome-trace-event/dist/trace-event.js +170 -0
- package/src/log/node_modules/chrome-trace-event/dist/trace-event.js.map +1 -0
- package/src/log/node_modules/chrome-trace-event/package.json +38 -0
- package/src/log/node_modules/clone-deep/LICENSE +21 -0
- package/src/log/node_modules/clone-deep/README.md +106 -0
- package/src/log/node_modules/clone-deep/index.js +49 -0
- package/src/log/node_modules/clone-deep/package.json +81 -0
- package/src/log/node_modules/colorette/LICENSE.md +7 -0
- package/src/log/node_modules/colorette/README.md +134 -0
- package/src/log/node_modules/colorette/index.cjs +218 -0
- package/src/log/node_modules/colorette/index.d.ts +93 -0
- package/src/log/node_modules/colorette/index.js +150 -0
- package/src/log/node_modules/colorette/package.json +40 -0
- package/src/log/node_modules/commander/CHANGELOG.md +419 -0
- package/src/log/node_modules/commander/LICENSE +22 -0
- package/src/log/node_modules/commander/Readme.md +428 -0
- package/src/log/node_modules/commander/index.js +1224 -0
- package/src/log/node_modules/commander/package.json +38 -0
- package/src/log/node_modules/commander/typings/index.d.ts +310 -0
- package/src/log/node_modules/cross-spawn/CHANGELOG.md +130 -0
- package/src/log/node_modules/cross-spawn/LICENSE +21 -0
- package/src/log/node_modules/cross-spawn/README.md +96 -0
- package/src/log/node_modules/cross-spawn/index.js +39 -0
- package/src/log/node_modules/cross-spawn/lib/enoent.js +59 -0
- package/src/log/node_modules/cross-spawn/lib/parse.js +91 -0
- package/src/log/node_modules/cross-spawn/lib/util/escape.js +45 -0
- package/src/log/node_modules/cross-spawn/lib/util/readShebang.js +23 -0
- package/src/log/node_modules/cross-spawn/lib/util/resolveCommand.js +52 -0
- package/src/log/node_modules/cross-spawn/package.json +73 -0
- package/src/log/node_modules/electron-to-chromium/CHANGELOG.md +14 -0
- package/src/log/node_modules/electron-to-chromium/LICENSE +5 -0
- package/src/log/node_modules/electron-to-chromium/README.md +186 -0
- package/src/log/node_modules/electron-to-chromium/chromium-versions.js +60 -0
- package/src/log/node_modules/electron-to-chromium/chromium-versions.json +1 -0
- package/src/log/node_modules/electron-to-chromium/full-chromium-versions.js +2911 -0
- package/src/log/node_modules/electron-to-chromium/full-chromium-versions.json +1 -0
- package/src/log/node_modules/electron-to-chromium/full-versions.js +2123 -0
- package/src/log/node_modules/electron-to-chromium/full-versions.json +1 -0
- package/src/log/node_modules/electron-to-chromium/index.js +36 -0
- package/src/log/node_modules/electron-to-chromium/package.json +44 -0
- package/src/log/node_modules/electron-to-chromium/versions.js +141 -0
- package/src/log/node_modules/electron-to-chromium/versions.json +1 -0
- package/src/log/node_modules/enhanced-resolve/LICENSE +20 -0
- package/src/log/node_modules/enhanced-resolve/README.md +183 -0
- package/src/log/node_modules/enhanced-resolve/lib/AliasFieldPlugin.js +108 -0
- package/src/log/node_modules/enhanced-resolve/lib/AliasPlugin.js +154 -0
- package/src/log/node_modules/enhanced-resolve/lib/AppendPlugin.js +49 -0
- package/src/log/node_modules/enhanced-resolve/lib/CachedInputFileSystem.js +593 -0
- package/src/log/node_modules/enhanced-resolve/lib/CloneBasenamePlugin.js +53 -0
- package/src/log/node_modules/enhanced-resolve/lib/ConditionalPlugin.js +59 -0
- package/src/log/node_modules/enhanced-resolve/lib/DescriptionFilePlugin.js +98 -0
- package/src/log/node_modules/enhanced-resolve/lib/DescriptionFileUtils.js +198 -0
- package/src/log/node_modules/enhanced-resolve/lib/DirectoryExistsPlugin.js +63 -0
- package/src/log/node_modules/enhanced-resolve/lib/ExportsFieldPlugin.js +166 -0
- package/src/log/node_modules/enhanced-resolve/lib/ExtensionAliasPlugin.js +101 -0
- package/src/log/node_modules/enhanced-resolve/lib/FileExistsPlugin.js +58 -0
- package/src/log/node_modules/enhanced-resolve/lib/ImportsFieldPlugin.js +196 -0
- package/src/log/node_modules/enhanced-resolve/lib/JoinRequestPartPlugin.js +75 -0
- package/src/log/node_modules/enhanced-resolve/lib/JoinRequestPlugin.js +45 -0
- package/src/log/node_modules/enhanced-resolve/lib/LogInfoPlugin.js +54 -0
- package/src/log/node_modules/enhanced-resolve/lib/MainFieldPlugin.js +90 -0
- package/src/log/node_modules/enhanced-resolve/lib/ModulesInHierachicDirectoriesPlugin.js +9 -0
- package/src/log/node_modules/enhanced-resolve/lib/ModulesInHierarchicalDirectoriesPlugin.js +87 -0
- package/src/log/node_modules/enhanced-resolve/lib/ModulesInRootPlugin.js +49 -0
- package/src/log/node_modules/enhanced-resolve/lib/NextPlugin.js +33 -0
- package/src/log/node_modules/enhanced-resolve/lib/ParsePlugin.js +76 -0
- package/src/log/node_modules/enhanced-resolve/lib/PnpPlugin.js +111 -0
- package/src/log/node_modules/enhanced-resolve/lib/Resolver.js +601 -0
- package/src/log/node_modules/enhanced-resolve/lib/ResolverFactory.js +695 -0
- package/src/log/node_modules/enhanced-resolve/lib/RestrictionsPlugin.js +70 -0
- package/src/log/node_modules/enhanced-resolve/lib/ResultPlugin.js +42 -0
- package/src/log/node_modules/enhanced-resolve/lib/RootsPlugin.js +69 -0
- package/src/log/node_modules/enhanced-resolve/lib/SelfReferencePlugin.js +82 -0
- package/src/log/node_modules/enhanced-resolve/lib/SymlinkPlugin.js +100 -0
- package/src/log/node_modules/enhanced-resolve/lib/SyncAsyncFileSystemDecorator.js +104 -0
- package/src/log/node_modules/enhanced-resolve/lib/TryNextPlugin.js +41 -0
- package/src/log/node_modules/enhanced-resolve/lib/UnsafeCachePlugin.js +112 -0
- package/src/log/node_modules/enhanced-resolve/lib/UseFilePlugin.js +55 -0
- package/src/log/node_modules/enhanced-resolve/lib/createInnerContext.js +46 -0
- package/src/log/node_modules/enhanced-resolve/lib/forEachBail.js +50 -0
- package/src/log/node_modules/enhanced-resolve/lib/getInnerRequest.js +36 -0
- package/src/log/node_modules/enhanced-resolve/lib/getPaths.js +45 -0
- package/src/log/node_modules/enhanced-resolve/lib/index.js +203 -0
- package/src/log/node_modules/enhanced-resolve/lib/util/entrypoints.js +604 -0
- package/src/log/node_modules/enhanced-resolve/lib/util/identifier.js +27 -0
- package/src/log/node_modules/enhanced-resolve/lib/util/path.js +229 -0
- package/src/log/node_modules/enhanced-resolve/lib/util/process-browser.js +22 -0
- package/src/log/node_modules/enhanced-resolve/package.json +72 -0
- package/src/log/node_modules/enhanced-resolve/types.d.ts +712 -0
- package/src/log/node_modules/envinfo/LICENSE +21 -0
- package/src/log/node_modules/envinfo/README.md +286 -0
- package/src/log/node_modules/envinfo/dist/cli.js +2 -0
- package/src/log/node_modules/envinfo/dist/envinfo.js +1 -0
- package/src/log/node_modules/envinfo/package.json +96 -0
- package/src/log/node_modules/es-module-lexer/LICENSE +10 -0
- package/src/log/node_modules/es-module-lexer/README.md +304 -0
- package/src/log/node_modules/es-module-lexer/dist/lexer.asm.js +2 -0
- package/src/log/node_modules/es-module-lexer/dist/lexer.cjs +1 -0
- package/src/log/node_modules/es-module-lexer/dist/lexer.js +2 -0
- package/src/log/node_modules/es-module-lexer/lexer.js +919 -0
- package/src/log/node_modules/es-module-lexer/package.json +54 -0
- package/src/log/node_modules/es-module-lexer/types/lexer.d.ts +149 -0
- package/src/log/node_modules/escalade/dist/index.js +22 -0
- package/src/log/node_modules/escalade/dist/index.mjs +22 -0
- package/src/log/node_modules/escalade/index.d.ts +3 -0
- package/src/log/node_modules/escalade/license +9 -0
- package/src/log/node_modules/escalade/package.json +61 -0
- package/src/log/node_modules/escalade/readme.md +211 -0
- package/src/log/node_modules/escalade/sync/index.d.ts +2 -0
- package/src/log/node_modules/escalade/sync/index.js +18 -0
- package/src/log/node_modules/escalade/sync/index.mjs +18 -0
- package/src/log/node_modules/eslint-scope/CHANGELOG.md +70 -0
- package/src/log/node_modules/eslint-scope/LICENSE +22 -0
- package/src/log/node_modules/eslint-scope/README.md +54 -0
- package/src/log/node_modules/eslint-scope/lib/definition.js +86 -0
- package/src/log/node_modules/eslint-scope/lib/index.js +165 -0
- package/src/log/node_modules/eslint-scope/lib/pattern-visitor.js +152 -0
- package/src/log/node_modules/eslint-scope/lib/reference.js +167 -0
- package/src/log/node_modules/eslint-scope/lib/referencer.js +629 -0
- package/src/log/node_modules/eslint-scope/lib/scope-manager.js +247 -0
- package/src/log/node_modules/eslint-scope/lib/scope.js +748 -0
- package/src/log/node_modules/eslint-scope/lib/variable.js +88 -0
- package/src/log/node_modules/eslint-scope/package.json +48 -0
- package/src/log/node_modules/esrecurse/.babelrc +3 -0
- package/src/log/node_modules/esrecurse/README.md +171 -0
- package/src/log/node_modules/esrecurse/esrecurse.js +117 -0
- package/src/log/node_modules/esrecurse/gulpfile.babel.js +92 -0
- package/src/log/node_modules/esrecurse/node_modules/estraverse/.jshintrc +16 -0
- package/src/log/node_modules/esrecurse/node_modules/estraverse/LICENSE.BSD +19 -0
- package/src/log/node_modules/esrecurse/node_modules/estraverse/README.md +153 -0
- package/src/log/node_modules/esrecurse/node_modules/estraverse/estraverse.js +805 -0
- package/src/log/node_modules/esrecurse/node_modules/estraverse/gulpfile.js +70 -0
- package/src/log/node_modules/esrecurse/node_modules/estraverse/package.json +40 -0
- package/src/log/node_modules/esrecurse/package.json +52 -0
- package/src/log/node_modules/estraverse/.jshintrc +16 -0
- package/src/log/node_modules/estraverse/LICENSE.BSD +19 -0
- package/src/log/node_modules/estraverse/README.md +153 -0
- package/src/log/node_modules/estraverse/estraverse.js +782 -0
- package/src/log/node_modules/estraverse/gulpfile.js +70 -0
- package/src/log/node_modules/estraverse/package.json +40 -0
- package/src/log/node_modules/events/.airtap.yml +15 -0
- package/src/log/node_modules/events/.github/FUNDING.yml +12 -0
- package/src/log/node_modules/events/.travis.yml +18 -0
- package/src/log/node_modules/events/History.md +118 -0
- package/src/log/node_modules/events/LICENSE +22 -0
- package/src/log/node_modules/events/Readme.md +50 -0
- package/src/log/node_modules/events/events.js +497 -0
- package/src/log/node_modules/events/package.json +37 -0
- package/src/log/node_modules/events/security.md +10 -0
- package/src/log/node_modules/events/tests/add-listeners.js +111 -0
- package/src/log/node_modules/events/tests/check-listener-leaks.js +101 -0
- package/src/log/node_modules/events/tests/common.js +104 -0
- package/src/log/node_modules/events/tests/errors.js +13 -0
- package/src/log/node_modules/events/tests/events-list.js +28 -0
- package/src/log/node_modules/events/tests/events-once.js +234 -0
- package/src/log/node_modules/events/tests/index.js +64 -0
- package/src/log/node_modules/events/tests/legacy-compat.js +16 -0
- package/src/log/node_modules/events/tests/listener-count.js +37 -0
- package/src/log/node_modules/events/tests/listeners-side-effects.js +56 -0
- package/src/log/node_modules/events/tests/listeners.js +168 -0
- package/src/log/node_modules/events/tests/max-listeners.js +47 -0
- package/src/log/node_modules/events/tests/method-names.js +35 -0
- package/src/log/node_modules/events/tests/modify-in-emit.js +90 -0
- package/src/log/node_modules/events/tests/num-args.js +60 -0
- package/src/log/node_modules/events/tests/once.js +83 -0
- package/src/log/node_modules/events/tests/prepend.js +31 -0
- package/src/log/node_modules/events/tests/remove-all-listeners.js +133 -0
- package/src/log/node_modules/events/tests/remove-listeners.js +212 -0
- package/src/log/node_modules/events/tests/set-max-listeners-side-effects.js +31 -0
- package/src/log/node_modules/events/tests/special-event-names.js +45 -0
- package/src/log/node_modules/events/tests/subclass.js +66 -0
- package/src/log/node_modules/events/tests/symbols.js +25 -0
- package/src/log/node_modules/fast-deep-equal/LICENSE +21 -0
- package/src/log/node_modules/fast-deep-equal/README.md +96 -0
- package/src/log/node_modules/fast-deep-equal/es6/index.d.ts +2 -0
- package/src/log/node_modules/fast-deep-equal/es6/index.js +72 -0
- package/src/log/node_modules/fast-deep-equal/es6/react.d.ts +2 -0
- package/src/log/node_modules/fast-deep-equal/es6/react.js +79 -0
- package/src/log/node_modules/fast-deep-equal/index.d.ts +4 -0
- package/src/log/node_modules/fast-deep-equal/index.js +46 -0
- package/src/log/node_modules/fast-deep-equal/package.json +61 -0
- package/src/log/node_modules/fast-deep-equal/react.d.ts +2 -0
- package/src/log/node_modules/fast-deep-equal/react.js +53 -0
- package/src/log/node_modules/fast-json-stable-stringify/.eslintrc.yml +26 -0
- package/src/log/node_modules/fast-json-stable-stringify/.github/FUNDING.yml +1 -0
- package/src/log/node_modules/fast-json-stable-stringify/.travis.yml +8 -0
- package/src/log/node_modules/fast-json-stable-stringify/LICENSE +21 -0
- package/src/log/node_modules/fast-json-stable-stringify/README.md +131 -0
- package/src/log/node_modules/fast-json-stable-stringify/benchmark/index.js +31 -0
- package/src/log/node_modules/fast-json-stable-stringify/benchmark/test.json +137 -0
- package/src/log/node_modules/fast-json-stable-stringify/example/key_cmp.js +7 -0
- package/src/log/node_modules/fast-json-stable-stringify/example/nested.js +3 -0
- package/src/log/node_modules/fast-json-stable-stringify/example/str.js +3 -0
- package/src/log/node_modules/fast-json-stable-stringify/example/value_cmp.js +7 -0
- package/src/log/node_modules/fast-json-stable-stringify/index.d.ts +4 -0
- package/src/log/node_modules/fast-json-stable-stringify/index.js +59 -0
- package/src/log/node_modules/fast-json-stable-stringify/package.json +52 -0
- package/src/log/node_modules/fast-json-stable-stringify/test/cmp.js +13 -0
- package/src/log/node_modules/fast-json-stable-stringify/test/nested.js +44 -0
- package/src/log/node_modules/fast-json-stable-stringify/test/str.js +46 -0
- package/src/log/node_modules/fast-json-stable-stringify/test/to-json.js +22 -0
- package/src/log/node_modules/fastest-levenshtein/.eslintrc.json +30 -0
- package/src/log/node_modules/fastest-levenshtein/.prettierrc +4 -0
- package/src/log/node_modules/fastest-levenshtein/.travis.yml +21 -0
- package/src/log/node_modules/fastest-levenshtein/LICENSE.md +21 -0
- package/src/log/node_modules/fastest-levenshtein/README.md +57 -0
- package/src/log/node_modules/fastest-levenshtein/bench.js +96 -0
- package/src/log/node_modules/fastest-levenshtein/esm/mod.d.ts +4 -0
- package/src/log/node_modules/fastest-levenshtein/esm/mod.d.ts.map +1 -0
- package/src/log/node_modules/fastest-levenshtein/esm/mod.js +138 -0
- package/src/log/node_modules/fastest-levenshtein/mod.d.ts +3 -0
- package/src/log/node_modules/fastest-levenshtein/mod.js +142 -0
- package/src/log/node_modules/fastest-levenshtein/package.json +72 -0
- package/src/log/node_modules/fastest-levenshtein/test.js +55 -0
- package/src/log/node_modules/fastest-levenshtein/test.ts +67 -0
- package/src/log/node_modules/find-up/index.d.ts +137 -0
- package/src/log/node_modules/find-up/index.js +89 -0
- package/src/log/node_modules/find-up/license +9 -0
- package/src/log/node_modules/find-up/package.json +53 -0
- package/src/log/node_modules/find-up/readme.md +156 -0
- package/src/log/node_modules/flat/.travis.yml +8 -0
- package/src/log/node_modules/flat/LICENSE +12 -0
- package/src/log/node_modules/flat/README.md +236 -0
- package/src/log/node_modules/flat/cli.js +42 -0
- package/src/log/node_modules/flat/index.js +158 -0
- package/src/log/node_modules/flat/package.json +37 -0
- package/src/log/node_modules/flat/test/test.js +643 -0
- package/src/log/node_modules/function-bind/.eslintrc +21 -0
- package/src/log/node_modules/function-bind/.github/FUNDING.yml +12 -0
- package/src/log/node_modules/function-bind/.github/SECURITY.md +3 -0
- package/src/log/node_modules/function-bind/.nycrc +13 -0
- package/src/log/node_modules/function-bind/CHANGELOG.md +136 -0
- package/src/log/node_modules/function-bind/LICENSE +20 -0
- package/src/log/node_modules/function-bind/README.md +46 -0
- package/src/log/node_modules/function-bind/implementation.js +84 -0
- package/src/log/node_modules/function-bind/index.js +5 -0
- package/src/log/node_modules/function-bind/package.json +87 -0
- package/src/log/node_modules/function-bind/test/.eslintrc +9 -0
- package/src/log/node_modules/function-bind/test/index.js +252 -0
- package/src/log/node_modules/glob-to-regexp/.travis.yml +4 -0
- package/src/log/node_modules/glob-to-regexp/README.md +75 -0
- package/src/log/node_modules/glob-to-regexp/index.js +130 -0
- package/src/log/node_modules/glob-to-regexp/package.json +23 -0
- package/src/log/node_modules/glob-to-regexp/test.js +235 -0
- package/src/log/node_modules/graceful-fs/LICENSE +15 -0
- package/src/log/node_modules/graceful-fs/README.md +143 -0
- package/src/log/node_modules/graceful-fs/clone.js +23 -0
- package/src/log/node_modules/graceful-fs/graceful-fs.js +448 -0
- package/src/log/node_modules/graceful-fs/legacy-streams.js +118 -0
- package/src/log/node_modules/graceful-fs/package.json +53 -0
- package/src/log/node_modules/graceful-fs/polyfills.js +355 -0
- package/src/log/node_modules/has-flag/index.d.ts +39 -0
- package/src/log/node_modules/has-flag/index.js +8 -0
- package/src/log/node_modules/has-flag/license +9 -0
- package/src/log/node_modules/has-flag/package.json +46 -0
- package/src/log/node_modules/has-flag/readme.md +89 -0
- package/src/log/node_modules/hasown/.eslintrc +5 -0
- package/src/log/node_modules/hasown/.github/FUNDING.yml +12 -0
- package/src/log/node_modules/hasown/.nycrc +13 -0
- package/src/log/node_modules/hasown/CHANGELOG.md +20 -0
- package/src/log/node_modules/hasown/LICENSE +21 -0
- package/src/log/node_modules/hasown/README.md +40 -0
- package/src/log/node_modules/hasown/index.d.ts +3 -0
- package/src/log/node_modules/hasown/index.d.ts.map +1 -0
- package/src/log/node_modules/hasown/index.js +8 -0
- package/src/log/node_modules/hasown/package.json +91 -0
- package/src/log/node_modules/hasown/tsconfig.json +49 -0
- package/src/log/node_modules/import-local/fixtures/cli.js +7 -0
- package/src/log/node_modules/import-local/index.js +24 -0
- package/src/log/node_modules/import-local/license +9 -0
- package/src/log/node_modules/import-local/package.json +52 -0
- package/src/log/node_modules/import-local/readme.md +37 -0
- package/src/log/node_modules/interpret/LICENSE +21 -0
- package/src/log/node_modules/interpret/README.md +244 -0
- package/src/log/node_modules/interpret/cjs-stub.js +1 -0
- package/src/log/node_modules/interpret/index.js +542 -0
- package/src/log/node_modules/interpret/mjs-stub.js +1 -0
- package/src/log/node_modules/interpret/package.json +73 -0
- package/src/log/node_modules/is-core-module/.eslintrc +18 -0
- package/src/log/node_modules/is-core-module/.nycrc +9 -0
- package/src/log/node_modules/is-core-module/CHANGELOG.md +180 -0
- package/src/log/node_modules/is-core-module/LICENSE +20 -0
- package/src/log/node_modules/is-core-module/README.md +40 -0
- package/src/log/node_modules/is-core-module/core.json +158 -0
- package/src/log/node_modules/is-core-module/index.js +69 -0
- package/src/log/node_modules/is-core-module/package.json +73 -0
- package/src/log/node_modules/is-core-module/test/index.js +133 -0
- package/src/log/node_modules/is-plain-object/LICENSE +21 -0
- package/src/log/node_modules/is-plain-object/README.md +104 -0
- package/src/log/node_modules/is-plain-object/index.d.ts +5 -0
- package/src/log/node_modules/is-plain-object/index.js +37 -0
- package/src/log/node_modules/is-plain-object/package.json +79 -0
- package/src/log/node_modules/isexe/LICENSE +15 -0
- package/src/log/node_modules/isexe/README.md +51 -0
- package/src/log/node_modules/isexe/index.js +57 -0
- package/src/log/node_modules/isexe/mode.js +41 -0
- package/src/log/node_modules/isexe/package.json +31 -0
- package/src/log/node_modules/isexe/test/basic.js +221 -0
- package/src/log/node_modules/isexe/windows.js +42 -0
- package/src/log/node_modules/isobject/LICENSE +21 -0
- package/src/log/node_modules/isobject/README.md +122 -0
- package/src/log/node_modules/isobject/index.d.ts +5 -0
- package/src/log/node_modules/isobject/index.js +12 -0
- package/src/log/node_modules/isobject/package.json +74 -0
- package/src/log/node_modules/jest-worker/LICENSE +21 -0
- package/src/log/node_modules/jest-worker/README.md +247 -0
- package/src/log/node_modules/jest-worker/build/Farm.d.ts +29 -0
- package/src/log/node_modules/jest-worker/build/Farm.js +206 -0
- package/src/log/node_modules/jest-worker/build/FifoQueue.d.ts +18 -0
- package/src/log/node_modules/jest-worker/build/FifoQueue.js +171 -0
- package/src/log/node_modules/jest-worker/build/PriorityQueue.d.ts +41 -0
- package/src/log/node_modules/jest-worker/build/PriorityQueue.js +188 -0
- package/src/log/node_modules/jest-worker/build/WorkerPool.d.ts +13 -0
- package/src/log/node_modules/jest-worker/build/WorkerPool.js +49 -0
- package/src/log/node_modules/jest-worker/build/base/BaseWorkerPool.d.ts +21 -0
- package/src/log/node_modules/jest-worker/build/base/BaseWorkerPool.js +201 -0
- package/src/log/node_modules/jest-worker/build/index.d.ts +49 -0
- package/src/log/node_modules/jest-worker/build/index.js +223 -0
- package/src/log/node_modules/jest-worker/build/types.d.ts +143 -0
- package/src/log/node_modules/jest-worker/build/types.js +39 -0
- package/src/log/node_modules/jest-worker/build/workers/ChildProcessWorker.d.ts +51 -0
- package/src/log/node_modules/jest-worker/build/workers/ChildProcessWorker.js +333 -0
- package/src/log/node_modules/jest-worker/build/workers/NodeThreadsWorker.d.ts +34 -0
- package/src/log/node_modules/jest-worker/build/workers/NodeThreadsWorker.js +344 -0
- package/src/log/node_modules/jest-worker/build/workers/messageParent.d.ts +8 -0
- package/src/log/node_modules/jest-worker/build/workers/messageParent.js +38 -0
- package/src/log/node_modules/jest-worker/build/workers/processChild.d.ts +7 -0
- package/src/log/node_modules/jest-worker/build/workers/processChild.js +148 -0
- package/src/log/node_modules/jest-worker/build/workers/threadChild.d.ts +7 -0
- package/src/log/node_modules/jest-worker/build/workers/threadChild.js +159 -0
- package/src/log/node_modules/jest-worker/package.json +38 -0
- package/src/log/node_modules/json-parse-even-better-errors/CHANGELOG.md +50 -0
- package/src/log/node_modules/json-parse-even-better-errors/LICENSE.md +25 -0
- package/src/log/node_modules/json-parse-even-better-errors/README.md +96 -0
- package/src/log/node_modules/json-parse-even-better-errors/index.js +121 -0
- package/src/log/node_modules/json-parse-even-better-errors/package.json +33 -0
- package/src/log/node_modules/json-schema-traverse/.eslintrc.yml +27 -0
- package/src/log/node_modules/json-schema-traverse/.travis.yml +8 -0
- package/src/log/node_modules/json-schema-traverse/LICENSE +21 -0
- package/src/log/node_modules/json-schema-traverse/README.md +83 -0
- package/src/log/node_modules/json-schema-traverse/index.js +89 -0
- package/src/log/node_modules/json-schema-traverse/package.json +43 -0
- package/src/log/node_modules/json-schema-traverse/spec/.eslintrc.yml +6 -0
- package/src/log/node_modules/json-schema-traverse/spec/fixtures/schema.js +125 -0
- package/src/log/node_modules/json-schema-traverse/spec/index.spec.js +171 -0
- package/src/log/node_modules/kind-of/CHANGELOG.md +160 -0
- package/src/log/node_modules/kind-of/LICENSE +21 -0
- package/src/log/node_modules/kind-of/README.md +367 -0
- package/src/log/node_modules/kind-of/index.js +129 -0
- package/src/log/node_modules/kind-of/package.json +88 -0
- package/src/log/node_modules/loader-runner/LICENSE +21 -0
- package/src/log/node_modules/loader-runner/README.md +53 -0
- package/src/log/node_modules/loader-runner/lib/LoaderLoadingError.js +11 -0
- package/src/log/node_modules/loader-runner/lib/LoaderRunner.js +416 -0
- package/src/log/node_modules/loader-runner/lib/loadLoader.js +54 -0
- package/src/log/node_modules/loader-runner/package.json +45 -0
- package/src/log/node_modules/locate-path/index.d.ts +83 -0
- package/src/log/node_modules/locate-path/index.js +65 -0
- package/src/log/node_modules/locate-path/license +9 -0
- package/src/log/node_modules/locate-path/package.json +45 -0
- package/src/log/node_modules/locate-path/readme.md +122 -0
- package/src/log/node_modules/merge-stream/LICENSE +21 -0
- package/src/log/node_modules/merge-stream/README.md +78 -0
- package/src/log/node_modules/merge-stream/index.js +41 -0
- package/src/log/node_modules/merge-stream/package.json +19 -0
- package/src/log/node_modules/mime-db/HISTORY.md +507 -0
- package/src/log/node_modules/mime-db/LICENSE +23 -0
- package/src/log/node_modules/mime-db/README.md +100 -0
- package/src/log/node_modules/mime-db/db.json +8519 -0
- package/src/log/node_modules/mime-db/index.js +12 -0
- package/src/log/node_modules/mime-db/package.json +60 -0
- package/src/log/node_modules/mime-types/HISTORY.md +397 -0
- package/src/log/node_modules/mime-types/LICENSE +23 -0
- package/src/log/node_modules/mime-types/README.md +113 -0
- package/src/log/node_modules/mime-types/index.js +188 -0
- package/src/log/node_modules/mime-types/package.json +44 -0
- package/src/log/node_modules/neo-async/LICENSE +22 -0
- package/src/log/node_modules/neo-async/README.md +273 -0
- package/src/log/node_modules/neo-async/all.js +3 -0
- package/src/log/node_modules/neo-async/allLimit.js +3 -0
- package/src/log/node_modules/neo-async/allSeries.js +3 -0
- package/src/log/node_modules/neo-async/angelFall.js +3 -0
- package/src/log/node_modules/neo-async/any.js +3 -0
- package/src/log/node_modules/neo-async/anyLimit.js +3 -0
- package/src/log/node_modules/neo-async/anySeries.js +3 -0
- package/src/log/node_modules/neo-async/apply.js +3 -0
- package/src/log/node_modules/neo-async/applyEach.js +3 -0
- package/src/log/node_modules/neo-async/applyEachSeries.js +3 -0
- package/src/log/node_modules/neo-async/async.js +9184 -0
- package/src/log/node_modules/neo-async/async.min.js +80 -0
- package/src/log/node_modules/neo-async/asyncify.js +3 -0
- package/src/log/node_modules/neo-async/auto.js +3 -0
- package/src/log/node_modules/neo-async/autoInject.js +3 -0
- package/src/log/node_modules/neo-async/cargo.js +3 -0
- package/src/log/node_modules/neo-async/compose.js +3 -0
- package/src/log/node_modules/neo-async/concat.js +3 -0
- package/src/log/node_modules/neo-async/concatLimit.js +3 -0
- package/src/log/node_modules/neo-async/concatSeries.js +3 -0
- package/src/log/node_modules/neo-async/constant.js +3 -0
- package/src/log/node_modules/neo-async/createLogger.js +3 -0
- package/src/log/node_modules/neo-async/detect.js +3 -0
- package/src/log/node_modules/neo-async/detectLimit.js +3 -0
- package/src/log/node_modules/neo-async/detectSeries.js +3 -0
- package/src/log/node_modules/neo-async/dir.js +3 -0
- package/src/log/node_modules/neo-async/doDuring.js +3 -0
- package/src/log/node_modules/neo-async/doUntil.js +3 -0
- package/src/log/node_modules/neo-async/doWhilst.js +3 -0
- package/src/log/node_modules/neo-async/during.js +3 -0
- package/src/log/node_modules/neo-async/each.js +3 -0
- package/src/log/node_modules/neo-async/eachLimit.js +3 -0
- package/src/log/node_modules/neo-async/eachOf.js +3 -0
- package/src/log/node_modules/neo-async/eachOfLimit.js +3 -0
- package/src/log/node_modules/neo-async/eachOfSeries.js +3 -0
- package/src/log/node_modules/neo-async/eachSeries.js +3 -0
- package/src/log/node_modules/neo-async/ensureAsync.js +3 -0
- package/src/log/node_modules/neo-async/every.js +3 -0
- package/src/log/node_modules/neo-async/everyLimit.js +3 -0
- package/src/log/node_modules/neo-async/everySeries.js +3 -0
- package/src/log/node_modules/neo-async/fast.js +3 -0
- package/src/log/node_modules/neo-async/filter.js +3 -0
- package/src/log/node_modules/neo-async/filterLimit.js +3 -0
- package/src/log/node_modules/neo-async/filterSeries.js +3 -0
- package/src/log/node_modules/neo-async/find.js +3 -0
- package/src/log/node_modules/neo-async/findLimit.js +3 -0
- package/src/log/node_modules/neo-async/findSeries.js +3 -0
- package/src/log/node_modules/neo-async/foldl.js +3 -0
- package/src/log/node_modules/neo-async/foldr.js +3 -0
- package/src/log/node_modules/neo-async/forEach.js +3 -0
- package/src/log/node_modules/neo-async/forEachLimit.js +3 -0
- package/src/log/node_modules/neo-async/forEachOf.js +3 -0
- package/src/log/node_modules/neo-async/forEachOfLimit.js +3 -0
- package/src/log/node_modules/neo-async/forEachOfSeries.js +3 -0
- package/src/log/node_modules/neo-async/forEachSeries.js +3 -0
- package/src/log/node_modules/neo-async/forever.js +3 -0
- package/src/log/node_modules/neo-async/groupBy.js +3 -0
- package/src/log/node_modules/neo-async/groupByLimit.js +3 -0
- package/src/log/node_modules/neo-async/groupBySeries.js +3 -0
- package/src/log/node_modules/neo-async/inject.js +3 -0
- package/src/log/node_modules/neo-async/iterator.js +3 -0
- package/src/log/node_modules/neo-async/log.js +3 -0
- package/src/log/node_modules/neo-async/map.js +3 -0
- package/src/log/node_modules/neo-async/mapLimit.js +3 -0
- package/src/log/node_modules/neo-async/mapSeries.js +3 -0
- package/src/log/node_modules/neo-async/mapValues.js +3 -0
- package/src/log/node_modules/neo-async/mapValuesLimit.js +3 -0
- package/src/log/node_modules/neo-async/mapValuesSeries.js +3 -0
- package/src/log/node_modules/neo-async/memoize.js +3 -0
- package/src/log/node_modules/neo-async/nextTick.js +3 -0
- package/src/log/node_modules/neo-async/omit.js +3 -0
- package/src/log/node_modules/neo-async/omitLimit.js +3 -0
- package/src/log/node_modules/neo-async/omitSeries.js +3 -0
- package/src/log/node_modules/neo-async/package.json +57 -0
- package/src/log/node_modules/neo-async/parallel.js +3 -0
- package/src/log/node_modules/neo-async/parallelLimit.js +3 -0
- package/src/log/node_modules/neo-async/pick.js +3 -0
- package/src/log/node_modules/neo-async/pickLimit.js +3 -0
- package/src/log/node_modules/neo-async/pickSeries.js +3 -0
- package/src/log/node_modules/neo-async/priorityQueue.js +3 -0
- package/src/log/node_modules/neo-async/queue.js +3 -0
- package/src/log/node_modules/neo-async/race.js +3 -0
- package/src/log/node_modules/neo-async/reduce.js +3 -0
- package/src/log/node_modules/neo-async/reduceRight.js +3 -0
- package/src/log/node_modules/neo-async/reflect.js +3 -0
- package/src/log/node_modules/neo-async/reflectAll.js +3 -0
- package/src/log/node_modules/neo-async/reject.js +3 -0
- package/src/log/node_modules/neo-async/rejectLimit.js +3 -0
- package/src/log/node_modules/neo-async/rejectSeries.js +3 -0
- package/src/log/node_modules/neo-async/retry.js +3 -0
- package/src/log/node_modules/neo-async/retryable.js +3 -0
- package/src/log/node_modules/neo-async/safe.js +3 -0
- package/src/log/node_modules/neo-async/select.js +3 -0
- package/src/log/node_modules/neo-async/selectLimit.js +3 -0
- package/src/log/node_modules/neo-async/selectSeries.js +3 -0
- package/src/log/node_modules/neo-async/seq.js +3 -0
- package/src/log/node_modules/neo-async/series.js +3 -0
- package/src/log/node_modules/neo-async/setImmediate.js +3 -0
- package/src/log/node_modules/neo-async/some.js +3 -0
- package/src/log/node_modules/neo-async/someLimit.js +3 -0
- package/src/log/node_modules/neo-async/someSeries.js +3 -0
- package/src/log/node_modules/neo-async/sortBy.js +3 -0
- package/src/log/node_modules/neo-async/sortByLimit.js +3 -0
- package/src/log/node_modules/neo-async/sortBySeries.js +3 -0
- package/src/log/node_modules/neo-async/timeout.js +3 -0
- package/src/log/node_modules/neo-async/times.js +3 -0
- package/src/log/node_modules/neo-async/timesLimit.js +3 -0
- package/src/log/node_modules/neo-async/timesSeries.js +3 -0
- package/src/log/node_modules/neo-async/transform.js +3 -0
- package/src/log/node_modules/neo-async/transformLimit.js +3 -0
- package/src/log/node_modules/neo-async/transformSeries.js +3 -0
- package/src/log/node_modules/neo-async/tryEach.js +3 -0
- package/src/log/node_modules/neo-async/unmemoize.js +3 -0
- package/src/log/node_modules/neo-async/until.js +3 -0
- package/src/log/node_modules/neo-async/waterfall.js +3 -0
- package/src/log/node_modules/neo-async/whilst.js +3 -0
- package/src/log/node_modules/neo-async/wrapSync.js +3 -0
- package/src/log/node_modules/node-releases/LICENSE +21 -0
- package/src/log/node_modules/node-releases/README.md +12 -0
- package/src/log/node_modules/node-releases/data/processed/envs.json +1 -0
- package/src/log/node_modules/node-releases/data/release-schedule/release-schedule.json +1 -0
- package/src/log/node_modules/node-releases/package.json +19 -0
- package/src/log/node_modules/p-limit/index.d.ts +38 -0
- package/src/log/node_modules/p-limit/index.js +57 -0
- package/src/log/node_modules/p-limit/license +9 -0
- package/src/log/node_modules/p-limit/package.json +52 -0
- package/src/log/node_modules/p-limit/readme.md +101 -0
- package/src/log/node_modules/p-locate/index.d.ts +64 -0
- package/src/log/node_modules/p-locate/index.js +52 -0
- package/src/log/node_modules/p-locate/license +9 -0
- package/src/log/node_modules/p-locate/package.json +53 -0
- package/src/log/node_modules/p-locate/readme.md +90 -0
- package/src/log/node_modules/p-try/index.d.ts +39 -0
- package/src/log/node_modules/p-try/index.js +9 -0
- package/src/log/node_modules/p-try/license +9 -0
- package/src/log/node_modules/p-try/package.json +42 -0
- package/src/log/node_modules/p-try/readme.md +58 -0
- package/src/log/node_modules/path-exists/index.d.ts +28 -0
- package/src/log/node_modules/path-exists/index.js +23 -0
- package/src/log/node_modules/path-exists/license +9 -0
- package/src/log/node_modules/path-exists/package.json +39 -0
- package/src/log/node_modules/path-exists/readme.md +52 -0
- package/src/log/node_modules/path-key/index.d.ts +40 -0
- package/src/log/node_modules/path-key/index.js +16 -0
- package/src/log/node_modules/path-key/license +9 -0
- package/src/log/node_modules/path-key/package.json +39 -0
- package/src/log/node_modules/path-key/readme.md +61 -0
- package/src/log/node_modules/path-parse/LICENSE +21 -0
- package/src/log/node_modules/path-parse/README.md +42 -0
- package/src/log/node_modules/path-parse/index.js +75 -0
- package/src/log/node_modules/path-parse/package.json +33 -0
- package/src/log/node_modules/picocolors/LICENSE +15 -0
- package/src/log/node_modules/picocolors/README.md +21 -0
- package/src/log/node_modules/picocolors/package.json +25 -0
- package/src/log/node_modules/picocolors/picocolors.browser.js +4 -0
- package/src/log/node_modules/picocolors/picocolors.d.ts +5 -0
- package/src/log/node_modules/picocolors/picocolors.js +58 -0
- package/src/log/node_modules/picocolors/types.ts +30 -0
- package/src/log/node_modules/pkg-dir/index.d.ts +44 -0
- package/src/log/node_modules/pkg-dir/index.js +17 -0
- package/src/log/node_modules/pkg-dir/license +9 -0
- package/src/log/node_modules/pkg-dir/package.json +56 -0
- package/src/log/node_modules/pkg-dir/readme.md +66 -0
- package/src/log/node_modules/punycode/LICENSE-MIT.txt +20 -0
- package/src/log/node_modules/punycode/README.md +148 -0
- package/src/log/node_modules/punycode/package.json +58 -0
- package/src/log/node_modules/punycode/punycode.es6.js +444 -0
- package/src/log/node_modules/punycode/punycode.js +443 -0
- package/src/log/node_modules/randombytes/.travis.yml +15 -0
- package/src/log/node_modules/randombytes/.zuul.yml +1 -0
- package/src/log/node_modules/randombytes/LICENSE +21 -0
- package/src/log/node_modules/randombytes/README.md +14 -0
- package/src/log/node_modules/randombytes/browser.js +50 -0
- package/src/log/node_modules/randombytes/index.js +1 -0
- package/src/log/node_modules/randombytes/package.json +36 -0
- package/src/log/node_modules/randombytes/test.js +81 -0
- package/src/log/node_modules/rechoir/CHANGELOG.md +12 -0
- package/src/log/node_modules/rechoir/LICENSE +21 -0
- package/src/log/node_modules/rechoir/README.md +73 -0
- package/src/log/node_modules/rechoir/index.js +69 -0
- package/src/log/node_modules/rechoir/lib/extension.js +44 -0
- package/src/log/node_modules/rechoir/lib/normalize.js +13 -0
- package/src/log/node_modules/rechoir/lib/register.js +15 -0
- package/src/log/node_modules/rechoir/package.json +52 -0
- package/src/log/node_modules/resolve/.editorconfig +37 -0
- package/src/log/node_modules/resolve/.eslintrc +65 -0
- package/src/log/node_modules/resolve/.github/FUNDING.yml +12 -0
- package/src/log/node_modules/resolve/LICENSE +21 -0
- package/src/log/node_modules/resolve/SECURITY.md +3 -0
- package/src/log/node_modules/resolve/async.js +3 -0
- package/src/log/node_modules/resolve/bin/resolve +50 -0
- package/src/log/node_modules/resolve/example/async.js +5 -0
- package/src/log/node_modules/resolve/example/sync.js +3 -0
- package/src/log/node_modules/resolve/index.js +6 -0
- package/src/log/node_modules/resolve/lib/async.js +329 -0
- package/src/log/node_modules/resolve/lib/caller.js +8 -0
- package/src/log/node_modules/resolve/lib/core.js +12 -0
- package/src/log/node_modules/resolve/lib/core.json +158 -0
- package/src/log/node_modules/resolve/lib/homedir.js +24 -0
- package/src/log/node_modules/resolve/lib/is-core.js +5 -0
- package/src/log/node_modules/resolve/lib/node-modules-paths.js +42 -0
- package/src/log/node_modules/resolve/lib/normalize-options.js +10 -0
- package/src/log/node_modules/resolve/lib/sync.js +208 -0
- package/src/log/node_modules/resolve/package.json +72 -0
- package/src/log/node_modules/resolve/readme.markdown +301 -0
- package/src/log/node_modules/resolve/sync.js +3 -0
- package/src/log/node_modules/resolve/test/core.js +88 -0
- package/src/log/node_modules/resolve/test/dotdot/abc/index.js +2 -0
- package/src/log/node_modules/resolve/test/dotdot/index.js +1 -0
- package/src/log/node_modules/resolve/test/dotdot.js +29 -0
- package/src/log/node_modules/resolve/test/faulty_basedir.js +29 -0
- package/src/log/node_modules/resolve/test/filter.js +34 -0
- package/src/log/node_modules/resolve/test/filter_sync.js +33 -0
- package/src/log/node_modules/resolve/test/home_paths.js +127 -0
- package/src/log/node_modules/resolve/test/home_paths_sync.js +114 -0
- package/src/log/node_modules/resolve/test/mock.js +315 -0
- package/src/log/node_modules/resolve/test/mock_sync.js +214 -0
- package/src/log/node_modules/resolve/test/module_dir/xmodules/aaa/index.js +1 -0
- package/src/log/node_modules/resolve/test/module_dir/ymodules/aaa/index.js +1 -0
- package/src/log/node_modules/resolve/test/module_dir/zmodules/bbb/main.js +1 -0
- package/src/log/node_modules/resolve/test/module_dir/zmodules/bbb/package.json +3 -0
- package/src/log/node_modules/resolve/test/module_dir.js +56 -0
- package/src/log/node_modules/resolve/test/node-modules-paths.js +143 -0
- package/src/log/node_modules/resolve/test/node_path/x/aaa/index.js +1 -0
- package/src/log/node_modules/resolve/test/node_path/x/ccc/index.js +1 -0
- package/src/log/node_modules/resolve/test/node_path/y/bbb/index.js +1 -0
- package/src/log/node_modules/resolve/test/node_path/y/ccc/index.js +1 -0
- package/src/log/node_modules/resolve/test/node_path.js +70 -0
- package/src/log/node_modules/resolve/test/nonstring.js +9 -0
- package/src/log/node_modules/resolve/test/pathfilter/deep_ref/main.js +0 -0
- package/src/log/node_modules/resolve/test/pathfilter.js +75 -0
- package/src/log/node_modules/resolve/test/precedence/aaa/index.js +1 -0
- package/src/log/node_modules/resolve/test/precedence/aaa/main.js +1 -0
- package/src/log/node_modules/resolve/test/precedence/aaa.js +1 -0
- package/src/log/node_modules/resolve/test/precedence/bbb/main.js +1 -0
- package/src/log/node_modules/resolve/test/precedence/bbb.js +1 -0
- package/src/log/node_modules/resolve/test/precedence.js +23 -0
- package/src/log/node_modules/resolve/test/resolver/baz/doom.js +0 -0
- package/src/log/node_modules/resolve/test/resolver/baz/package.json +4 -0
- package/src/log/node_modules/resolve/test/resolver/baz/quux.js +1 -0
- package/src/log/node_modules/resolve/test/resolver/browser_field/a.js +0 -0
- package/src/log/node_modules/resolve/test/resolver/browser_field/b.js +0 -0
- package/src/log/node_modules/resolve/test/resolver/browser_field/package.json +5 -0
- package/src/log/node_modules/resolve/test/resolver/cup.coffee +1 -0
- package/src/log/node_modules/resolve/test/resolver/dot_main/index.js +1 -0
- package/src/log/node_modules/resolve/test/resolver/dot_main/package.json +3 -0
- package/src/log/node_modules/resolve/test/resolver/dot_slash_main/index.js +1 -0
- package/src/log/node_modules/resolve/test/resolver/dot_slash_main/package.json +3 -0
- package/src/log/node_modules/resolve/test/resolver/false_main/index.js +0 -0
- package/src/log/node_modules/resolve/test/resolver/false_main/package.json +4 -0
- package/src/log/node_modules/resolve/test/resolver/foo.js +1 -0
- package/src/log/node_modules/resolve/test/resolver/incorrect_main/index.js +2 -0
- package/src/log/node_modules/resolve/test/resolver/incorrect_main/package.json +3 -0
- package/src/log/node_modules/resolve/test/resolver/invalid_main/package.json +7 -0
- package/src/log/node_modules/resolve/test/resolver/mug.coffee +0 -0
- package/src/log/node_modules/resolve/test/resolver/mug.js +0 -0
- package/src/log/node_modules/resolve/test/resolver/multirepo/lerna.json +6 -0
- package/src/log/node_modules/resolve/test/resolver/multirepo/package.json +20 -0
- package/src/log/node_modules/resolve/test/resolver/multirepo/packages/package-a/index.js +35 -0
- package/src/log/node_modules/resolve/test/resolver/multirepo/packages/package-a/package.json +14 -0
- package/src/log/node_modules/resolve/test/resolver/multirepo/packages/package-b/index.js +0 -0
- package/src/log/node_modules/resolve/test/resolver/multirepo/packages/package-b/package.json +14 -0
- package/src/log/node_modules/resolve/test/resolver/nested_symlinks/mylib/async.js +26 -0
- package/src/log/node_modules/resolve/test/resolver/nested_symlinks/mylib/package.json +15 -0
- package/src/log/node_modules/resolve/test/resolver/nested_symlinks/mylib/sync.js +12 -0
- package/src/log/node_modules/resolve/test/resolver/other_path/lib/other-lib.js +0 -0
- package/src/log/node_modules/resolve/test/resolver/other_path/root.js +0 -0
- package/src/log/node_modules/resolve/test/resolver/quux/foo/index.js +1 -0
- package/src/log/node_modules/resolve/test/resolver/same_names/foo/index.js +1 -0
- package/src/log/node_modules/resolve/test/resolver/same_names/foo.js +1 -0
- package/src/log/node_modules/resolve/test/resolver/symlinked/_/node_modules/foo.js +0 -0
- package/src/log/node_modules/resolve/test/resolver/symlinked/_/symlink_target/.gitkeep +0 -0
- package/src/log/node_modules/resolve/test/resolver/symlinked/package/bar.js +1 -0
- package/src/log/node_modules/resolve/test/resolver/symlinked/package/package.json +3 -0
- package/src/log/node_modules/resolve/test/resolver/without_basedir/main.js +5 -0
- package/src/log/node_modules/resolve/test/resolver.js +597 -0
- package/src/log/node_modules/resolve/test/resolver_sync.js +730 -0
- package/src/log/node_modules/resolve/test/shadowed_core/node_modules/util/index.js +0 -0
- package/src/log/node_modules/resolve/test/shadowed_core.js +54 -0
- package/src/log/node_modules/resolve/test/subdirs.js +13 -0
- package/src/log/node_modules/resolve/test/symlinks.js +176 -0
- package/src/log/node_modules/resolve-cwd/index.d.ts +48 -0
- package/src/log/node_modules/resolve-cwd/index.js +5 -0
- package/src/log/node_modules/resolve-cwd/license +9 -0
- package/src/log/node_modules/resolve-cwd/package.json +43 -0
- package/src/log/node_modules/resolve-cwd/readme.md +58 -0
- package/src/log/node_modules/resolve-from/index.d.ts +31 -0
- package/src/log/node_modules/resolve-from/index.js +47 -0
- package/src/log/node_modules/resolve-from/license +9 -0
- package/src/log/node_modules/resolve-from/package.json +36 -0
- package/src/log/node_modules/resolve-from/readme.md +72 -0
- package/src/log/node_modules/safe-buffer/LICENSE +21 -0
- package/src/log/node_modules/safe-buffer/README.md +584 -0
- package/src/log/node_modules/safe-buffer/index.d.ts +187 -0
- package/src/log/node_modules/safe-buffer/index.js +65 -0
- package/src/log/node_modules/safe-buffer/package.json +51 -0
- package/src/log/node_modules/schema-utils/CHANGELOG.md +340 -0
- package/src/log/node_modules/schema-utils/LICENSE +20 -0
- package/src/log/node_modules/schema-utils/README.md +290 -0
- package/src/log/node_modules/schema-utils/declarations/ValidationError.d.ts +74 -0
- package/src/log/node_modules/schema-utils/declarations/index.d.ts +12 -0
- package/src/log/node_modules/schema-utils/declarations/keywords/absolutePath.d.ts +10 -0
- package/src/log/node_modules/schema-utils/declarations/keywords/undefinedAsNull.d.ts +8 -0
- package/src/log/node_modules/schema-utils/declarations/util/Range.d.ts +79 -0
- package/src/log/node_modules/schema-utils/declarations/util/hints.d.ts +3 -0
- package/src/log/node_modules/schema-utils/declarations/validate.d.ts +42 -0
- package/src/log/node_modules/schema-utils/dist/ValidationError.js +1277 -0
- package/src/log/node_modules/schema-utils/dist/index.js +17 -0
- package/src/log/node_modules/schema-utils/dist/keywords/absolutePath.js +93 -0
- package/src/log/node_modules/schema-utils/dist/keywords/undefinedAsNull.js +95 -0
- package/src/log/node_modules/schema-utils/dist/util/Range.js +163 -0
- package/src/log/node_modules/schema-utils/dist/util/hints.js +105 -0
- package/src/log/node_modules/schema-utils/dist/validate.js +258 -0
- package/src/log/node_modules/schema-utils/package.json +78 -0
- package/src/log/node_modules/serialize-javascript/LICENSE +27 -0
- package/src/log/node_modules/serialize-javascript/README.md +142 -0
- package/src/log/node_modules/serialize-javascript/index.js +268 -0
- package/src/log/node_modules/serialize-javascript/package.json +36 -0
- package/src/log/node_modules/shallow-clone/LICENSE +21 -0
- package/src/log/node_modules/shallow-clone/README.md +153 -0
- package/src/log/node_modules/shallow-clone/index.js +83 -0
- package/src/log/node_modules/shallow-clone/package.json +64 -0
- package/src/log/node_modules/shebang-command/index.js +19 -0
- package/src/log/node_modules/shebang-command/license +9 -0
- package/src/log/node_modules/shebang-command/package.json +34 -0
- package/src/log/node_modules/shebang-command/readme.md +34 -0
- package/src/log/node_modules/shebang-regex/index.d.ts +22 -0
- package/src/log/node_modules/shebang-regex/index.js +2 -0
- package/src/log/node_modules/shebang-regex/license +9 -0
- package/src/log/node_modules/shebang-regex/package.json +35 -0
- package/src/log/node_modules/shebang-regex/readme.md +33 -0
- package/src/log/node_modules/source-map/CHANGELOG.md +301 -0
- package/src/log/node_modules/source-map/LICENSE +28 -0
- package/src/log/node_modules/source-map/README.md +742 -0
- package/src/log/node_modules/source-map/dist/source-map.debug.js +3234 -0
- package/src/log/node_modules/source-map/dist/source-map.js +3233 -0
- package/src/log/node_modules/source-map/dist/source-map.min.js +2 -0
- package/src/log/node_modules/source-map/dist/source-map.min.js.map +1 -0
- package/src/log/node_modules/source-map/lib/array-set.js +121 -0
- package/src/log/node_modules/source-map/lib/base64-vlq.js +140 -0
- package/src/log/node_modules/source-map/lib/base64.js +67 -0
- package/src/log/node_modules/source-map/lib/binary-search.js +111 -0
- package/src/log/node_modules/source-map/lib/mapping-list.js +79 -0
- package/src/log/node_modules/source-map/lib/quick-sort.js +114 -0
- package/src/log/node_modules/source-map/lib/source-map-consumer.js +1145 -0
- package/src/log/node_modules/source-map/lib/source-map-generator.js +425 -0
- package/src/log/node_modules/source-map/lib/source-node.js +413 -0
- package/src/log/node_modules/source-map/lib/util.js +488 -0
- package/src/log/node_modules/source-map/package.json +73 -0
- package/src/log/node_modules/source-map/source-map.d.ts +98 -0
- package/src/log/node_modules/source-map/source-map.js +8 -0
- package/src/log/node_modules/source-map-support/LICENSE.md +21 -0
- package/src/log/node_modules/source-map-support/README.md +284 -0
- package/src/log/node_modules/source-map-support/browser-source-map-support.js +114 -0
- package/src/log/node_modules/source-map-support/package.json +31 -0
- package/src/log/node_modules/source-map-support/register-hook-require.js +1 -0
- package/src/log/node_modules/source-map-support/register.js +1 -0
- package/src/log/node_modules/source-map-support/source-map-support.js +625 -0
- package/src/log/node_modules/supports-color/browser.js +24 -0
- package/src/log/node_modules/supports-color/index.js +152 -0
- package/src/log/node_modules/supports-color/license +9 -0
- package/src/log/node_modules/supports-color/package.json +58 -0
- package/src/log/node_modules/supports-color/readme.md +77 -0
- package/src/log/node_modules/supports-preserve-symlinks-flag/.eslintrc +14 -0
- package/src/log/node_modules/supports-preserve-symlinks-flag/.github/FUNDING.yml +12 -0
- package/src/log/node_modules/supports-preserve-symlinks-flag/.nycrc +9 -0
- package/src/log/node_modules/supports-preserve-symlinks-flag/CHANGELOG.md +22 -0
- package/src/log/node_modules/supports-preserve-symlinks-flag/LICENSE +21 -0
- package/src/log/node_modules/supports-preserve-symlinks-flag/README.md +42 -0
- package/src/log/node_modules/supports-preserve-symlinks-flag/browser.js +3 -0
- package/src/log/node_modules/supports-preserve-symlinks-flag/index.js +9 -0
- package/src/log/node_modules/supports-preserve-symlinks-flag/package.json +70 -0
- package/src/log/node_modules/supports-preserve-symlinks-flag/test/index.js +29 -0
- package/src/log/node_modules/tapable/LICENSE +21 -0
- package/src/log/node_modules/tapable/README.md +296 -0
- package/src/log/node_modules/tapable/lib/AsyncParallelBailHook.js +85 -0
- package/src/log/node_modules/tapable/lib/AsyncParallelHook.js +37 -0
- package/src/log/node_modules/tapable/lib/AsyncSeriesBailHook.js +42 -0
- package/src/log/node_modules/tapable/lib/AsyncSeriesHook.js +37 -0
- package/src/log/node_modules/tapable/lib/AsyncSeriesLoopHook.js +37 -0
- package/src/log/node_modules/tapable/lib/AsyncSeriesWaterfallHook.js +47 -0
- package/src/log/node_modules/tapable/lib/Hook.js +175 -0
- package/src/log/node_modules/tapable/lib/HookCodeFactory.js +468 -0
- package/src/log/node_modules/tapable/lib/HookMap.js +61 -0
- package/src/log/node_modules/tapable/lib/MultiHook.js +54 -0
- package/src/log/node_modules/tapable/lib/SyncBailHook.js +51 -0
- package/src/log/node_modules/tapable/lib/SyncHook.js +46 -0
- package/src/log/node_modules/tapable/lib/SyncLoopHook.js +46 -0
- package/src/log/node_modules/tapable/lib/SyncWaterfallHook.js +57 -0
- package/src/log/node_modules/tapable/lib/index.js +19 -0
- package/src/log/node_modules/tapable/lib/util-browser.js +16 -0
- package/src/log/node_modules/tapable/package.json +44 -0
- package/src/log/node_modules/tapable/tapable.d.ts +116 -0
- package/src/log/node_modules/terser/CHANGELOG.md +671 -0
- package/src/log/node_modules/terser/LICENSE +27 -0
- package/src/log/node_modules/terser/PATRONS.md +15 -0
- package/src/log/node_modules/terser/README.md +1416 -0
- package/src/log/node_modules/terser/bin/package.json +10 -0
- package/src/log/node_modules/terser/bin/terser +21 -0
- package/src/log/node_modules/terser/bin/uglifyjs +10 -0
- package/src/log/node_modules/terser/dist/.gitkeep +0 -0
- package/src/log/node_modules/terser/dist/bundle.min.js +31318 -0
- package/src/log/node_modules/terser/dist/package.json +10 -0
- package/src/log/node_modules/terser/lib/ast.js +3339 -0
- package/src/log/node_modules/terser/lib/cli.js +481 -0
- package/src/log/node_modules/terser/lib/compress/common.js +348 -0
- package/src/log/node_modules/terser/lib/compress/compressor-flags.js +63 -0
- package/src/log/node_modules/terser/lib/compress/drop-side-effect-free.js +375 -0
- package/src/log/node_modules/terser/lib/compress/drop-unused.js +482 -0
- package/src/log/node_modules/terser/lib/compress/evaluate.js +488 -0
- package/src/log/node_modules/terser/lib/compress/global-defs.js +92 -0
- package/src/log/node_modules/terser/lib/compress/index.js +3794 -0
- package/src/log/node_modules/terser/lib/compress/inference.js +928 -0
- package/src/log/node_modules/terser/lib/compress/inline.js +665 -0
- package/src/log/node_modules/terser/lib/compress/native-objects.js +206 -0
- package/src/log/node_modules/terser/lib/compress/reduce-vars.js +824 -0
- package/src/log/node_modules/terser/lib/compress/tighten-body.js +1505 -0
- package/src/log/node_modules/terser/lib/equivalent-to.js +287 -0
- package/src/log/node_modules/terser/lib/minify.js +382 -0
- package/src/log/node_modules/terser/lib/mozilla-ast.js +1886 -0
- package/src/log/node_modules/terser/lib/output.js +2478 -0
- package/src/log/node_modules/terser/lib/parse.js +3496 -0
- package/src/log/node_modules/terser/lib/propmangle.js +432 -0
- package/src/log/node_modules/terser/lib/scope.js +1066 -0
- package/src/log/node_modules/terser/lib/size.js +495 -0
- package/src/log/node_modules/terser/lib/sourcemap.js +148 -0
- package/src/log/node_modules/terser/lib/transform.js +323 -0
- package/src/log/node_modules/terser/lib/utils/first_in_statement.js +53 -0
- package/src/log/node_modules/terser/lib/utils/index.js +295 -0
- package/src/log/node_modules/terser/main.js +27 -0
- package/src/log/node_modules/terser/package.json +153 -0
- package/src/log/node_modules/terser/tools/domprops.js +8020 -0
- package/src/log/node_modules/terser/tools/exit.cjs +7 -0
- package/src/log/node_modules/terser/tools/props.html +55 -0
- package/src/log/node_modules/terser/tools/terser.d.ts +214 -0
- package/src/log/node_modules/terser-webpack-plugin/LICENSE +20 -0
- package/src/log/node_modules/terser-webpack-plugin/README.md +934 -0
- package/src/log/node_modules/terser-webpack-plugin/dist/index.js +713 -0
- package/src/log/node_modules/terser-webpack-plugin/dist/minify.js +48 -0
- package/src/log/node_modules/terser-webpack-plugin/dist/options.json +164 -0
- package/src/log/node_modules/terser-webpack-plugin/dist/utils.js +615 -0
- package/src/log/node_modules/terser-webpack-plugin/package.json +120 -0
- package/src/log/node_modules/terser-webpack-plugin/types/index.d.ts +219 -0
- package/src/log/node_modules/terser-webpack-plugin/types/minify.d.ts +17 -0
- package/src/log/node_modules/terser-webpack-plugin/types/utils.d.ts +101 -0
- package/src/log/node_modules/undici-types/README.md +6 -0
- package/src/log/node_modules/undici-types/agent.d.ts +31 -0
- package/src/log/node_modules/undici-types/api.d.ts +43 -0
- package/src/log/node_modules/undici-types/balanced-pool.d.ts +18 -0
- package/src/log/node_modules/undici-types/cache.d.ts +36 -0
- package/src/log/node_modules/undici-types/client.d.ts +97 -0
- package/src/log/node_modules/undici-types/connector.d.ts +34 -0
- package/src/log/node_modules/undici-types/content-type.d.ts +21 -0
- package/src/log/node_modules/undici-types/cookies.d.ts +28 -0
- package/src/log/node_modules/undici-types/diagnostics-channel.d.ts +67 -0
- package/src/log/node_modules/undici-types/dispatcher.d.ts +241 -0
- package/src/log/node_modules/undici-types/errors.d.ts +128 -0
- package/src/log/node_modules/undici-types/fetch.d.ts +209 -0
- package/src/log/node_modules/undici-types/file.d.ts +39 -0
- package/src/log/node_modules/undici-types/filereader.d.ts +54 -0
- package/src/log/node_modules/undici-types/formdata.d.ts +108 -0
- package/src/log/node_modules/undici-types/global-dispatcher.d.ts +9 -0
- package/src/log/node_modules/undici-types/global-origin.d.ts +7 -0
- package/src/log/node_modules/undici-types/handlers.d.ts +9 -0
- package/src/log/node_modules/undici-types/header.d.ts +4 -0
- package/src/log/node_modules/undici-types/index.d.ts +63 -0
- package/src/log/node_modules/undici-types/interceptors.d.ts +5 -0
- package/src/log/node_modules/undici-types/mock-agent.d.ts +50 -0
- package/src/log/node_modules/undici-types/mock-client.d.ts +25 -0
- package/src/log/node_modules/undici-types/mock-errors.d.ts +12 -0
- package/src/log/node_modules/undici-types/mock-interceptor.d.ts +93 -0
- package/src/log/node_modules/undici-types/mock-pool.d.ts +25 -0
- package/src/log/node_modules/undici-types/package.json +55 -0
- package/src/log/node_modules/undici-types/patch.d.ts +71 -0
- package/src/log/node_modules/undici-types/pool-stats.d.ts +19 -0
- package/src/log/node_modules/undici-types/pool.d.ts +28 -0
- package/src/log/node_modules/undici-types/proxy-agent.d.ts +30 -0
- package/src/log/node_modules/undici-types/readable.d.ts +61 -0
- package/src/log/node_modules/undici-types/webidl.d.ts +220 -0
- package/src/log/node_modules/undici-types/websocket.d.ts +131 -0
- package/src/log/node_modules/update-browserslist-db/LICENSE +20 -0
- package/src/log/node_modules/update-browserslist-db/README.md +22 -0
- package/src/log/node_modules/update-browserslist-db/check-npm-version.js +16 -0
- package/src/log/node_modules/update-browserslist-db/cli.js +42 -0
- package/src/log/node_modules/update-browserslist-db/index.d.ts +6 -0
- package/src/log/node_modules/update-browserslist-db/index.js +322 -0
- package/src/log/node_modules/update-browserslist-db/package.json +40 -0
- package/src/log/node_modules/update-browserslist-db/utils.js +22 -0
- package/src/log/node_modules/uri-js/LICENSE +11 -0
- package/src/log/node_modules/uri-js/README.md +203 -0
- package/src/log/node_modules/uri-js/dist/es5/uri.all.d.ts +59 -0
- package/src/log/node_modules/uri-js/dist/es5/uri.all.js +1443 -0
- package/src/log/node_modules/uri-js/dist/es5/uri.all.js.map +1 -0
- package/src/log/node_modules/uri-js/dist/es5/uri.all.min.d.ts +59 -0
- package/src/log/node_modules/uri-js/dist/es5/uri.all.min.js +3 -0
- package/src/log/node_modules/uri-js/dist/es5/uri.all.min.js.map +1 -0
- package/src/log/node_modules/uri-js/dist/esnext/index.d.ts +1 -0
- package/src/log/node_modules/uri-js/dist/esnext/index.js +17 -0
- package/src/log/node_modules/uri-js/dist/esnext/index.js.map +1 -0
- package/src/log/node_modules/uri-js/dist/esnext/regexps-iri.d.ts +3 -0
- package/src/log/node_modules/uri-js/dist/esnext/regexps-iri.js +3 -0
- package/src/log/node_modules/uri-js/dist/esnext/regexps-iri.js.map +1 -0
- package/src/log/node_modules/uri-js/dist/esnext/regexps-uri.d.ts +4 -0
- package/src/log/node_modules/uri-js/dist/esnext/regexps-uri.js +42 -0
- package/src/log/node_modules/uri-js/dist/esnext/regexps-uri.js.map +1 -0
- package/src/log/node_modules/uri-js/dist/esnext/schemes/http.d.ts +3 -0
- package/src/log/node_modules/uri-js/dist/esnext/schemes/http.js +28 -0
- package/src/log/node_modules/uri-js/dist/esnext/schemes/http.js.map +1 -0
- package/src/log/node_modules/uri-js/dist/esnext/schemes/https.d.ts +3 -0
- package/src/log/node_modules/uri-js/dist/esnext/schemes/https.js +9 -0
- package/src/log/node_modules/uri-js/dist/esnext/schemes/https.js.map +1 -0
- package/src/log/node_modules/uri-js/dist/esnext/schemes/mailto.d.ts +12 -0
- package/src/log/node_modules/uri-js/dist/esnext/schemes/mailto.js +148 -0
- package/src/log/node_modules/uri-js/dist/esnext/schemes/mailto.js.map +1 -0
- package/src/log/node_modules/uri-js/dist/esnext/schemes/urn-uuid.d.ts +7 -0
- package/src/log/node_modules/uri-js/dist/esnext/schemes/urn-uuid.js +23 -0
- package/src/log/node_modules/uri-js/dist/esnext/schemes/urn-uuid.js.map +1 -0
- package/src/log/node_modules/uri-js/dist/esnext/schemes/urn.d.ts +10 -0
- package/src/log/node_modules/uri-js/dist/esnext/schemes/urn.js +49 -0
- package/src/log/node_modules/uri-js/dist/esnext/schemes/urn.js.map +1 -0
- package/src/log/node_modules/uri-js/dist/esnext/schemes/ws.d.ts +7 -0
- package/src/log/node_modules/uri-js/dist/esnext/schemes/ws.js +41 -0
- package/src/log/node_modules/uri-js/dist/esnext/schemes/ws.js.map +1 -0
- package/src/log/node_modules/uri-js/dist/esnext/schemes/wss.d.ts +3 -0
- package/src/log/node_modules/uri-js/dist/esnext/schemes/wss.js +9 -0
- package/src/log/node_modules/uri-js/dist/esnext/schemes/wss.js.map +1 -0
- package/src/log/node_modules/uri-js/dist/esnext/uri.d.ts +59 -0
- package/src/log/node_modules/uri-js/dist/esnext/uri.js +480 -0
- package/src/log/node_modules/uri-js/dist/esnext/uri.js.map +1 -0
- package/src/log/node_modules/uri-js/dist/esnext/util.d.ts +6 -0
- package/src/log/node_modules/uri-js/dist/esnext/util.js +36 -0
- package/src/log/node_modules/uri-js/dist/esnext/util.js.map +1 -0
- package/src/log/node_modules/uri-js/package.json +77 -0
- package/src/log/node_modules/uri-js/yarn.lock +2558 -0
- package/src/log/node_modules/watchpack/LICENSE +20 -0
- package/src/log/node_modules/watchpack/README.md +149 -0
- package/src/log/node_modules/watchpack/lib/DirectoryWatcher.js +786 -0
- package/src/log/node_modules/watchpack/lib/LinkResolver.js +107 -0
- package/src/log/node_modules/watchpack/lib/getWatcherManager.js +52 -0
- package/src/log/node_modules/watchpack/lib/reducePlan.js +138 -0
- package/src/log/node_modules/watchpack/lib/watchEventSource.js +335 -0
- package/src/log/node_modules/watchpack/lib/watchpack.js +383 -0
- package/src/log/node_modules/watchpack/package.json +49 -0
- package/src/log/node_modules/webpack/LICENSE +20 -0
- package/src/log/node_modules/webpack/README.md +721 -0
- package/src/log/node_modules/webpack/SECURITY.md +9 -0
- package/src/log/node_modules/webpack/bin/webpack.js +187 -0
- package/src/log/node_modules/webpack/hot/dev-server.js +75 -0
- package/src/log/node_modules/webpack/hot/emitter.js +2 -0
- package/src/log/node_modules/webpack/hot/lazy-compilation-node.js +50 -0
- package/src/log/node_modules/webpack/hot/lazy-compilation-web.js +83 -0
- package/src/log/node_modules/webpack/hot/log-apply-result.js +49 -0
- package/src/log/node_modules/webpack/hot/log.js +81 -0
- package/src/log/node_modules/webpack/hot/only-dev-server.js +103 -0
- package/src/log/node_modules/webpack/hot/poll.js +40 -0
- package/src/log/node_modules/webpack/hot/signal.js +66 -0
- package/src/log/node_modules/webpack/lib/APIPlugin.js +311 -0
- package/src/log/node_modules/webpack/lib/AbstractMethodError.js +49 -0
- package/src/log/node_modules/webpack/lib/AsyncDependenciesBlock.js +114 -0
- package/src/log/node_modules/webpack/lib/AsyncDependencyToInitialChunkError.js +31 -0
- package/src/log/node_modules/webpack/lib/AutomaticPrefetchPlugin.js +66 -0
- package/src/log/node_modules/webpack/lib/BannerPlugin.js +130 -0
- package/src/log/node_modules/webpack/lib/Cache.js +161 -0
- package/src/log/node_modules/webpack/lib/CacheFacade.js +349 -0
- package/src/log/node_modules/webpack/lib/CaseSensitiveModulesWarning.js +73 -0
- package/src/log/node_modules/webpack/lib/Chunk.js +838 -0
- package/src/log/node_modules/webpack/lib/ChunkGraph.js +1814 -0
- package/src/log/node_modules/webpack/lib/ChunkGroup.js +599 -0
- package/src/log/node_modules/webpack/lib/ChunkRenderError.js +31 -0
- package/src/log/node_modules/webpack/lib/ChunkTemplate.js +138 -0
- package/src/log/node_modules/webpack/lib/CleanPlugin.js +443 -0
- package/src/log/node_modules/webpack/lib/CodeGenerationError.js +29 -0
- package/src/log/node_modules/webpack/lib/CodeGenerationResults.js +155 -0
- package/src/log/node_modules/webpack/lib/CommentCompilationWarning.js +33 -0
- package/src/log/node_modules/webpack/lib/CompatibilityPlugin.js +191 -0
- package/src/log/node_modules/webpack/lib/Compilation.js +5310 -0
- package/src/log/node_modules/webpack/lib/Compiler.js +1234 -0
- package/src/log/node_modules/webpack/lib/ConcatenationScope.js +159 -0
- package/src/log/node_modules/webpack/lib/ConcurrentCompilationError.js +18 -0
- package/src/log/node_modules/webpack/lib/ConditionalInitFragment.js +122 -0
- package/src/log/node_modules/webpack/lib/ConstPlugin.js +545 -0
- package/src/log/node_modules/webpack/lib/ContextExclusionPlugin.js +32 -0
- package/src/log/node_modules/webpack/lib/ContextModule.js +1184 -0
- package/src/log/node_modules/webpack/lib/ContextModuleFactory.js +434 -0
- package/src/log/node_modules/webpack/lib/ContextReplacementPlugin.js +170 -0
- package/src/log/node_modules/webpack/lib/CssModule.js +169 -0
- package/src/log/node_modules/webpack/lib/DefinePlugin.js +667 -0
- package/src/log/node_modules/webpack/lib/DelegatedModule.js +257 -0
- package/src/log/node_modules/webpack/lib/DelegatedModuleFactoryPlugin.js +97 -0
- package/src/log/node_modules/webpack/lib/DelegatedPlugin.js +43 -0
- package/src/log/node_modules/webpack/lib/DependenciesBlock.js +123 -0
- package/src/log/node_modules/webpack/lib/Dependency.js +369 -0
- package/src/log/node_modules/webpack/lib/DependencyTemplate.js +57 -0
- package/src/log/node_modules/webpack/lib/DependencyTemplates.js +67 -0
- package/src/log/node_modules/webpack/lib/DllEntryPlugin.js +70 -0
- package/src/log/node_modules/webpack/lib/DllModule.js +172 -0
- package/src/log/node_modules/webpack/lib/DllModuleFactory.js +37 -0
- package/src/log/node_modules/webpack/lib/DllPlugin.js +68 -0
- package/src/log/node_modules/webpack/lib/DllReferencePlugin.js +174 -0
- package/src/log/node_modules/webpack/lib/DynamicEntryPlugin.js +79 -0
- package/src/log/node_modules/webpack/lib/EntryOptionPlugin.js +93 -0
- package/src/log/node_modules/webpack/lib/EntryPlugin.js +67 -0
- package/src/log/node_modules/webpack/lib/Entrypoint.js +101 -0
- package/src/log/node_modules/webpack/lib/EnvironmentPlugin.js +63 -0
- package/src/log/node_modules/webpack/lib/ErrorHelpers.js +101 -0
- package/src/log/node_modules/webpack/lib/EvalDevToolModulePlugin.js +117 -0
- package/src/log/node_modules/webpack/lib/EvalSourceMapDevToolPlugin.js +217 -0
- package/src/log/node_modules/webpack/lib/ExportsInfo.js +1544 -0
- package/src/log/node_modules/webpack/lib/ExportsInfoApiPlugin.js +87 -0
- package/src/log/node_modules/webpack/lib/ExternalModule.js +779 -0
- package/src/log/node_modules/webpack/lib/ExternalModuleFactoryPlugin.js +254 -0
- package/src/log/node_modules/webpack/lib/ExternalsPlugin.js +37 -0
- package/src/log/node_modules/webpack/lib/FileSystemInfo.js +3624 -0
- package/src/log/node_modules/webpack/lib/FlagAllModulesAsUsedPlugin.js +55 -0
- package/src/log/node_modules/webpack/lib/FlagDependencyExportsPlugin.js +405 -0
- package/src/log/node_modules/webpack/lib/FlagDependencyUsagePlugin.js +347 -0
- package/src/log/node_modules/webpack/lib/FlagEntryExportAsUsedPlugin.js +56 -0
- package/src/log/node_modules/webpack/lib/Generator.js +156 -0
- package/src/log/node_modules/webpack/lib/GraphHelpers.js +37 -0
- package/src/log/node_modules/webpack/lib/HarmonyLinkingError.js +16 -0
- package/src/log/node_modules/webpack/lib/HookWebpackError.js +93 -0
- package/src/log/node_modules/webpack/lib/HotModuleReplacementPlugin.js +792 -0
- package/src/log/node_modules/webpack/lib/HotUpdateChunk.js +19 -0
- package/src/log/node_modules/webpack/lib/IgnoreErrorModuleFactory.js +39 -0
- package/src/log/node_modules/webpack/lib/IgnorePlugin.js +83 -0
- package/src/log/node_modules/webpack/lib/IgnoreWarningsPlugin.js +39 -0
- package/src/log/node_modules/webpack/lib/InitFragment.js +184 -0
- package/src/log/node_modules/webpack/lib/InvalidDependenciesModuleWarning.js +44 -0
- package/src/log/node_modules/webpack/lib/JavascriptMetaInfoPlugin.js +80 -0
- package/src/log/node_modules/webpack/lib/LibManifestPlugin.js +132 -0
- package/src/log/node_modules/webpack/lib/LibraryTemplatePlugin.js +48 -0
- package/src/log/node_modules/webpack/lib/LoaderOptionsPlugin.js +81 -0
- package/src/log/node_modules/webpack/lib/LoaderTargetPlugin.js +37 -0
- package/src/log/node_modules/webpack/lib/MainTemplate.js +329 -0
- package/src/log/node_modules/webpack/lib/Module.js +1126 -0
- package/src/log/node_modules/webpack/lib/ModuleBuildError.js +86 -0
- package/src/log/node_modules/webpack/lib/ModuleDependencyError.js +42 -0
- package/src/log/node_modules/webpack/lib/ModuleDependencyWarning.js +47 -0
- package/src/log/node_modules/webpack/lib/ModuleError.js +70 -0
- package/src/log/node_modules/webpack/lib/ModuleFactory.js +50 -0
- package/src/log/node_modules/webpack/lib/ModuleFilenameHelpers.js +387 -0
- package/src/log/node_modules/webpack/lib/ModuleGraph.js +866 -0
- package/src/log/node_modules/webpack/lib/ModuleGraphConnection.js +204 -0
- package/src/log/node_modules/webpack/lib/ModuleHashingError.js +29 -0
- package/src/log/node_modules/webpack/lib/ModuleInfoHeaderPlugin.js +262 -0
- package/src/log/node_modules/webpack/lib/ModuleNotFoundError.js +89 -0
- package/src/log/node_modules/webpack/lib/ModuleParseError.js +118 -0
- package/src/log/node_modules/webpack/lib/ModuleProfile.js +108 -0
- package/src/log/node_modules/webpack/lib/ModuleRestoreError.js +44 -0
- package/src/log/node_modules/webpack/lib/ModuleStoreError.js +43 -0
- package/src/log/node_modules/webpack/lib/ModuleTemplate.js +142 -0
- package/src/log/node_modules/webpack/lib/ModuleTypeConstants.js +169 -0
- package/src/log/node_modules/webpack/lib/ModuleWarning.js +70 -0
- package/src/log/node_modules/webpack/lib/MultiCompiler.js +582 -0
- package/src/log/node_modules/webpack/lib/MultiStats.js +166 -0
- package/src/log/node_modules/webpack/lib/MultiWatching.js +81 -0
- package/src/log/node_modules/webpack/lib/NoEmitOnErrorsPlugin.js +28 -0
- package/src/log/node_modules/webpack/lib/NoModeWarning.js +22 -0
- package/src/log/node_modules/webpack/lib/NodeStuffInWebError.js +34 -0
- package/src/log/node_modules/webpack/lib/NodeStuffPlugin.js +216 -0
- package/src/log/node_modules/webpack/lib/NormalModule.js +1424 -0
- package/src/log/node_modules/webpack/lib/NormalModuleFactory.js +1166 -0
- package/src/log/node_modules/webpack/lib/NormalModuleReplacementPlugin.js +73 -0
- package/src/log/node_modules/webpack/lib/NullFactory.js +23 -0
- package/src/log/node_modules/webpack/lib/OptimizationStages.js +10 -0
- package/src/log/node_modules/webpack/lib/OptionsApply.js +11 -0
- package/src/log/node_modules/webpack/lib/Parser.js +38 -0
- package/src/log/node_modules/webpack/lib/PrefetchPlugin.js +54 -0
- package/src/log/node_modules/webpack/lib/ProgressPlugin.js +669 -0
- package/src/log/node_modules/webpack/lib/ProvidePlugin.js +117 -0
- package/src/log/node_modules/webpack/lib/RawModule.js +163 -0
- package/src/log/node_modules/webpack/lib/RecordIdsPlugin.js +238 -0
- package/src/log/node_modules/webpack/lib/RequestShortener.js +34 -0
- package/src/log/node_modules/webpack/lib/RequireJsStuffPlugin.js +84 -0
- package/src/log/node_modules/webpack/lib/ResolverFactory.js +151 -0
- package/src/log/node_modules/webpack/lib/RuntimeGlobals.js +386 -0
- package/src/log/node_modules/webpack/lib/RuntimeModule.js +214 -0
- package/src/log/node_modules/webpack/lib/RuntimePlugin.js +476 -0
- package/src/log/node_modules/webpack/lib/RuntimeTemplate.js +1059 -0
- package/src/log/node_modules/webpack/lib/SelfModuleFactory.js +33 -0
- package/src/log/node_modules/webpack/lib/SingleEntryPlugin.js +8 -0
- package/src/log/node_modules/webpack/lib/SizeFormatHelpers.js +27 -0
- package/src/log/node_modules/webpack/lib/SourceMapDevToolModuleOptionsPlugin.js +61 -0
- package/src/log/node_modules/webpack/lib/SourceMapDevToolPlugin.js +596 -0
- package/src/log/node_modules/webpack/lib/Stats.js +84 -0
- package/src/log/node_modules/webpack/lib/Template.js +421 -0
- package/src/log/node_modules/webpack/lib/TemplatedPathPlugin.js +346 -0
- package/src/log/node_modules/webpack/lib/UnhandledSchemeError.js +33 -0
- package/src/log/node_modules/webpack/lib/UnsupportedFeatureWarning.js +32 -0
- package/src/log/node_modules/webpack/lib/UseStrictPlugin.js +74 -0
- package/src/log/node_modules/webpack/lib/WarnCaseSensitiveModulesPlugin.js +65 -0
- package/src/log/node_modules/webpack/lib/WarnDeprecatedOptionPlugin.js +61 -0
- package/src/log/node_modules/webpack/lib/WarnNoModeSetPlugin.js +25 -0
- package/src/log/node_modules/webpack/lib/WatchIgnorePlugin.js +136 -0
- package/src/log/node_modules/webpack/lib/Watching.js +516 -0
- package/src/log/node_modules/webpack/lib/WebpackError.js +70 -0
- package/src/log/node_modules/webpack/lib/WebpackIsIncludedPlugin.js +94 -0
- package/src/log/node_modules/webpack/lib/WebpackOptionsApply.js +719 -0
- package/src/log/node_modules/webpack/lib/WebpackOptionsDefaulter.js +26 -0
- package/src/log/node_modules/webpack/lib/asset/AssetGenerator.js +506 -0
- package/src/log/node_modules/webpack/lib/asset/AssetModulesPlugin.js +239 -0
- package/src/log/node_modules/webpack/lib/asset/AssetParser.js +65 -0
- package/src/log/node_modules/webpack/lib/asset/AssetSourceGenerator.js +96 -0
- package/src/log/node_modules/webpack/lib/asset/AssetSourceParser.js +37 -0
- package/src/log/node_modules/webpack/lib/asset/RawDataUrlModule.js +159 -0
- package/src/log/node_modules/webpack/lib/async-modules/AwaitDependenciesInitFragment.js +73 -0
- package/src/log/node_modules/webpack/lib/async-modules/InferAsyncModulesPlugin.js +55 -0
- package/src/log/node_modules/webpack/lib/buildChunkGraph.js +1418 -0
- package/src/log/node_modules/webpack/lib/cache/AddBuildDependenciesPlugin.js +33 -0
- package/src/log/node_modules/webpack/lib/cache/AddManagedPathsPlugin.js +35 -0
- package/src/log/node_modules/webpack/lib/cache/IdleFileCachePlugin.js +228 -0
- package/src/log/node_modules/webpack/lib/cache/MemoryCachePlugin.js +57 -0
- package/src/log/node_modules/webpack/lib/cache/MemoryWithGcCachePlugin.js +131 -0
- package/src/log/node_modules/webpack/lib/cache/PackFileCacheStrategy.js +1467 -0
- package/src/log/node_modules/webpack/lib/cache/ResolverCachePlugin.js +357 -0
- package/src/log/node_modules/webpack/lib/cache/getLazyHashedEtag.js +81 -0
- package/src/log/node_modules/webpack/lib/cache/mergeEtags.js +74 -0
- package/src/log/node_modules/webpack/lib/cli.js +655 -0
- package/src/log/node_modules/webpack/lib/config/browserslistTargetHandler.js +333 -0
- package/src/log/node_modules/webpack/lib/config/defaults.js +1526 -0
- package/src/log/node_modules/webpack/lib/config/normalization.js +567 -0
- package/src/log/node_modules/webpack/lib/config/target.js +375 -0
- package/src/log/node_modules/webpack/lib/container/ContainerEntryDependency.js +47 -0
- package/src/log/node_modules/webpack/lib/container/ContainerEntryModule.js +293 -0
- package/src/log/node_modules/webpack/lib/container/ContainerEntryModuleFactory.js +27 -0
- package/src/log/node_modules/webpack/lib/container/ContainerExposedDependency.js +61 -0
- package/src/log/node_modules/webpack/lib/container/ContainerPlugin.js +107 -0
- package/src/log/node_modules/webpack/lib/container/ContainerReferencePlugin.js +142 -0
- package/src/log/node_modules/webpack/lib/container/FallbackDependency.js +64 -0
- package/src/log/node_modules/webpack/lib/container/FallbackItemDependency.js +33 -0
- package/src/log/node_modules/webpack/lib/container/FallbackModule.js +183 -0
- package/src/log/node_modules/webpack/lib/container/FallbackModuleFactory.js +27 -0
- package/src/log/node_modules/webpack/lib/container/ModuleFederationPlugin.js +94 -0
- package/src/log/node_modules/webpack/lib/container/RemoteModule.js +181 -0
- package/src/log/node_modules/webpack/lib/container/RemoteRuntimeModule.js +130 -0
- package/src/log/node_modules/webpack/lib/container/RemoteToExternalDependency.js +33 -0
- package/src/log/node_modules/webpack/lib/container/options.js +91 -0
- package/src/log/node_modules/webpack/lib/css/CssExportsGenerator.js +148 -0
- package/src/log/node_modules/webpack/lib/css/CssGenerator.js +113 -0
- package/src/log/node_modules/webpack/lib/css/CssLoadingRuntimeModule.js +473 -0
- package/src/log/node_modules/webpack/lib/css/CssModulesPlugin.js +641 -0
- package/src/log/node_modules/webpack/lib/css/CssParser.js +1033 -0
- package/src/log/node_modules/webpack/lib/css/walkCssTokens.js +790 -0
- package/src/log/node_modules/webpack/lib/debug/ProfilingPlugin.js +475 -0
- package/src/log/node_modules/webpack/lib/dependencies/AMDDefineDependency.js +265 -0
- package/src/log/node_modules/webpack/lib/dependencies/AMDDefineDependencyParserPlugin.js +365 -0
- package/src/log/node_modules/webpack/lib/dependencies/AMDPlugin.js +229 -0
- package/src/log/node_modules/webpack/lib/dependencies/AMDRequireArrayDependency.js +112 -0
- package/src/log/node_modules/webpack/lib/dependencies/AMDRequireContextDependency.js +68 -0
- package/src/log/node_modules/webpack/lib/dependencies/AMDRequireDependenciesBlock.js +28 -0
- package/src/log/node_modules/webpack/lib/dependencies/AMDRequireDependenciesBlockParserPlugin.js +285 -0
- package/src/log/node_modules/webpack/lib/dependencies/AMDRequireDependency.js +189 -0
- package/src/log/node_modules/webpack/lib/dependencies/AMDRequireItemDependency.js +41 -0
- package/src/log/node_modules/webpack/lib/dependencies/AMDRuntimeModules.js +48 -0
- package/src/log/node_modules/webpack/lib/dependencies/CachedConstDependency.js +120 -0
- package/src/log/node_modules/webpack/lib/dependencies/CommonJsDependencyHelpers.js +58 -0
- package/src/log/node_modules/webpack/lib/dependencies/CommonJsExportRequireDependency.js +393 -0
- package/src/log/node_modules/webpack/lib/dependencies/CommonJsExportsDependency.js +176 -0
- package/src/log/node_modules/webpack/lib/dependencies/CommonJsExportsParserPlugin.js +407 -0
- package/src/log/node_modules/webpack/lib/dependencies/CommonJsFullRequireDependency.js +166 -0
- package/src/log/node_modules/webpack/lib/dependencies/CommonJsImportsParserPlugin.js +796 -0
- package/src/log/node_modules/webpack/lib/dependencies/CommonJsPlugin.js +305 -0
- package/src/log/node_modules/webpack/lib/dependencies/CommonJsRequireContextDependency.js +72 -0
- package/src/log/node_modules/webpack/lib/dependencies/CommonJsRequireDependency.js +42 -0
- package/src/log/node_modules/webpack/lib/dependencies/CommonJsSelfReferenceDependency.js +157 -0
- package/src/log/node_modules/webpack/lib/dependencies/ConstDependency.js +117 -0
- package/src/log/node_modules/webpack/lib/dependencies/ContextDependency.js +173 -0
- package/src/log/node_modules/webpack/lib/dependencies/ContextDependencyHelpers.js +245 -0
- package/src/log/node_modules/webpack/lib/dependencies/ContextDependencyTemplateAsId.js +61 -0
- package/src/log/node_modules/webpack/lib/dependencies/ContextDependencyTemplateAsRequireCall.js +59 -0
- package/src/log/node_modules/webpack/lib/dependencies/ContextElementDependency.js +101 -0
- package/src/log/node_modules/webpack/lib/dependencies/CreateScriptUrlDependency.js +75 -0
- package/src/log/node_modules/webpack/lib/dependencies/CriticalDependencyWarning.js +28 -0
- package/src/log/node_modules/webpack/lib/dependencies/CssExportDependency.js +93 -0
- package/src/log/node_modules/webpack/lib/dependencies/CssImportDependency.js +127 -0
- package/src/log/node_modules/webpack/lib/dependencies/CssLocalIdentifierDependency.js +136 -0
- package/src/log/node_modules/webpack/lib/dependencies/CssSelfLocalIdentifierDependency.js +110 -0
- package/src/log/node_modules/webpack/lib/dependencies/CssUrlDependency.js +162 -0
- package/src/log/node_modules/webpack/lib/dependencies/DelegatedSourceDependency.js +33 -0
- package/src/log/node_modules/webpack/lib/dependencies/DllEntryDependency.js +61 -0
- package/src/log/node_modules/webpack/lib/dependencies/DynamicExports.js +73 -0
- package/src/log/node_modules/webpack/lib/dependencies/EntryDependency.js +30 -0
- package/src/log/node_modules/webpack/lib/dependencies/ExportsInfoDependency.js +164 -0
- package/src/log/node_modules/webpack/lib/dependencies/HarmonyAcceptDependency.js +143 -0
- package/src/log/node_modules/webpack/lib/dependencies/HarmonyAcceptImportDependency.js +40 -0
- package/src/log/node_modules/webpack/lib/dependencies/HarmonyCompatibilityDependency.js +92 -0
- package/src/log/node_modules/webpack/lib/dependencies/HarmonyDetectionParserPlugin.js +117 -0
- package/src/log/node_modules/webpack/lib/dependencies/HarmonyEvaluatedImportSpecifierDependency.js +153 -0
- package/src/log/node_modules/webpack/lib/dependencies/HarmonyExportDependencyParserPlugin.js +190 -0
- package/src/log/node_modules/webpack/lib/dependencies/HarmonyExportExpressionDependency.js +207 -0
- package/src/log/node_modules/webpack/lib/dependencies/HarmonyExportHeaderDependency.js +78 -0
- package/src/log/node_modules/webpack/lib/dependencies/HarmonyExportImportedSpecifierDependency.js +1287 -0
- package/src/log/node_modules/webpack/lib/dependencies/HarmonyExportInitFragment.js +169 -0
- package/src/log/node_modules/webpack/lib/dependencies/HarmonyExportSpecifierDependency.js +123 -0
- package/src/log/node_modules/webpack/lib/dependencies/HarmonyExports.js +46 -0
- package/src/log/node_modules/webpack/lib/dependencies/HarmonyImportDependency.js +368 -0
- package/src/log/node_modules/webpack/lib/dependencies/HarmonyImportDependencyParserPlugin.js +371 -0
- package/src/log/node_modules/webpack/lib/dependencies/HarmonyImportSideEffectDependency.js +85 -0
- package/src/log/node_modules/webpack/lib/dependencies/HarmonyImportSpecifierDependency.js +418 -0
- package/src/log/node_modules/webpack/lib/dependencies/HarmonyModulesPlugin.js +149 -0
- package/src/log/node_modules/webpack/lib/dependencies/HarmonyTopLevelThisParserPlugin.js +39 -0
- package/src/log/node_modules/webpack/lib/dependencies/ImportContextDependency.js +67 -0
- package/src/log/node_modules/webpack/lib/dependencies/ImportDependency.js +112 -0
- package/src/log/node_modules/webpack/lib/dependencies/ImportEagerDependency.js +72 -0
- package/src/log/node_modules/webpack/lib/dependencies/ImportMetaContextDependency.js +35 -0
- package/src/log/node_modules/webpack/lib/dependencies/ImportMetaContextDependencyParserPlugin.js +290 -0
- package/src/log/node_modules/webpack/lib/dependencies/ImportMetaContextPlugin.js +72 -0
- package/src/log/node_modules/webpack/lib/dependencies/ImportMetaHotAcceptDependency.js +41 -0
- package/src/log/node_modules/webpack/lib/dependencies/ImportMetaHotDeclineDependency.js +42 -0
- package/src/log/node_modules/webpack/lib/dependencies/ImportMetaPlugin.js +255 -0
- package/src/log/node_modules/webpack/lib/dependencies/ImportParserPlugin.js +331 -0
- package/src/log/node_modules/webpack/lib/dependencies/ImportPlugin.js +96 -0
- package/src/log/node_modules/webpack/lib/dependencies/ImportWeakDependency.js +70 -0
- package/src/log/node_modules/webpack/lib/dependencies/JsonExportsDependency.js +107 -0
- package/src/log/node_modules/webpack/lib/dependencies/LoaderDependency.js +40 -0
- package/src/log/node_modules/webpack/lib/dependencies/LoaderImportDependency.js +41 -0
- package/src/log/node_modules/webpack/lib/dependencies/LoaderPlugin.js +261 -0
- package/src/log/node_modules/webpack/lib/dependencies/LocalModule.js +60 -0
- package/src/log/node_modules/webpack/lib/dependencies/LocalModuleDependency.js +84 -0
- package/src/log/node_modules/webpack/lib/dependencies/LocalModulesHelpers.js +68 -0
- package/src/log/node_modules/webpack/lib/dependencies/ModuleDecoratorDependency.js +137 -0
- package/src/log/node_modules/webpack/lib/dependencies/ModuleDependency.js +99 -0
- package/src/log/node_modules/webpack/lib/dependencies/ModuleDependencyTemplateAsId.js +35 -0
- package/src/log/node_modules/webpack/lib/dependencies/ModuleDependencyTemplateAsRequireId.js +38 -0
- package/src/log/node_modules/webpack/lib/dependencies/ModuleHotAcceptDependency.js +41 -0
- package/src/log/node_modules/webpack/lib/dependencies/ModuleHotDeclineDependency.js +42 -0
- package/src/log/node_modules/webpack/lib/dependencies/NullDependency.js +40 -0
- package/src/log/node_modules/webpack/lib/dependencies/PrefetchDependency.js +27 -0
- package/src/log/node_modules/webpack/lib/dependencies/ProvidedDependency.js +157 -0
- package/src/log/node_modules/webpack/lib/dependencies/PureExpressionDependency.js +137 -0
- package/src/log/node_modules/webpack/lib/dependencies/RequireContextDependency.js +37 -0
- package/src/log/node_modules/webpack/lib/dependencies/RequireContextDependencyParserPlugin.js +66 -0
- package/src/log/node_modules/webpack/lib/dependencies/RequireContextPlugin.js +163 -0
- package/src/log/node_modules/webpack/lib/dependencies/RequireEnsureDependenciesBlock.js +29 -0
- package/src/log/node_modules/webpack/lib/dependencies/RequireEnsureDependenciesBlockParserPlugin.js +126 -0
- package/src/log/node_modules/webpack/lib/dependencies/RequireEnsureDependency.js +115 -0
- package/src/log/node_modules/webpack/lib/dependencies/RequireEnsureItemDependency.js +36 -0
- package/src/log/node_modules/webpack/lib/dependencies/RequireEnsurePlugin.js +86 -0
- package/src/log/node_modules/webpack/lib/dependencies/RequireHeaderDependency.js +70 -0
- package/src/log/node_modules/webpack/lib/dependencies/RequireIncludeDependency.js +79 -0
- package/src/log/node_modules/webpack/lib/dependencies/RequireIncludeDependencyParserPlugin.js +101 -0
- package/src/log/node_modules/webpack/lib/dependencies/RequireIncludePlugin.js +62 -0
- package/src/log/node_modules/webpack/lib/dependencies/RequireResolveContextDependency.js +67 -0
- package/src/log/node_modules/webpack/lib/dependencies/RequireResolveDependency.js +58 -0
- package/src/log/node_modules/webpack/lib/dependencies/RequireResolveHeaderDependency.js +81 -0
- package/src/log/node_modules/webpack/lib/dependencies/RuntimeRequirementsDependency.js +85 -0
- package/src/log/node_modules/webpack/lib/dependencies/StaticExportsDependency.js +74 -0
- package/src/log/node_modules/webpack/lib/dependencies/SystemPlugin.js +167 -0
- package/src/log/node_modules/webpack/lib/dependencies/SystemRuntimeModule.js +35 -0
- package/src/log/node_modules/webpack/lib/dependencies/URLDependency.js +167 -0
- package/src/log/node_modules/webpack/lib/dependencies/URLPlugin.js +148 -0
- package/src/log/node_modules/webpack/lib/dependencies/UnsupportedDependency.js +82 -0
- package/src/log/node_modules/webpack/lib/dependencies/WebAssemblyExportImportedDependency.js +93 -0
- package/src/log/node_modules/webpack/lib/dependencies/WebAssemblyImportDependency.js +108 -0
- package/src/log/node_modules/webpack/lib/dependencies/WebpackIsIncludedDependency.js +85 -0
- package/src/log/node_modules/webpack/lib/dependencies/WorkerDependency.js +133 -0
- package/src/log/node_modules/webpack/lib/dependencies/WorkerPlugin.js +491 -0
- package/src/log/node_modules/webpack/lib/dependencies/getFunctionExpression.js +62 -0
- package/src/log/node_modules/webpack/lib/dependencies/processExportInfo.js +65 -0
- package/src/log/node_modules/webpack/lib/electron/ElectronTargetPlugin.js +68 -0
- package/src/log/node_modules/webpack/lib/errors/BuildCycleError.js +27 -0
- package/src/log/node_modules/webpack/lib/esm/ExportWebpackRequireRuntimeModule.js +30 -0
- package/src/log/node_modules/webpack/lib/esm/ModuleChunkFormatPlugin.js +215 -0
- package/src/log/node_modules/webpack/lib/esm/ModuleChunkLoadingPlugin.js +87 -0
- package/src/log/node_modules/webpack/lib/esm/ModuleChunkLoadingRuntimeModule.js +249 -0
- package/src/log/node_modules/webpack/lib/formatLocation.js +68 -0
- package/src/log/node_modules/webpack/lib/hmr/HotModuleReplacement.runtime.js +409 -0
- package/src/log/node_modules/webpack/lib/hmr/HotModuleReplacementRuntimeModule.js +42 -0
- package/src/log/node_modules/webpack/lib/hmr/JavascriptHotModuleReplacement.runtime.js +463 -0
- package/src/log/node_modules/webpack/lib/hmr/LazyCompilationPlugin.js +427 -0
- package/src/log/node_modules/webpack/lib/hmr/lazyCompilationBackend.js +143 -0
- package/src/log/node_modules/webpack/lib/ids/ChunkModuleIdRangePlugin.js +91 -0
- package/src/log/node_modules/webpack/lib/ids/DeterministicChunkIdsPlugin.js +79 -0
- package/src/log/node_modules/webpack/lib/ids/DeterministicModuleIdsPlugin.js +97 -0
- package/src/log/node_modules/webpack/lib/ids/HashedModuleIdsPlugin.js +84 -0
- package/src/log/node_modules/webpack/lib/ids/IdHelpers.js +483 -0
- package/src/log/node_modules/webpack/lib/ids/NamedChunkIdsPlugin.js +93 -0
- package/src/log/node_modules/webpack/lib/ids/NamedModuleIdsPlugin.js +69 -0
- package/src/log/node_modules/webpack/lib/ids/NaturalChunkIdsPlugin.js +33 -0
- package/src/log/node_modules/webpack/lib/ids/NaturalModuleIdsPlugin.js +39 -0
- package/src/log/node_modules/webpack/lib/ids/OccurrenceChunkIdsPlugin.js +84 -0
- package/src/log/node_modules/webpack/lib/ids/OccurrenceModuleIdsPlugin.js +159 -0
- package/src/log/node_modules/webpack/lib/ids/SyncModuleIdsPlugin.js +141 -0
- package/src/log/node_modules/webpack/lib/index.js +594 -0
- package/src/log/node_modules/webpack/lib/javascript/ArrayPushCallbackChunkFormatPlugin.js +154 -0
- package/src/log/node_modules/webpack/lib/javascript/BasicEvaluatedExpression.js +609 -0
- package/src/log/node_modules/webpack/lib/javascript/ChunkHelpers.js +33 -0
- package/src/log/node_modules/webpack/lib/javascript/CommonJsChunkFormatPlugin.js +176 -0
- package/src/log/node_modules/webpack/lib/javascript/EnableChunkLoadingPlugin.js +122 -0
- package/src/log/node_modules/webpack/lib/javascript/JavascriptGenerator.js +225 -0
- package/src/log/node_modules/webpack/lib/javascript/JavascriptModulesPlugin.js +1389 -0
- package/src/log/node_modules/webpack/lib/javascript/JavascriptParser.js +4527 -0
- package/src/log/node_modules/webpack/lib/javascript/JavascriptParserHelpers.js +129 -0
- package/src/log/node_modules/webpack/lib/javascript/StartupHelpers.js +132 -0
- package/src/log/node_modules/webpack/lib/json/JsonData.js +74 -0
- package/src/log/node_modules/webpack/lib/json/JsonGenerator.js +205 -0
- package/src/log/node_modules/webpack/lib/json/JsonModulesPlugin.js +59 -0
- package/src/log/node_modules/webpack/lib/json/JsonParser.js +69 -0
- package/src/log/node_modules/webpack/lib/library/AbstractLibraryPlugin.js +301 -0
- package/src/log/node_modules/webpack/lib/library/AmdLibraryPlugin.js +178 -0
- package/src/log/node_modules/webpack/lib/library/AssignLibraryPlugin.js +389 -0
- package/src/log/node_modules/webpack/lib/library/EnableLibraryPlugin.js +252 -0
- package/src/log/node_modules/webpack/lib/library/ExportPropertyLibraryPlugin.js +116 -0
- package/src/log/node_modules/webpack/lib/library/JsonpLibraryPlugin.js +88 -0
- package/src/log/node_modules/webpack/lib/library/ModuleLibraryPlugin.js +108 -0
- package/src/log/node_modules/webpack/lib/library/SystemLibraryPlugin.js +234 -0
- package/src/log/node_modules/webpack/lib/library/UmdLibraryPlugin.js +348 -0
- package/src/log/node_modules/webpack/lib/logging/Logger.js +163 -0
- package/src/log/node_modules/webpack/lib/logging/createConsoleLogger.js +228 -0
- package/src/log/node_modules/webpack/lib/logging/runtime.js +46 -0
- package/src/log/node_modules/webpack/lib/logging/truncateArgs.js +86 -0
- package/src/log/node_modules/webpack/lib/node/CommonJsChunkLoadingPlugin.js +120 -0
- package/src/log/node_modules/webpack/lib/node/NodeEnvironmentPlugin.js +60 -0
- package/src/log/node_modules/webpack/lib/node/NodeSourcePlugin.js +19 -0
- package/src/log/node_modules/webpack/lib/node/NodeTargetPlugin.js +85 -0
- package/src/log/node_modules/webpack/lib/node/NodeTemplatePlugin.js +41 -0
- package/src/log/node_modules/webpack/lib/node/NodeWatchFileSystem.js +194 -0
- package/src/log/node_modules/webpack/lib/node/ReadFileChunkLoadingRuntimeModule.js +300 -0
- package/src/log/node_modules/webpack/lib/node/ReadFileCompileAsyncWasmPlugin.js +117 -0
- package/src/log/node_modules/webpack/lib/node/ReadFileCompileWasmPlugin.js +111 -0
- package/src/log/node_modules/webpack/lib/node/RequireChunkLoadingRuntimeModule.js +245 -0
- package/src/log/node_modules/webpack/lib/node/nodeConsole.js +141 -0
- package/src/log/node_modules/webpack/lib/optimize/AggressiveMergingPlugin.js +100 -0
- package/src/log/node_modules/webpack/lib/optimize/AggressiveSplittingPlugin.js +336 -0
- package/src/log/node_modules/webpack/lib/optimize/ConcatenatedModule.js +1905 -0
- package/src/log/node_modules/webpack/lib/optimize/EnsureChunkConditionsPlugin.js +88 -0
- package/src/log/node_modules/webpack/lib/optimize/FlagIncludedChunksPlugin.js +124 -0
- package/src/log/node_modules/webpack/lib/optimize/InnerGraph.js +346 -0
- package/src/log/node_modules/webpack/lib/optimize/InnerGraphPlugin.js +377 -0
- package/src/log/node_modules/webpack/lib/optimize/LimitChunkCountPlugin.js +281 -0
- package/src/log/node_modules/webpack/lib/optimize/MangleExportsPlugin.js +177 -0
- package/src/log/node_modules/webpack/lib/optimize/MergeDuplicateChunksPlugin.js +115 -0
- package/src/log/node_modules/webpack/lib/optimize/MinChunkSizePlugin.js +113 -0
- package/src/log/node_modules/webpack/lib/optimize/MinMaxSizeWarning.js +35 -0
- package/src/log/node_modules/webpack/lib/optimize/ModuleConcatenationPlugin.js +942 -0
- package/src/log/node_modules/webpack/lib/optimize/RealContentHashPlugin.js +467 -0
- package/src/log/node_modules/webpack/lib/optimize/RemoveEmptyChunksPlugin.js +57 -0
- package/src/log/node_modules/webpack/lib/optimize/RemoveParentModulesPlugin.js +127 -0
- package/src/log/node_modules/webpack/lib/optimize/RuntimeChunkPlugin.js +52 -0
- package/src/log/node_modules/webpack/lib/optimize/SideEffectsFlagPlugin.js +346 -0
- package/src/log/node_modules/webpack/lib/optimize/SplitChunksPlugin.js +1763 -0
- package/src/log/node_modules/webpack/lib/performance/AssetsOverSizeLimitWarning.js +32 -0
- package/src/log/node_modules/webpack/lib/performance/EntrypointsOverSizeLimitWarning.js +35 -0
- package/src/log/node_modules/webpack/lib/performance/NoAsyncChunksWarning.js +20 -0
- package/src/log/node_modules/webpack/lib/performance/SizeLimitsPlugin.js +168 -0
- package/src/log/node_modules/webpack/lib/prefetch/ChunkPrefetchFunctionRuntimeModule.js +46 -0
- package/src/log/node_modules/webpack/lib/prefetch/ChunkPrefetchPreloadPlugin.js +97 -0
- package/src/log/node_modules/webpack/lib/prefetch/ChunkPrefetchStartupRuntimeModule.js +55 -0
- package/src/log/node_modules/webpack/lib/prefetch/ChunkPrefetchTriggerRuntimeModule.js +51 -0
- package/src/log/node_modules/webpack/lib/prefetch/ChunkPreloadTriggerRuntimeModule.js +45 -0
- package/src/log/node_modules/webpack/lib/rules/BasicEffectRulePlugin.js +43 -0
- package/src/log/node_modules/webpack/lib/rules/BasicMatcherRulePlugin.js +52 -0
- package/src/log/node_modules/webpack/lib/rules/ObjectMatcherRulePlugin.js +47 -0
- package/src/log/node_modules/webpack/lib/rules/RuleSetCompiler.js +379 -0
- package/src/log/node_modules/webpack/lib/rules/UseEffectRulePlugin.js +196 -0
- package/src/log/node_modules/webpack/lib/runtime/AsyncModuleRuntimeModule.js +133 -0
- package/src/log/node_modules/webpack/lib/runtime/AutoPublicPathRuntimeModule.js +80 -0
- package/src/log/node_modules/webpack/lib/runtime/BaseUriRuntimeModule.js +35 -0
- package/src/log/node_modules/webpack/lib/runtime/ChunkNameRuntimeModule.js +27 -0
- package/src/log/node_modules/webpack/lib/runtime/CompatGetDefaultExportRuntimeModule.js +40 -0
- package/src/log/node_modules/webpack/lib/runtime/CompatRuntimeModule.js +83 -0
- package/src/log/node_modules/webpack/lib/runtime/CreateFakeNamespaceObjectRuntimeModule.js +69 -0
- package/src/log/node_modules/webpack/lib/runtime/CreateScriptRuntimeModule.js +38 -0
- package/src/log/node_modules/webpack/lib/runtime/CreateScriptUrlRuntimeModule.js +38 -0
- package/src/log/node_modules/webpack/lib/runtime/DefinePropertyGettersRuntimeModule.js +42 -0
- package/src/log/node_modules/webpack/lib/runtime/EnsureChunkRuntimeModule.js +68 -0
- package/src/log/node_modules/webpack/lib/runtime/GetChunkFilenameRuntimeModule.js +301 -0
- package/src/log/node_modules/webpack/lib/runtime/GetFullHashRuntimeModule.js +30 -0
- package/src/log/node_modules/webpack/lib/runtime/GetMainFilenameRuntimeModule.js +47 -0
- package/src/log/node_modules/webpack/lib/runtime/GetTrustedTypesPolicyRuntimeModule.js +97 -0
- package/src/log/node_modules/webpack/lib/runtime/GlobalRuntimeModule.js +47 -0
- package/src/log/node_modules/webpack/lib/runtime/HasOwnPropertyRuntimeModule.js +35 -0
- package/src/log/node_modules/webpack/lib/runtime/HelperRuntimeModule.js +18 -0
- package/src/log/node_modules/webpack/lib/runtime/LoadScriptRuntimeModule.js +175 -0
- package/src/log/node_modules/webpack/lib/runtime/MakeNamespaceObjectRuntimeModule.js +39 -0
- package/src/log/node_modules/webpack/lib/runtime/NonceRuntimeModule.js +24 -0
- package/src/log/node_modules/webpack/lib/runtime/OnChunksLoadedRuntimeModule.js +78 -0
- package/src/log/node_modules/webpack/lib/runtime/PublicPathRuntimeModule.js +37 -0
- package/src/log/node_modules/webpack/lib/runtime/RelativeUrlRuntimeModule.js +44 -0
- package/src/log/node_modules/webpack/lib/runtime/RuntimeIdRuntimeModule.js +32 -0
- package/src/log/node_modules/webpack/lib/runtime/StartupChunkDependenciesPlugin.js +89 -0
- package/src/log/node_modules/webpack/lib/runtime/StartupChunkDependenciesRuntimeModule.js +76 -0
- package/src/log/node_modules/webpack/lib/runtime/StartupEntrypointRuntimeModule.js +54 -0
- package/src/log/node_modules/webpack/lib/runtime/SystemContextRuntimeModule.js +25 -0
- package/src/log/node_modules/webpack/lib/schemes/DataUriPlugin.js +69 -0
- package/src/log/node_modules/webpack/lib/schemes/FileUriPlugin.js +49 -0
- package/src/log/node_modules/webpack/lib/schemes/HttpUriPlugin.js +1156 -0
- package/src/log/node_modules/webpack/lib/serialization/ArraySerializer.js +38 -0
- package/src/log/node_modules/webpack/lib/serialization/BinaryMiddleware.js +1113 -0
- package/src/log/node_modules/webpack/lib/serialization/DateObjectSerializer.js +27 -0
- package/src/log/node_modules/webpack/lib/serialization/ErrorObjectSerializer.js +42 -0
- package/src/log/node_modules/webpack/lib/serialization/FileMiddleware.js +682 -0
- package/src/log/node_modules/webpack/lib/serialization/MapObjectSerializer.js +47 -0
- package/src/log/node_modules/webpack/lib/serialization/NullPrototypeObjectSerializer.js +50 -0
- package/src/log/node_modules/webpack/lib/serialization/ObjectMiddleware.js +765 -0
- package/src/log/node_modules/webpack/lib/serialization/PlainObjectSerializer.js +91 -0
- package/src/log/node_modules/webpack/lib/serialization/RegExpObjectSerializer.js +28 -0
- package/src/log/node_modules/webpack/lib/serialization/Serializer.js +46 -0
- package/src/log/node_modules/webpack/lib/serialization/SerializerMiddleware.js +153 -0
- package/src/log/node_modules/webpack/lib/serialization/SetObjectSerializer.js +39 -0
- package/src/log/node_modules/webpack/lib/serialization/SingleItemMiddleware.js +34 -0
- package/src/log/node_modules/webpack/lib/serialization/types.js +13 -0
- package/src/log/node_modules/webpack/lib/sharing/ConsumeSharedFallbackDependency.js +33 -0
- package/src/log/node_modules/webpack/lib/sharing/ConsumeSharedModule.js +262 -0
- package/src/log/node_modules/webpack/lib/sharing/ConsumeSharedPlugin.js +323 -0
- package/src/log/node_modules/webpack/lib/sharing/ConsumeSharedRuntimeModule.js +375 -0
- package/src/log/node_modules/webpack/lib/sharing/ProvideForSharedDependency.js +34 -0
- package/src/log/node_modules/webpack/lib/sharing/ProvideSharedDependency.js +80 -0
- package/src/log/node_modules/webpack/lib/sharing/ProvideSharedModule.js +194 -0
- package/src/log/node_modules/webpack/lib/sharing/ProvideSharedModuleFactory.js +35 -0
- package/src/log/node_modules/webpack/lib/sharing/ProvideSharedPlugin.js +237 -0
- package/src/log/node_modules/webpack/lib/sharing/SharePlugin.js +92 -0
- package/src/log/node_modules/webpack/lib/sharing/ShareRuntimeModule.js +151 -0
- package/src/log/node_modules/webpack/lib/sharing/resolveMatchedConfigs.js +91 -0
- package/src/log/node_modules/webpack/lib/sharing/utils.js +403 -0
- package/src/log/node_modules/webpack/lib/stats/DefaultStatsFactoryPlugin.js +2474 -0
- package/src/log/node_modules/webpack/lib/stats/DefaultStatsPresetPlugin.js +335 -0
- package/src/log/node_modules/webpack/lib/stats/DefaultStatsPrinterPlugin.js +1423 -0
- package/src/log/node_modules/webpack/lib/stats/StatsFactory.js +292 -0
- package/src/log/node_modules/webpack/lib/stats/StatsPrinter.js +249 -0
- package/src/log/node_modules/webpack/lib/util/ArrayHelpers.js +44 -0
- package/src/log/node_modules/webpack/lib/util/ArrayQueue.js +111 -0
- package/src/log/node_modules/webpack/lib/util/AsyncQueue.js +375 -0
- package/src/log/node_modules/webpack/lib/util/Hash.js +35 -0
- package/src/log/node_modules/webpack/lib/util/IterableHelpers.js +46 -0
- package/src/log/node_modules/webpack/lib/util/LazyBucketSortedSet.js +236 -0
- package/src/log/node_modules/webpack/lib/util/LazySet.js +216 -0
- package/src/log/node_modules/webpack/lib/util/MapHelpers.js +36 -0
- package/src/log/node_modules/webpack/lib/util/ParallelismFactorCalculator.js +69 -0
- package/src/log/node_modules/webpack/lib/util/Queue.js +51 -0
- package/src/log/node_modules/webpack/lib/util/Semaphore.js +54 -0
- package/src/log/node_modules/webpack/lib/util/SetHelpers.js +94 -0
- package/src/log/node_modules/webpack/lib/util/SortableSet.js +160 -0
- package/src/log/node_modules/webpack/lib/util/StackedCacheMap.js +116 -0
- package/src/log/node_modules/webpack/lib/util/StackedMap.js +166 -0
- package/src/log/node_modules/webpack/lib/util/StringXor.js +106 -0
- package/src/log/node_modules/webpack/lib/util/TupleQueue.js +61 -0
- package/src/log/node_modules/webpack/lib/util/TupleSet.js +150 -0
- package/src/log/node_modules/webpack/lib/util/URLAbsoluteSpecifier.js +87 -0
- package/src/log/node_modules/webpack/lib/util/WeakTupleMap.js +171 -0
- package/src/log/node_modules/webpack/lib/util/binarySearchBounds.js +135 -0
- package/src/log/node_modules/webpack/lib/util/chainedImports.js +96 -0
- package/src/log/node_modules/webpack/lib/util/cleverMerge.js +568 -0
- package/src/log/node_modules/webpack/lib/util/comparators.js +459 -0
- package/src/log/node_modules/webpack/lib/util/compileBooleanMatcher.js +237 -0
- package/src/log/node_modules/webpack/lib/util/create-schema-validation.js +28 -0
- package/src/log/node_modules/webpack/lib/util/createHash.js +193 -0
- package/src/log/node_modules/webpack/lib/util/deprecation.js +279 -0
- package/src/log/node_modules/webpack/lib/util/deterministicGrouping.js +547 -0
- package/src/log/node_modules/webpack/lib/util/extractUrlAndGlobal.js +18 -0
- package/src/log/node_modules/webpack/lib/util/findGraphRoots.js +231 -0
- package/src/log/node_modules/webpack/lib/util/fs.js +337 -0
- package/src/log/node_modules/webpack/lib/util/hash/BatchedHash.js +68 -0
- package/src/log/node_modules/webpack/lib/util/hash/md4.js +20 -0
- package/src/log/node_modules/webpack/lib/util/hash/wasm-hash.js +163 -0
- package/src/log/node_modules/webpack/lib/util/hash/xxhash64.js +20 -0
- package/src/log/node_modules/webpack/lib/util/identifier.js +381 -0
- package/src/log/node_modules/webpack/lib/util/internalSerializables.js +214 -0
- package/src/log/node_modules/webpack/lib/util/makeSerializable.js +37 -0
- package/src/log/node_modules/webpack/lib/util/memoize.js +32 -0
- package/src/log/node_modules/webpack/lib/util/nonNumericOnlyHash.js +22 -0
- package/src/log/node_modules/webpack/lib/util/numberHash.js +99 -0
- package/src/log/node_modules/webpack/lib/util/objectToMap.js +15 -0
- package/src/log/node_modules/webpack/lib/util/processAsyncTree.js +68 -0
- package/src/log/node_modules/webpack/lib/util/propertyAccess.js +33 -0
- package/src/log/node_modules/webpack/lib/util/propertyName.js +79 -0
- package/src/log/node_modules/webpack/lib/util/registerExternalSerializer.js +337 -0
- package/src/log/node_modules/webpack/lib/util/runtime.js +686 -0
- package/src/log/node_modules/webpack/lib/util/semver.js +485 -0
- package/src/log/node_modules/webpack/lib/util/serialization.js +138 -0
- package/src/log/node_modules/webpack/lib/util/smartGrouping.js +206 -0
- package/src/log/node_modules/webpack/lib/util/source.js +61 -0
- package/src/log/node_modules/webpack/lib/validateSchema.js +179 -0
- package/src/log/node_modules/webpack/lib/wasm/EnableWasmLoadingPlugin.js +122 -0
- package/src/log/node_modules/webpack/lib/wasm-async/AsyncWasmLoadingRuntimeModule.js +91 -0
- package/src/log/node_modules/webpack/lib/wasm-async/AsyncWebAssemblyGenerator.js +61 -0
- package/src/log/node_modules/webpack/lib/wasm-async/AsyncWebAssemblyJavascriptGenerator.js +205 -0
- package/src/log/node_modules/webpack/lib/wasm-async/AsyncWebAssemblyModulesPlugin.js +218 -0
- package/src/log/node_modules/webpack/lib/wasm-async/AsyncWebAssemblyParser.js +82 -0
- package/src/log/node_modules/webpack/lib/wasm-sync/UnsupportedWebAssemblyFeatureError.js +16 -0
- package/src/log/node_modules/webpack/lib/wasm-sync/WasmChunkLoadingRuntimeModule.js +403 -0
- package/src/log/node_modules/webpack/lib/wasm-sync/WasmFinalizeExportsPlugin.js +93 -0
- package/src/log/node_modules/webpack/lib/wasm-sync/WebAssemblyGenerator.js +515 -0
- package/src/log/node_modules/webpack/lib/wasm-sync/WebAssemblyInInitialChunkError.js +106 -0
- package/src/log/node_modules/webpack/lib/wasm-sync/WebAssemblyJavascriptGenerator.js +216 -0
- package/src/log/node_modules/webpack/lib/wasm-sync/WebAssemblyModulesPlugin.js +152 -0
- package/src/log/node_modules/webpack/lib/wasm-sync/WebAssemblyParser.js +203 -0
- package/src/log/node_modules/webpack/lib/wasm-sync/WebAssemblyUtils.js +65 -0
- package/src/log/node_modules/webpack/lib/web/FetchCompileAsyncWasmPlugin.js +72 -0
- package/src/log/node_modules/webpack/lib/web/FetchCompileWasmPlugin.js +88 -0
- package/src/log/node_modules/webpack/lib/web/JsonpChunkLoadingPlugin.js +100 -0
- package/src/log/node_modules/webpack/lib/web/JsonpChunkLoadingRuntimeModule.js +470 -0
- package/src/log/node_modules/webpack/lib/web/JsonpTemplatePlugin.js +38 -0
- package/src/log/node_modules/webpack/lib/webpack.js +180 -0
- package/src/log/node_modules/webpack/lib/webworker/ImportScriptsChunkLoadingPlugin.js +103 -0
- package/src/log/node_modules/webpack/lib/webworker/ImportScriptsChunkLoadingRuntimeModule.js +241 -0
- package/src/log/node_modules/webpack/lib/webworker/WebWorkerTemplatePlugin.js +25 -0
- package/src/log/node_modules/webpack/module.d.ts +233 -0
- package/src/log/node_modules/webpack/package.json +246 -0
- package/src/log/node_modules/webpack/schemas/WebpackOptions.check.d.ts +7 -0
- package/src/log/node_modules/webpack/schemas/WebpackOptions.check.js +6 -0
- package/src/log/node_modules/webpack/schemas/WebpackOptions.json +5514 -0
- package/src/log/node_modules/webpack/schemas/_container.json +155 -0
- package/src/log/node_modules/webpack/schemas/_sharing.json +118 -0
- package/src/log/node_modules/webpack/schemas/plugins/BannerPlugin.check.d.ts +7 -0
- package/src/log/node_modules/webpack/schemas/plugins/BannerPlugin.check.js +6 -0
- package/src/log/node_modules/webpack/schemas/plugins/BannerPlugin.json +107 -0
- package/src/log/node_modules/webpack/schemas/plugins/DllPlugin.check.d.ts +7 -0
- package/src/log/node_modules/webpack/schemas/plugins/DllPlugin.check.js +6 -0
- package/src/log/node_modules/webpack/schemas/plugins/DllPlugin.json +36 -0
- package/src/log/node_modules/webpack/schemas/plugins/DllReferencePlugin.check.d.ts +7 -0
- package/src/log/node_modules/webpack/schemas/plugins/DllReferencePlugin.check.js +6 -0
- package/src/log/node_modules/webpack/schemas/plugins/DllReferencePlugin.json +206 -0
- package/src/log/node_modules/webpack/schemas/plugins/HashedModuleIdsPlugin.check.d.ts +7 -0
- package/src/log/node_modules/webpack/schemas/plugins/HashedModuleIdsPlugin.check.js +6 -0
- package/src/log/node_modules/webpack/schemas/plugins/HashedModuleIdsPlugin.json +44 -0
- package/src/log/node_modules/webpack/schemas/plugins/IgnorePlugin.check.d.ts +7 -0
- package/src/log/node_modules/webpack/schemas/plugins/IgnorePlugin.check.js +6 -0
- package/src/log/node_modules/webpack/schemas/plugins/IgnorePlugin.json +34 -0
- package/src/log/node_modules/webpack/schemas/plugins/JsonModulesPluginParser.check.d.ts +7 -0
- package/src/log/node_modules/webpack/schemas/plugins/JsonModulesPluginParser.check.js +6 -0
- package/src/log/node_modules/webpack/schemas/plugins/JsonModulesPluginParser.json +12 -0
- package/src/log/node_modules/webpack/schemas/plugins/LoaderOptionsPlugin.check.d.ts +7 -0
- package/src/log/node_modules/webpack/schemas/plugins/LoaderOptionsPlugin.check.js +6 -0
- package/src/log/node_modules/webpack/schemas/plugins/LoaderOptionsPlugin.json +27 -0
- package/src/log/node_modules/webpack/schemas/plugins/ProgressPlugin.check.d.ts +7 -0
- package/src/log/node_modules/webpack/schemas/plugins/ProgressPlugin.check.js +6 -0
- package/src/log/node_modules/webpack/schemas/plugins/ProgressPlugin.json +65 -0
- package/src/log/node_modules/webpack/schemas/plugins/SourceMapDevToolPlugin.check.d.ts +7 -0
- package/src/log/node_modules/webpack/schemas/plugins/SourceMapDevToolPlugin.check.js +6 -0
- package/src/log/node_modules/webpack/schemas/plugins/SourceMapDevToolPlugin.json +147 -0
- package/src/log/node_modules/webpack/schemas/plugins/WatchIgnorePlugin.check.d.ts +7 -0
- package/src/log/node_modules/webpack/schemas/plugins/WatchIgnorePlugin.check.js +6 -0
- package/src/log/node_modules/webpack/schemas/plugins/WatchIgnorePlugin.json +25 -0
- package/src/log/node_modules/webpack/schemas/plugins/asset/AssetGeneratorOptions.check.d.ts +7 -0
- package/src/log/node_modules/webpack/schemas/plugins/asset/AssetGeneratorOptions.check.js +6 -0
- package/src/log/node_modules/webpack/schemas/plugins/asset/AssetGeneratorOptions.json +3 -0
- package/src/log/node_modules/webpack/schemas/plugins/asset/AssetInlineGeneratorOptions.check.d.ts +7 -0
- package/src/log/node_modules/webpack/schemas/plugins/asset/AssetInlineGeneratorOptions.check.js +6 -0
- package/src/log/node_modules/webpack/schemas/plugins/asset/AssetInlineGeneratorOptions.json +3 -0
- package/src/log/node_modules/webpack/schemas/plugins/asset/AssetParserOptions.check.d.ts +7 -0
- package/src/log/node_modules/webpack/schemas/plugins/asset/AssetParserOptions.check.js +6 -0
- package/src/log/node_modules/webpack/schemas/plugins/asset/AssetParserOptions.json +3 -0
- package/src/log/node_modules/webpack/schemas/plugins/asset/AssetResourceGeneratorOptions.check.d.ts +7 -0
- package/src/log/node_modules/webpack/schemas/plugins/asset/AssetResourceGeneratorOptions.check.js +6 -0
- package/src/log/node_modules/webpack/schemas/plugins/asset/AssetResourceGeneratorOptions.json +3 -0
- package/src/log/node_modules/webpack/schemas/plugins/container/ContainerPlugin.check.d.ts +7 -0
- package/src/log/node_modules/webpack/schemas/plugins/container/ContainerPlugin.check.js +6 -0
- package/src/log/node_modules/webpack/schemas/plugins/container/ContainerPlugin.json +294 -0
- package/src/log/node_modules/webpack/schemas/plugins/container/ContainerReferencePlugin.check.d.ts +7 -0
- package/src/log/node_modules/webpack/schemas/plugins/container/ContainerReferencePlugin.check.js +6 -0
- package/src/log/node_modules/webpack/schemas/plugins/container/ContainerReferencePlugin.json +128 -0
- package/src/log/node_modules/webpack/schemas/plugins/container/ExternalsType.check.d.ts +7 -0
- package/src/log/node_modules/webpack/schemas/plugins/container/ExternalsType.check.js +6 -0
- package/src/log/node_modules/webpack/schemas/plugins/container/ExternalsType.json +3 -0
- package/src/log/node_modules/webpack/schemas/plugins/container/ModuleFederationPlugin.check.d.ts +7 -0
- package/src/log/node_modules/webpack/schemas/plugins/container/ModuleFederationPlugin.check.js +6 -0
- package/src/log/node_modules/webpack/schemas/plugins/container/ModuleFederationPlugin.json +521 -0
- package/src/log/node_modules/webpack/schemas/plugins/css/CssGeneratorOptions.check.d.ts +7 -0
- package/src/log/node_modules/webpack/schemas/plugins/css/CssGeneratorOptions.check.js +6 -0
- package/src/log/node_modules/webpack/schemas/plugins/css/CssGeneratorOptions.json +3 -0
- package/src/log/node_modules/webpack/schemas/plugins/css/CssParserOptions.check.d.ts +7 -0
- package/src/log/node_modules/webpack/schemas/plugins/css/CssParserOptions.check.js +6 -0
- package/src/log/node_modules/webpack/schemas/plugins/css/CssParserOptions.json +3 -0
- package/src/log/node_modules/webpack/schemas/plugins/debug/ProfilingPlugin.check.d.ts +7 -0
- package/src/log/node_modules/webpack/schemas/plugins/debug/ProfilingPlugin.check.js +6 -0
- package/src/log/node_modules/webpack/schemas/plugins/debug/ProfilingPlugin.json +12 -0
- package/src/log/node_modules/webpack/schemas/plugins/ids/OccurrenceChunkIdsPlugin.check.d.ts +7 -0
- package/src/log/node_modules/webpack/schemas/plugins/ids/OccurrenceChunkIdsPlugin.check.js +6 -0
- package/src/log/node_modules/webpack/schemas/plugins/ids/OccurrenceChunkIdsPlugin.json +11 -0
- package/src/log/node_modules/webpack/schemas/plugins/ids/OccurrenceModuleIdsPlugin.check.d.ts +7 -0
- package/src/log/node_modules/webpack/schemas/plugins/ids/OccurrenceModuleIdsPlugin.check.js +6 -0
- package/src/log/node_modules/webpack/schemas/plugins/ids/OccurrenceModuleIdsPlugin.json +11 -0
- package/src/log/node_modules/webpack/schemas/plugins/optimize/AggressiveSplittingPlugin.check.d.ts +7 -0
- package/src/log/node_modules/webpack/schemas/plugins/optimize/AggressiveSplittingPlugin.check.js +6 -0
- package/src/log/node_modules/webpack/schemas/plugins/optimize/AggressiveSplittingPlugin.json +23 -0
- package/src/log/node_modules/webpack/schemas/plugins/optimize/LimitChunkCountPlugin.check.d.ts +7 -0
- package/src/log/node_modules/webpack/schemas/plugins/optimize/LimitChunkCountPlugin.check.js +6 -0
- package/src/log/node_modules/webpack/schemas/plugins/optimize/LimitChunkCountPlugin.json +21 -0
- package/src/log/node_modules/webpack/schemas/plugins/optimize/MinChunkSizePlugin.check.d.ts +7 -0
- package/src/log/node_modules/webpack/schemas/plugins/optimize/MinChunkSizePlugin.check.js +6 -0
- package/src/log/node_modules/webpack/schemas/plugins/optimize/MinChunkSizePlugin.json +20 -0
- package/src/log/node_modules/webpack/schemas/plugins/schemes/HttpUriPlugin.check.d.ts +7 -0
- package/src/log/node_modules/webpack/schemas/plugins/schemes/HttpUriPlugin.check.js +6 -0
- package/src/log/node_modules/webpack/schemas/plugins/schemes/HttpUriPlugin.json +74 -0
- package/src/log/node_modules/webpack/schemas/plugins/sharing/ConsumeSharedPlugin.check.d.ts +7 -0
- package/src/log/node_modules/webpack/schemas/plugins/sharing/ConsumeSharedPlugin.check.js +6 -0
- package/src/log/node_modules/webpack/schemas/plugins/sharing/ConsumeSharedPlugin.json +120 -0
- package/src/log/node_modules/webpack/schemas/plugins/sharing/ProvideSharedPlugin.check.d.ts +7 -0
- package/src/log/node_modules/webpack/schemas/plugins/sharing/ProvideSharedPlugin.check.js +6 -0
- package/src/log/node_modules/webpack/schemas/plugins/sharing/ProvideSharedPlugin.json +94 -0
- package/src/log/node_modules/webpack/schemas/plugins/sharing/SharePlugin.check.d.ts +7 -0
- package/src/log/node_modules/webpack/schemas/plugins/sharing/SharePlugin.check.js +6 -0
- package/src/log/node_modules/webpack/schemas/plugins/sharing/SharePlugin.json +133 -0
- package/src/log/node_modules/webpack/types.d.ts +14158 -0
- package/src/log/node_modules/webpack-cli/LICENSE +20 -0
- package/src/log/node_modules/webpack-cli/README.md +145 -0
- package/src/log/node_modules/webpack-cli/bin/cli.js +17 -0
- package/src/log/node_modules/webpack-cli/lib/bootstrap.d.ts +1 -0
- package/src/log/node_modules/webpack-cli/lib/bootstrap.js +16 -0
- package/src/log/node_modules/webpack-cli/lib/index.d.ts +1 -0
- package/src/log/node_modules/webpack-cli/lib/index.js +5 -0
- package/src/log/node_modules/webpack-cli/lib/plugins/cli-plugin.d.ts +12 -0
- package/src/log/node_modules/webpack-cli/lib/plugins/cli-plugin.js +108 -0
- package/src/log/node_modules/webpack-cli/lib/types.d.ts +230 -0
- package/src/log/node_modules/webpack-cli/lib/types.js +2 -0
- package/src/log/node_modules/webpack-cli/lib/utils/dynamic-import-loader.d.ts +1 -0
- package/src/log/node_modules/webpack-cli/lib/utils/dynamic-import-loader.js +13 -0
- package/src/log/node_modules/webpack-cli/lib/webpack-cli.d.ts +1 -0
- package/src/log/node_modules/webpack-cli/lib/webpack-cli.js +1892 -0
- package/src/log/node_modules/webpack-cli/node_modules/commander/LICENSE +22 -0
- package/src/log/node_modules/webpack-cli/node_modules/commander/Readme.md +1134 -0
- package/src/log/node_modules/webpack-cli/node_modules/commander/esm.mjs +16 -0
- package/src/log/node_modules/webpack-cli/node_modules/commander/index.js +27 -0
- package/src/log/node_modules/webpack-cli/node_modules/commander/lib/argument.js +147 -0
- package/src/log/node_modules/webpack-cli/node_modules/commander/lib/command.js +2179 -0
- package/src/log/node_modules/webpack-cli/node_modules/commander/lib/error.js +45 -0
- package/src/log/node_modules/webpack-cli/node_modules/commander/lib/help.js +464 -0
- package/src/log/node_modules/webpack-cli/node_modules/commander/lib/option.js +331 -0
- package/src/log/node_modules/webpack-cli/node_modules/commander/lib/suggestSimilar.js +100 -0
- package/src/log/node_modules/webpack-cli/node_modules/commander/package-support.json +16 -0
- package/src/log/node_modules/webpack-cli/node_modules/commander/package.json +80 -0
- package/src/log/node_modules/webpack-cli/node_modules/commander/typings/index.d.ts +889 -0
- package/src/log/node_modules/webpack-cli/package.json +69 -0
- package/src/log/node_modules/webpack-merge/LICENSE +20 -0
- package/src/log/node_modules/webpack-merge/README.md +314 -0
- package/src/log/node_modules/webpack-merge/dist/index.d.ts +15 -0
- package/src/log/node_modules/webpack-merge/dist/index.js +252 -0
- package/src/log/node_modules/webpack-merge/dist/index.js.map +1 -0
- package/src/log/node_modules/webpack-merge/dist/join-arrays.d.ts +6 -0
- package/src/log/node_modules/webpack-merge/dist/join-arrays.js +70 -0
- package/src/log/node_modules/webpack-merge/dist/join-arrays.js.map +1 -0
- package/src/log/node_modules/webpack-merge/dist/merge-with.d.ts +2 -0
- package/src/log/node_modules/webpack-merge/dist/merge-with.js +38 -0
- package/src/log/node_modules/webpack-merge/dist/merge-with.js.map +1 -0
- package/src/log/node_modules/webpack-merge/dist/types.d.ts +14 -0
- package/src/log/node_modules/webpack-merge/dist/types.js +12 -0
- package/src/log/node_modules/webpack-merge/dist/types.js.map +1 -0
- package/src/log/node_modules/webpack-merge/dist/unique.d.ts +2 -0
- package/src/log/node_modules/webpack-merge/dist/unique.js +41 -0
- package/src/log/node_modules/webpack-merge/dist/unique.js.map +1 -0
- package/src/log/node_modules/webpack-merge/dist/utils.d.ts +17 -0
- package/src/log/node_modules/webpack-merge/dist/utils.js +98 -0
- package/src/log/node_modules/webpack-merge/dist/utils.js.map +1 -0
- package/src/log/node_modules/webpack-merge/package.json +60 -0
- package/src/log/node_modules/webpack-sources/LICENSE +21 -0
- package/src/log/node_modules/webpack-sources/README.md +228 -0
- package/src/log/node_modules/webpack-sources/lib/CachedSource.js +274 -0
- package/src/log/node_modules/webpack-sources/lib/CompatSource.js +66 -0
- package/src/log/node_modules/webpack-sources/lib/ConcatSource.js +319 -0
- package/src/log/node_modules/webpack-sources/lib/OriginalSource.js +135 -0
- package/src/log/node_modules/webpack-sources/lib/PrefixSource.js +114 -0
- package/src/log/node_modules/webpack-sources/lib/RawSource.js +81 -0
- package/src/log/node_modules/webpack-sources/lib/ReplaceSource.js +467 -0
- package/src/log/node_modules/webpack-sources/lib/SizeOnlySource.js +42 -0
- package/src/log/node_modules/webpack-sources/lib/Source.js +38 -0
- package/src/log/node_modules/webpack-sources/lib/SourceMapSource.js +247 -0
- package/src/log/node_modules/webpack-sources/lib/helpers/createMappingsSerializer.js +206 -0
- package/src/log/node_modules/webpack-sources/lib/helpers/getFromStreamChunks.js +129 -0
- package/src/log/node_modules/webpack-sources/lib/helpers/getGeneratedSourceInfo.js +33 -0
- package/src/log/node_modules/webpack-sources/lib/helpers/getName.js +14 -0
- package/src/log/node_modules/webpack-sources/lib/helpers/getSource.js +17 -0
- package/src/log/node_modules/webpack-sources/lib/helpers/readMappings.js +116 -0
- package/src/log/node_modules/webpack-sources/lib/helpers/splitIntoLines.js +21 -0
- package/src/log/node_modules/webpack-sources/lib/helpers/splitIntoPotentialTokens.js +41 -0
- package/src/log/node_modules/webpack-sources/lib/helpers/streamAndGetSourceAndMap.js +102 -0
- package/src/log/node_modules/webpack-sources/lib/helpers/streamChunks.js +36 -0
- package/src/log/node_modules/webpack-sources/lib/helpers/streamChunksOfCombinedSourceMap.js +329 -0
- package/src/log/node_modules/webpack-sources/lib/helpers/streamChunksOfRawSource.js +34 -0
- package/src/log/node_modules/webpack-sources/lib/helpers/streamChunksOfSourceMap.js +412 -0
- package/src/log/node_modules/webpack-sources/lib/index.js +30 -0
- package/src/log/node_modules/webpack-sources/package.json +58 -0
- package/src/log/node_modules/which/CHANGELOG.md +166 -0
- package/src/log/node_modules/which/LICENSE +15 -0
- package/src/log/node_modules/which/README.md +54 -0
- package/src/log/node_modules/which/bin/node-which +52 -0
- package/src/log/node_modules/which/package.json +43 -0
- package/src/log/node_modules/which/which.js +125 -0
- package/src/log/node_modules/wildcard/.github/workflows/build.yml +24 -0
- package/src/log/node_modules/wildcard/LICENSE +21 -0
- package/src/log/node_modules/wildcard/README.md +88 -0
- package/src/log/node_modules/wildcard/docs.json +9 -0
- package/src/log/node_modules/wildcard/examples/arrays.js +10 -0
- package/src/log/node_modules/wildcard/examples/objects.js +10 -0
- package/src/log/node_modules/wildcard/examples/strings.js +7 -0
- package/src/log/node_modules/wildcard/index.js +114 -0
- package/src/log/node_modules/wildcard/package.json +32 -0
- package/src/log/node_modules/wildcard/test/all.js +3 -0
- package/src/log/node_modules/wildcard/test/arrays.js +33 -0
- package/src/log/node_modules/wildcard/test/objects.js +106 -0
- package/src/log/node_modules/wildcard/test/strings.js +46 -0
- package/src/log/package-lock.json +1361 -0
- package/src/log/package.json +15 -0
- package/src/logger.js +26 -0
- package/src/messages.js +1709 -0
- package/src/routes.js +317 -0
- package/src/schedulers/generateReviewDays.js +45 -0
- package/src/schedulers/generateSlotAndTokenTable.js +152 -0
- package/src/schedulers/revertSettings.js +43 -0
- package/src/server.js +91 -0
- package/src/webSocket.js +11 -0
- package/src/whatsappTokenSteps/cancelSteps.js +153 -0
- package/src/whatsappTokenSteps/reviewSteps.js +282 -0
- package/src/whatsappTokenSteps/tokenSteps.js +958 -0
@@ -0,0 +1,4467 @@
|
|
1
|
+
const conn = require('../server')
|
2
|
+
const log = require("../logger");
|
3
|
+
const { getFinancialYear } = require('../functions/registrationFunctions');
|
4
|
+
const puppeteer = require('puppeteer');
|
5
|
+
const nodemailer = require('nodemailer');
|
6
|
+
const billTemplate = require('../MailTemplates/invoiceTemplate');
|
7
|
+
const dueTemplate = require('../MailTemplates/dueInvoiceTemplate');
|
8
|
+
const Razorpay = require('razorpay');
|
9
|
+
const { dateConvertforDB } = require('../functions/appointmentFunctions');
|
10
|
+
const axios = require('axios');
|
11
|
+
|
12
|
+
|
13
|
+
// fetch pending bills , grouped by patient - name, filenumber, total
|
14
|
+
|
15
|
+
function fetchPendingBills(req, res) {
|
16
|
+
|
17
|
+
let sql
|
18
|
+
sql = `select bill_no, sum(amount) as total, bill_item.patientID,
|
19
|
+
patient_record.phone, patient_record.fileNumber,date,t.typeName,
|
20
|
+
concat_ws(" ", patient_record.firstname, patient_record.middlename,
|
21
|
+
patient_record.lastname) as name,patient_record.credit,patient_record.email
|
22
|
+
from bill_item
|
23
|
+
left join patient_record on patient_record.patientID=bill_item.patientID
|
24
|
+
left join patient_types t on t.typeID=patient_record.type
|
25
|
+
where status="pending" group by bill_item.patientID;`
|
26
|
+
conn.query(sql, (err, results) => {
|
27
|
+
if (err) {
|
28
|
+
console.log(err)
|
29
|
+
res.status(400).json({ error: err.message });
|
30
|
+
}
|
31
|
+
else {
|
32
|
+
|
33
|
+
res.send({ "result": results })
|
34
|
+
}
|
35
|
+
|
36
|
+
});
|
37
|
+
}
|
38
|
+
|
39
|
+
|
40
|
+
// fetch all pending appointments (appointments for which bill items havent been generated) of a patient
|
41
|
+
// lab, physio,procedure, consultation
|
42
|
+
|
43
|
+
function fetchPendingPrescriptionsOfPatient(req, res) {
|
44
|
+
|
45
|
+
let sql = `select p.appointmentID, "PHY" as itemID, calculated_cost as unit_price , p.patientID,
|
46
|
+
1 as qty, false as selected, JSON_OBJECT('label', item_name) as item_name,display_name, category
|
47
|
+
from physio_appointments p
|
48
|
+
left join patient_treatments pt on pt.appointmentID=p.appointmentID
|
49
|
+
left join physio_treatment_rates pr on pt.rate_id=pr.rateID
|
50
|
+
left join items on items.itemID="PHY"
|
51
|
+
where p.appointmentID not in
|
52
|
+
(select appointmentID from bill_item where category="physiotherapy" and appointmentID is not null) and status!="cancelled" and
|
53
|
+
p.date=curdate() and p.patientID=${req.body.data.id} group by p.appointmentID;
|
54
|
+
|
55
|
+
select a.appointmentID,"LAB" as itemID, a.total as unit_price ,
|
56
|
+
a.patientID, 1 as qty,JSON_OBJECT('label', item_name) as item_name,display_name, category,
|
57
|
+
false as selected
|
58
|
+
from lab_appointments a
|
59
|
+
left join patient_lab_test p on p.appointmentID=a.appointmentID
|
60
|
+
left join lab_test l on l.testID=p.testID
|
61
|
+
left join items on items.itemID="LAB"
|
62
|
+
where a.appointmentID not in
|
63
|
+
(select appointmentID from bill_item where category="laboratory" and appointmentID is not null)
|
64
|
+
and a.status!="cancelled" and
|
65
|
+
a.date=curdate() and a.patientID=${req.body.data.id} group by a.appointmentID;
|
66
|
+
|
67
|
+
select p.appointmentID,p.procedureID as itemID,
|
68
|
+
if('${req.body.data.typeName}'="Foreign Patient",l.foreign_rate, l.indian_rate) as unit_price ,
|
69
|
+
a.patientID, 1 as qty, false as selected,JSON_OBJECT('label', item_name) as item_name,display_name,
|
70
|
+
category
|
71
|
+
from procedures_of_appt p
|
72
|
+
left join procedure_appointments a on a.appointmentID=p.appointmentID
|
73
|
+
left join procedure_list l on l.procedureID=p.procedureID
|
74
|
+
left join items on items.itemID=l.procedureID
|
75
|
+
where p.appointmentID not in
|
76
|
+
(select appointmentID from bill_item where category="procedure" and appointmentID is not null)
|
77
|
+
and status!="cancelled" and
|
78
|
+
date=curdate() and a.patientID=${req.body.data.id};
|
79
|
+
|
80
|
+
select d.tokenID as appointmentID,i.itemID,if('${req.body.data.typeName}'="Foreign Patient",foreign_rate, indian_rate)
|
81
|
+
as unit_price , d.patientID, 1 as qty, false as selected, JSON_OBJECT('label', item_name) as item_name,
|
82
|
+
display_name, category
|
83
|
+
from daily_token d
|
84
|
+
left join staff_record s on s.staffID=d.doctorID
|
85
|
+
left join items i on i.itemID=s.longInitials
|
86
|
+
where tokenID not in
|
87
|
+
(select appointmentID from bill_item where category="consultation" and appointmentID is not null)
|
88
|
+
and status!="cancelled" and d.patientID=${req.body.data.id};`
|
89
|
+
|
90
|
+
conn.query(sql, (err, result) => {
|
91
|
+
if (err) {
|
92
|
+
console.log(err)
|
93
|
+
res.status(400).json({ error: err.message });
|
94
|
+
}
|
95
|
+
else {
|
96
|
+
res.send({ "result": [...result[0], ...result[1], ...result[2], ...result[3]] })
|
97
|
+
}
|
98
|
+
|
99
|
+
});
|
100
|
+
}
|
101
|
+
|
102
|
+
// fetch all pending bill items, pending prescriptions and pending dues of a patient
|
103
|
+
|
104
|
+
function fetchPendingBillDetail(req, res) {
|
105
|
+
let sql
|
106
|
+
sql = `select bill_item_id,display_name,qty,unit_price,amount,b.category,appointmentID,
|
107
|
+
${req.body.data.selected} as selected , item_name,b.itemID, "pending" as type
|
108
|
+
from bill_item b
|
109
|
+
left join items i on i.itemID=b.itemID where
|
110
|
+
b.patientID=${req.body.data.id} and status="pending";
|
111
|
+
|
112
|
+
select p.appointmentID, "PHY" as itemID, calculated_cost as unit_price , p.patientID,
|
113
|
+
1 as qty, ${req.body.data.selected} as selected, item_name,display_name, category,
|
114
|
+
"prescription" as type, calculated_cost as amount
|
115
|
+
from physio_appointments p
|
116
|
+
left join patient_treatments pt on pt.appointmentID=p.appointmentID
|
117
|
+
left join physio_treatment_rates pr on pt.rate_id=pr.rateID
|
118
|
+
left join items on items.itemID="PHY"
|
119
|
+
where p.appointmentID not in
|
120
|
+
(select appointmentID from bill_item where category="physiotherapy" and appointmentID is not null) and status!="cancelled" and
|
121
|
+
p.date=curdate() and p.patientID=${req.body.data.id} group by p.appointmentID;
|
122
|
+
|
123
|
+
select a.appointmentID,"LAB" as itemID,
|
124
|
+
a.total as unit_price , a.total as amount,
|
125
|
+
a.patientID, 1 as qty,item_name,display_name, category, "prescription" as type,
|
126
|
+
${req.body.data.selected} as selected
|
127
|
+
from lab_appointments a
|
128
|
+
left join patient_lab_test p on p.appointmentID=a.appointmentID
|
129
|
+
left join lab_test l on l.testID=p.testID
|
130
|
+
left join items on items.itemID="LAB"
|
131
|
+
where a.appointmentID not in
|
132
|
+
(select appointmentID from bill_item where category="laboratory" and appointmentID is not null)
|
133
|
+
and a.status!="cancelled" and
|
134
|
+
a.date=curdate() and a.patientID=${req.body.data.id} group by a.appointmentID;
|
135
|
+
|
136
|
+
select p.appointmentID,p.procedureID as itemID,
|
137
|
+
if('${req.body.data.typeName}'="Foreign Patient",l.foreign_rate, l.indian_rate) as unit_price ,
|
138
|
+
if('${req.body.data.typeName}'="Foreign Patient",l.foreign_rate, l.indian_rate) as amount ,
|
139
|
+
a.patientID, 1 as qty, ${req.body.data.selected} as selected,item_name,display_name, category,
|
140
|
+
"prescription" as type
|
141
|
+
from procedures_of_appt p
|
142
|
+
left join procedure_appointments a on a.appointmentID=p.appointmentID
|
143
|
+
left join procedure_list l on l.procedureID=p.procedureID
|
144
|
+
left join items on items.itemID=l.procedureID
|
145
|
+
where p.appointmentID not in
|
146
|
+
(select appointmentID from bill_item where category="procedure" and appointmentID is not null)
|
147
|
+
and status!="cancelled" and
|
148
|
+
date=curdate() and a.patientID=${req.body.data.id};
|
149
|
+
|
150
|
+
select d.tokenID as appointmentID,i.itemID,if('${req.body.data.typeName}'="Foreign Patient",foreign_rate, indian_rate)
|
151
|
+
as unit_price , if('${req.body.data.typeName}'="Foreign Patient",foreign_rate, indian_rate)
|
152
|
+
as amount, d.patientID, 1 as qty, ${req.body.data.selected} as selected, item_name,display_name,
|
153
|
+
category, "prescription" as type
|
154
|
+
from daily_token d
|
155
|
+
left join staff_record s on s.staffID=d.doctorID
|
156
|
+
left join items i on i.itemID=s.longInitials
|
157
|
+
where tokenID not in
|
158
|
+
(select appointmentID from bill_item where category="consultation" and appointmentID is not null)
|
159
|
+
and status!="cancelled" and d.patientID=${req.body.data.id};
|
160
|
+
|
161
|
+
select sum(due) as total from patient_dues, patient_record
|
162
|
+
where patient_dues.patientID=${req.body.data.id} and status="pending"
|
163
|
+
and patient_record.patientID=patient_dues.patientID
|
164
|
+
group by patient_dues.patientID;`
|
165
|
+
|
166
|
+
conn.query(sql, (err, result) => {
|
167
|
+
if (err) {
|
168
|
+
console.log(err)
|
169
|
+
res.status(400).json({ error: err.message });
|
170
|
+
}
|
171
|
+
else {
|
172
|
+
let pending = []
|
173
|
+
for (var i = 0; i < 5; i++) {
|
174
|
+
if (result[i].length > 0)
|
175
|
+
pending.push(...result[i])
|
176
|
+
}
|
177
|
+
res.send({
|
178
|
+
"pending": pending,
|
179
|
+
"due": result[5].length > 0 ? result[5][0].total : 0
|
180
|
+
})
|
181
|
+
}
|
182
|
+
|
183
|
+
});
|
184
|
+
}
|
185
|
+
|
186
|
+
// fetch list of billing items and list of payment methods
|
187
|
+
function fetchItemsAndPayMethods(req, res) {
|
188
|
+
|
189
|
+
let sql
|
190
|
+
sql = `select itemID as value, item_name as label, display_name,indian_rate,foreign_rate,category ,
|
191
|
+
detailedApplicable
|
192
|
+
from items;
|
193
|
+
select * from pay_method;`
|
194
|
+
conn.query(sql, (err, results) => {
|
195
|
+
if (err) {
|
196
|
+
console.log(err)
|
197
|
+
res.status(400).json({ error: err.message });
|
198
|
+
}
|
199
|
+
else {
|
200
|
+
res.send({ "result": results })
|
201
|
+
}
|
202
|
+
|
203
|
+
});
|
204
|
+
}
|
205
|
+
|
206
|
+
|
207
|
+
// fetch pending dues of a patient - grouped
|
208
|
+
|
209
|
+
function fetchDuesOfPatient(req, res) {
|
210
|
+
let sql
|
211
|
+
sql = `select sum(due) as total, patient_record.* from patient_dues, patient_record
|
212
|
+
where patient_dues.patientID=? and status="pending" and patient_record.patientID=patient_dues.patientID
|
213
|
+
group by patientID;`
|
214
|
+
conn.query(sql, [req.body.data], (err, results) => {
|
215
|
+
if (err) {
|
216
|
+
console.log(err)
|
217
|
+
res.status(400).json({ error: err.message });
|
218
|
+
}
|
219
|
+
else {
|
220
|
+
res.send({ "result": results })
|
221
|
+
}
|
222
|
+
|
223
|
+
});
|
224
|
+
}
|
225
|
+
|
226
|
+
// fetch pending dues of patient - split up
|
227
|
+
|
228
|
+
function fetchDueSplitUpOfPatient(req, res) {
|
229
|
+
let sql
|
230
|
+
|
231
|
+
sql = `select patient_dues.*, patient_record.* from patient_dues, patient_record
|
232
|
+
where patient_dues.patientID=? and status="pending" and patient_record.patientID=patient_dues.patientID;`
|
233
|
+
conn.query(sql, [req.body.data], (err, results) => {
|
234
|
+
if (err) {
|
235
|
+
console.log(err)
|
236
|
+
res.status(400).json({ error: err.message });
|
237
|
+
}
|
238
|
+
else {
|
239
|
+
res.send({ "result": results })
|
240
|
+
}
|
241
|
+
|
242
|
+
});
|
243
|
+
}
|
244
|
+
|
245
|
+
// fetch all pending dues,grouped by patient
|
246
|
+
|
247
|
+
function fetchDues(req, res) {
|
248
|
+
let sql
|
249
|
+
sql = `select sum(due) as total, patient_record.phone, patient_record.fileNumber,patient_record.email,
|
250
|
+
concat_ws(" ", patient_record.firstname, patient_record.middlename,
|
251
|
+
patient_record.lastname) as name, patient_dues.patientID from patient_dues, patient_record
|
252
|
+
where status="pending" and patient_record.patientID=patient_dues.patientID
|
253
|
+
group by patient_dues.patientID;`
|
254
|
+
conn.query(sql, [req.body.data], (err, results) => {
|
255
|
+
if (err) {
|
256
|
+
console.log(err)
|
257
|
+
res.status(400).json({ error: err.message });
|
258
|
+
}
|
259
|
+
else {
|
260
|
+
res.send({ "result": results })
|
261
|
+
}
|
262
|
+
|
263
|
+
});
|
264
|
+
}
|
265
|
+
|
266
|
+
// create bill
|
267
|
+
|
268
|
+
function saveBill(req, res) {
|
269
|
+
let data = req.body.data
|
270
|
+
console.log(data.items)
|
271
|
+
if (!data.flag) { // in case of split bill, this step would already have been performed
|
272
|
+
/*
|
273
|
+
if pending dues have been included in the bill, but the patient has again paid less than or equal
|
274
|
+
to the total without due, it is equivalent to the dues not being included in the bill
|
275
|
+
eg : if total_without_due=200,dues=100,grand_total=300. if patient pays <=200, no pending dues
|
276
|
+
have been cleared so update value of total and includeDue flag accordingly
|
277
|
+
*/
|
278
|
+
data.includeDue = data.includeDue && data.due > 0 &&
|
279
|
+
data.paid_amt <= data.total_without_due ? false : data.includeDue
|
280
|
+
data.total = data.includeDue ? data.total : data.total_without_due
|
281
|
+
}
|
282
|
+
let sql
|
283
|
+
|
284
|
+
// if (data.billNo) //1- if a draft is being saved as a bill, it will already have a bill no, so update
|
285
|
+
|
286
|
+
// sql = `update bill set patientID=?,total=?,received_amt=?,included_due_amt=?,discount=?,date=now(),
|
287
|
+
// included_advance=?, status="paid" where bill_no='${data.billNo}';`
|
288
|
+
|
289
|
+
// else
|
290
|
+
|
291
|
+
//1- otherwise, if new bill, insert entry
|
292
|
+
|
293
|
+
sql = `insert into bill(patientID, total,received_amt,included_due_amt,discount,date,
|
294
|
+
included_advance,status,creator) values (?,?,?,?,?,now(),?,"paid",?);
|
295
|
+
select last_insert_id() as billID;`
|
296
|
+
|
297
|
+
// for generating bill no
|
298
|
+
if (data.type == "pharmacy")
|
299
|
+
sql += `select max(pharmacy_bill_id) as id from bill;
|
300
|
+
select value from general_settings where name="pharmacy_number_start";`
|
301
|
+
|
302
|
+
else
|
303
|
+
sql += `select max(treatment_bill_id) as id from bill;
|
304
|
+
select value from general_settings where name="treatment_number_start";`
|
305
|
+
|
306
|
+
|
307
|
+
//2- if advance has been used, reduce it from the patient's credit
|
308
|
+
|
309
|
+
sql += `update patient_record set credit=credit-${data.advance}
|
310
|
+
where patientID=${data.patient.patientID};`
|
311
|
+
|
312
|
+
//3- if balance is to be saved as credit, add it to the patient's credit
|
313
|
+
|
314
|
+
if (data.saveBalance) {
|
315
|
+
sql += `update patient_record set credit=credit+${data.balance}
|
316
|
+
where patientID=${data.patient.patientID};`
|
317
|
+
}
|
318
|
+
|
319
|
+
//1,2,3
|
320
|
+
conn.query(sql, [data.patient.patientID, data.total, data.paid_amt,
|
321
|
+
data.includeDue ? data.due : null, data.discount, data.advance, data.creator],
|
322
|
+
(err, results) => {
|
323
|
+
if (err) {
|
324
|
+
console.log(err)
|
325
|
+
res.status(400).json({ error: err.message });
|
326
|
+
}
|
327
|
+
else {
|
328
|
+
|
329
|
+
// generate bill no - BYY-XXXX, where YY is last 2 digits of current year and XXXX is bill no
|
330
|
+
// eg : B23-1001
|
331
|
+
|
332
|
+
// let bill_no = data.billNo ? data.billNo :
|
333
|
+
// data.type == "pharmacy" ? `P${getFinancialYear(new Date)}-${results[1][0].billID}` :
|
334
|
+
// `B${getFinancialYear(new Date)}-${results[1][0].billID}`;
|
335
|
+
|
336
|
+
let bill_no = ""
|
337
|
+
let num
|
338
|
+
if (!results[2][0]?.id)
|
339
|
+
num = results[3][0].value
|
340
|
+
else
|
341
|
+
num = parseInt(results[2][0].id) + 1
|
342
|
+
|
343
|
+
bill_no = data.type == "pharmacy" ? `P${getFinancialYear(new Date)}-${num}` :
|
344
|
+
`B${getFinancialYear(new Date)}-${num}`;
|
345
|
+
// mail invoice to patient
|
346
|
+
// (async () => {
|
347
|
+
|
348
|
+
// const htmlContent = billTemplate({
|
349
|
+
// bill_no: bill_no,
|
350
|
+
// patient: data.patient,
|
351
|
+
// items: data.items,
|
352
|
+
// due: data.due,
|
353
|
+
// discount: data.discount,
|
354
|
+
// total: data.subtotal,
|
355
|
+
// grand_total: data.total,
|
356
|
+
// advance: data.advance,
|
357
|
+
// paid: data.paid,
|
358
|
+
// balance: data.balance
|
359
|
+
// })
|
360
|
+
// // Launch a headless browser with Puppeteer
|
361
|
+
// const browser = await puppeteer.launch();
|
362
|
+
// const page = await browser.newPage();
|
363
|
+
|
364
|
+
// // Set the HTML content of the page and wait for it to load
|
365
|
+
// await page.setContent(htmlContent, { waitUntil: 'networkidle0' });
|
366
|
+
|
367
|
+
// // Generate a PDF of the page
|
368
|
+
// const pdfBuffer = await page.pdf();
|
369
|
+
|
370
|
+
// // Close the browser
|
371
|
+
// await browser.close();
|
372
|
+
|
373
|
+
// // Create a Nodemailer transport object
|
374
|
+
// let transporter = nodemailer.createTransport({
|
375
|
+
// host: 'smtp.gmail.com',
|
376
|
+
// port: 587,
|
377
|
+
// secure: false,
|
378
|
+
// auth: {
|
379
|
+
// user: 'athirageorge288@gmail.com',
|
380
|
+
// pass: 'dcduzmfnpunmmfhw'
|
381
|
+
// }
|
382
|
+
// });
|
383
|
+
|
384
|
+
// // Create a message object with the PDF attachment
|
385
|
+
// let message = {
|
386
|
+
// from: 'athirageorge288@gmail.com',
|
387
|
+
// to: 'athirageorge288@gmail.com',
|
388
|
+
// subject: 'PDF attachment',
|
389
|
+
// text: 'Please find attached the receipt for your payment',
|
390
|
+
// attachments: [{
|
391
|
+
// filename: 'Invoice.pdf',
|
392
|
+
// content: pdfBuffer
|
393
|
+
// }]
|
394
|
+
// };
|
395
|
+
|
396
|
+
// // Send the message with Nodemailer
|
397
|
+
// let info = await transporter.sendMail(message);
|
398
|
+
// console.log('Message sent: %s', info.messageId);
|
399
|
+
// })();
|
400
|
+
|
401
|
+
//1- store bill details as a stringified object against its bill no - for use in editing
|
402
|
+
sql = ``
|
403
|
+
|
404
|
+
// if (data.id) // if draft, delete existing entry
|
405
|
+
// sql = `delete from temp_bill_details where bill_id=${data.id};`
|
406
|
+
|
407
|
+
// sql += `insert into temp_bill_details(bill_no,bill_detail) values(?,?);`
|
408
|
+
|
409
|
+
//2- if new bill, update bill entry with the generated bill no
|
410
|
+
|
411
|
+
// if (!data.billNo)
|
412
|
+
sql += `update bill set bill_no='${bill_no}',
|
413
|
+
pharmacy_bill_id=${data.type == "pharmacy" ? num : null},
|
414
|
+
treatment_bill_id=${data.type == "treatment" ? num : null}
|
415
|
+
where billID=${results[1][0].billID};`
|
416
|
+
|
417
|
+
//3- store bill no of treatment bill as reference againt pharmacy bill
|
418
|
+
if (data.bill_ref)
|
419
|
+
sql += `update bill set main_bill_ref='${bill_no}' where bill_no='${data.bill_ref}';`
|
420
|
+
|
421
|
+
//4- insert or update bill items with unit_price, amount,qty,etc
|
422
|
+
|
423
|
+
for (var i = 0; i < data.items.length; i++) {
|
424
|
+
if (data.items[i].bill_item_id) { // update existing bill items
|
425
|
+
|
426
|
+
sql += `update bill_item set bill_no='${bill_no}',itemID='${data.items[i].itemID}',
|
427
|
+
qty=${data.items[i].qty}, unit_price=${data.items[i].unit_price}, amount=${data.items[i].amount},
|
428
|
+
status="cleared" where bill_item_id=${data.items[i].bill_item_id};`
|
429
|
+
}
|
430
|
+
else { // insert new bill items
|
431
|
+
|
432
|
+
sql += `insert into bill_item (bill_no,itemID,patientID,qty,unit_price,amount,status,
|
433
|
+
category,appointmentID) values
|
434
|
+
('${bill_no}','${data.items[i].itemID}',${data.patient.patientID},${data.items[i].qty},
|
435
|
+
${data.items[i].unit_price},${data.items[i].amount},"cleared",
|
436
|
+
(select category from items where itemID='${data.items[i].itemID}'),
|
437
|
+
${data.items[i].appointmentID ? data.items[i].appointmentID : null});`
|
438
|
+
}
|
439
|
+
}
|
440
|
+
|
441
|
+
//5- insert recieved payments (amount and mode)
|
442
|
+
|
443
|
+
let pay_method = Object.keys(data.paid)
|
444
|
+
let flag = 0
|
445
|
+
for (var i = 0; i < pay_method.length; i++) {
|
446
|
+
let amt = data.paid[pay_method[i]]
|
447
|
+
if (amt != "") {
|
448
|
+
/*
|
449
|
+
if the patient has paid more than required, then the balance is not included in
|
450
|
+
received payments and must be reduced from it. eg : if total is 250 and patient has
|
451
|
+
paid 200 by cash and 100 by card, balance is 50 rs. this 50 is reduced from the
|
452
|
+
cash payment and thus received amount is 150 by cash and 100 by card
|
453
|
+
*/
|
454
|
+
if (amt >= data.balance && !flag) {
|
455
|
+
amt -= data.balance
|
456
|
+
flag = 1
|
457
|
+
}
|
458
|
+
sql += `insert into bill_payment_method(bill_no,pay_method,amount,type,date,patientID,
|
459
|
+
creator)
|
460
|
+
values('${bill_no}', '${pay_method[i]}',${amt},"bill",now(), ${data.patient.patientID},
|
461
|
+
${data.creator});`
|
462
|
+
}
|
463
|
+
}
|
464
|
+
|
465
|
+
//6- if balance is saved as credit, insert payment entry of type "advance"
|
466
|
+
if (data.saveBalance) {
|
467
|
+
|
468
|
+
sql += `insert into bill_payment_method(bill_no,pay_method,amount,type,date, patientID,
|
469
|
+
creator)
|
470
|
+
VALUES ('${bill_no}', "Cash", ${data.balance}, "advance", now(), ${data.patient.patientID},
|
471
|
+
${data.creator});`
|
472
|
+
}
|
473
|
+
|
474
|
+
//7- select inserted bill items for modifying stringified object
|
475
|
+
sql += `SELECT qty,amount,bill_item.itemID,display_name,unit_price,bill_item.category,
|
476
|
+
true as selected,JSON_OBJECT('label', item_name) AS item_name,bill_item_id,appointmentID
|
477
|
+
FROM sgmc_db.bill_item,items where items.itemID=bill_item.itemID and bill_no='${bill_no}';`
|
478
|
+
|
479
|
+
|
480
|
+
//1,2,3,4,5,6,7
|
481
|
+
conn.query(sql, [bill_no, JSON.stringify(data)], (err, results) => {
|
482
|
+
if (err) {
|
483
|
+
console.log(err)
|
484
|
+
res.status(400).json({ error: err.message });
|
485
|
+
}
|
486
|
+
else {
|
487
|
+
sql = ``
|
488
|
+
data.items = results[results.length - 1]
|
489
|
+
if (data.id) // if draft, delete existing entry
|
490
|
+
sql = `delete from temp_bill_details where bill_id=${data.id};`
|
491
|
+
|
492
|
+
sql += `insert into temp_bill_details(bill_no,bill_detail) values(?,?);`
|
493
|
+
|
494
|
+
|
495
|
+
conn.query(sql, [bill_no, JSON.stringify(data)], (err, results) => {
|
496
|
+
if (err) {
|
497
|
+
console.log(err)
|
498
|
+
res.status(400).json({ error: err.message });
|
499
|
+
}
|
500
|
+
else {
|
501
|
+
// due calculations
|
502
|
+
|
503
|
+
|
504
|
+
// if there were pending dues that have been cleared in the bill
|
505
|
+
if (data.includeDue && data.due > 0) {
|
506
|
+
// if (data.paid_amt < data.total_without_due) {
|
507
|
+
|
508
|
+
// sql = `insert into patient_dues(patientID, due,status,bill_no,date) values
|
509
|
+
// (?,?,"pending",?,now());`
|
510
|
+
|
511
|
+
// conn.query(sql, [data.patient.patientID, data.total_without_due - data.paid_amt, bill_no],
|
512
|
+
// (err, results) => {
|
513
|
+
// if (err) {
|
514
|
+
// console.log(err)
|
515
|
+
// res.status(400).json({ error: err.message });
|
516
|
+
// }
|
517
|
+
// else {
|
518
|
+
// res.send({ result: bill_no })
|
519
|
+
// }
|
520
|
+
|
521
|
+
// });
|
522
|
+
|
523
|
+
// }
|
524
|
+
|
525
|
+
//1- if only part of the dues have been cleared
|
526
|
+
if (data.paid_amt > data.total_without_due && data.paid_amt < data.total) {
|
527
|
+
sql = `select * from patient_dues where patientID=? and status="pending";`
|
528
|
+
|
529
|
+
conn.query(sql, [data.patient.patientID], (err, results) => {
|
530
|
+
if (err) {
|
531
|
+
console.log(err)
|
532
|
+
res.status(400).json({ error: err.message });
|
533
|
+
}
|
534
|
+
else {
|
535
|
+
sql = ``
|
536
|
+
// paid_due_amt is the amount of due that has been cleared
|
537
|
+
let paid_due_amt = data.paid_amt - data.total_without_due
|
538
|
+
|
539
|
+
/*
|
540
|
+
2-set those due entries as cleared whose amounts are within the
|
541
|
+
paid_due_amt
|
542
|
+
eg : if bill total_without_due=200,dues=100, grand_total=300
|
543
|
+
if patient has paid 260, 60 rs of due is cleared while
|
544
|
+
40 rs remains as due
|
545
|
+
*/
|
546
|
+
for (var i = 0; i < results.length; i++) {
|
547
|
+
if (paid_due_amt > 0) {
|
548
|
+
|
549
|
+
if (results[i].due <= paid_due_amt) { // fully cleared
|
550
|
+
|
551
|
+
sql += `update patient_dues set status="cleared",
|
552
|
+
cleared_date=now() , clearedBy=${data.creator}
|
553
|
+
where dueID=${results[i].dueID};`
|
554
|
+
|
555
|
+
}
|
556
|
+
|
557
|
+
else { // partially cleared - update amount with remaining
|
558
|
+
|
559
|
+
sql += `update patient_dues set
|
560
|
+
due=${results[i].due - paid_due_amt}
|
561
|
+
where dueID=${results[i].dueID};`
|
562
|
+
}
|
563
|
+
paid_due_amt = paid_due_amt - results[i].due
|
564
|
+
}
|
565
|
+
}
|
566
|
+
|
567
|
+
//1,2
|
568
|
+
conn.query(sql, (err, results) => {
|
569
|
+
if (err) {
|
570
|
+
console.log(err)
|
571
|
+
res.status(400).json({ error: err.message });
|
572
|
+
}
|
573
|
+
else {
|
574
|
+
|
575
|
+
res.send({ result: bill_no })
|
576
|
+
}
|
577
|
+
})
|
578
|
+
}
|
579
|
+
|
580
|
+
});
|
581
|
+
|
582
|
+
}
|
583
|
+
|
584
|
+
//1- if dues have been fully cleared, update status of all patient dues as cleared
|
585
|
+
|
586
|
+
else if (data.paid_amt >= data.total) {
|
587
|
+
sql = `update patient_dues set status="cleared",cleared_date=now() ,
|
588
|
+
clearedBy=${data.creator} where patientID=?`
|
589
|
+
|
590
|
+
// 1
|
591
|
+
conn.query(sql, [data.patient.patientID],
|
592
|
+
(err, results) => {
|
593
|
+
if (err) {
|
594
|
+
console.log(err)
|
595
|
+
res.status(400).json({ error: err.message });
|
596
|
+
}
|
597
|
+
else {
|
598
|
+
res.send({ result: bill_no })
|
599
|
+
}
|
600
|
+
|
601
|
+
});
|
602
|
+
|
603
|
+
}
|
604
|
+
// if patient has paid only total_without_due - no dues cleared
|
605
|
+
// eg : if total_without_due=200, due=100, grand_total=300 and patient pays 200
|
606
|
+
else
|
607
|
+
res.send({ result: bill_no })
|
608
|
+
}
|
609
|
+
|
610
|
+
// if no dues exist, or pending dues have not been included in the bill
|
611
|
+
else {
|
612
|
+
|
613
|
+
//1- if paid_amt is less than the total_without_due, a new due gets created
|
614
|
+
|
615
|
+
if (data.paid_amt < data.total_without_due) {
|
616
|
+
|
617
|
+
sql = `insert into patient_dues(patientID, due,status,bill_no,date) values
|
618
|
+
(?,?,"pending",?,now());`
|
619
|
+
|
620
|
+
// 1
|
621
|
+
conn.query(sql, [data.patient.patientID, data.total_without_due - data.paid_amt, bill_no],
|
622
|
+
(err, results) => {
|
623
|
+
if (err) {
|
624
|
+
console.log(err)
|
625
|
+
res.status(400).json({ error: err.message });
|
626
|
+
}
|
627
|
+
else {
|
628
|
+
res.send({ result: bill_no })
|
629
|
+
}
|
630
|
+
|
631
|
+
});
|
632
|
+
|
633
|
+
}
|
634
|
+
else // otherwise no change
|
635
|
+
|
636
|
+
res.send({ result: bill_no })
|
637
|
+
}
|
638
|
+
}
|
639
|
+
})
|
640
|
+
}
|
641
|
+
})
|
642
|
+
}
|
643
|
+
});
|
644
|
+
}
|
645
|
+
|
646
|
+
|
647
|
+
function savePharmacyBill(req, res) {
|
648
|
+
|
649
|
+
let data = req.body.data
|
650
|
+
data.includeDue = data.includeDue && data.due > 0 &&
|
651
|
+
data.paid_amt <= data.total_without_due ? false : data.includeDue
|
652
|
+
data.total = data.includeDue ? data.total : data.total_without_due
|
653
|
+
|
654
|
+
let treatment_total = data.treatment_total
|
655
|
+
let pharmacy_total = data.pharmacy_total
|
656
|
+
|
657
|
+
let treatment = {
|
658
|
+
patient: data.patient,
|
659
|
+
items: data.items.filter(i => i.category != "pharmacy"),
|
660
|
+
due: data.due,
|
661
|
+
includeDue: data.includeDue,
|
662
|
+
subtotal: data.treatment_total,
|
663
|
+
creator: data.creator,
|
664
|
+
saveBalance: data.saveBalance,
|
665
|
+
flag: true,
|
666
|
+
type: "treatment",
|
667
|
+
id: data.id
|
668
|
+
}
|
669
|
+
|
670
|
+
let pharmacy = {
|
671
|
+
patient: data.patient,
|
672
|
+
items: data.items.filter(i => i.category == "pharmacy"),
|
673
|
+
due: 0,
|
674
|
+
includeDue: false,
|
675
|
+
subtotal: data.pharmacy_total,
|
676
|
+
creator: data.creator,
|
677
|
+
saveBalance: data.saveBalance,
|
678
|
+
flag: true,
|
679
|
+
type: "pharmacy",
|
680
|
+
id: data.id
|
681
|
+
}
|
682
|
+
|
683
|
+
if (data.advance) {
|
684
|
+
if (pharmacy_total <= data.advance)
|
685
|
+
pharmacy.advance = pharmacy_total
|
686
|
+
else
|
687
|
+
pharmacy.advance = data.advance
|
688
|
+
pharmacy_total = pharmacy_total - pharmacy.advance >= 0 ? pharmacy_total - pharmacy.advance : 0
|
689
|
+
|
690
|
+
if (data.advance - pharmacy.advance > 0) {
|
691
|
+
treatment.advance = data.advance - pharmacy.advance
|
692
|
+
treatment_total = treatment_total - treatment.advance >= 0 ?
|
693
|
+
treatment_total - treatment.advance : 0
|
694
|
+
}
|
695
|
+
else treatment.advance = null
|
696
|
+
|
697
|
+
}
|
698
|
+
else {
|
699
|
+
pharmacy.advance = null
|
700
|
+
treatment.advance = null
|
701
|
+
}
|
702
|
+
|
703
|
+
if (data.discount) {
|
704
|
+
if (pharmacy_total > 0) {
|
705
|
+
if (pharmacy_total <= data.discount)
|
706
|
+
pharmacy.discount = pharmacy_total
|
707
|
+
else
|
708
|
+
pharmacy.discount = data.discount
|
709
|
+
pharmacy_total = pharmacy_total - pharmacy.discount >= 0 ? pharmacy_total - pharmacy.discount
|
710
|
+
: 0
|
711
|
+
|
712
|
+
|
713
|
+
if (data.discount - pharmacy.discount > 0) {
|
714
|
+
treatment.discount = data.discount - pharmacy.discount
|
715
|
+
treatment_total = treatment_total - treatment.discount >= 0 ?
|
716
|
+
treatment_total - treatment.discount : 0
|
717
|
+
}
|
718
|
+
else treatment.discount = 0
|
719
|
+
}
|
720
|
+
}
|
721
|
+
|
722
|
+
else {
|
723
|
+
pharmacy.discount = 0
|
724
|
+
treatment.discount = 0
|
725
|
+
}
|
726
|
+
|
727
|
+
pharmacy.total = data.pharmacy_total + pharmacy.due - pharmacy.advance - pharmacy.discount
|
728
|
+
treatment.total = data.treatment_total + treatment.due - treatment.advance - treatment.discount
|
729
|
+
pharmacy.total_without_due = pharmacy.total
|
730
|
+
treatment.total_without_due = treatment.includeDue ? treatment.total - treatment.due : treatment.total
|
731
|
+
|
732
|
+
if (data.paid_amt) {
|
733
|
+
if (pharmacy.total <= data.paid_amt)
|
734
|
+
pharmacy.paid_amt = pharmacy_total
|
735
|
+
else
|
736
|
+
pharmacy.paid_amt = data.paid_amt
|
737
|
+
pharmacy.balance = 0
|
738
|
+
|
739
|
+
if (data.paid_amt - pharmacy.paid_amt > 0) {
|
740
|
+
|
741
|
+
let remaining_paid_amt = data.paid_amt - pharmacy.paid_amt
|
742
|
+
treatment.balance = remaining_paid_amt > treatment.total ?
|
743
|
+
remaining_paid_amt - treatment.total : 0
|
744
|
+
treatment.paid_amt = data.paid_amt - pharmacy.paid_amt > treatment.total ?
|
745
|
+
treatment.total : data.paid_amt - pharmacy.paid_amt
|
746
|
+
|
747
|
+
}
|
748
|
+
}
|
749
|
+
else {
|
750
|
+
pharmacy.paid_amt = 0
|
751
|
+
treatment.paid_amt = 0
|
752
|
+
pharmacy.balance = 0
|
753
|
+
treatment.balance = 0
|
754
|
+
}
|
755
|
+
|
756
|
+
treatment.paid = {}
|
757
|
+
pharmacy.paid = {}
|
758
|
+
pharmacy_total = pharmacy.total
|
759
|
+
treatment_total = treatment.total
|
760
|
+
let mode = Object.keys(data.paid)
|
761
|
+
let flag = 0
|
762
|
+
for (var i = 0; i < mode.length; i++) {
|
763
|
+
if (pharmacy_total > 0) {
|
764
|
+
if (data.paid[mode[i]] <= pharmacy_total) {
|
765
|
+
pharmacy.paid[mode[i]] = data.paid[mode[i]]
|
766
|
+
pharmacy_total = pharmacy_total - data.paid[mode[i]]
|
767
|
+
}
|
768
|
+
else {
|
769
|
+
pharmacy.paid[mode[i]] = pharmacy_total
|
770
|
+
pharmacy_total = 0
|
771
|
+
}
|
772
|
+
}
|
773
|
+
if (!pharmacy.paid[mode[i]] || data.paid[mode[i]] - pharmacy.paid[mode[i]] > 0) {
|
774
|
+
let amt = pharmacy.paid[mode[i]] ?
|
775
|
+
data.paid[mode[i]] - pharmacy.paid[mode[i]] : data.paid[mode[i]]
|
776
|
+
if (amt >= data.balance && !flag) {
|
777
|
+
amt -= data.balance
|
778
|
+
flag = 1
|
779
|
+
}
|
780
|
+
treatment.paid[mode[i]] = amt
|
781
|
+
}
|
782
|
+
}
|
783
|
+
|
784
|
+
|
785
|
+
|
786
|
+
console.log(pharmacy)
|
787
|
+
console.log(treatment)
|
788
|
+
axios.post('http://localhost:6448/billing/bill/save', { data: pharmacy })
|
789
|
+
.then(response => {
|
790
|
+
let bill_no = response.data.result
|
791
|
+
treatment.bill_ref = bill_no // to update pharmacy bill with reference of treatment bill
|
792
|
+
axios.post('http://localhost:6448/billing/bill/save', { data: treatment })
|
793
|
+
.then(response => {
|
794
|
+
const result = response.data.result;
|
795
|
+
// Process the result from the secondary API
|
796
|
+
// ...
|
797
|
+
|
798
|
+
res.send({ result: result });
|
799
|
+
})
|
800
|
+
.catch(error => {
|
801
|
+
console.log(error)
|
802
|
+
res.status(500).json({ error: 'An error occurred' });
|
803
|
+
});
|
804
|
+
|
805
|
+
})
|
806
|
+
.catch(error => {
|
807
|
+
console.log(error)
|
808
|
+
res.status(500).json({ error: 'An error occurred' });
|
809
|
+
});
|
810
|
+
|
811
|
+
}
|
812
|
+
|
813
|
+
// create bill and send razorpay link (in case of upi payments)
|
814
|
+
|
815
|
+
function saveBillWithLink(req, res) {
|
816
|
+
let data = req.body.data
|
817
|
+
|
818
|
+
/*
|
819
|
+
if pending dues have been included in the bill, but the patient has again paid less than or equal
|
820
|
+
to the total without due, it is equivalent to the dues not being included in the bill
|
821
|
+
eg : if total_without_due=200,dues=100,grand_total=300. if patient pays <=200, no pending dues
|
822
|
+
have been cleared so update value of total and includeDue flag accordingly
|
823
|
+
*/
|
824
|
+
data.includeDue = data.includeDue && data.due > 0 &&
|
825
|
+
data.paid_amt <= data.total_without_due ? false : data.includeDue
|
826
|
+
data.total = data.includeDue ? data.total : data.total_without_due
|
827
|
+
|
828
|
+
let sql
|
829
|
+
// since upi payment will only be completed after user clicks and pays through the link, only
|
830
|
+
//cash or card payments are updated here
|
831
|
+
|
832
|
+
//1- if a draft is being saved as a bill, it will already have a bill no, so update
|
833
|
+
|
834
|
+
// if (data.billNo)
|
835
|
+
// sql = `update bill set patientID=?,total=?,received_amt=?,included_due_amt=?,discount=?,date=now(),
|
836
|
+
// included_advance=?, status=? where bill_no='${data.billNo}';`
|
837
|
+
|
838
|
+
// //1- otherwise if new bill, insert an entry
|
839
|
+
// else
|
840
|
+
sql = `insert into bill(patientID, total,received_amt,included_due_amt,discount,date,
|
841
|
+
included_advance,status,creator) values (?,?,?,?,?,now(),?,?, ?);
|
842
|
+
select last_insert_id() as billID;`
|
843
|
+
|
844
|
+
|
845
|
+
// for generating bill no
|
846
|
+
if (data.type == "pharmacy") {
|
847
|
+
sql += `select max(pharmacy_bill_id) as id from bill;
|
848
|
+
select value from general_settings where name="pharmacy_number_start";`
|
849
|
+
}
|
850
|
+
else {
|
851
|
+
sql += `select max(treatment_bill_id) as id from bill;
|
852
|
+
select value from general_settings where name="treatment_number_start";`
|
853
|
+
}
|
854
|
+
// 1
|
855
|
+
conn.query(sql, [data.patient.patientID, data.total, data.paid_amt - data.paid["UPI"] < 0 ? 0 :
|
856
|
+
data.paid_amt - data.paid["UPI"], data.includeDue ? data.due : null, data.discount, data.advance,
|
857
|
+
data.paid_amt - data.paid["UPI"] > 0 ? "partially paid" : "unpaid", data.creator],
|
858
|
+
(err, results) => {
|
859
|
+
if (err) {
|
860
|
+
console.log(err)
|
861
|
+
res.status(400).json({ error: err.message });
|
862
|
+
}
|
863
|
+
else {
|
864
|
+
|
865
|
+
// generate bill no - BYY-XXXX where YY is last 2 digits of current yer
|
866
|
+
// XXXX is billID- eg : B23-1001
|
867
|
+
// let bill_no = data.billNo ? data.billNo : data.type == "pharmacy" ?
|
868
|
+
// `P${getFinancialYear(new Date)}-${results[1][0].billID}` :
|
869
|
+
// `B${getFinancialYear(new Date)}-${results[1][0].billID}`
|
870
|
+
|
871
|
+
let bill_no = ""
|
872
|
+
let num
|
873
|
+
if (!results[2][0]?.id)
|
874
|
+
num = results[3][0].value
|
875
|
+
else
|
876
|
+
num = parseInt(results[2][0].id) + 1
|
877
|
+
|
878
|
+
bill_no = data.type == "pharmacy" ? `P${getFinancialYear(new Date)}-${num}` :
|
879
|
+
`B${getFinancialYear(new Date)}-${num}`
|
880
|
+
|
881
|
+
sql = ``
|
882
|
+
//1-store stringified form of bill details for editing and updation after link payment
|
883
|
+
|
884
|
+
// if (data.id) // if draft, delete existing entry
|
885
|
+
// sql = `delete from temp_bill_details where bill_id=${data.id};`
|
886
|
+
|
887
|
+
// sql += `insert into temp_bill_details(bill_no,bill_detail) values(?,?);`
|
888
|
+
|
889
|
+
//2- if new bill, update the generated bill no in table
|
890
|
+
// if (!data.billNo)
|
891
|
+
sql += `update bill set bill_no='${bill_no}',
|
892
|
+
treatment_bill_id=${data.type == "treatment" ? num : null},
|
893
|
+
pharmacy_bill_id=${data.type == "pharmacy" ? num : null}
|
894
|
+
where billID=${results[1][0].billID};`
|
895
|
+
|
896
|
+
/*3- insert or update bill items with unit_price, amount,qty,etc and status as "billed"
|
897
|
+
status will be set as "cleared" only after link payment is complete
|
898
|
+
*/
|
899
|
+
for (var i = 0; i < data.items.length; i++) {
|
900
|
+
if (data.items[i].bill_item_id) {
|
901
|
+
sql += `update bill_item set bill_no='${bill_no}',itemID='${data.items[i].itemID}',
|
902
|
+
qty=${data.items[i].qty}, unit_price=${data.items[i].unit_price}, amount=${data.items[i].amount},
|
903
|
+
status="billed" where bill_item_id=${data.items[i].bill_item_id};`
|
904
|
+
}
|
905
|
+
else { // insert new bill items
|
906
|
+
|
907
|
+
sql += `insert into bill_item (bill_no,itemID,patientID,qty,unit_price,amount,
|
908
|
+
status, category,appointmentID) values
|
909
|
+
('${bill_no}','${data.items[i].itemID}',${data.patient.patientID},
|
910
|
+
${data.items[i].qty},${data.items[i].unit_price},${data.items[i].amount},
|
911
|
+
"billed",(select category from items where itemID='${data.items[i].itemID}'),
|
912
|
+
${data.items[i].appointmentID ? data.items[i].appointmentID : null});`
|
913
|
+
}
|
914
|
+
}
|
915
|
+
|
916
|
+
//4- insert payment details except UPI payment
|
917
|
+
let pay_method = Object.keys(data.paid)
|
918
|
+
let flag = 0
|
919
|
+
for (var i = 0; i < pay_method.length; i++) {
|
920
|
+
let amt = data.paid[pay_method[i]]
|
921
|
+
if (amt != "" && pay_method[i] != "UPI") {
|
922
|
+
if (amt >= data.balance && !flag) {
|
923
|
+
/*
|
924
|
+
if the patient has paid more than required, then the balance is not included in
|
925
|
+
received payments and must be reduced from it. eg : if total is 250 and patient has
|
926
|
+
paid 200 by cash and 100 by card, balance is 50 rs. this 50 is reduced from the
|
927
|
+
cash payment and thus received amount is 150 by cash and 100 by card
|
928
|
+
*/
|
929
|
+
amt -= data.balance
|
930
|
+
flag = 1
|
931
|
+
}
|
932
|
+
sql += `insert into bill_payment_method(bill_no,pay_method,amount,type,date,
|
933
|
+
patientID, creator)
|
934
|
+
values('${bill_no}', '${pay_method[i]}',${amt},"bill",now(),
|
935
|
+
${data.patient.patientID}, ${data.creator});`
|
936
|
+
}
|
937
|
+
}
|
938
|
+
|
939
|
+
//5- select inserted bill items for modifying stringified object
|
940
|
+
sql += `SELECT qty,amount,bill_item.itemID,display_name,unit_price,bill_item.category,
|
941
|
+
true as selected,JSON_OBJECT('label', item_name) AS item_name,bill_item_id,appointmentID
|
942
|
+
FROM sgmc_db.bill_item,items where items.itemID=bill_item.itemID and bill_no='${bill_no}';`
|
943
|
+
console.log(data.patient.email)
|
944
|
+
//1,2,3,4,5
|
945
|
+
conn.query(sql, [bill_no, JSON.stringify(data)], (err, results) => {
|
946
|
+
if (err) {
|
947
|
+
console.log(err)
|
948
|
+
res.status(400).json({ error: err.message });
|
949
|
+
}
|
950
|
+
else {
|
951
|
+
|
952
|
+
// send razorpay link with upi amount
|
953
|
+
var instance = new Razorpay({
|
954
|
+
key_id: 'rzp_test_GZJNmMcw3mM77Q',
|
955
|
+
key_secret: 'OYBZ8SVAjz8a54Yn9oz4xJMw'
|
956
|
+
})
|
957
|
+
|
958
|
+
|
959
|
+
instance.paymentLink.create({
|
960
|
+
amount: parseFloat(data.paid["UPI"]) * 100,
|
961
|
+
currency: "INR",
|
962
|
+
accept_partial: false,
|
963
|
+
reference_id: bill_no,
|
964
|
+
description: "Bill",
|
965
|
+
customer: {
|
966
|
+
name: data.patient.name,
|
967
|
+
email: data.patient.email,
|
968
|
+
contact: data.altPhone
|
969
|
+
},
|
970
|
+
notify: {
|
971
|
+
sms: true,
|
972
|
+
email: true
|
973
|
+
},
|
974
|
+
reminder_enable: true,
|
975
|
+
notes: {
|
976
|
+
bill_no,
|
977
|
+
mode: "new",
|
978
|
+
creator: data.creator
|
979
|
+
},
|
980
|
+
|
981
|
+
}).then(r => {
|
982
|
+
// store payment link against bill in case resend is required
|
983
|
+
sql = `update bill set payment_link=? where bill_no='${bill_no}';`
|
984
|
+
|
985
|
+
// update items of data object with items selected from db (to ensure that
|
986
|
+
// each item has a unique id)
|
987
|
+
|
988
|
+
data.items = results[results.length - 1]
|
989
|
+
if (data.id) // if draft, delete existing entry
|
990
|
+
sql += `delete from temp_bill_details where bill_id=${data.id};`
|
991
|
+
|
992
|
+
sql += `insert into temp_bill_details(bill_no,bill_detail) values(?,?);`
|
993
|
+
|
994
|
+
|
995
|
+
conn.query(sql, [r.id, bill_no, JSON.stringify(data)], (err, results) => {
|
996
|
+
if (err) {
|
997
|
+
console.log(err)
|
998
|
+
res.status(400).json({ error: err.message });
|
999
|
+
}
|
1000
|
+
else {
|
1001
|
+
res.send({ result: r.id })
|
1002
|
+
}
|
1003
|
+
})
|
1004
|
+
}).catch(err => {
|
1005
|
+
console.log(err)
|
1006
|
+
res.status(400).json({ error: err.message });
|
1007
|
+
})
|
1008
|
+
}
|
1009
|
+
})
|
1010
|
+
}
|
1011
|
+
})
|
1012
|
+
}
|
1013
|
+
|
1014
|
+
|
1015
|
+
// create bill and send razorpay link (in case of upi payments)
|
1016
|
+
|
1017
|
+
function savePharmacyBillWithLink(req, res) {
|
1018
|
+
let data = req.body.data
|
1019
|
+
|
1020
|
+
/*
|
1021
|
+
if pending dues have been included in the bill, but the patient has again paid less than or equal
|
1022
|
+
to the total without due, it is equivalent to the dues not being included in the bill
|
1023
|
+
eg : if total_without_due=200,dues=100,grand_total=300. if patient pays <=200, no pending dues
|
1024
|
+
have been cleared so update value of total and includeDue flag accordingly
|
1025
|
+
*/
|
1026
|
+
data.includeDue = data.includeDue && data.due > 0 &&
|
1027
|
+
data.paid_amt <= data.total_without_due ? false : data.includeDue
|
1028
|
+
data.total = data.includeDue ? data.total : data.total_without_due
|
1029
|
+
|
1030
|
+
let treatment_total = data.treatment_total
|
1031
|
+
let pharmacy_total = data.pharmacy_total
|
1032
|
+
|
1033
|
+
let treatment = {
|
1034
|
+
patient: data.patient,
|
1035
|
+
items: data.items.filter(i => i.category != "pharmacy"),
|
1036
|
+
due: data.due,
|
1037
|
+
includeDue: data.includeDue,
|
1038
|
+
subtotal: data.treatment_total,
|
1039
|
+
creator: data.creator,
|
1040
|
+
saveBalance: data.saveBalance,
|
1041
|
+
flag: true,
|
1042
|
+
type: "treatment",
|
1043
|
+
paid: { Cash: 0, Card: 0, UPI: 0 }
|
1044
|
+
}
|
1045
|
+
|
1046
|
+
let pharmacy = {
|
1047
|
+
patient: data.patient,
|
1048
|
+
items: data.items.filter(i => i.category == "pharmacy"),
|
1049
|
+
due: 0,
|
1050
|
+
includeDue: false,
|
1051
|
+
subtotal: data.pharmacy_total,
|
1052
|
+
creator: data.creator,
|
1053
|
+
saveBalance: data.saveBalance,
|
1054
|
+
flag: true,
|
1055
|
+
type: "pharmacy",
|
1056
|
+
paid: { Cash: 0, Card: 0, UPI: 0 }
|
1057
|
+
}
|
1058
|
+
|
1059
|
+
if (data.advance) {
|
1060
|
+
if (pharmacy_total <= data.advance)
|
1061
|
+
pharmacy.advance = pharmacy_total
|
1062
|
+
else
|
1063
|
+
pharmacy.advance = data.advance
|
1064
|
+
pharmacy_total = pharmacy_total - pharmacy.advance >= 0 ? pharmacy_total - pharmacy.advance : 0
|
1065
|
+
|
1066
|
+
if (data.advance - pharmacy.advance > 0) {
|
1067
|
+
treatment.advance = data.advance - pharmacy.advance
|
1068
|
+
treatment_total = treatment_total - treatment.advance >= 0 ?
|
1069
|
+
treatment_total - treatment.advance : 0
|
1070
|
+
}
|
1071
|
+
else treatment.advance = null
|
1072
|
+
|
1073
|
+
}
|
1074
|
+
else {
|
1075
|
+
pharmacy.advance = null
|
1076
|
+
treatment.advance = null
|
1077
|
+
}
|
1078
|
+
|
1079
|
+
if (data.discount) {
|
1080
|
+
if (pharmacy_total > 0) {
|
1081
|
+
if (pharmacy_total <= data.discount)
|
1082
|
+
pharmacy.discount = pharmacy_total
|
1083
|
+
else
|
1084
|
+
pharmacy.discount = data.discount
|
1085
|
+
pharmacy_total = pharmacy_total - pharmacy.discount >= 0 ? pharmacy_total - pharmacy.discount
|
1086
|
+
: 0
|
1087
|
+
|
1088
|
+
|
1089
|
+
if (data.discount - pharmacy.discount > 0) {
|
1090
|
+
treatment.discount = data.discount - pharmacy.discount
|
1091
|
+
treatment_total = treatment_total - treatment.discount >= 0 ?
|
1092
|
+
treatment_total - treatment.discount : 0
|
1093
|
+
}
|
1094
|
+
else treatment.discount = 0
|
1095
|
+
}
|
1096
|
+
}
|
1097
|
+
|
1098
|
+
else {
|
1099
|
+
pharmacy.discount = 0
|
1100
|
+
treatment.discount = 0
|
1101
|
+
}
|
1102
|
+
|
1103
|
+
pharmacy.total = data.pharmacy_total + pharmacy.due - pharmacy.advance - pharmacy.discount
|
1104
|
+
treatment.total = data.treatment_total + treatment.due - treatment.advance - treatment.discount
|
1105
|
+
pharmacy.total_without_due = pharmacy.total
|
1106
|
+
treatment.total_without_due = treatment.includeDue ? treatment.total - treatment.due : treatment.total
|
1107
|
+
|
1108
|
+
if (data.paid_amt) {
|
1109
|
+
if (pharmacy.total <= data.paid_amt)
|
1110
|
+
pharmacy.paid_amt = pharmacy_total
|
1111
|
+
else
|
1112
|
+
pharmacy.paid_amt = data.paid_amt
|
1113
|
+
pharmacy.balance = 0
|
1114
|
+
|
1115
|
+
if (data.paid_amt - pharmacy.paid_amt > 0) {
|
1116
|
+
|
1117
|
+
let remaining_paid_amt = data.paid_amt - pharmacy.paid_amt
|
1118
|
+
treatment.balance = remaining_paid_amt > treatment.total ?
|
1119
|
+
remaining_paid_amt - treatment.total : 0
|
1120
|
+
treatment.paid_amt = data.paid_amt - pharmacy.paid_amt > treatment.total ?
|
1121
|
+
treatment.total : data.paid_amt - pharmacy.paid_amt
|
1122
|
+
|
1123
|
+
}
|
1124
|
+
}
|
1125
|
+
else {
|
1126
|
+
pharmacy.paid_amt = 0
|
1127
|
+
treatment.paid_amt = 0
|
1128
|
+
pharmacy.balance = 0
|
1129
|
+
treatment.balance = 0
|
1130
|
+
}
|
1131
|
+
|
1132
|
+
pharmacy_total = pharmacy.total
|
1133
|
+
treatment_total = treatment.total
|
1134
|
+
let mode = Object.keys(data.paid)
|
1135
|
+
let flag = 0
|
1136
|
+
for (var i = 0; i < mode.length; i++) {
|
1137
|
+
if (pharmacy_total > 0) {
|
1138
|
+
if (data.paid[mode[i]] <= pharmacy_total) {
|
1139
|
+
pharmacy.paid[mode[i]] = data.paid[mode[i]]
|
1140
|
+
pharmacy_total = pharmacy_total - data.paid[mode[i]]
|
1141
|
+
}
|
1142
|
+
else {
|
1143
|
+
pharmacy.paid[mode[i]] = pharmacy_total
|
1144
|
+
pharmacy_total = 0
|
1145
|
+
}
|
1146
|
+
}
|
1147
|
+
if (!pharmacy.paid[mode[i]] || data.paid[mode[i]] - pharmacy.paid[mode[i]] > 0) {
|
1148
|
+
let amt = pharmacy.paid[mode[i]] ?
|
1149
|
+
data.paid[mode[i]] - pharmacy.paid[mode[i]] : data.paid[mode[i]]
|
1150
|
+
if (amt >= data.balance && !flag) {
|
1151
|
+
amt -= data.balance
|
1152
|
+
flag = 1
|
1153
|
+
}
|
1154
|
+
treatment.paid[mode[i]] = amt
|
1155
|
+
}
|
1156
|
+
}
|
1157
|
+
|
1158
|
+
let sql
|
1159
|
+
// since upi payment will only be completed after user clicks and pays through the link, only
|
1160
|
+
//cash or card payments are updated here
|
1161
|
+
|
1162
|
+
//1- if a draft is being saved as a bill, it will already have a bill no, so update
|
1163
|
+
|
1164
|
+
if (data.billNo)
|
1165
|
+
sql = `update bill set patientID=?,total=?,received_amt=?,included_due_amt=?,discount=?,date=now(),
|
1166
|
+
included_advance=?, status=? where bill_no='${data.billNo}';`
|
1167
|
+
|
1168
|
+
//1- otherwise if new bill, insert an entry
|
1169
|
+
else
|
1170
|
+
sql = `insert into bill(patientID, total,received_amt,included_due_amt,discount,date,
|
1171
|
+
included_advance,status,creator) values (?,?,?,?,?,now(),?,?, ?);
|
1172
|
+
select last_insert_id() as billID;
|
1173
|
+
|
1174
|
+
insert into bill(patientID, total,received_amt,included_due_amt,discount,date,
|
1175
|
+
included_advance,status,creator) values (?,?,?,?,?,now(),?,?, ?);
|
1176
|
+
select last_insert_id() as billID;`
|
1177
|
+
|
1178
|
+
|
1179
|
+
// for generating bill no
|
1180
|
+
sql += `select max(pharmacy_bill_id) as p_id, max(treatment_bill_id) as t_id from bill;
|
1181
|
+
select value from general_settings where name="pharmacy_number_start";
|
1182
|
+
select value from general_settings where name="treatment_number_start";`
|
1183
|
+
|
1184
|
+
// 1
|
1185
|
+
conn.query(sql, [treatment.patient.patientID, treatment.total,
|
1186
|
+
treatment.paid_amt - treatment.paid["UPI"] < 0 ? 0 : treatment.paid_amt - treatment.paid["UPI"],
|
1187
|
+
treatment.includeDue ? treatment.due : null, treatment.discount, treatment.advance,
|
1188
|
+
treatment.paid["UPI"] == 0 ? "paid" : treatment.paid_amt - treatment.paid["UPI"] > 0 ? "partially paid"
|
1189
|
+
: "unpaid", treatment.creator,
|
1190
|
+
|
1191
|
+
pharmacy.patient.patientID, pharmacy.total,
|
1192
|
+
pharmacy.paid_amt - pharmacy.paid["UPI"] < 0 ? 0 : pharmacy.paid_amt - pharmacy.paid["UPI"],
|
1193
|
+
pharmacy.includeDue ? pharmacy.due : null, pharmacy.discount, pharmacy.advance,
|
1194
|
+
pharmacy.paid["UPI"] == 0 ? "paid" : (pharmacy.paid_amt - pharmacy.paid["UPI"] > 0 ? "partially paid"
|
1195
|
+
: "unpaid"), pharmacy.creator],
|
1196
|
+
(err, results) => {
|
1197
|
+
if (err) {
|
1198
|
+
console.log(err)
|
1199
|
+
res.status(400).json({ error: err.message });
|
1200
|
+
}
|
1201
|
+
else {
|
1202
|
+
|
1203
|
+
// generate bill no - BYY-XXXX where YY is last 2 digits of current yer
|
1204
|
+
// // XXXX is billID- eg : B23-1001
|
1205
|
+
// let bill_no_treatment = `B${getFinancialYear(new Date)}-${results[1][0].billID}`
|
1206
|
+
|
1207
|
+
// let bill_no_pharmacy = `P${getFinancialYear(new Date)}-${results[3][0].billID}`
|
1208
|
+
|
1209
|
+
let p_num, t_num
|
1210
|
+
if (!results[4][0]?.p_id)
|
1211
|
+
p_num = results[5][0].value
|
1212
|
+
else
|
1213
|
+
p_num = parseInt(results[4][0].p_id) + 1
|
1214
|
+
let bill_no_pharmacy = `P${getFinancialYear(new Date)}-${p_num}`
|
1215
|
+
|
1216
|
+
if (!results[4][0]?.t_id)
|
1217
|
+
t_num = results[6][0].value
|
1218
|
+
else
|
1219
|
+
t_num = parseInt(results[4][0].t_id) + 1
|
1220
|
+
let bill_no_treatment = `B${getFinancialYear(new Date)}-${t_num}`
|
1221
|
+
|
1222
|
+
|
1223
|
+
sql = ``
|
1224
|
+
// //1-store stringified form of bill details for editing and updation after link payment
|
1225
|
+
// if (data.id) // if draft, delete existing entry
|
1226
|
+
// sql = `delete from temp_bill_details where bill_id=${data.id};`
|
1227
|
+
|
1228
|
+
// sql += `insert into temp_bill_details(bill_no,bill_detail) values(?,?);
|
1229
|
+
// insert into temp_bill_details(bill_no,bill_detail) values(?,?);`
|
1230
|
+
|
1231
|
+
//2- if new bill, update the generated bill no in table
|
1232
|
+
// store bill no of treatment bill as reference againt pharmacy bill
|
1233
|
+
if (!data.billNo)
|
1234
|
+
sql += `update bill set bill_no='${bill_no_treatment}',
|
1235
|
+
treatment_bill_id=${t_num} where billID=${results[1][0].billID};
|
1236
|
+
|
1237
|
+
update bill set bill_no='${bill_no_pharmacy}', main_bill_ref='${bill_no_treatment}',
|
1238
|
+
pharmacy_bill_id=${p_num} where billID=${results[3][0].billID};`
|
1239
|
+
|
1240
|
+
/*3- insert or update bill items with unit_price, amount,qty,etc and status as "billed"
|
1241
|
+
status will be set as "cleared" only after link payment is complete
|
1242
|
+
*/
|
1243
|
+
|
1244
|
+
for (var i = 0; i < treatment.items.length; i++) {
|
1245
|
+
if (treatment.items[i].bill_item_id) {
|
1246
|
+
sql += `update bill_item set bill_no='${bill_no_treatment}',
|
1247
|
+
itemID='${treatment.items[i].itemID}',
|
1248
|
+
qty=${treatment.items[i].qty}, unit_price=${treatment.items[i].unit_price},
|
1249
|
+
amount=${treatment.items[i].amount},
|
1250
|
+
status="billed" where bill_item_id=${treatment.items[i].bill_item_id};`
|
1251
|
+
}
|
1252
|
+
else { // insert new bill items
|
1253
|
+
|
1254
|
+
sql += `insert into bill_item (bill_no,itemID,patientID,qty,unit_price,amount,
|
1255
|
+
status, category,appointmentID) values
|
1256
|
+
('${bill_no_treatment}','${treatment.items[i].itemID}',
|
1257
|
+
${treatment.patient.patientID},
|
1258
|
+
${treatment.items[i].qty},${treatment.items[i].unit_price},
|
1259
|
+
${treatment.items[i].amount},"billed",
|
1260
|
+
(select category from items where itemID='${treatment.items[i].itemID}'),
|
1261
|
+
${treatment.items[i].appointmentID ? treatment.items[i].appointmentID : null});`
|
1262
|
+
|
1263
|
+
}
|
1264
|
+
}
|
1265
|
+
for (var i = 0; i < pharmacy.items.length; i++) {
|
1266
|
+
if (pharmacy.items[i].bill_item_id) {
|
1267
|
+
sql += `update bill_item set bill_no='${bill_no_pharmacy}',
|
1268
|
+
itemID='${pharmacy.items[i].itemID}',
|
1269
|
+
qty=${pharmacy.items[i].qty}, unit_price=${pharmacy.items[i].unit_price},
|
1270
|
+
amount=${pharmacy.items[i].amount},
|
1271
|
+
status="billed" where bill_item_id=${pharmacy.items[i].bill_item_id};`
|
1272
|
+
}
|
1273
|
+
else { // insert new bill items
|
1274
|
+
sql += `insert into bill_item (bill_no,itemID,patientID,qty,unit_price,amount,
|
1275
|
+
status, category,appointmentID) values
|
1276
|
+
('${bill_no_pharmacy}','${pharmacy.items[i].itemID}',
|
1277
|
+
${pharmacy.patient.patientID},
|
1278
|
+
${pharmacy.items[i].qty},${pharmacy.items[i].unit_price},
|
1279
|
+
${pharmacy.items[i].amount},
|
1280
|
+
"billed",
|
1281
|
+
(select category from items where itemID='${pharmacy.items[i].itemID}'),
|
1282
|
+
${pharmacy.items[i].appointmentID ? pharmacy.items[i].appointmentID : null});`
|
1283
|
+
}
|
1284
|
+
}
|
1285
|
+
//4- insert payment details except UPI payment
|
1286
|
+
let pay_method = Object.keys(treatment.paid)
|
1287
|
+
let flag = 0
|
1288
|
+
for (var i = 0; i < pay_method.length; i++) {
|
1289
|
+
let amt = treatment.paid[pay_method[i]]
|
1290
|
+
if (amt != "" && pay_method[i] != "UPI") {
|
1291
|
+
if (amt >= treatment.balance && !flag) {
|
1292
|
+
/*
|
1293
|
+
if the patient has paid more than required, then the balance is not included in
|
1294
|
+
received payments and must be reduced from it. eg : if total is 250 and patient has
|
1295
|
+
paid 200 by cash and 100 by card, balance is 50 rs. this 50 is reduced from the
|
1296
|
+
cash payment and thus received amount is 150 by cash and 100 by card
|
1297
|
+
*/
|
1298
|
+
amt -= treatment.balance
|
1299
|
+
flag = 1
|
1300
|
+
}
|
1301
|
+
sql += `insert into bill_payment_method(bill_no,pay_method,amount,type,date,
|
1302
|
+
patientID, creator)
|
1303
|
+
values('${bill_no_treatment}', '${pay_method[i]}',${amt},"bill",now(),
|
1304
|
+
${treatment.patient.patientID}, ${treatment.creator});`
|
1305
|
+
}
|
1306
|
+
}
|
1307
|
+
|
1308
|
+
pay_method = Object.keys(pharmacy.paid)
|
1309
|
+
flag = 0
|
1310
|
+
for (var i = 0; i < pay_method.length; i++) {
|
1311
|
+
let amt = pharmacy.paid[pay_method[i]]
|
1312
|
+
if (amt != "" && pay_method[i] != "UPI") {
|
1313
|
+
if (amt >= pharmacy.balance && !flag) {
|
1314
|
+
/*
|
1315
|
+
if the patient has paid more than required, then the balance is not included in
|
1316
|
+
received payments and must be reduced from it. eg : if total is 250 and patient has
|
1317
|
+
paid 200 by cash and 100 by card, balance is 50 rs. this 50 is reduced from the
|
1318
|
+
cash payment and thus received amount is 150 by cash and 100 by card
|
1319
|
+
*/
|
1320
|
+
amt -= pharmacy.balance
|
1321
|
+
flag = 1
|
1322
|
+
}
|
1323
|
+
sql += `insert into bill_payment_method(bill_no,pay_method,amount,type,date,
|
1324
|
+
patientID, creator)
|
1325
|
+
values('${bill_no_pharmacy}', '${pay_method[i]}',${amt},"bill",now(),
|
1326
|
+
${pharmacy.patient.patientID}, ${pharmacy.creator});`
|
1327
|
+
}
|
1328
|
+
}
|
1329
|
+
|
1330
|
+
//5- select inserted bill items for modifying stringified object
|
1331
|
+
sql += `SELECT qty,amount,bill_item.itemID,display_name,unit_price,bill_item.category,
|
1332
|
+
true as selected,JSON_OBJECT('label', item_name) AS item_name,bill_item_id,appointmentID
|
1333
|
+
FROM sgmc_db.bill_item,items where items.itemID=bill_item.itemID and
|
1334
|
+
bill_no='${bill_no_treatment}';`
|
1335
|
+
|
1336
|
+
//6- select inserted bill items for modifying stringified object
|
1337
|
+
sql += `SELECT qty,amount,bill_item.itemID,display_name,unit_price,bill_item.category,
|
1338
|
+
true as selected,JSON_OBJECT('label', item_name) AS item_name,bill_item_id,appointmentID
|
1339
|
+
FROM sgmc_db.bill_item,items where items.itemID=bill_item.itemID and
|
1340
|
+
bill_no='${bill_no_pharmacy}';`
|
1341
|
+
|
1342
|
+
|
1343
|
+
//1,2,3,4,5,6
|
1344
|
+
conn.query(sql, [bill_no_treatment, JSON.stringify(treatment),
|
1345
|
+
bill_no_pharmacy, JSON.stringify(pharmacy)], (err, results) => {
|
1346
|
+
if (err) {
|
1347
|
+
console.log(err)
|
1348
|
+
res.status(400).json({ error: err.message });
|
1349
|
+
}
|
1350
|
+
else {
|
1351
|
+
|
1352
|
+
// send razorpay link with upi amount
|
1353
|
+
var instance = new Razorpay({
|
1354
|
+
key_id: 'rzp_test_GZJNmMcw3mM77Q',
|
1355
|
+
key_secret: 'OYBZ8SVAjz8a54Yn9oz4xJMw'
|
1356
|
+
})
|
1357
|
+
|
1358
|
+
|
1359
|
+
instance.paymentLink.create({
|
1360
|
+
amount: parseFloat(data.paid["UPI"]) * 100,
|
1361
|
+
currency: "INR",
|
1362
|
+
accept_partial: false,
|
1363
|
+
reference_id: bill_no_treatment,
|
1364
|
+
description: "Bill",
|
1365
|
+
customer: {
|
1366
|
+
name: data.patient.name,
|
1367
|
+
email: data.patient.email,
|
1368
|
+
contact: data.altPhone
|
1369
|
+
},
|
1370
|
+
notify: {
|
1371
|
+
sms: true,
|
1372
|
+
email: true
|
1373
|
+
},
|
1374
|
+
reminder_enable: true,
|
1375
|
+
notes: {
|
1376
|
+
bill_no: `${bill_no_treatment},${bill_no_pharmacy}`,
|
1377
|
+
mode: "new",
|
1378
|
+
creator: data.creator
|
1379
|
+
},
|
1380
|
+
|
1381
|
+
}).then(r => {
|
1382
|
+
|
1383
|
+
// update items of treatment and pharmacy objects with the selected bill items
|
1384
|
+
//( in order to store the bill_item_id for each item)
|
1385
|
+
pharmacy.items = results[results.length - 1]
|
1386
|
+
treatment.items = results[results.length - 2]
|
1387
|
+
|
1388
|
+
// store payment link against bill in case resend is required
|
1389
|
+
sql = `update bill set payment_link=? where bill_no='${bill_no_treatment}';
|
1390
|
+
update bill set payment_link=? where bill_no='${bill_no_pharmacy}';`
|
1391
|
+
|
1392
|
+
//1-store stringified form of bill details for editing and updation after link payment
|
1393
|
+
if (data.id) // if draft, delete existing entry
|
1394
|
+
sql += `delete from temp_bill_details where bill_id=${data.id};`
|
1395
|
+
|
1396
|
+
sql += `insert into temp_bill_details(bill_no,bill_detail) values(?,?);
|
1397
|
+
insert into temp_bill_details(bill_no,bill_detail) values(?,?);`
|
1398
|
+
conn.query(sql, [r.id, r.id, bill_no_treatment, JSON.stringify(treatment),
|
1399
|
+
bill_no_pharmacy, JSON.stringify(pharmacy)], (err, results) => {
|
1400
|
+
if (err) {
|
1401
|
+
console.log(err)
|
1402
|
+
res.status(400).json({ error: err.message });
|
1403
|
+
}
|
1404
|
+
else {
|
1405
|
+
res.send({ result: r.id })
|
1406
|
+
}
|
1407
|
+
})
|
1408
|
+
}).catch(err => {
|
1409
|
+
console.log(err)
|
1410
|
+
res.status(400).json({ error: err.message });
|
1411
|
+
})
|
1412
|
+
}
|
1413
|
+
})
|
1414
|
+
}
|
1415
|
+
})
|
1416
|
+
}
|
1417
|
+
|
1418
|
+
|
1419
|
+
// send razorpay link to a number for a specific amount (not linked to any bill)
|
1420
|
+
function sendRazorpayLink(req, res) {
|
1421
|
+
let data = req.body.data
|
1422
|
+
|
1423
|
+
var instance = new Razorpay({
|
1424
|
+
key_id: 'rzp_test_GZJNmMcw3mM77Q',
|
1425
|
+
key_secret: 'OYBZ8SVAjz8a54Yn9oz4xJMw'
|
1426
|
+
})
|
1427
|
+
|
1428
|
+
|
1429
|
+
instance.paymentLink.create({
|
1430
|
+
amount: parseFloat(data.amount) * 100,
|
1431
|
+
currency: "INR",
|
1432
|
+
accept_partial: false,
|
1433
|
+
description: "Payment",
|
1434
|
+
customer: {
|
1435
|
+
name: data.patient.name,
|
1436
|
+
email: data.patient.email,
|
1437
|
+
contact: data.altPhone
|
1438
|
+
},
|
1439
|
+
notify: {
|
1440
|
+
sms: true,
|
1441
|
+
email: true
|
1442
|
+
},
|
1443
|
+
reminder_enable: true,
|
1444
|
+
notes: {
|
1445
|
+
mode: "stand-alone",
|
1446
|
+
patientID: data.patient.patientID,
|
1447
|
+
creator: data.creator
|
1448
|
+
},
|
1449
|
+
}).then(r => {
|
1450
|
+
|
1451
|
+
res.send({ result: r.id })
|
1452
|
+
|
1453
|
+
}).catch(err => {
|
1454
|
+
console.log(err)
|
1455
|
+
res.status(400).json({ error: err.message });
|
1456
|
+
})
|
1457
|
+
}
|
1458
|
+
|
1459
|
+
// invoked when user completes payment through razorpay link
|
1460
|
+
|
1461
|
+
function razorpayCallback(req, res) {
|
1462
|
+
|
1463
|
+
// ensure that the webhook has been invoked from the right source
|
1464
|
+
|
1465
|
+
if (validateWebhookSignature(JSON.stringify(req.body), req.headers['x-razorpay-signature'],
|
1466
|
+
"sgmc_payment")) {
|
1467
|
+
|
1468
|
+
let bill_no = req.body.payload.payment.entity.notes.bill_no;
|
1469
|
+
let mode = req.body.payload.payment.entity.notes.mode
|
1470
|
+
let amount = (req.body.payload.payment.entity.amount) / 100
|
1471
|
+
let patientID = req.body.payload.payment.entity.notes.patientID
|
1472
|
+
let creator = req.body.payload.payment.entity.notes.creator
|
1473
|
+
|
1474
|
+
if (mode == "advance") { // advance payment link
|
1475
|
+
advanceRazorpayCallback(amount, patientID, "RPay", creator).then((result) => {
|
1476
|
+
res.sendStatus(200);
|
1477
|
+
}).catch(err => {
|
1478
|
+
res.sendStatus(400);
|
1479
|
+
})
|
1480
|
+
}
|
1481
|
+
else if (mode == "due") { // due payment link
|
1482
|
+
dueRazorpayCallback(amount, patientID, creator).then((result) => {
|
1483
|
+
res.sendStatus(200);
|
1484
|
+
}).catch(err => {
|
1485
|
+
res.sendStatus(400);
|
1486
|
+
})
|
1487
|
+
}
|
1488
|
+
else if (mode == "stand-alone") { // simple payment link (not linked to any bill)
|
1489
|
+
standAlonePaymentCallback(amount, patientID, creator).then((result) => {
|
1490
|
+
res.sendStatus(200);
|
1491
|
+
}).catch(err => {
|
1492
|
+
res.sendStatus(400);
|
1493
|
+
})
|
1494
|
+
}
|
1495
|
+
else // bill payment link
|
1496
|
+
{
|
1497
|
+
let bill_array = bill_no.split(",")
|
1498
|
+
if (bill_array.length == 1)
|
1499
|
+
billRazorpayCallback(bill_array[0], mode, creator).then((result) => {
|
1500
|
+
res.sendStatus(200);
|
1501
|
+
}).catch(err => {
|
1502
|
+
res.sendStatus(400);
|
1503
|
+
})
|
1504
|
+
else {
|
1505
|
+
billRazorpayCallback(bill_array[0], mode, creator).then((result) => {
|
1506
|
+
|
1507
|
+
billRazorpayCallback(bill_array[1], mode, creator).then((result) => {
|
1508
|
+
res.sendStatus(200)
|
1509
|
+
|
1510
|
+
}).catch(err => {
|
1511
|
+
res.sendStatus(400);
|
1512
|
+
})
|
1513
|
+
|
1514
|
+
}).catch(err => {
|
1515
|
+
res.sendStatus(400);
|
1516
|
+
})
|
1517
|
+
}
|
1518
|
+
}
|
1519
|
+
}
|
1520
|
+
|
1521
|
+
// invoked from wrong source
|
1522
|
+
else
|
1523
|
+
res.sendStatus(404);
|
1524
|
+
}
|
1525
|
+
|
1526
|
+
|
1527
|
+
// advance payment through link
|
1528
|
+
function advanceRazorpayCallback(amount, patientID, selectedMode, creator) {
|
1529
|
+
return new Promise((resolve, reject) => {
|
1530
|
+
// update patient credit and insert payment entry of type "advance"
|
1531
|
+
|
1532
|
+
let sql = `update patient_record set credit=credit+? where patientID=?;
|
1533
|
+
insert into bill_payment_method(pay_method, amount, type, date,patientID,creator)
|
1534
|
+
VALUES (?,?,"advance",now(),?,?);`
|
1535
|
+
|
1536
|
+
conn.query(sql, [amount, patientID, selectedMode, amount, patientID, patientID, creator],
|
1537
|
+
(err, results) => {
|
1538
|
+
if (err) {
|
1539
|
+
console.log(err)
|
1540
|
+
reject(err)
|
1541
|
+
//res.status(400).json({ error: err.message });
|
1542
|
+
}
|
1543
|
+
else {
|
1544
|
+
resolve("success")
|
1545
|
+
// res.send({ result: 'success' })
|
1546
|
+
}
|
1547
|
+
})
|
1548
|
+
})
|
1549
|
+
}
|
1550
|
+
|
1551
|
+
|
1552
|
+
// due payment through link
|
1553
|
+
|
1554
|
+
function dueRazorpayCallback(amount, patientID, creator) {
|
1555
|
+
return new Promise((resolve, reject) => {
|
1556
|
+
let sql = `select * from patient_dues where patientID=? and status="pending";`
|
1557
|
+
|
1558
|
+
|
1559
|
+
conn.query(sql, [patientID], (err, results) => {
|
1560
|
+
if (err) {
|
1561
|
+
reject(err)
|
1562
|
+
console.log(err)
|
1563
|
+
|
1564
|
+
}
|
1565
|
+
else {
|
1566
|
+
sql = ``
|
1567
|
+
let paid_due_amt = amount
|
1568
|
+
for (var i = 0; i < results.length; i++) { // iterate through dues of patient
|
1569
|
+
if (paid_due_amt > 0) {
|
1570
|
+
|
1571
|
+
// if due amt is within the paid amt, set as cleared
|
1572
|
+
if (results[i].due <= paid_due_amt) {
|
1573
|
+
sql += `update patient_dues set status="cleared",cleared_date=now(),
|
1574
|
+
clearedBy=${creator} where dueID=${results[i].dueID};`
|
1575
|
+
}
|
1576
|
+
else {
|
1577
|
+
// otherwise update the due entry with the remaining amt to be paid
|
1578
|
+
sql += `update patient_dues set due=${results[i].due - paid_due_amt}
|
1579
|
+
where dueID=${results[i].dueID};`
|
1580
|
+
}
|
1581
|
+
paid_due_amt = paid_due_amt - results[i].due
|
1582
|
+
}
|
1583
|
+
}
|
1584
|
+
|
1585
|
+
// insert payment entry of type "due"
|
1586
|
+
sql += `insert into bill_payment_method(pay_method,amount,type,date, patientID, creator)
|
1587
|
+
values('RPay',${amount},"due",now(),${patientID}, ${creator});`
|
1588
|
+
|
1589
|
+
conn.query(sql, (err, results) => {
|
1590
|
+
if (err) {
|
1591
|
+
console.log(err)
|
1592
|
+
reject(err)
|
1593
|
+
}
|
1594
|
+
else {
|
1595
|
+
resolve("success")
|
1596
|
+
}
|
1597
|
+
})
|
1598
|
+
}
|
1599
|
+
|
1600
|
+
})
|
1601
|
+
})
|
1602
|
+
|
1603
|
+
}
|
1604
|
+
|
1605
|
+
// payments made through link (not linked to any bill)
|
1606
|
+
|
1607
|
+
function standAlonePaymentCallback(amount, patientID, creator) {
|
1608
|
+
return new Promise((resolve, reject) => {
|
1609
|
+
|
1610
|
+
// insert payment entry of type "payment"
|
1611
|
+
let sql = `insert into bill_payment_method(pay_method,amount,type,date, patientID, creator)
|
1612
|
+
values('RPay',${amount},"payment",now(),${patientID},${creator});`
|
1613
|
+
|
1614
|
+
conn.query(sql, (err, results) => {
|
1615
|
+
if (err) {
|
1616
|
+
console.log(err)
|
1617
|
+
reject(err)
|
1618
|
+
}
|
1619
|
+
else {
|
1620
|
+
resolve("success")
|
1621
|
+
}
|
1622
|
+
})
|
1623
|
+
})
|
1624
|
+
}
|
1625
|
+
|
1626
|
+
// bill payment through link
|
1627
|
+
|
1628
|
+
function billRazorpayCallback(bill_no, mode, creator) {
|
1629
|
+
|
1630
|
+
return new Promise((resolve, reject) => {
|
1631
|
+
let sql = `select * from temp_bill_details where bill_no=?`;
|
1632
|
+
|
1633
|
+
conn.query(sql, [bill_no], (err, results) => {
|
1634
|
+
if (err) {
|
1635
|
+
console.log(err);
|
1636
|
+
reject(err)
|
1637
|
+
|
1638
|
+
} else {
|
1639
|
+
if (results.length > 0) {
|
1640
|
+
|
1641
|
+
// retrieve stringified details stored against bill_no
|
1642
|
+
let data = JSON.parse(results[0].bill_detail)
|
1643
|
+
let amount = data.paid["UPI"]
|
1644
|
+
|
1645
|
+
//1- since upi amt has been received, update received_amt of bill
|
1646
|
+
// if advance has been used, reduce it from patient credit
|
1647
|
+
sql = `update bill set received_amt=received_amt+${amount} where bill_no=?;
|
1648
|
+
update patient_record set credit=credit-${data.advance}
|
1649
|
+
where patientID=${data.patient.patientID};`
|
1650
|
+
|
1651
|
+
/*
|
1652
|
+
2-if balance is to be saved as credit, add it to the patient's credit
|
1653
|
+
3-insert payment entry of type "advance"
|
1654
|
+
if mode is "resend", balance would have already been added to credit when the link
|
1655
|
+
was first sent
|
1656
|
+
*/
|
1657
|
+
if (data.saveBalance && mode == "new") {
|
1658
|
+
sql += `update patient_record set credit=credit+${data.balance}
|
1659
|
+
where patientID=${data.patient.patientID};
|
1660
|
+
|
1661
|
+
insert into bill_payment_method(bill_no,pay_method,amount,type,date,
|
1662
|
+
patientID, creator) VALUES
|
1663
|
+
('${bill_no}', "Cash", ${data.balance}, "advance", now(), ${data.patient.patientID},
|
1664
|
+
${creator});`
|
1665
|
+
}
|
1666
|
+
|
1667
|
+
//1,2,3
|
1668
|
+
conn.query(sql, [bill_no], (err, results) => {
|
1669
|
+
if (err) {
|
1670
|
+
console.log(err)
|
1671
|
+
reject(err)
|
1672
|
+
}
|
1673
|
+
else {
|
1674
|
+
|
1675
|
+
// mail invoice to patient
|
1676
|
+
// (async () => {
|
1677
|
+
|
1678
|
+
// const htmlContent = billTemplate({
|
1679
|
+
// bill_no: bill_no,
|
1680
|
+
// patient: data.patient,
|
1681
|
+
// items: data.items,
|
1682
|
+
// due: data.due,
|
1683
|
+
// discount: data.discount,
|
1684
|
+
// total: data.subtotal,
|
1685
|
+
// grand_total: data.total,
|
1686
|
+
// advance: data.advance,
|
1687
|
+
// paid: data.paid,
|
1688
|
+
// balance: data.balance
|
1689
|
+
// })
|
1690
|
+
// // Launch a headless browser with Puppeteer
|
1691
|
+
// const browser = await puppeteer.launch();
|
1692
|
+
// const page = await browser.newPage();
|
1693
|
+
|
1694
|
+
// // Set the HTML content of the page and wait for it to load
|
1695
|
+
// await page.setContent(htmlContent, { waitUntil: 'networkidle0' });
|
1696
|
+
|
1697
|
+
// // Generate a PDF of the page
|
1698
|
+
// const pdfBuffer = await page.pdf();
|
1699
|
+
|
1700
|
+
// // Close the browser
|
1701
|
+
// await browser.close();
|
1702
|
+
|
1703
|
+
// // Create a Nodemailer transport object
|
1704
|
+
// let transporter = nodemailer.createTransport({
|
1705
|
+
// host: 'smtp.gmail.com',
|
1706
|
+
// port: 587,
|
1707
|
+
// secure: false,
|
1708
|
+
// auth: {
|
1709
|
+
// user: 'athirageorge288@gmail.com',
|
1710
|
+
// pass: 'dcduzmfnpunmmfhw'
|
1711
|
+
// }
|
1712
|
+
// });
|
1713
|
+
|
1714
|
+
// // Create a message object with the PDF attachment
|
1715
|
+
// let message = {
|
1716
|
+
// from: 'athirageorge288@gmail.com',
|
1717
|
+
// to: 'athirageorge288@gmail.com',
|
1718
|
+
// subject: 'PDF attachment',
|
1719
|
+
// text: 'Please find attached the PDF file',
|
1720
|
+
// attachments: [{
|
1721
|
+
// filename: 'Invoice.pdf',
|
1722
|
+
// content: pdfBuffer
|
1723
|
+
// }]
|
1724
|
+
// };
|
1725
|
+
|
1726
|
+
// // Send the message with Nodemailer
|
1727
|
+
// let info = await transporter.sendMail(message);
|
1728
|
+
// console.log('Message sent: %s', info.messageId);
|
1729
|
+
// })();
|
1730
|
+
|
1731
|
+
//1- set bill status as paid
|
1732
|
+
//2- update status of bill items as "cleared"
|
1733
|
+
sql = `update bill set status = "paid" where bill_no = '${bill_no}';
|
1734
|
+
update bill_item set status="cleared" where bill_no = '${bill_no}'; `
|
1735
|
+
|
1736
|
+
|
1737
|
+
//3- insert payment entry for the recieved upi amount
|
1738
|
+
|
1739
|
+
if (data.mode == "resend") // if any payment methods already exist for the bill
|
1740
|
+
sql += `delete from bill_payment_method where bill_no='${bill_no}' and
|
1741
|
+
pay_method="Rpay";`
|
1742
|
+
|
1743
|
+
sql += `insert into bill_payment_method(bill_no, pay_method, amount, type, date,
|
1744
|
+
patientID, creator)
|
1745
|
+
values('${bill_no}', 'RPay', ${amount}, "bill", now(), ${data.patient.patientID},
|
1746
|
+
${creator}); `
|
1747
|
+
|
1748
|
+
//1,2,3
|
1749
|
+
conn.query(sql, (err, results) => {
|
1750
|
+
if (err) {
|
1751
|
+
console.log(err)
|
1752
|
+
reject(err)
|
1753
|
+
}
|
1754
|
+
else {
|
1755
|
+
|
1756
|
+
// due calculations
|
1757
|
+
sql = ``
|
1758
|
+
if (data.mode == "resend") // if any dues have been created, override
|
1759
|
+
sql += `delete from patient_dues where bill_no='${bill_no}';`
|
1760
|
+
|
1761
|
+
// if pending dues exist and have been included in the bill
|
1762
|
+
if (data.includeDue && data.due > 0) {
|
1763
|
+
|
1764
|
+
// if pending dues havent been fully cleared
|
1765
|
+
|
1766
|
+
if (data.paid_amt > data.total_without_due &&
|
1767
|
+
data.paid_amt < data.total) {
|
1768
|
+
sql = `select * from patient_dues where patientID =? and
|
1769
|
+
status = "pending"; `
|
1770
|
+
|
1771
|
+
conn.query(sql, [data.patient.patientID], (err, results) => {
|
1772
|
+
if (err) {
|
1773
|
+
console.log(err)
|
1774
|
+
reject(err)
|
1775
|
+
}
|
1776
|
+
else {
|
1777
|
+
sql = ``
|
1778
|
+
let paid_due_amt = data.paid_amt - data.total_without_due
|
1779
|
+
|
1780
|
+
// iterate over patient dues
|
1781
|
+
for (var i = 0; i < results.length; i++) {
|
1782
|
+
if (paid_due_amt > 0) {
|
1783
|
+
|
1784
|
+
//1- if due amt is within paid amt, set as cleared
|
1785
|
+
if (results[i].due <= paid_due_amt) {
|
1786
|
+
sql += `update patient_dues set
|
1787
|
+
status = "cleared", cleared_date = now(),
|
1788
|
+
clearedBy = ${creator} where
|
1789
|
+
dueID = ${results[i].dueID}; `
|
1790
|
+
|
1791
|
+
|
1792
|
+
}
|
1793
|
+
else {
|
1794
|
+
//1- otherwise update due amt with remaining
|
1795
|
+
|
1796
|
+
sql += `update patient_dues
|
1797
|
+
set due = ${results[i].due - paid_due_amt}
|
1798
|
+
where dueID = ${results[i].dueID}; `
|
1799
|
+
}
|
1800
|
+
paid_due_amt = paid_due_amt - results[i].due
|
1801
|
+
}
|
1802
|
+
}
|
1803
|
+
//1
|
1804
|
+
conn.query(sql, (err, results) => {
|
1805
|
+
if (err) {
|
1806
|
+
console.log(err)
|
1807
|
+
reject(err)
|
1808
|
+
}
|
1809
|
+
else {
|
1810
|
+
resolve("success")
|
1811
|
+
//res.send({ result: bill_no })
|
1812
|
+
}
|
1813
|
+
})
|
1814
|
+
}
|
1815
|
+
|
1816
|
+
});
|
1817
|
+
|
1818
|
+
}
|
1819
|
+
// if all dues have been cleared, update status of all dues as "cleared"
|
1820
|
+
else if (data.paid_amt >= data.total) {
|
1821
|
+
sql = `update patient_dues set status = "cleared",
|
1822
|
+
cleared_date = now(), clearedBy = ${creator} where patientID =? `
|
1823
|
+
conn.query(sql, [data.patient.patientID],
|
1824
|
+
(err, results) => {
|
1825
|
+
if (err) {
|
1826
|
+
console.log(err)
|
1827
|
+
reject(err)
|
1828
|
+
}
|
1829
|
+
else {
|
1830
|
+
resolve("success")
|
1831
|
+
// res.send({ result: bill_no })
|
1832
|
+
}
|
1833
|
+
|
1834
|
+
});
|
1835
|
+
|
1836
|
+
}
|
1837
|
+
else { // res.send({ result: bill_no })
|
1838
|
+
resolve("success")
|
1839
|
+
}
|
1840
|
+
}
|
1841
|
+
|
1842
|
+
// if there are no dues or they havent been cleared
|
1843
|
+
else {
|
1844
|
+
|
1845
|
+
// if paid_amt is less than total_without_due, new due gets created
|
1846
|
+
if (data.paid_amt < data.total_without_due) {
|
1847
|
+
|
1848
|
+
sql = `insert into patient_dues(patientID, due, status, bill_no,
|
1849
|
+
date) values(?,?, "pending",?, now()); `
|
1850
|
+
|
1851
|
+
conn.query(sql, [data.patient.patientID,
|
1852
|
+
data.total_without_due - data.paid_amt, bill_no],
|
1853
|
+
(err, results) => {
|
1854
|
+
if (err) {
|
1855
|
+
console.log(err)
|
1856
|
+
reject(err)
|
1857
|
+
}
|
1858
|
+
else {
|
1859
|
+
resolve("success")
|
1860
|
+
// res.send({ result: bill_no })
|
1861
|
+
}
|
1862
|
+
|
1863
|
+
});
|
1864
|
+
|
1865
|
+
}
|
1866
|
+
else {
|
1867
|
+
resolve("success")
|
1868
|
+
// res.send({ result: bill_no })
|
1869
|
+
}
|
1870
|
+
}
|
1871
|
+
}
|
1872
|
+
|
1873
|
+
});
|
1874
|
+
|
1875
|
+
}
|
1876
|
+
|
1877
|
+
|
1878
|
+
});
|
1879
|
+
|
1880
|
+
|
1881
|
+
}
|
1882
|
+
}
|
1883
|
+
});
|
1884
|
+
|
1885
|
+
})
|
1886
|
+
}
|
1887
|
+
|
1888
|
+
// failure in razorpay link payment
|
1889
|
+
|
1890
|
+
function razorpayFailureCallback(req, res) {
|
1891
|
+
console.log("in failure callback")
|
1892
|
+
let bill_no = req.body.payload.payment.entity.notes.bill_no;
|
1893
|
+
let sql = `select payment_link from bill where bill_no=?; update bill set status="failed" where bill_no=?;`;
|
1894
|
+
conn.query(sql, [bill_no, bill_no], (err, results) => {
|
1895
|
+
if (err) {
|
1896
|
+
console.log(err);
|
1897
|
+
res.status(400).json({ error: err.message });
|
1898
|
+
} else {
|
1899
|
+
console.log(results[0].payment_link)
|
1900
|
+
let paymentLinkId = results[0].payment_link;
|
1901
|
+
var instance = new Razorpay({
|
1902
|
+
key_id: process.env.RAZORPAY_KEY_ID,
|
1903
|
+
key_secret: process.env.RAZORPAY_KEY_SECRET,
|
1904
|
+
});
|
1905
|
+
|
1906
|
+
instance.paymentLink
|
1907
|
+
.notifyBy(paymentLinkId, "sms")
|
1908
|
+
.then((r) => {
|
1909
|
+
console.log("link resent");
|
1910
|
+
})
|
1911
|
+
.catch((err) => {
|
1912
|
+
console.log(err);
|
1913
|
+
res.status(400).json({ error: err.message });
|
1914
|
+
});
|
1915
|
+
}
|
1916
|
+
});
|
1917
|
+
}
|
1918
|
+
|
1919
|
+
// delete a bill item
|
1920
|
+
function deleteBillItem(req, res) {
|
1921
|
+
|
1922
|
+
let sql
|
1923
|
+
sql = `select bill_item.*, items.item_name, items.doctorInitials from bill_item, items
|
1924
|
+
where bill_item_id =? and bill_item.itemID=items.itemID; `
|
1925
|
+
conn.query(sql, [req.body.data], (err, results) => {
|
1926
|
+
if (err) {
|
1927
|
+
console.log(err)
|
1928
|
+
res.status(400).json({ error: err.message });
|
1929
|
+
}
|
1930
|
+
else {
|
1931
|
+
let sql = `delete from bill_item where bill_item_id=?;`
|
1932
|
+
if (results.length > 0) {
|
1933
|
+
if (results[0].appointmentID && results[0].status != "cleared") {
|
1934
|
+
switch (results[0].category) {
|
1935
|
+
case "consultation":
|
1936
|
+
sql += `update daily_token set status="cancelled" where
|
1937
|
+
doctorID=(select staffID from staff_record where
|
1938
|
+
longInitials='${results[0].doctorInitials}') and
|
1939
|
+
tokenID=${results[0].appointmentID}
|
1940
|
+
and status!="completed";`
|
1941
|
+
break;
|
1942
|
+
case "laboratory":
|
1943
|
+
sql += `update lab_appointments set status='cancelled'
|
1944
|
+
where appointmentID=${results[0].appointmentID} and status!="completed";`
|
1945
|
+
break;
|
1946
|
+
case "procedure":
|
1947
|
+
sql += `update procedure_appointments set status='cancelled'
|
1948
|
+
where appointmentID=${results[0].appointmentID} and status!="completed";`
|
1949
|
+
break;
|
1950
|
+
default: break;
|
1951
|
+
}
|
1952
|
+
}
|
1953
|
+
|
1954
|
+
}
|
1955
|
+
conn.query(sql, [req.body.data], (err, results) => {
|
1956
|
+
if (err) {
|
1957
|
+
console.log(err);
|
1958
|
+
res.status(400).json({ error: err.message });
|
1959
|
+
} else {
|
1960
|
+
|
1961
|
+
res.send({ result: "success" })
|
1962
|
+
}
|
1963
|
+
})
|
1964
|
+
}
|
1965
|
+
|
1966
|
+
});
|
1967
|
+
}
|
1968
|
+
|
1969
|
+
// clear dues of patient
|
1970
|
+
|
1971
|
+
function clearDue(req, res) {
|
1972
|
+
|
1973
|
+
let data = req.body.data
|
1974
|
+
let pay_method = Object.keys(data.paid)
|
1975
|
+
let sql
|
1976
|
+
|
1977
|
+
// mail due receipt to patient
|
1978
|
+
// (async () => {
|
1979
|
+
|
1980
|
+
// const htmlContent = dueTemplate({
|
1981
|
+
// patient: data.patient,
|
1982
|
+
// items: data.items,
|
1983
|
+
// due_remaining: data.total - data.paid_amt,
|
1984
|
+
// total: data.total,
|
1985
|
+
// paid: data.paid_amt,
|
1986
|
+
// balance: data.balance
|
1987
|
+
// })
|
1988
|
+
// // Launch a headless browser with Puppeteer
|
1989
|
+
// const browser = await puppeteer.launch();
|
1990
|
+
// const page = await browser.newPage();
|
1991
|
+
|
1992
|
+
// // Set the HTML content of the page and wait for it to load
|
1993
|
+
// await page.setContent(htmlContent, { waitUntil: 'networkidle0' });
|
1994
|
+
|
1995
|
+
// // Generate a PDF of the page
|
1996
|
+
// const pdfBuffer = await page.pdf();
|
1997
|
+
|
1998
|
+
// // Close the browser
|
1999
|
+
// await browser.close();
|
2000
|
+
|
2001
|
+
// // Create a Nodemailer transport object
|
2002
|
+
// let transporter = nodemailer.createTransport({
|
2003
|
+
// host: 'smtp.gmail.com',
|
2004
|
+
// port: 587,
|
2005
|
+
// secure: false,
|
2006
|
+
// auth: {
|
2007
|
+
// user: 'athirageorge288@gmail.com',
|
2008
|
+
// pass: 'dcduzmfnpunmmfhw'
|
2009
|
+
// }
|
2010
|
+
// });
|
2011
|
+
|
2012
|
+
// // Create a message object with the PDF attachment
|
2013
|
+
// let message = {
|
2014
|
+
// from: 'athirageorge288@gmail.com',
|
2015
|
+
// to: 'athirageorge288@gmail.com',
|
2016
|
+
// subject: 'PDF attachment',
|
2017
|
+
// text: 'Please find attached the PDF file',
|
2018
|
+
// attachments: [{
|
2019
|
+
// filename: 'Invoice.pdf',
|
2020
|
+
// content: pdfBuffer
|
2021
|
+
// }]
|
2022
|
+
// };
|
2023
|
+
|
2024
|
+
// // Send the message with Nodemailer
|
2025
|
+
// let info = await transporter.sendMail(message);
|
2026
|
+
// console.log('Message sent: %s', info.messageId);
|
2027
|
+
// })();
|
2028
|
+
|
2029
|
+
//1- if all dues are cleared, update status of dues as "cleared"
|
2030
|
+
if (data.paid_amt >= data.total) {
|
2031
|
+
|
2032
|
+
sql = `update patient_dues set status = "cleared", cleared_date = now(), clearedBy = ${data.creator}
|
2033
|
+
where patientID =? and status = "pending"; `
|
2034
|
+
|
2035
|
+
//2- if there is any balance, which has to be saved as credit, update credit of patient
|
2036
|
+
// insert a payment entry of type "advance"
|
2037
|
+
if (data.saveBalance)
|
2038
|
+
sql += `update patient_record set credit = credit + ${data.balance}
|
2039
|
+
where patientID = ${data.patient.patientID};
|
2040
|
+
insert into bill_payment_method(pay_method, amount, type, date, patientID, creator)
|
2041
|
+
VALUES("Cash", ${data.balance}, "advance", now(), ${data.patient.patientID},
|
2042
|
+
${data.creator}); `
|
2043
|
+
|
2044
|
+
//3- insert payment entries for recieved amount
|
2045
|
+
for (var i = 0; i < pay_method.length; i++) {
|
2046
|
+
if (data.paid[pay_method[i]] != "")
|
2047
|
+
sql += `insert into bill_payment_method(pay_method, amount, type, date, patientID, creator)
|
2048
|
+
values('${pay_method[i]}', ${data.paid[pay_method[i]]}, "due", now(),
|
2049
|
+
${data.patient.patientID}, ${data.creator}); `
|
2050
|
+
}
|
2051
|
+
|
2052
|
+
//1,2,3
|
2053
|
+
conn.query(sql, [data.patient.patientID],
|
2054
|
+
(err, results) => {
|
2055
|
+
if (err) {
|
2056
|
+
console.log(err)
|
2057
|
+
res.status(400).json({ error: err.message });
|
2058
|
+
}
|
2059
|
+
else {
|
2060
|
+
res.send({ result: "success" })
|
2061
|
+
}
|
2062
|
+
|
2063
|
+
});
|
2064
|
+
|
2065
|
+
}
|
2066
|
+
// if dues are only partially cleared
|
2067
|
+
else {
|
2068
|
+
sql = `select * from patient_dues where patientID =? and status = "pending"; `
|
2069
|
+
|
2070
|
+
|
2071
|
+
conn.query(sql, [data.patient.patientID], (err, results) => {
|
2072
|
+
if (err) {
|
2073
|
+
console.log(err)
|
2074
|
+
res.status(400).json({ error: err.message });
|
2075
|
+
}
|
2076
|
+
else {
|
2077
|
+
sql = ``
|
2078
|
+
let paid_due_amt = data.paid_amt
|
2079
|
+
for (var i = 0; i < results.length; i++) { // iterate over patient dues
|
2080
|
+
if (paid_due_amt > 0) {
|
2081
|
+
|
2082
|
+
//1- if due amt is less than paid amt, set due as cleared
|
2083
|
+
if (results[i].due <= paid_due_amt) {
|
2084
|
+
sql += `update patient_dues set status = "cleared", cleared_date = now(),
|
2085
|
+
clearedBy = ${data.creator} where dueID = ${results[i].dueID}; `
|
2086
|
+
}
|
2087
|
+
|
2088
|
+
//1- otherwise, if due amt is greater than paid_amt, update due with remaining amt
|
2089
|
+
else {
|
2090
|
+
sql += `update patient_dues set due = ${results[i].due - paid_due_amt}
|
2091
|
+
where dueID = ${results[i].dueID}; `
|
2092
|
+
}
|
2093
|
+
paid_due_amt = paid_due_amt - results[i].due
|
2094
|
+
}
|
2095
|
+
}
|
2096
|
+
|
2097
|
+
//2-insert payment entries for recieved amount
|
2098
|
+
for (var i = 0; i < pay_method.length; i++) {
|
2099
|
+
if (data.paid[pay_method[i]] != "")
|
2100
|
+
sql += `insert into bill_payment_method(pay_method, amount, type, date, patientID,
|
2101
|
+
creator) values('${pay_method[i]}', ${data.paid[pay_method[i]]}, "due", now(),
|
2102
|
+
${data.patient.patientID}, ${data.creator}); `
|
2103
|
+
}
|
2104
|
+
|
2105
|
+
//1,2
|
2106
|
+
conn.query(sql, (err, results) => {
|
2107
|
+
if (err) {
|
2108
|
+
console.log(err)
|
2109
|
+
res.status(400).json({ error: err.message });
|
2110
|
+
}
|
2111
|
+
else {
|
2112
|
+
|
2113
|
+
res.send({ result: "success" })
|
2114
|
+
}
|
2115
|
+
})
|
2116
|
+
}
|
2117
|
+
|
2118
|
+
});
|
2119
|
+
|
2120
|
+
}
|
2121
|
+
}
|
2122
|
+
|
2123
|
+
// clear due using upi (razorpay link)
|
2124
|
+
|
2125
|
+
function clearDueWithLink(req, res) {
|
2126
|
+
|
2127
|
+
let data = req.body.data
|
2128
|
+
let pay_method = Object.keys(data.paid)
|
2129
|
+
|
2130
|
+
// send razorpay link with upi amount
|
2131
|
+
var instance = new Razorpay({
|
2132
|
+
key_id: 'rzp_test_GZJNmMcw3mM77Q',
|
2133
|
+
key_secret: 'OYBZ8SVAjz8a54Yn9oz4xJMw'
|
2134
|
+
})
|
2135
|
+
|
2136
|
+
|
2137
|
+
instance.paymentLink.create({
|
2138
|
+
amount: parseFloat(data.paid["UPI"]) * 100,
|
2139
|
+
currency: "INR",
|
2140
|
+
accept_partial: false,
|
2141
|
+
description: "Due",
|
2142
|
+
customer: {
|
2143
|
+
name: data.patient.name,
|
2144
|
+
email: data.patient.email,
|
2145
|
+
contact: data.altPhone
|
2146
|
+
},
|
2147
|
+
notify: {
|
2148
|
+
sms: true,
|
2149
|
+
email: true
|
2150
|
+
},
|
2151
|
+
reminder_enable: true,
|
2152
|
+
notes: {
|
2153
|
+
mode: "due",
|
2154
|
+
patientID: data.patient.patientID
|
2155
|
+
},
|
2156
|
+
|
2157
|
+
}).then(r => {
|
2158
|
+
console.log(r)
|
2159
|
+
|
2160
|
+
// if there is any amount paid by cash or card besides upi, update payments
|
2161
|
+
|
2162
|
+
if (data.paid["Cash"] > 0 || data.paid["Card"] > 0) {
|
2163
|
+
|
2164
|
+
//1-retrieve all dues of patient
|
2165
|
+
sql = `select * from patient_dues where patientID =? and status = "pending"; `
|
2166
|
+
|
2167
|
+
//2-if balance is to be saved as credit, update patient credit and put payment entry
|
2168
|
+
if (data.saveBalance)
|
2169
|
+
sql += `update patient_record set credit = credit + ${data.balance}
|
2170
|
+
where patientID = ${data.patient.patientID};
|
2171
|
+
insert into bill_payment_method(pay_method, amount, type, date, patientID, creator)
|
2172
|
+
VALUES("Cash", ${data.balance}, "advance", now(), ${data.patient.patientID},
|
2173
|
+
${data.creator}); `
|
2174
|
+
|
2175
|
+
//1,2
|
2176
|
+
conn.query(sql, [data.patient.patientID], (err, results) => {
|
2177
|
+
if (err) {
|
2178
|
+
console.log(err)
|
2179
|
+
res.status(400).json({ error: err.message });
|
2180
|
+
}
|
2181
|
+
else {
|
2182
|
+
sql = ``
|
2183
|
+
|
2184
|
+
// not considering upi payment till received
|
2185
|
+
let paid_due_amt = data.paid_amt - data.paid["UPI"]
|
2186
|
+
|
2187
|
+
for (var i = 0; i < results.length; i++) { // iterate over patient dues
|
2188
|
+
if (paid_due_amt > 0) {
|
2189
|
+
|
2190
|
+
//1- if due amt is less than paid amt, set due as cleared
|
2191
|
+
if (results[i].due <= paid_due_amt) {
|
2192
|
+
sql += `update patient_dues set status = "cleared", cleared_date = now(),
|
2193
|
+
clearedBy = ${data.creator} where dueID = ${results[i].dueID}; `
|
2194
|
+
}
|
2195
|
+
|
2196
|
+
//1- otherwise, if due amt is greater than paid_amt, update due with remaining amt
|
2197
|
+
else {
|
2198
|
+
sql += `update patient_dues set due = ${results[i].due - paid_due_amt}
|
2199
|
+
where dueID = ${results[i].dueID}; `
|
2200
|
+
}
|
2201
|
+
paid_due_amt = paid_due_amt - results[i].due
|
2202
|
+
}
|
2203
|
+
}
|
2204
|
+
|
2205
|
+
//2-insert payment entries for received amount
|
2206
|
+
for (var i = 0; i < pay_method.length; i++) {
|
2207
|
+
if (data.paid[pay_method[i]] != "" && pay_method[i] != "UPI")
|
2208
|
+
sql += `insert into bill_payment_method(pay_method, amount, type, date, patientID,
|
2209
|
+
creator) values('${pay_method[i]}', ${data.paid[pay_method[i]]}, "due",
|
2210
|
+
now(), ${data.patient.patientID}, ${data.creator}); `
|
2211
|
+
}
|
2212
|
+
|
2213
|
+
//1,2
|
2214
|
+
conn.query(sql, (err, results) => {
|
2215
|
+
if (err) {
|
2216
|
+
console.log(err)
|
2217
|
+
res.status(400).json({ error: err.message });
|
2218
|
+
}
|
2219
|
+
else {
|
2220
|
+
|
2221
|
+
res.send({ result: "success" })
|
2222
|
+
}
|
2223
|
+
})
|
2224
|
+
}
|
2225
|
+
|
2226
|
+
})
|
2227
|
+
}
|
2228
|
+
else
|
2229
|
+
res.send({ result: "success" })
|
2230
|
+
}).catch((err) => {
|
2231
|
+
console.log(err)
|
2232
|
+
res.status(400).json({ error: err.message })
|
2233
|
+
})
|
2234
|
+
|
2235
|
+
|
2236
|
+
}
|
2237
|
+
|
2238
|
+
// fetch no. of pending bills, no.of pending dues, no. of drafts, no.of unpaid or partially paid bills
|
2239
|
+
|
2240
|
+
function fetchPendingCount(req, res) {
|
2241
|
+
|
2242
|
+
// let sql = `select sum(amount), patientID from bill_item where status = "pending" group by patientID;
|
2243
|
+
// select sum(due), patientID from patient_dues where status = "pending" group by patientID;
|
2244
|
+
// select * from bill where status = "draft";
|
2245
|
+
// select * from bill where status in ("unpaid", "partially paid"); `
|
2246
|
+
|
2247
|
+
let sql = `select sum(amount), patientID from bill_item where status = "pending" group by patientID;
|
2248
|
+
select sum(due), patientID from patient_dues where status = "pending" group by patientID;
|
2249
|
+
select * from temp_bill_details where type = "draft";
|
2250
|
+
select * from bill where status in ("unpaid", "partially paid"); `
|
2251
|
+
conn.query(sql, (err, results) => {
|
2252
|
+
if (err) {
|
2253
|
+
console.log(err)
|
2254
|
+
res.status(400).json({ error: err.message });
|
2255
|
+
}
|
2256
|
+
else {
|
2257
|
+
res.send({
|
2258
|
+
result: [results[0].length, results[1].length, results[2].length,
|
2259
|
+
results[3].length]
|
2260
|
+
})
|
2261
|
+
}
|
2262
|
+
})
|
2263
|
+
}
|
2264
|
+
|
2265
|
+
|
2266
|
+
// fetch the credit a patient currently has
|
2267
|
+
|
2268
|
+
function fetchAdvanceOfPatient(req, res) {
|
2269
|
+
|
2270
|
+
let sql = `select credit from patient_record where patientID =?; `
|
2271
|
+
conn.query(sql, [req.body.data], (err, results) => {
|
2272
|
+
if (err) {
|
2273
|
+
console.log(err)
|
2274
|
+
res.status(400).json({ error: err.message });
|
2275
|
+
}
|
2276
|
+
else {
|
2277
|
+
console.log(results)
|
2278
|
+
res.send({ result: results })
|
2279
|
+
}
|
2280
|
+
})
|
2281
|
+
}
|
2282
|
+
|
2283
|
+
// fetch pending bills, details of pending bill items, pending dues, details of pending dues, advance,
|
2284
|
+
// pending refunds
|
2285
|
+
|
2286
|
+
function fetchPendingOfPatient(req, res) {
|
2287
|
+
let sql = `select bill_no, sum(amount) as total, date, bill_item.patientID
|
2288
|
+
from bill_item, patient_record where patient_record.patientID = bill_item.patientID
|
2289
|
+
and status = "pending" and bill_item.patientID = ${req.body.data} group by bill_item.patientID;
|
2290
|
+
|
2291
|
+
select bill_item.*, patient_record.phone, patient_record.fileNumber, items.item_name, items.display_name,
|
2292
|
+
patient_record.credit, concat_ws(" ", patient_record.firstname, patient_record.middlename,
|
2293
|
+
patient_record.lastname) as name, true as selected from bill_item, patient_record, items where
|
2294
|
+
patient_record.patientID = bill_item.patientID and bill_item.itemID = items.itemID and
|
2295
|
+
status = "pending" and bill_item.patientID = ${req.body.data};
|
2296
|
+
|
2297
|
+
select sum(due) as total, p.firstname,p.middlename,p.lastname,p.fileNumber,
|
2298
|
+
p.patientID,p.phone,p.email from patient_dues, patient_record p
|
2299
|
+
where patient_dues.patientID = ${req.body.data} and status = "pending" and
|
2300
|
+
p.patientID = patient_dues.patientID group by patientID;
|
2301
|
+
|
2302
|
+
select patient_dues.* from patient_dues, patient_record
|
2303
|
+
where patient_dues.patientID = ${req.body.data} and status = "pending" and
|
2304
|
+
patient_record.patientID = patient_dues.patientID;
|
2305
|
+
|
2306
|
+
select credit from patient_record where patientID = ${req.body.data};
|
2307
|
+
|
2308
|
+
select sum(refund_amount) as amount, GROUP_CONCAT(bill_no SEPARATOR ',') AS bill_no
|
2309
|
+
from bill where refund_status = "pending" and patientID = ${req.body.data} group by patientID;
|
2310
|
+
`
|
2311
|
+
conn.query(sql, (err, results) => {
|
2312
|
+
if (err) {
|
2313
|
+
console.log(err)
|
2314
|
+
res.status(400).json({ error: err.message });
|
2315
|
+
}
|
2316
|
+
else {
|
2317
|
+
console.log(results)
|
2318
|
+
res.send({ result: results })
|
2319
|
+
}
|
2320
|
+
})
|
2321
|
+
}
|
2322
|
+
|
2323
|
+
// add an amount as advance to the patient's credit
|
2324
|
+
|
2325
|
+
function addAdvance(req, res) {
|
2326
|
+
|
2327
|
+
let data = req.body.data
|
2328
|
+
let sql = `select firstname,lastname,email from patient_record where patientID =?; `
|
2329
|
+
conn.query(sql, [data.patientID], (err, results) => {
|
2330
|
+
if (err) {
|
2331
|
+
console.log(err)
|
2332
|
+
res.status(400).json({ error: err.message });
|
2333
|
+
}
|
2334
|
+
else {
|
2335
|
+
if (data.mode == "normal") { // normal payment
|
2336
|
+
let sql = `update patient_record set credit = credit +? where patientID =?;
|
2337
|
+
insert into bill_payment_method(pay_method, amount, type, date, patientID, creator)
|
2338
|
+
VALUES(?,?, "advance", now(),?,?);
|
2339
|
+
select credit from patient_record where patientID =? `
|
2340
|
+
conn.query(sql,
|
2341
|
+
[data.amount, data.patientID, data.selectedMode, data.amount, data.patientID, data.creator,
|
2342
|
+
data.patientID],
|
2343
|
+
(err, results) => {
|
2344
|
+
if (err) {
|
2345
|
+
console.log(err)
|
2346
|
+
res.status(400).json({ error: err.message });
|
2347
|
+
}
|
2348
|
+
else {
|
2349
|
+
res.send({ result: results[2][0].credit })
|
2350
|
+
}
|
2351
|
+
})
|
2352
|
+
}
|
2353
|
+
else { // link payment
|
2354
|
+
|
2355
|
+
var instance = new Razorpay({
|
2356
|
+
key_id: 'rzp_test_GZJNmMcw3mM77Q',
|
2357
|
+
key_secret: 'OYBZ8SVAjz8a54Yn9oz4xJMw'
|
2358
|
+
})
|
2359
|
+
|
2360
|
+
|
2361
|
+
instance.paymentLink.create({
|
2362
|
+
amount: parseFloat(data.amount) * 100,
|
2363
|
+
currency: "INR",
|
2364
|
+
accept_partial: false,
|
2365
|
+
description: "Advance",
|
2366
|
+
customer: {
|
2367
|
+
name: `${results[0].firstname} ${results[0].lastname} `,
|
2368
|
+
email: results[0].email,
|
2369
|
+
contact: data.altPhone
|
2370
|
+
},
|
2371
|
+
notify: {
|
2372
|
+
sms: true,
|
2373
|
+
email: true
|
2374
|
+
},
|
2375
|
+
reminder_enable: true,
|
2376
|
+
notes: {
|
2377
|
+
patientID: data.patientID,
|
2378
|
+
mode: "advance",
|
2379
|
+
creator: data.creator
|
2380
|
+
}
|
2381
|
+
}).then((r) => {
|
2382
|
+
res.send({ result: r.id })
|
2383
|
+
}).catch(err => {
|
2384
|
+
console.log(err)
|
2385
|
+
})
|
2386
|
+
|
2387
|
+
}
|
2388
|
+
}
|
2389
|
+
})
|
2390
|
+
}
|
2391
|
+
|
2392
|
+
// give refund to patient
|
2393
|
+
function addRefund(req, res) {
|
2394
|
+
|
2395
|
+
let data = req.body.data
|
2396
|
+
let sql = ``
|
2397
|
+
let billArray
|
2398
|
+
// check if there are previous refunds of same mode for same bill , then update otherwise insert
|
2399
|
+
sql += `select * from bill_payment_method where bill_no=? and pay_method=? and type="refund";`
|
2400
|
+
|
2401
|
+
if (data.billNo) { // if refund is against a bill
|
2402
|
+
|
2403
|
+
billArray = data.billNo.split(",") // there can be multiple bills
|
2404
|
+
|
2405
|
+
for (var i = 0; i < billArray.length; i++) {
|
2406
|
+
|
2407
|
+
sql += `update refund set status="cleared" , cleared_by='${data.creatorName}',
|
2408
|
+
cleared_on=now() where bill_no='${billArray[i]}';`
|
2409
|
+
}
|
2410
|
+
//}
|
2411
|
+
}
|
2412
|
+
else {
|
2413
|
+
sql += `insert into refund (patientID,amount,date,status,creator,counter,itemID,cleared_by,cleared_on)
|
2414
|
+
VALUES (${data.patientID},${data.amount},now(),"cleared",${data.creator},${data.creator},"",
|
2415
|
+
'${data.creatorName}', now());
|
2416
|
+
select last_insert_id() as refundID;`
|
2417
|
+
}
|
2418
|
+
|
2419
|
+
// if refund is being added to advance
|
2420
|
+
if (data.toAdvance)
|
2421
|
+
sql += `update patient_record set credit = credit + ${data.amount}
|
2422
|
+
where patientID = ${data.patientID};`
|
2423
|
+
|
2424
|
+
|
2425
|
+
conn.query(sql, [data.billNo, data.selectedMode], (err, results) => {
|
2426
|
+
if (err) {
|
2427
|
+
console.log(err)
|
2428
|
+
res.status(400).json({ error: err.message });
|
2429
|
+
}
|
2430
|
+
else {
|
2431
|
+
|
2432
|
+
sql = `select patientID, concat_ws(" ",firstname,middlename,lastname) as name,
|
2433
|
+
fileNumber, credit from patient_record where patientID=${data.patientID};`
|
2434
|
+
if (data.billNo)
|
2435
|
+
sql += `select itemID,amount as refund from refund where bill_no in (${billArray});`
|
2436
|
+
else
|
2437
|
+
sql += `select itemID,amount as refund from refund where refundID=${results[2][0].refundID};`
|
2438
|
+
|
2439
|
+
if (data.toAdvance) {
|
2440
|
+
|
2441
|
+
sql += `insert into bill_payment_method(bill_no, pay_method, amount, type, date, patientID,
|
2442
|
+
creator) VALUES('${data.billNo}','${data.selectedMode}',${data.amount}, "advance", now(),
|
2443
|
+
${data.patientID},${data.creator});`
|
2444
|
+
}
|
2445
|
+
|
2446
|
+
if (results[0].length > 0)
|
2447
|
+
sql += `update bill_payment_method set amount=abs(amount)+${parseInt(data.amount)}
|
2448
|
+
where pay_method='${data.selectedMode}' and bill_no='${data.billNo}' and type="refund";`
|
2449
|
+
else
|
2450
|
+
sql += `insert into bill_payment_method(bill_no, pay_method, amount, type, date, patientID,
|
2451
|
+
creator) VALUES(?,?,?, "refund", now(),?,?);`
|
2452
|
+
|
2453
|
+
conn.query(sql, [data.billNo, data.selectedMode, -data.amount, data.patientID,
|
2454
|
+
data.creator], (err, results) => {
|
2455
|
+
if (err) {
|
2456
|
+
console.log(err)
|
2457
|
+
res.status(400).json({ error: err.message });
|
2458
|
+
}
|
2459
|
+
else {
|
2460
|
+
res.send({ patient: results[0][0], items: results[1] })
|
2461
|
+
}
|
2462
|
+
})
|
2463
|
+
}
|
2464
|
+
})
|
2465
|
+
}
|
2466
|
+
|
2467
|
+
|
2468
|
+
function addRefundRpay(req, res) {
|
2469
|
+
let data = req.body.data
|
2470
|
+
let sql = ``
|
2471
|
+
sql = `select payment_link from bill where bill_no='${data.billNo}';`
|
2472
|
+
conn.query(sql, (err, results) => {
|
2473
|
+
|
2474
|
+
if (err) {
|
2475
|
+
console.log(err)
|
2476
|
+
res.status(400).json({ error: err.message });
|
2477
|
+
}
|
2478
|
+
else {
|
2479
|
+
let paymentId = results[0].payment_link
|
2480
|
+
var instance = new Razorpay({
|
2481
|
+
key_id: 'rzp_test_GZJNmMcw3mM77Q',
|
2482
|
+
key_secret: 'OYBZ8SVAjz8a54Yn9oz4xJMw'
|
2483
|
+
})
|
2484
|
+
|
2485
|
+
|
2486
|
+
instance.payments.refund(paymentId, {
|
2487
|
+
"amount": data.amount,
|
2488
|
+
"speed": "optimum",
|
2489
|
+
"receipt": `${data.bill_no}:${paymentId}`
|
2490
|
+
}).then(r => {
|
2491
|
+
|
2492
|
+
sql = ``
|
2493
|
+
// check if there are previous refunds of same mode for same bill , then update otherwise insert
|
2494
|
+
sql += `select * from bill_payment_method where bill_no=? and pay_method=? and type="refund";`
|
2495
|
+
|
2496
|
+
|
2497
|
+
if (data.billNo) { // if refund is against a bill
|
2498
|
+
|
2499
|
+
let billArray = data.billNo.split(",") // there can be multiple bills
|
2500
|
+
|
2501
|
+
for (var i = 0; i < billArray.length; i++) {
|
2502
|
+
|
2503
|
+
sql += `update refund set status="cleared" , cleared_by='${data.creatorName}',
|
2504
|
+
cleared_on=now() where bill_no='${billArray[i]}';`
|
2505
|
+
}
|
2506
|
+
//}
|
2507
|
+
}
|
2508
|
+
conn.query(sql, [data.billNo, data.selectedMode], (err, results) => {
|
2509
|
+
if (err) {
|
2510
|
+
console.log(err)
|
2511
|
+
res.status(400).json({ error: err.message });
|
2512
|
+
}
|
2513
|
+
else {
|
2514
|
+
sql = `select credit from patient_record where patientID=${data.patientID};`
|
2515
|
+
|
2516
|
+
if (results[0].length > 0)
|
2517
|
+
sql += `update bill_payment_method set amount=abs(amount)+${parseInt(data.amount)}
|
2518
|
+
where pay_method='${data.selectedMode}' and bill_no='${data.billNo}' and type="refund";`
|
2519
|
+
else
|
2520
|
+
sql += `insert into bill_payment_method(bill_no, pay_method, amount, type, date, patientID,
|
2521
|
+
creator) VALUES(?,?,?, "refund", now(),?,?);`
|
2522
|
+
|
2523
|
+
conn.query(sql, [data.billNo, data.selectedMode, -data.amount, data.patientID,
|
2524
|
+
data.creator], (err, results) => {
|
2525
|
+
if (err) {
|
2526
|
+
console.log(err)
|
2527
|
+
res.status(400).json({ error: err.message });
|
2528
|
+
}
|
2529
|
+
else {
|
2530
|
+
res.send({ result: results[0][0].credit })
|
2531
|
+
}
|
2532
|
+
})
|
2533
|
+
}
|
2534
|
+
})
|
2535
|
+
}).catch(err => {
|
2536
|
+
console.log(err)
|
2537
|
+
res.status(400).json({ error: err.message });
|
2538
|
+
})
|
2539
|
+
}
|
2540
|
+
})
|
2541
|
+
}
|
2542
|
+
|
2543
|
+
// fetch all bills of particular patient within specified date range
|
2544
|
+
|
2545
|
+
function fetchBillsOfPatient(req, res) {
|
2546
|
+
let sql
|
2547
|
+
|
2548
|
+
sql = `select bill.*, bill.date, r.refund_amt,cr.cleared_refund_amt, cr.cleared_by, pd.due,
|
2549
|
+
MAX(CASE WHEN b.pay_method = "Cash" AND (b.type="bill" OR b.type is null)
|
2550
|
+
THEN b.amount ELSE NULL END) cash,
|
2551
|
+
MAX(CASE WHEN b.pay_method = "Card" AND (b.type="bill" OR b.type is null)
|
2552
|
+
THEN b.amount ELSE NULL END) card,
|
2553
|
+
MAX(CASE WHEN (b.pay_method = "UPI" OR b.pay_method="RPay") AND (b.type="bill" OR b.type is null)
|
2554
|
+
THEN b.amount ELSE NULL END) upi,
|
2555
|
+
MAX(CASE WHEN b.pay_method = "Cash" AND b.type="refund" THEN b.amount ELSE NULL END) r_cash,
|
2556
|
+
MAX(CASE WHEN b.pay_method = "Card" AND b.type="refund" THEN b.amount ELSE NULL END) r_card,
|
2557
|
+
MAX(CASE WHEN (b.pay_method = "UPI" OR b.pay_method="RPay") AND b.type="refund"
|
2558
|
+
THEN b.amount ELSE NULL END) r_upi
|
2559
|
+
from bill
|
2560
|
+
left join bill_payment_method b on b.bill_no = bill.bill_no
|
2561
|
+
left join (select sum(refund.amount) as refund_amt,bill_no
|
2562
|
+
from refund where status="pending" group by bill_no )
|
2563
|
+
r on r.bill_no=bill.bill_no
|
2564
|
+
left join (select sum(refund.amount) as cleared_refund_amt,cleared_by,bill_no
|
2565
|
+
from refund where status="cleared" group by bill_no )
|
2566
|
+
cr on cr.bill_no=bill.bill_no
|
2567
|
+
left join (select sum(due) as due, bill_no from patient_dues where
|
2568
|
+
patient_dues.status = "pending") pd on pd.bill_no=bill.bill_no
|
2569
|
+
where bill.status != "draft" and bill.patientID =? and bill.date >=? and bill.date <=?`
|
2570
|
+
|
2571
|
+
if (req.body.data.pharmacy) {
|
2572
|
+
sql += ` and bill.bill_no like "P%" `
|
2573
|
+
}
|
2574
|
+
sql += `group by bill.bill_no order by bill.date desc, bill.billID;`
|
2575
|
+
|
2576
|
+
conn.query(sql, [req.body.data.id, req.body.data.startDate, req.body.data.endDate],
|
2577
|
+
(err, results) => {
|
2578
|
+
if (err) {
|
2579
|
+
console.log(err)
|
2580
|
+
res.status(400).json({ error: err.message });
|
2581
|
+
}
|
2582
|
+
else {
|
2583
|
+
res.send({ result: results })
|
2584
|
+
}
|
2585
|
+
})
|
2586
|
+
}
|
2587
|
+
|
2588
|
+
//fetch all bills and bill items within specified date range - for displaying expanded view
|
2589
|
+
|
2590
|
+
function fetchBillsAndBillDetails(req, res) {
|
2591
|
+
let sql
|
2592
|
+
if (req.body.data.id) { // if patient is specified
|
2593
|
+
sql = `select bill.*, bp.cash, bp.card, bp.upi, concat_ws(" ", p.firstname, p.middlename, p.lastname)
|
2594
|
+
as name, b.itemID, b.qty, b.unit_price, b.amount, b.appointmentID, b.category,
|
2595
|
+
i.item_name, i.display_name, p.fileNumber, r.refund_amt,cr.cleared_refund_amt, cr.cleared_by,
|
2596
|
+
ir.refund, ipr.pending_refund
|
2597
|
+
from bill
|
2598
|
+
left join bill_item b on bill.bill_no = b.bill_no
|
2599
|
+
left join items i on b.itemID = i.itemID
|
2600
|
+
left join patient_record p on p.patientID = bill.patientID
|
2601
|
+
left join(
|
2602
|
+
select SUM(CASE WHEN b.pay_method = "Cash" THEN b.amount ELSE NULL END) cash,
|
2603
|
+
SUM(CASE WHEN b.pay_method = "Card" THEN b.amount ELSE NULL END) card,
|
2604
|
+
SUM(CASE WHEN b.pay_method = "UPI" OR b.pay_method="RPay" THEN b.amount ELSE NULL END) upi, bill_no
|
2605
|
+
from bill_payment_method b where type = "bill" group by bill_no) bp on bp.bill_no = b.bill_no
|
2606
|
+
left join (
|
2607
|
+
select sum(refund.amount) as refund_amt,bill_no
|
2608
|
+
from refund where status="pending" group by bill_no
|
2609
|
+
) r on r.bill_no=bill.bill_no
|
2610
|
+
left join (
|
2611
|
+
select sum(refund.amount) as cleared_refund_amt,bill_no,cleared_by
|
2612
|
+
from refund where status="cleared" group by bill_no
|
2613
|
+
) cr on cr.bill_no=bill.bill_no
|
2614
|
+
left join (
|
2615
|
+
select sum(amount) as refund, bill_item_id from refund
|
2616
|
+
where status="cleared"
|
2617
|
+
group by bill_item_id
|
2618
|
+
) ir on ir.bill_item_id=b.bill_item_id
|
2619
|
+
left join (
|
2620
|
+
select sum(amount) as pending_refund, bill_item_id from refund
|
2621
|
+
where status="pending"
|
2622
|
+
group by bill_item_id
|
2623
|
+
) ipr on ipr.bill_item_id=b.bill_item_id
|
2624
|
+
where bill.date >=? and bill.date <=? and bill.status != "draft"
|
2625
|
+
and bill.patientID = ${req.body.data.id}`
|
2626
|
+
if (req.body.data.pharmacy)
|
2627
|
+
sql += ` and bill.bill_no like "P%"`
|
2628
|
+
sql += ` order by bill.date desc, bill.billID; `
|
2629
|
+
}
|
2630
|
+
else { // if no patient is specified, but creator is specified
|
2631
|
+
sql = `select bill.*, bp.cash, bp.card, bp.upi, concat_ws(" ", p.firstname, p.middlename, p.lastname)
|
2632
|
+
as name, b.bill_no, b.itemID, b.qty, b.unit_price, b.amount, b.appointmentID, b.category,
|
2633
|
+
i.item_name, i.display_name, p.fileNumber, r.refund_amt,cr.cleared_refund_amt, cr.cleared_by,
|
2634
|
+
ir.refund, ipr.pending_refund
|
2635
|
+
from bill
|
2636
|
+
left join bill_item b on bill.bill_no = b.bill_no
|
2637
|
+
left join items i on b.itemID = i.itemID
|
2638
|
+
left join patient_record p on p.patientID = bill.patientID
|
2639
|
+
left join (
|
2640
|
+
select sum(refund.amount) as refund_amt,bill_no
|
2641
|
+
from refund where status="pending" group by bill_no
|
2642
|
+
) r on r.bill_no=bill.bill_no
|
2643
|
+
left join (
|
2644
|
+
select sum(refund.amount) as cleared_refund_amt,bill_no,cleared_by
|
2645
|
+
from refund where status="cleared" group by bill_no
|
2646
|
+
) cr on cr.bill_no=bill.bill_no
|
2647
|
+
left join (
|
2648
|
+
select sum(amount) as refund, bill_item_id from refund
|
2649
|
+
where status="cleared"
|
2650
|
+
group by bill_item_id
|
2651
|
+
) ir on ir.bill_item_id=b.bill_item_id
|
2652
|
+
left join (
|
2653
|
+
select sum(amount) as pending_refund, bill_item_id from refund
|
2654
|
+
where status="pending"
|
2655
|
+
group by bill_item_id
|
2656
|
+
) ipr on ipr.bill_item_id=b.bill_item_id
|
2657
|
+
left join(
|
2658
|
+
select SUM(CASE WHEN b.pay_method = "Cash" THEN b.amount ELSE NULL END) cash,
|
2659
|
+
SUM(CASE WHEN b.pay_method = "Card" THEN b.amount ELSE NULL END) card,
|
2660
|
+
SUM(CASE WHEN b.pay_method = "UPI" OR b.pay_method="RPay" THEN b.amount ELSE NULL END) upi, bill_no
|
2661
|
+
from bill_payment_method b where type = "bill" group by bill_no) bp on bp.bill_no = b.bill_no
|
2662
|
+
where bill.date >=? and bill.date <=? and bill.status != "draft"
|
2663
|
+
and bill.creator LIKE ?`
|
2664
|
+
if (req.body.data.pharmacy)
|
2665
|
+
sql += ` and bill.bill_no like "P%"`
|
2666
|
+
sql += ` order by bill.date desc, bill.billID; `
|
2667
|
+
}
|
2668
|
+
|
2669
|
+
conn.query(sql, [req.body.data.startDate, req.body.data.endDate, req.body.data.counter == "all" ?
|
2670
|
+
"%%" : req.body.data.counter],
|
2671
|
+
(err, rows) => {
|
2672
|
+
if (err) {
|
2673
|
+
console.log(err)
|
2674
|
+
res.status(400).json({ error: err.message });
|
2675
|
+
}
|
2676
|
+
else {
|
2677
|
+
// group bill items by bill_no to send to front end
|
2678
|
+
let result = [];
|
2679
|
+
|
2680
|
+
if (rows.length > 0) {
|
2681
|
+
let bill_no = rows[0].bill_no
|
2682
|
+
let items = [rows[0]]
|
2683
|
+
|
2684
|
+
for (let i = 1; i < rows.length; i++) {
|
2685
|
+
if (rows[i].bill_no == bill_no) {
|
2686
|
+
items.push(rows[i]);
|
2687
|
+
} else {
|
2688
|
+
let obj = { ...rows[i - 1] }; // Create a new object for each group
|
2689
|
+
obj.bill_items = items;
|
2690
|
+
result.push(obj);
|
2691
|
+
bill_no = rows[i].bill_no
|
2692
|
+
items = [rows[i]];
|
2693
|
+
}
|
2694
|
+
}
|
2695
|
+
let obj = { ...rows[rows.length - 1] }; // Create a new object for the last group
|
2696
|
+
obj.bill_items = items;
|
2697
|
+
result.push(obj);
|
2698
|
+
}
|
2699
|
+
res.send({ result: result })
|
2700
|
+
}
|
2701
|
+
})
|
2702
|
+
}
|
2703
|
+
|
2704
|
+
|
2705
|
+
//fetch all P & B bills and bill items combined within specified date range - for displaying expanded view
|
2706
|
+
|
2707
|
+
function fetchCombinedBillsAndBillDetails(req, res) {
|
2708
|
+
let sql
|
2709
|
+
if (req.body.data.id) { // if patient is specified
|
2710
|
+
sql = `select bill.*, bp.cash, bp.card, bp.upi, concat_ws(" ", p.firstname, p.middlename, p.lastname)
|
2711
|
+
as name, b.itemID, b.qty, b.unit_price, b.amount, b.appointmentID, b.category,
|
2712
|
+
i.item_name, i.display_name, p.fileNumber, r.refund_amt,cr.cleared_refund_amt, cr.cleared_by,
|
2713
|
+
ir.refund, ipr.pending_refund, pb.p_bill_no, pb.total as medicine_cost
|
2714
|
+
from bill
|
2715
|
+
left join bill_item b on bill.bill_no = b.bill_no
|
2716
|
+
left join items i on b.itemID = i.itemID
|
2717
|
+
left join patient_record p on p.patientID = bill.patientID
|
2718
|
+
left join(
|
2719
|
+
select SUM(CASE WHEN b.pay_method = "Cash" THEN b.amount ELSE NULL END) cash,
|
2720
|
+
SUM(CASE WHEN b.pay_method = "Card" THEN b.amount ELSE NULL END) card,
|
2721
|
+
SUM(CASE WHEN b.pay_method = "UPI" OR b.pay_method="RPay" THEN b.amount ELSE NULL END) upi, bill_no
|
2722
|
+
from bill_payment_method b where type = "bill" group by bill_no) bp on bp.bill_no = b.bill_no
|
2723
|
+
left join (
|
2724
|
+
select sum(refund.amount) as refund_amt,bill_no
|
2725
|
+
from refund where status="pending" group by bill_no
|
2726
|
+
) r on r.bill_no=bill.bill_no
|
2727
|
+
left join (
|
2728
|
+
select main_bill_ref, bill_no as p_bill_no, total from bill where bill_no like "P%"
|
2729
|
+
) pb on pb.main_bill_ref=bill.bill_no
|
2730
|
+
left join (
|
2731
|
+
select sum(refund.amount) as cleared_refund_amt,bill_no,cleared_by
|
2732
|
+
from refund where status="cleared" group by bill_no
|
2733
|
+
) cr on cr.bill_no=bill.bill_no
|
2734
|
+
left join (
|
2735
|
+
select sum(amount) as refund, bill_item_id from refund
|
2736
|
+
where status="cleared"
|
2737
|
+
group by bill_item_id
|
2738
|
+
) ir on ir.bill_item_id=b.bill_item_id
|
2739
|
+
left join (
|
2740
|
+
select sum(amount) as pending_refund, bill_item_id from refund
|
2741
|
+
where status="pending"
|
2742
|
+
group by bill_item_id
|
2743
|
+
) ipr on ipr.bill_item_id=b.bill_item_id
|
2744
|
+
|
2745
|
+
where bill.date >=? and bill.date <=? and bill.status != "draft"
|
2746
|
+
and bill.patientID = ${req.body.data.id}`
|
2747
|
+
if (req.body.data.pharmacy)
|
2748
|
+
sql += ` and bill.bill_no like "P%"`
|
2749
|
+
sql += ` order by bill.date desc, bill.billID; `
|
2750
|
+
}
|
2751
|
+
else { // if no patient is specified, but creator is specified
|
2752
|
+
sql = `select bill.*, bp.cash, bp.card, bp.upi, concat_ws(" ", p.firstname, p.middlename, p.lastname)
|
2753
|
+
as name, b.bill_no, b.itemID, b.qty, b.unit_price, b.amount, b.appointmentID, b.category,
|
2754
|
+
i.item_name, i.display_name, p.fileNumber, r.refund_amt,cr.cleared_refund_amt, cr.cleared_by,
|
2755
|
+
ir.refund, ipr.pending_refund, pb.p_bill_no, pb.total as medicine_cost
|
2756
|
+
from bill
|
2757
|
+
left join bill_item b on bill.bill_no = b.bill_no
|
2758
|
+
left join items i on b.itemID = i.itemID
|
2759
|
+
left join patient_record p on p.patientID = bill.patientID
|
2760
|
+
left join (
|
2761
|
+
select sum(refund.amount) as refund_amt,bill_no
|
2762
|
+
from refund where status="pending" group by bill_no
|
2763
|
+
) r on r.bill_no=bill.bill_no
|
2764
|
+
left join (
|
2765
|
+
select main_bill_ref, bill_no as p_bill_no, total from bill where bill_no like "P%"
|
2766
|
+
) pb on pb.main_bill_ref=bill.bill_no
|
2767
|
+
left join (
|
2768
|
+
select sum(refund.amount) as cleared_refund_amt,bill_no,cleared_by
|
2769
|
+
from refund where status="cleared" group by bill_no
|
2770
|
+
) cr on cr.bill_no=bill.bill_no
|
2771
|
+
left join (
|
2772
|
+
select sum(amount) as refund, bill_item_id from refund
|
2773
|
+
where status="cleared"
|
2774
|
+
group by bill_item_id
|
2775
|
+
) ir on ir.bill_item_id=b.bill_item_id
|
2776
|
+
left join (
|
2777
|
+
select sum(amount) as pending_refund, bill_item_id from refund
|
2778
|
+
where status="pending"
|
2779
|
+
group by bill_item_id
|
2780
|
+
) ipr on ipr.bill_item_id=b.bill_item_id
|
2781
|
+
left join(
|
2782
|
+
select SUM(CASE WHEN b.pay_method = "Cash" THEN b.amount ELSE NULL END) cash,
|
2783
|
+
SUM(CASE WHEN b.pay_method = "Card" THEN b.amount ELSE NULL END) card,
|
2784
|
+
SUM(CASE WHEN b.pay_method = "UPI" OR b.pay_method="RPay" THEN b.amount ELSE NULL END) upi, bill_no
|
2785
|
+
from bill_payment_method b where type = "bill" group by bill_no) bp on bp.bill_no = b.bill_no
|
2786
|
+
where bill.date >=? and bill.date <=? and bill.status != "draft"
|
2787
|
+
and bill.creator LIKE ?`
|
2788
|
+
if (req.body.data.pharmacy)
|
2789
|
+
sql += ` and bill.bill_no like "P%"`
|
2790
|
+
sql += ` order by bill.date desc, bill.billID; `
|
2791
|
+
}
|
2792
|
+
|
2793
|
+
conn.query(sql, [req.body.data.startDate, req.body.data.endDate, req.body.data.counter == "all" ?
|
2794
|
+
"%%" : req.body.data.counter],
|
2795
|
+
(err, rows) => {
|
2796
|
+
if (err) {
|
2797
|
+
console.log(err)
|
2798
|
+
res.status(400).json({ error: err.message });
|
2799
|
+
}
|
2800
|
+
else {
|
2801
|
+
// group bill items by bill_no to send to front end
|
2802
|
+
let result = [];
|
2803
|
+
|
2804
|
+
if (rows.length > 0) {
|
2805
|
+
let bill_no = rows[0].bill_no
|
2806
|
+
let items = [rows[0]]
|
2807
|
+
|
2808
|
+
for (let i = 1; i < rows.length; i++) {
|
2809
|
+
if (rows[i].bill_no == bill_no) {
|
2810
|
+
items.push(rows[i]);
|
2811
|
+
} else {
|
2812
|
+
let obj = { ...rows[i - 1] }; // Create a new object for each group
|
2813
|
+
obj.bill_items = items;
|
2814
|
+
result.push(obj);
|
2815
|
+
bill_no = rows[i].bill_no
|
2816
|
+
items = [rows[i]];
|
2817
|
+
}
|
2818
|
+
}
|
2819
|
+
let obj = { ...rows[rows.length - 1] }; // Create a new object for the last group
|
2820
|
+
obj.bill_items = items;
|
2821
|
+
result.push(obj);
|
2822
|
+
}
|
2823
|
+
res.send({ result: result })
|
2824
|
+
}
|
2825
|
+
})
|
2826
|
+
}
|
2827
|
+
|
2828
|
+
|
2829
|
+
|
2830
|
+
// fetch details of a prticular bill (bill no passed as parameter)
|
2831
|
+
function fetchDetailsOfBill(req, res) {
|
2832
|
+
|
2833
|
+
let bill_no = req.body.data.bill_no
|
2834
|
+
let p_bill_no = req.body.data.p_bill_no
|
2835
|
+
let sql
|
2836
|
+
sql = `select b.*,i.*, r.refund, p.pending_refund from bill_item b
|
2837
|
+
left join items i on b.itemID = i.itemID
|
2838
|
+
left join (
|
2839
|
+
select sum(amount) as refund, bill_item_id from refund
|
2840
|
+
where bill_no=? and status="cleared"
|
2841
|
+
group by bill_item_id
|
2842
|
+
) r on r.bill_item_id=b.bill_item_id
|
2843
|
+
left join (
|
2844
|
+
select sum(amount) as pending_refund,bill_item_id
|
2845
|
+
from refund where status="pending" group by bill_item_id
|
2846
|
+
) p on p.bill_item_id=b.bill_item_id
|
2847
|
+
where bill_no =?;
|
2848
|
+
|
2849
|
+
select * from bill_payment_method where bill_no =? and type = "bill";
|
2850
|
+
|
2851
|
+
select bill.* , r.refund_amt, cr.cleared_refund_amt
|
2852
|
+
from bill
|
2853
|
+
left join (select sum(refund.amount) as refund_amt,bill_no
|
2854
|
+
from refund where status="pending" group by bill_no )
|
2855
|
+
r on r.bill_no=bill.bill_no
|
2856
|
+
left join (select sum(refund.amount) as cleared_refund_amt,cleared_by,bill_no
|
2857
|
+
from refund where status="cleared" group by bill_no )
|
2858
|
+
cr on cr.bill_no=bill.bill_no where bill.bill_no=?; `
|
2859
|
+
|
2860
|
+
if (p_bill_no) {
|
2861
|
+
|
2862
|
+
sql += `select b.*,i.*, r.refund, p.pending_refund from bill_item b
|
2863
|
+
left join items i on b.itemID = i.itemID
|
2864
|
+
left join (
|
2865
|
+
select sum(amount) as refund, bill_item_id from refund
|
2866
|
+
where bill_no=? and status="cleared"
|
2867
|
+
group by bill_item_id
|
2868
|
+
) r on r.bill_item_id=b.bill_item_id
|
2869
|
+
left join (
|
2870
|
+
select sum(amount) as pending_refund,bill_item_id
|
2871
|
+
from refund where status="pending" group by bill_item_id
|
2872
|
+
) p on p.bill_item_id=b.bill_item_id
|
2873
|
+
where bill_no =?;
|
2874
|
+
select * from bill_payment_method where bill_no =? and type = "bill";
|
2875
|
+
select bill.* , r.refund_amt, cr.cleared_refund_amt
|
2876
|
+
from bill left join (select sum(refund.amount) as refund_amt,bill_no
|
2877
|
+
from refund where status="pending" group by bill_no )
|
2878
|
+
r on r.bill_no=bill.bill_no
|
2879
|
+
left join (select sum(refund.amount) as cleared_refund_amt,cleared_by,bill_no
|
2880
|
+
from refund where status="cleared" group by bill_no )
|
2881
|
+
cr on cr.bill_no=bill.bill_no where bill.bill_no=?;`
|
2882
|
+
}
|
2883
|
+
conn.query(sql, [bill_no, bill_no, bill_no, bill_no, p_bill_no, p_bill_no, p_bill_no, p_bill_no],
|
2884
|
+
(err, results) => {
|
2885
|
+
if (err) {
|
2886
|
+
console.log(err)
|
2887
|
+
res.status(400).json({ error: err.message });
|
2888
|
+
}
|
2889
|
+
else {
|
2890
|
+
|
2891
|
+
let result = { items: results[0], payMethod: results[1], additionalDetails: results[2][0] }
|
2892
|
+
if (p_bill_no) {
|
2893
|
+
result.pharmacyItems = results[3]
|
2894
|
+
result.pharmacyPayMethod = results[4]
|
2895
|
+
result.additionalDetailsPharmacy = results[5][0]
|
2896
|
+
}
|
2897
|
+
res.send(result)
|
2898
|
+
|
2899
|
+
}
|
2900
|
+
|
2901
|
+
|
2902
|
+
})
|
2903
|
+
}
|
2904
|
+
|
2905
|
+
// fetch all payment entries of a patient within specified date range
|
2906
|
+
|
2907
|
+
function fetchTransactionsOfPatient(req, res) {
|
2908
|
+
let sql = `select * from bill_payment_method where patientID =? and date >= ? and date <=?
|
2909
|
+
order by date desc; `
|
2910
|
+
|
2911
|
+
conn.query(sql, [req.body.data.id, req.body.data.startDate, req.body.data.endDate], (err, results) => {
|
2912
|
+
if (err) {
|
2913
|
+
console.log(err)
|
2914
|
+
res.status(400).json({ error: err.message });
|
2915
|
+
}
|
2916
|
+
else {
|
2917
|
+
res.send({ result: results })
|
2918
|
+
}
|
2919
|
+
})
|
2920
|
+
}
|
2921
|
+
|
2922
|
+
// fetch all bills of patient that have a consultation bill item, and fetch no of days since it was billed
|
2923
|
+
// for free consultation within x days
|
2924
|
+
function fetchConsultationBillsOfPatient(req, res) {
|
2925
|
+
|
2926
|
+
let sql = `select bill.*, bill_item.unit_price, bill_item.amount,
|
2927
|
+
items.*, datediff(curdate(), bill.date) as days from bill
|
2928
|
+
left join bill_item on bill_item.bill_no = bill.bill_no
|
2929
|
+
left join items on items.itemID = bill_item.itemID
|
2930
|
+
where bill.patientID =? and bill.date >=? and bill.date <=? and items.category = "consultation"
|
2931
|
+
order by date desc; `
|
2932
|
+
conn.query(sql, [req.body.data.id, req.body.data.startDate, req.body.data.endDate],
|
2933
|
+
(err, results) => {
|
2934
|
+
if (err) {
|
2935
|
+
console.log(err)
|
2936
|
+
res.status(400).json({ error: err.message });
|
2937
|
+
}
|
2938
|
+
else {
|
2939
|
+
res.send({ result: results })
|
2940
|
+
}
|
2941
|
+
})
|
2942
|
+
}
|
2943
|
+
|
2944
|
+
// fetch all bills withing specified date range and created by specified cashier
|
2945
|
+
|
2946
|
+
function fetchBills(req, res) {
|
2947
|
+
|
2948
|
+
let sql
|
2949
|
+
sql = `select bill.*, patient_record.phone, patient_record.fileNumber, patient_record.credit,
|
2950
|
+
MAX(CASE WHEN b.pay_method = "Cash" AND (b.type="bill" OR b.type is null)
|
2951
|
+
THEN b.amount ELSE NULL END) cash,
|
2952
|
+
MAX(CASE WHEN b.pay_method = "Card" AND (b.type="bill" OR b.type is null)
|
2953
|
+
THEN b.amount ELSE NULL END) card,
|
2954
|
+
MAX(CASE WHEN (b.pay_method = "UPI" OR b.pay_method="RPay") AND (b.type="bill" OR b.type is null)
|
2955
|
+
THEN b.amount ELSE NULL END) upi,
|
2956
|
+
MAX(CASE WHEN b.pay_method = "Cash" AND b.type="refund" THEN b.amount ELSE NULL END) r_cash,
|
2957
|
+
MAX(CASE WHEN b.pay_method = "Card" AND b.type="refund" THEN b.amount ELSE NULL END) r_card,
|
2958
|
+
MAX(CASE WHEN (b.pay_method = "UPI" OR b.pay_method="RPay") AND b.type="refund"
|
2959
|
+
THEN b.amount ELSE NULL END) r_upi,
|
2960
|
+
concat_ws(" ", patient_record.firstname, patient_record.middlename,
|
2961
|
+
patient_record.lastname) as name, (select sum(due) from patient_dues where patient_dues.bill_no =
|
2962
|
+
bill.bill_no and patient_dues.status = "pending") as due,
|
2963
|
+
GROUP_CONCAT(items.item_name SEPARATOR ', ') AS items,
|
2964
|
+
r.refund_amt, cr.cleared_refund_amt, cr.cleared_by
|
2965
|
+
from bill
|
2966
|
+
left join patient_record on patient_record.patientID = bill.patientID
|
2967
|
+
left join bill_payment_method b on b.bill_no = bill.bill_no
|
2968
|
+
left join bill_item bi on bi.bill_no = bill.bill_no
|
2969
|
+
left join items on items.itemID = bi.itemID
|
2970
|
+
left join (select sum(refund.amount) as refund_amt,bill_no
|
2971
|
+
from refund where status="pending" group by bill_no )
|
2972
|
+
r on r.bill_no=bill.bill_no
|
2973
|
+
left join (select sum(refund.amount) as cleared_refund_amt,cleared_by,bill_no
|
2974
|
+
from refund where status="cleared" group by bill_no )
|
2975
|
+
cr on cr.bill_no=bill.bill_no
|
2976
|
+
where(bill.status != "draft" or bill.status is null)
|
2977
|
+
and bill.date >=? and bill.date <=? and bill.creator LIKE ?
|
2978
|
+
group by bill.bill_no order by bill.date desc,bill.billID; `
|
2979
|
+
|
2980
|
+
conn.query(sql, [req.body.data.startDate, req.body.data.endDate, req.body.data.counter == "all" ?
|
2981
|
+
"%%" : req.body.data.counter], (err, results) => {
|
2982
|
+
if (err) {
|
2983
|
+
console.log(err)
|
2984
|
+
res.status(400).json({ error: err.message });
|
2985
|
+
}
|
2986
|
+
else {
|
2987
|
+
res.send({ result: results })
|
2988
|
+
}
|
2989
|
+
})
|
2990
|
+
}
|
2991
|
+
|
2992
|
+
// pharmacy and normal bills combined view
|
2993
|
+
|
2994
|
+
function fetchCombinedBills(req, res) {
|
2995
|
+
|
2996
|
+
let sql
|
2997
|
+
sql = `select bill.*, patient_record.phone, patient_record.fileNumber, patient_record.credit,
|
2998
|
+
MAX(CASE WHEN b.pay_method = "Cash" AND (b.type="bill" OR b.type is null)
|
2999
|
+
THEN b.amount ELSE NULL END) cash,
|
3000
|
+
MAX(CASE WHEN b.pay_method = "Card" AND (b.type="bill" OR b.type is null)
|
3001
|
+
THEN b.amount ELSE NULL END) card,
|
3002
|
+
MAX(CASE WHEN (b.pay_method = "UPI" OR b.pay_method="RPay") AND (b.type="bill" OR b.type is null)
|
3003
|
+
THEN b.amount ELSE NULL END) upi,
|
3004
|
+
MAX(CASE WHEN b.pay_method = "Cash" AND b.type="refund" THEN b.amount ELSE NULL END) r_cash,
|
3005
|
+
MAX(CASE WHEN b.pay_method = "Card" AND b.type="refund" THEN b.amount ELSE NULL END) r_card,
|
3006
|
+
MAX(CASE WHEN (b.pay_method = "UPI" OR b.pay_method="RPay") AND b.type="refund"
|
3007
|
+
THEN b.amount ELSE NULL END) r_upi,
|
3008
|
+
pb.p_bill_no, pb.total as medicine_cost,
|
3009
|
+
concat_ws(" ", patient_record.firstname, patient_record.middlename,
|
3010
|
+
patient_record.lastname) as name, (select sum(due) from patient_dues where patient_dues.bill_no =
|
3011
|
+
bill.bill_no and patient_dues.status = "pending") as due,
|
3012
|
+
GROUP_CONCAT(items.item_name SEPARATOR ', ') AS items,
|
3013
|
+
r.refund_amt, cr.cleared_refund_amt, cr.cleared_by
|
3014
|
+
from bill
|
3015
|
+
left join patient_record on patient_record.patientID = bill.patientID
|
3016
|
+
|
3017
|
+
left join (
|
3018
|
+
select main_bill_ref, bill_no as p_bill_no, total from bill where bill_no like "P%"
|
3019
|
+
) pb on pb.main_bill_ref=bill.bill_no
|
3020
|
+
|
3021
|
+
left join bill_payment_method b on b.bill_no = bill.bill_no
|
3022
|
+
|
3023
|
+
left join bill_item bi on bi.bill_no = bill.bill_no
|
3024
|
+
|
3025
|
+
left join items on items.itemID = bi.itemID
|
3026
|
+
|
3027
|
+
left join (select sum(refund.amount) as refund_amt,bill_no
|
3028
|
+
from refund where status="pending" group by bill_no )
|
3029
|
+
r on r.bill_no=bill.bill_no
|
3030
|
+
|
3031
|
+
left join (select sum(refund.amount) as cleared_refund_amt,cleared_by,bill_no
|
3032
|
+
from refund where status="cleared" group by bill_no )
|
3033
|
+
cr on cr.bill_no=bill.bill_no
|
3034
|
+
|
3035
|
+
where(bill.status != "draft" or bill.status is null) and bill.main_bill_ref is null
|
3036
|
+
and bill.date >=? and bill.date <=? and bill.creator LIKE ?
|
3037
|
+
group by bill.bill_no order by bill.date desc,bill.billID; `
|
3038
|
+
|
3039
|
+
conn.query(sql, [req.body.data.startDate, req.body.data.endDate, req.body.data.counter == "all" ?
|
3040
|
+
"%%" : req.body.data.counter], (err, results) => {
|
3041
|
+
if (err) {
|
3042
|
+
console.log(err)
|
3043
|
+
res.status(400).json({ error: err.message });
|
3044
|
+
}
|
3045
|
+
else {
|
3046
|
+
res.send({ result: results })
|
3047
|
+
}
|
3048
|
+
})
|
3049
|
+
}
|
3050
|
+
|
3051
|
+
|
3052
|
+
// fetch all pharmacy bills within specified date range and created by specified cashier
|
3053
|
+
|
3054
|
+
function fetchPharmacyBills(req, res) {
|
3055
|
+
|
3056
|
+
let sql
|
3057
|
+
sql = `select bill.*, patient_record.phone, patient_record.fileNumber, patient_record.credit,
|
3058
|
+
MAX(CASE WHEN b.pay_method = "Cash" AND (b.type="bill" OR b.type is null)
|
3059
|
+
THEN b.amount ELSE NULL END) cash,
|
3060
|
+
MAX(CASE WHEN b.pay_method = "Card" AND (b.type="bill" OR b.type is null)
|
3061
|
+
THEN b.amount ELSE NULL END) card,
|
3062
|
+
MAX(CASE WHEN (b.pay_method = "UPI" OR b.pay_method="RPay") AND (b.type="bill" OR b.type is null)
|
3063
|
+
THEN b.amount ELSE NULL END) upi,
|
3064
|
+
MAX(CASE WHEN b.pay_method = "Cash" AND b.type="refund" THEN b.amount ELSE NULL END) r_cash,
|
3065
|
+
MAX(CASE WHEN b.pay_method = "Card" AND b.type="refund" THEN b.amount ELSE NULL END) r_card,
|
3066
|
+
MAX(CASE WHEN (b.pay_method = "UPI" OR b.pay_method="RPay") AND b.type="refund"
|
3067
|
+
THEN b.amount ELSE NULL END) r_upi,
|
3068
|
+
concat_ws(" ", patient_record.firstname, patient_record.middlename,
|
3069
|
+
patient_record.lastname) as name, (select sum(due) from patient_dues where patient_dues.bill_no =
|
3070
|
+
bill.bill_no and patient_dues.status = "pending")as due,
|
3071
|
+
GROUP_CONCAT(items.item_name SEPARATOR ', ') AS items,
|
3072
|
+
r.refund_amt, cr.cleared_refund_amt, cr.cleared_by
|
3073
|
+
from bill
|
3074
|
+
left join patient_record on patient_record.patientID = bill.patientID
|
3075
|
+
left join bill_payment_method b on b.bill_no = bill.bill_no
|
3076
|
+
left join bill_item bi on bi.bill_no = bill.bill_no
|
3077
|
+
left join items on items.itemID = bi.itemID
|
3078
|
+
left join (select sum(refund.amount) as refund_amt,bill_no
|
3079
|
+
from refund where status="pending" group by bill_no )
|
3080
|
+
r on r.bill_no=bill.bill_no
|
3081
|
+
left join (select sum(refund.amount) as cleared_refund_amt,cleared_by,bill_no
|
3082
|
+
from refund where status="cleared" group by bill_no )
|
3083
|
+
cr on cr.bill_no=bill.bill_no
|
3084
|
+
where(bill.status != "draft" or bill.status is null)
|
3085
|
+
and bill.date >=? and bill.date <=? and bill.creator LIKE ? and bill.bill_no LIKE "P%"
|
3086
|
+
group by bill.bill_no order by bill.date desc,bill.billID; `
|
3087
|
+
|
3088
|
+
conn.query(sql, [req.body.data.startDate, req.body.data.endDate, req.body.data.counter == "all" ?
|
3089
|
+
"%%" : req.body.data.counter], (err, results) => {
|
3090
|
+
if (err) {
|
3091
|
+
console.log(err)
|
3092
|
+
res.status(400).json({ error: err.message });
|
3093
|
+
}
|
3094
|
+
else {
|
3095
|
+
res.send({ result: results })
|
3096
|
+
}
|
3097
|
+
})
|
3098
|
+
}
|
3099
|
+
|
3100
|
+
// save entered bill details as draft
|
3101
|
+
|
3102
|
+
function saveAsDraft(req, res) {
|
3103
|
+
let data = req.body.data
|
3104
|
+
|
3105
|
+
/*
|
3106
|
+
if pending dues have been included in the bill, but the patient has again paid less than or equal
|
3107
|
+
to the total without due, it is equivalent to the dues not being included in the bill
|
3108
|
+
eg : if total_without_due=200,dues=100,grand_total=300. if patient pays <=200, no pending dues
|
3109
|
+
have been cleared so update value of total and includeDue flag accordingly
|
3110
|
+
*/
|
3111
|
+
data.includeDue = data.includeDue && data.due > 0 &&
|
3112
|
+
data.paid_amt <= data.total_without_due ? false : data.includeDue
|
3113
|
+
data.total = data.includeDue ? data.total : data.total_without_due
|
3114
|
+
|
3115
|
+
let sql
|
3116
|
+
// if (data.billNo) // if a draft is being edited and saved as a draft again, it will have a bill_no
|
3117
|
+
|
3118
|
+
// sql = `update bill set patientID =?, total =?, received_amt =?, included_due_amt =?, discount =?, date = now(),
|
3119
|
+
// included_advance =?, status = "draft" where bill_no = '${data.billNo}'; `
|
3120
|
+
|
3121
|
+
// else // otherwise insert entry
|
3122
|
+
|
3123
|
+
// sql = `insert into bill(patientID, total, received_amt, included_due_amt, discount, date,
|
3124
|
+
// included_advance, status, creator)
|
3125
|
+
// values(?,?,?,?,?, now(),?, "draft",?);
|
3126
|
+
// select last_insert_id() as billID; `
|
3127
|
+
|
3128
|
+
if (data.id)
|
3129
|
+
sql = `update temp_bill_details set bill_detail=?, date=now() where bill_id=?;`
|
3130
|
+
else
|
3131
|
+
sql = `insert into temp_bill_details(bill_detail,type,date) values(?,"draft",now());`
|
3132
|
+
|
3133
|
+
// conn.query(sql, [data.patient.patientID, data.total, data.paid_amt,
|
3134
|
+
// data.includeDue ? data.due : null, data.discount, data.advance, data.creator], (err, results) => {
|
3135
|
+
|
3136
|
+
conn.query(sql, [JSON.stringify(data), data.id], (err, results) => {
|
3137
|
+
if (err) {
|
3138
|
+
console.log(err)
|
3139
|
+
res.status(400).json({ error: err.message });
|
3140
|
+
}
|
3141
|
+
else {
|
3142
|
+
|
3143
|
+
// // generate bill_no, store or update stringified bill details against bill_no
|
3144
|
+
|
3145
|
+
// let bill_no = data.billNo ? data.billNo : `B${getFinancialYear(new Date)} -${results[1][0].billID} `
|
3146
|
+
// if (data.billNo)
|
3147
|
+
// sql = `update temp_bill_details set bill_detail =? where bill_no = '${bill_no}'`
|
3148
|
+
// else
|
3149
|
+
// sql = `insert into temp_bill_details values('${bill_no}',?);
|
3150
|
+
// update bill set bill_no = '${bill_no}' where billID = ${results[1][0].billID}; `
|
3151
|
+
// conn.query(sql, [JSON.stringify(data)], (err, results) => {
|
3152
|
+
// if (err) {
|
3153
|
+
// console.log(err)
|
3154
|
+
// res.status(400).json({ error: err.message });
|
3155
|
+
// }
|
3156
|
+
// else {
|
3157
|
+
// res.send({ result: results })
|
3158
|
+
// }
|
3159
|
+
// })
|
3160
|
+
|
3161
|
+
res.send({ result: results })
|
3162
|
+
}
|
3163
|
+
})
|
3164
|
+
|
3165
|
+
}
|
3166
|
+
|
3167
|
+
// fetch all drafts
|
3168
|
+
|
3169
|
+
function fetchDrafts(req, res) {
|
3170
|
+
// let sql = `select bill.*, patient_record.phone, patient_record.fileNumber, date,
|
3171
|
+
// concat_ws(" ", patient_record.firstname, patient_record.middlename,
|
3172
|
+
// patient_record.lastname) as name from bill, patient_record where
|
3173
|
+
// bill.patientID = patient_record.patientID and bill.status = "draft" and bill.creator =?
|
3174
|
+
// order by date desc; `
|
3175
|
+
|
3176
|
+
let sql = `select t.bill_detail, t.bill_id, patient_record.phone, patient_record.fileNumber, date,
|
3177
|
+
concat_ws(" ", patient_record.firstname, patient_record.middlename,
|
3178
|
+
patient_record.lastname) as name , p.typeName, patient_record.patientID
|
3179
|
+
from temp_bill_details t
|
3180
|
+
left join patient_record on JSON_UNQUOTE(JSON_EXTRACT(t.bill_detail, '$.patient.patientID')) = patient_record.patientID
|
3181
|
+
left join patient_types p on p.typeID=patient_record.type
|
3182
|
+
where t.type = "draft" and JSON_EXTRACT(t.bill_detail, '$.creator')=?
|
3183
|
+
order by date desc; `
|
3184
|
+
conn.query(sql, [req.body.data], (err, results) => {
|
3185
|
+
if (err) {
|
3186
|
+
console.log(err)
|
3187
|
+
res.status(400).json({ error: err.message });
|
3188
|
+
}
|
3189
|
+
else {
|
3190
|
+
res.send({ result: results })
|
3191
|
+
}
|
3192
|
+
})
|
3193
|
+
}
|
3194
|
+
|
3195
|
+
// fetch stringified details of a particular bill_no
|
3196
|
+
|
3197
|
+
function fetchStringifiedDetails(req, res) {
|
3198
|
+
let sql = `select * from temp_bill_details where bill_no =?; `
|
3199
|
+
conn.query(sql, [req.body.data], (err, results) => {
|
3200
|
+
if (err) {
|
3201
|
+
console.log(err)
|
3202
|
+
res.status(400).json({ error: err.message });
|
3203
|
+
}
|
3204
|
+
else {
|
3205
|
+
let result = {}
|
3206
|
+
if (results.length > 0)
|
3207
|
+
result = JSON.parse(results[0].bill_detail)
|
3208
|
+
res.send({ result: result })
|
3209
|
+
}
|
3210
|
+
})
|
3211
|
+
|
3212
|
+
}
|
3213
|
+
|
3214
|
+
// edit bill
|
3215
|
+
|
3216
|
+
function editBill(req, res) {
|
3217
|
+
|
3218
|
+
let data = req.body.data
|
3219
|
+
|
3220
|
+
/*
|
3221
|
+
if pending dues have been included in the bill, but the patient has again paid less than or equal
|
3222
|
+
to the total without due, it is equivalent to the dues not being included in the bill
|
3223
|
+
eg : if total_without_due=200,dues=100,grand_total=300. if patient pays <=200, no pending dues
|
3224
|
+
have been cleared so update value of total and includeDue flag accordingly
|
3225
|
+
*/
|
3226
|
+
data.includeDue = data.includeDue && data.due > 0 &&
|
3227
|
+
data.paid_amt <= data.total_without_due ? false : data.includeDue
|
3228
|
+
data.total = data.includeDue ? data.total : data.total_without_due
|
3229
|
+
|
3230
|
+
// update bill entry
|
3231
|
+
let sql
|
3232
|
+
sql = `update bill set patientID =?, total =?, received_amt =?, included_due_amt =?, discount =?, date =?,
|
3233
|
+
included_advance =?, status = "paid", lastEditedOn=now(), editedBy=?
|
3234
|
+
where bill_no = '${data.billNo}'; `
|
3235
|
+
|
3236
|
+
conn.query(sql, [data.patient.patientID, data.total, data.paid_amt,
|
3237
|
+
data.includeDue ? data.due : null, data.discount, data.date, data.advance, data.editedBy],
|
3238
|
+
(err, results) => {
|
3239
|
+
if (err) {
|
3240
|
+
console.log(err)
|
3241
|
+
res.status(400).json({ error: err.message });
|
3242
|
+
}
|
3243
|
+
else {
|
3244
|
+
|
3245
|
+
// mail updated invoice to user
|
3246
|
+
|
3247
|
+
let bill_no = data.billNo;
|
3248
|
+
// (async () => {
|
3249
|
+
|
3250
|
+
// const htmlContent = billTemplate({
|
3251
|
+
// bill_no: data.billNo,
|
3252
|
+
// patient: data.patient,
|
3253
|
+
// items: data.items,
|
3254
|
+
// due: data.due,
|
3255
|
+
// discount: data.discount,
|
3256
|
+
// total: data.subtotal,
|
3257
|
+
// grand_total: data.total,
|
3258
|
+
// advance: data.advance,
|
3259
|
+
// paid: data.paid,
|
3260
|
+
// balance: data.balance
|
3261
|
+
// })
|
3262
|
+
// // Launch a headless browser with Puppeteer
|
3263
|
+
// const browser = await puppeteer.launch();
|
3264
|
+
// const page = await browser.newPage();
|
3265
|
+
|
3266
|
+
// // Set the HTML content of the page and wait for it to load
|
3267
|
+
// await page.setContent(htmlContent, { waitUntil: 'networkidle0' });
|
3268
|
+
|
3269
|
+
// // Generate a PDF of the page
|
3270
|
+
// const pdfBuffer = await page.pdf();
|
3271
|
+
|
3272
|
+
// // Close the browser
|
3273
|
+
// await browser.close();
|
3274
|
+
|
3275
|
+
// // Create a Nodemailer transport object
|
3276
|
+
// let transporter = nodemailer.createTransport({
|
3277
|
+
// host: 'smtp.gmail.com',
|
3278
|
+
// port: 587,
|
3279
|
+
// secure: false,
|
3280
|
+
// auth: {
|
3281
|
+
// user: 'athirageorge288@gmail.com',
|
3282
|
+
// pass: 'dcduzmfnpunmmfhw'
|
3283
|
+
// }
|
3284
|
+
// });
|
3285
|
+
|
3286
|
+
// // Create a message object with the PDF attachment
|
3287
|
+
// let message = {
|
3288
|
+
// from: 'athirageorge288@gmail.com',
|
3289
|
+
// to: 'athirageorge288@gmail.com',
|
3290
|
+
// subject: 'PDF attachment',
|
3291
|
+
// text: 'Please find attached the PDF file',
|
3292
|
+
// attachments: [{
|
3293
|
+
// filename: 'Invoice.pdf',
|
3294
|
+
// content: pdfBuffer
|
3295
|
+
// }]
|
3296
|
+
// };
|
3297
|
+
|
3298
|
+
// // Send the message with Nodemailer
|
3299
|
+
// let info = await transporter.sendMail(message);
|
3300
|
+
// console.log('Message sent: %s', info.messageId);
|
3301
|
+
// })();
|
3302
|
+
|
3303
|
+
// store updated stringified version of bill ,
|
3304
|
+
// sql=`update temp_bill_details set bill_detail =? where bill_no = '${bill_no}';`
|
3305
|
+
|
3306
|
+
|
3307
|
+
//delete bill items of bill to replace with new
|
3308
|
+
sql = `delete from bill_item where bill_no='${bill_no}';`
|
3309
|
+
|
3310
|
+
// insert updated bill items
|
3311
|
+
for (var i = 0; i < data.items.length; i++) {
|
3312
|
+
|
3313
|
+
sql += `insert into bill_item(bill_no, itemID, patientID, qty, unit_price, amount,
|
3314
|
+
status,category, appointmentID) values
|
3315
|
+
('${bill_no}', '${data.items[i].itemID}', ${data.patient.patientID},
|
3316
|
+
${data.items[i].qty}, ${data.items[i].unit_price}, ${data.items[i].amount},
|
3317
|
+
'${data.items[i].payLater ? "pending" : "cleared"}',
|
3318
|
+
(select category from items where itemID = '${data.items[i].itemID}'),
|
3319
|
+
${data.items[i].appointmentID ? data.items[i].appointmentID : null}); `
|
3320
|
+
|
3321
|
+
}
|
3322
|
+
|
3323
|
+
// update payment entries
|
3324
|
+
|
3325
|
+
sql += `delete from bill_payment_method where bill_no = '${bill_no}'; `
|
3326
|
+
let pay_method = Object.keys(data.paid)
|
3327
|
+
let flag = 0
|
3328
|
+
for (var i = 0; i < pay_method.length; i++) {
|
3329
|
+
let amt = data.paid[pay_method[i]]
|
3330
|
+
if (amt != "") {
|
3331
|
+
if (amt >= data.balance && !flag) {
|
3332
|
+
amt -= data.balance
|
3333
|
+
flag = 1
|
3334
|
+
}
|
3335
|
+
sql += `insert into bill_payment_method(bill_no, pay_method, amount, type, date,
|
3336
|
+
patientID) values('${bill_no}', '${pay_method[i]}', ${amt}, "bill", now(),
|
3337
|
+
${data.patient.patientID}); `
|
3338
|
+
}
|
3339
|
+
}
|
3340
|
+
|
3341
|
+
sql += `SELECT qty,amount,bill_item.itemID,display_name,unit_price,bill_item.category,
|
3342
|
+
true as selected,JSON_OBJECT('label', item_name) AS item_name,bill_item_id
|
3343
|
+
FROM sgmc_db.bill_item,items where items.itemID=bill_item.itemID and
|
3344
|
+
bill_no='${bill_no}';`
|
3345
|
+
|
3346
|
+
conn.query(sql, [JSON.stringify(data)], (err, results) => {
|
3347
|
+
if (err) {
|
3348
|
+
console.log(err)
|
3349
|
+
res.status(400).json({ error: err.message });
|
3350
|
+
}
|
3351
|
+
else {
|
3352
|
+
|
3353
|
+
// update items of data object with the selected bill items
|
3354
|
+
data.items = results[results.length - 1]
|
3355
|
+
// update patient_dues
|
3356
|
+
sql = `delete from patient_dues where bill_no = '${bill_no}';
|
3357
|
+
update temp_bill_details set bill_detail =?
|
3358
|
+
where bill_no = '${bill_no}';`
|
3359
|
+
|
3360
|
+
conn.query(sql, [JSON.stringify(data)], (err, results) => {
|
3361
|
+
if (err) {
|
3362
|
+
console.log(err)
|
3363
|
+
res.status(400).json({ error: err.message });
|
3364
|
+
}
|
3365
|
+
else {
|
3366
|
+
sql = ``
|
3367
|
+
if (data.includeDue && data.due > 0) {
|
3368
|
+
// if (data.paid_amt < data.total_without_due) {
|
3369
|
+
|
3370
|
+
// sql += `insert into patient_dues(patientID, due, status, bill_no, date) values
|
3371
|
+
// (?,?, "pending",?,?); `
|
3372
|
+
|
3373
|
+
// conn.query(sql, [data.patient.patientID, data.total_without_due - data.paid_amt,
|
3374
|
+
// bill_no, data.date],
|
3375
|
+
// (err, results) => {
|
3376
|
+
// if (err) {
|
3377
|
+
// console.log(err)
|
3378
|
+
// res.status(400).json({ error: err.message });
|
3379
|
+
// }
|
3380
|
+
// else {
|
3381
|
+
// res.send({ result: bill_no })
|
3382
|
+
// }
|
3383
|
+
|
3384
|
+
// });
|
3385
|
+
|
3386
|
+
// }
|
3387
|
+
|
3388
|
+
if (data.paid_amt > data.total_without_due && data.paid_amt < data.total) {
|
3389
|
+
sql += `select * from patient_dues where patientID =? and status = "pending"; `
|
3390
|
+
|
3391
|
+
conn.query(sql, [data.patient.patientID], (err, results) => {
|
3392
|
+
if (err) {
|
3393
|
+
console.log(err)
|
3394
|
+
res.status(400).json({ error: err.message });
|
3395
|
+
}
|
3396
|
+
else {
|
3397
|
+
sql = ``
|
3398
|
+
let paid_due_amt = data.paid_amt - data.total_without_due
|
3399
|
+
for (var i = 0; i < results.length; i++) {
|
3400
|
+
if (paid_due_amt > 0) {
|
3401
|
+
if (results[i].due <= paid_due_amt) {
|
3402
|
+
sql += `update patient_dues set status = "cleared",
|
3403
|
+
cleared_date =? where dueID = ${results[i].dueID}; `
|
3404
|
+
paid_due_amt = paid_due_amt - results[i].due
|
3405
|
+
}
|
3406
|
+
else {
|
3407
|
+
sql += `update patient_dues set due = ${results[i].due - paid_due_amt}
|
3408
|
+
where dueID = ${results[i].dueID}; `
|
3409
|
+
}
|
3410
|
+
}
|
3411
|
+
}
|
3412
|
+
conn.query(sql, [data.date], (err, results) => {
|
3413
|
+
if (err) {
|
3414
|
+
console.log(err)
|
3415
|
+
res.status(400).json({ error: err.message });
|
3416
|
+
}
|
3417
|
+
else {
|
3418
|
+
|
3419
|
+
res.send({ result: bill_no })
|
3420
|
+
}
|
3421
|
+
})
|
3422
|
+
}
|
3423
|
+
|
3424
|
+
});
|
3425
|
+
|
3426
|
+
}
|
3427
|
+
|
3428
|
+
else if (data.paid_amt >= data.total) {
|
3429
|
+
sql += `update patient_dues set status = "cleared", cleared_date =? where patientID =? `
|
3430
|
+
conn.query(sql, [data.date, data.patient.patientID],
|
3431
|
+
(err, results) => {
|
3432
|
+
if (err) {
|
3433
|
+
console.log(err)
|
3434
|
+
res.status(400).json({ error: err.message });
|
3435
|
+
}
|
3436
|
+
else {
|
3437
|
+
res.send({ result: bill_no })
|
3438
|
+
}
|
3439
|
+
|
3440
|
+
});
|
3441
|
+
|
3442
|
+
}
|
3443
|
+
else
|
3444
|
+
res.send({ result: bill_no })
|
3445
|
+
}
|
3446
|
+
else {
|
3447
|
+
if (data.paid_amt < data.total_without_due) {
|
3448
|
+
sql += `insert into patient_dues(patientID, due, status, bill_no, date) values
|
3449
|
+
(?,?, "pending",?,?); `
|
3450
|
+
|
3451
|
+
conn.query(sql, [data.patient.patientID, data.total_without_due - data.paid_amt,
|
3452
|
+
bill_no, data.date],
|
3453
|
+
(err, results) => {
|
3454
|
+
if (err) {
|
3455
|
+
console.log(err)
|
3456
|
+
res.status(400).json({ error: err.message });
|
3457
|
+
}
|
3458
|
+
else {
|
3459
|
+
res.send({ result: bill_no })
|
3460
|
+
}
|
3461
|
+
|
3462
|
+
});
|
3463
|
+
|
3464
|
+
}
|
3465
|
+
else
|
3466
|
+
res.send({ result: bill_no })
|
3467
|
+
}
|
3468
|
+
}
|
3469
|
+
})
|
3470
|
+
}
|
3471
|
+
|
3472
|
+
});
|
3473
|
+
|
3474
|
+
}
|
3475
|
+
|
3476
|
+
|
3477
|
+
});
|
3478
|
+
}
|
3479
|
+
|
3480
|
+
|
3481
|
+
// resend rpay link (only possible if unpaid)
|
3482
|
+
|
3483
|
+
function resendRazorpayLink(req, res) {
|
3484
|
+
// let data = req.body.data
|
3485
|
+
// console.log(data)
|
3486
|
+
// let sql
|
3487
|
+
// sql = `update bill set patientID =?, total =?, received_amt =?, included_due_amt =?, discount =?, date = now(),
|
3488
|
+
// included_advance=?, status=? where bill_no='${data.billNo}';`
|
3489
|
+
|
3490
|
+
// conn.query(sql, [data.patient.patientID, data.total, data.paid_amt - data.paid["UPI"] < 0 ? 0 :
|
3491
|
+
// data.paid_amt - data.paid["UPI"], data.includeDue ? data.due : null, data.discount, data.advance,
|
3492
|
+
// data.paid_amt - data.paid["UPI"] > 0 ? "partially paid" : "unpaid"],
|
3493
|
+
// (err, results) => {
|
3494
|
+
// if (err) {
|
3495
|
+
// console.log(err)
|
3496
|
+
// res.status(400).json({ error: err.message });
|
3497
|
+
// }
|
3498
|
+
// else {
|
3499
|
+
// let bill_no = data.billNo;
|
3500
|
+
|
3501
|
+
// sql = `update temp_bill_details set bill_detail=? where bill_no='${bill_no}';
|
3502
|
+
// delete from bill_payment_method where bill_no='${bill_no}';`
|
3503
|
+
// let pay_method = Object.keys(data.paid)
|
3504
|
+
// let flag = 0
|
3505
|
+
// for (var i = 0; i < pay_method.length; i++) {
|
3506
|
+
// let amt = data.paid[pay_method[i]]
|
3507
|
+
// if (amt != "" && pay_method[i] != "UPI") {
|
3508
|
+
// if (amt >= data.balance && !flag) {
|
3509
|
+
// amt -= data.balance
|
3510
|
+
// flag = 1
|
3511
|
+
// }
|
3512
|
+
// sql += `insert into bill_payment_method(bill_no,pay_method,amount,type,date,patientID)
|
3513
|
+
// values('${bill_no}','${pay_method[i]}',${amt},"bill",now(), ${data.patient.patientID});`
|
3514
|
+
// }
|
3515
|
+
// }
|
3516
|
+
// conn.query(sql, [JSON.stringify(data)], (err, results) => {
|
3517
|
+
// if (err) {
|
3518
|
+
// console.log(err)
|
3519
|
+
// res.status(400).json({ error: err.message });
|
3520
|
+
// }
|
3521
|
+
// else {
|
3522
|
+
|
3523
|
+
var instance = new Razorpay({
|
3524
|
+
key_id: 'rzp_test_GZJNmMcw3mM77Q',
|
3525
|
+
key_secret: 'OYBZ8SVAjz8a54Yn9oz4xJMw'
|
3526
|
+
})
|
3527
|
+
|
3528
|
+
instance.paymentLink.edit(req.body.data.payment_link, {
|
3529
|
+
|
3530
|
+
"notes": {
|
3531
|
+
"bill_no": req.body.data.bill_no,
|
3532
|
+
"mode": "resend"
|
3533
|
+
}
|
3534
|
+
}).then(r => {
|
3535
|
+
|
3536
|
+
instance.paymentLink.notifyBy(req.body.data.payment_link, "sms")
|
3537
|
+
.then(r => {
|
3538
|
+
|
3539
|
+
res.send({ result: r.id })
|
3540
|
+
|
3541
|
+
}).catch(err => {
|
3542
|
+
console.log(err)
|
3543
|
+
res.status(400).json({ error: err.message });
|
3544
|
+
})
|
3545
|
+
}).catch(err => {
|
3546
|
+
console.log(err)
|
3547
|
+
res.status(400).json({ error: err.message });
|
3548
|
+
})
|
3549
|
+
// }
|
3550
|
+
// })
|
3551
|
+
// }
|
3552
|
+
// })
|
3553
|
+
}
|
3554
|
+
|
3555
|
+
|
3556
|
+
function editBillWithLink(req, res) {
|
3557
|
+
let data = req.body.data
|
3558
|
+
|
3559
|
+
/*
|
3560
|
+
if pending dues have been included in the bill, but the patient has again paid less than or equal
|
3561
|
+
to the total without due, it is equivalent to the dues not being included in the bill
|
3562
|
+
eg : if total_without_due=200,dues=100,grand_total=300. if patient pays <=200, no pending dues
|
3563
|
+
have been cleared so update value of total and includeDue flag accordingly
|
3564
|
+
*/
|
3565
|
+
|
3566
|
+
data.includeDue = data.includeDue && data.due > 0 &&
|
3567
|
+
data.paid_amt <= data.total_without_due ? false : data.includeDue
|
3568
|
+
data.total = data.includeDue ? data.total : data.total_without_due
|
3569
|
+
|
3570
|
+
|
3571
|
+
let sql
|
3572
|
+
|
3573
|
+
// update bill entry
|
3574
|
+
|
3575
|
+
sql = `update bill set patientID=?,total=?,received_amt=?,included_due_amt=?,discount=?,date=now(),
|
3576
|
+
included_advance=?, status=?, lastEditedOn=now(), editedBy=? where bill_no='${data.billNo}';`
|
3577
|
+
|
3578
|
+
conn.query(sql, [data.patient.patientID, data.total, data.paid_amt - data.paid["UPI"] < 0 ? 0 :
|
3579
|
+
data.paid_amt - data.paid["UPI"], data.includeDue ? data.due : null, data.discount, data.advance,
|
3580
|
+
data.paid_amt - data.paid["UPI"] > 0 ? "partially paid" : "unpaid", data.editedBy],
|
3581
|
+
(err, results) => {
|
3582
|
+
if (err) {
|
3583
|
+
console.log(err)
|
3584
|
+
res.status(400).json({ error: err.message });
|
3585
|
+
}
|
3586
|
+
else {
|
3587
|
+
let bill_no = data.billNo;
|
3588
|
+
|
3589
|
+
// update stringified object bill items and payment entries
|
3590
|
+
sql = `update temp_bill_details set bill_detail=? where bill_no='${bill_no}';
|
3591
|
+
delete from bill_payment_method where bill_no='${bill_no}';
|
3592
|
+
delete from bill_item where bill_no='${bill_no}';`
|
3593
|
+
|
3594
|
+
// insert updated bill items
|
3595
|
+
for (var i = 0; i < data.items.length; i++) {
|
3596
|
+
|
3597
|
+
sql += `insert into bill_item(bill_no, itemID, patientID, qty, unit_price, amount,
|
3598
|
+
status,category,appointmentID) values
|
3599
|
+
('${bill_no}', '${data.items[i].itemID}', ${data.patient.patientID},
|
3600
|
+
${data.items[i].qty}, ${data.items[i].unit_price}, ${data.items[i].amount},
|
3601
|
+
'${data.items[i].payLater ? "pending" : "billed"}',
|
3602
|
+
(select category from items where itemID = '${data.items[i].itemID}'),
|
3603
|
+
${data.items[i].appointmentID ? data.items[i].appointmentID : null}); `
|
3604
|
+
|
3605
|
+
}
|
3606
|
+
|
3607
|
+
let pay_method = Object.keys(data.paid)
|
3608
|
+
let flag = 0
|
3609
|
+
for (var i = 0; i < pay_method.length; i++) {
|
3610
|
+
let amt = data.paid[pay_method[i]]
|
3611
|
+
if (amt != "" && pay_method[i] != "UPI") {
|
3612
|
+
if (amt >= data.balance && !flag) {
|
3613
|
+
amt -= data.balance
|
3614
|
+
flag = 1
|
3615
|
+
}
|
3616
|
+
sql += `insert into bill_payment_method(bill_no,pay_method,amount,type,date,patientID)
|
3617
|
+
values('${bill_no}', '${pay_method[i]}',${amt},"bill",now(), ${data.patient.patientID});`
|
3618
|
+
}
|
3619
|
+
}
|
3620
|
+
|
3621
|
+
sql += `SELECT qty,amount,bill_item.itemID,display_name,unit_price,bill_item.category,
|
3622
|
+
true as selected,JSON_OBJECT('label', item_name) AS item_name,bill_item_id
|
3623
|
+
FROM sgmc_db.bill_item,items where items.itemID=bill_item.itemID and
|
3624
|
+
bill_no='${bill_no}';`
|
3625
|
+
|
3626
|
+
conn.query(sql, [JSON.stringify(data)], (err, results) => {
|
3627
|
+
if (err) {
|
3628
|
+
console.log(err)
|
3629
|
+
res.status(400).json({ error: err.message });
|
3630
|
+
}
|
3631
|
+
else {
|
3632
|
+
|
3633
|
+
// send payment link
|
3634
|
+
|
3635
|
+
var instance = new Razorpay({
|
3636
|
+
key_id: 'rzp_test_GZJNmMcw3mM77Q',
|
3637
|
+
key_secret: 'OYBZ8SVAjz8a54Yn9oz4xJMw'
|
3638
|
+
})
|
3639
|
+
instance.paymentLink.cancel(data.payment_link).then(r => {
|
3640
|
+
|
3641
|
+
instance.paymentLink.create({
|
3642
|
+
amount: parseFloat(data.paid["UPI"]) * 100,
|
3643
|
+
currency: "INR",
|
3644
|
+
accept_partial: false,
|
3645
|
+
reference_id: bill_no,
|
3646
|
+
description: "Bill",
|
3647
|
+
customer: {
|
3648
|
+
name: data.patient.name,
|
3649
|
+
email: data.patient.email,
|
3650
|
+
contact: data.altPhone
|
3651
|
+
},
|
3652
|
+
notify: {
|
3653
|
+
sms: true,
|
3654
|
+
email: true
|
3655
|
+
},
|
3656
|
+
reminder_enable: true,
|
3657
|
+
notes: {
|
3658
|
+
bill_no,
|
3659
|
+
mode: "resend", creator: data.creator
|
3660
|
+
}
|
3661
|
+
}).then(r => {
|
3662
|
+
|
3663
|
+
data.items = results[results.length - 1]
|
3664
|
+
|
3665
|
+
// update stringified data
|
3666
|
+
|
3667
|
+
sql = `update temp_bill_details set bill_detail =?
|
3668
|
+
where bill_no = '${bill_no}';`
|
3669
|
+
|
3670
|
+
// store payment link against bill
|
3671
|
+
|
3672
|
+
sql += `update bill set payment_link=? where bill_no='${bill_no}';`
|
3673
|
+
|
3674
|
+
conn.query(sql, [JSON.stringify(data), r.id], (err, results) => {
|
3675
|
+
if (err) {
|
3676
|
+
console.log(err)
|
3677
|
+
res.status(400).json({ error: err.message });
|
3678
|
+
}
|
3679
|
+
else {
|
3680
|
+
res.send({ result: r.id })
|
3681
|
+
}
|
3682
|
+
})
|
3683
|
+
}).catch(err => {
|
3684
|
+
console.log(err)
|
3685
|
+
res.status(400).json({ error: err.message });
|
3686
|
+
})
|
3687
|
+
}).catch(err => {
|
3688
|
+
console.log(err)
|
3689
|
+
res.status(400).json({ error: err.message });
|
3690
|
+
})
|
3691
|
+
}
|
3692
|
+
})
|
3693
|
+
}
|
3694
|
+
})
|
3695
|
+
}
|
3696
|
+
|
3697
|
+
// fetch report of all advances recieved within specified date range
|
3698
|
+
|
3699
|
+
function fetchCreditReport(req, res) {
|
3700
|
+
let sql
|
3701
|
+
sql = `select b.*, concat_ws(" ", p.firstname,p.middlename,p.lastname) as name , p.fileNumber
|
3702
|
+
from bill_payment_method b
|
3703
|
+
left join patient_record p on p.patientID=b.patientID
|
3704
|
+
where b.type="advance" and b.date>=? and b.date <=? and b.creator LIKE ? ;`
|
3705
|
+
conn.query(sql, [req.body.data.startDate, req.body.data.endDate, req.body.data.counter == "all" ?
|
3706
|
+
"%%" : req.body.data.counter], (err, results) => {
|
3707
|
+
if (err) {
|
3708
|
+
console.log(err)
|
3709
|
+
res.status(400).json({ error: err.message });
|
3710
|
+
}
|
3711
|
+
else {
|
3712
|
+
res.send({ "result": results })
|
3713
|
+
}
|
3714
|
+
|
3715
|
+
});
|
3716
|
+
}
|
3717
|
+
|
3718
|
+
// fetch report of all pending dues within specified date range
|
3719
|
+
|
3720
|
+
function fetchPendingDueReport(req, res) {
|
3721
|
+
let sql
|
3722
|
+
sql = `select due, patient_record.fileNumber, patient_dues.bill_no,date,
|
3723
|
+
concat_ws(" ", patient_record.firstname, patient_record.middlename,
|
3724
|
+
patient_record.lastname) as name, patient_dues.patientID from patient_dues
|
3725
|
+
left join patient_record on patient_record.patientID=patient_dues.patientID
|
3726
|
+
where patient_dues.status="pending" and date>=? and date<=? and creator LIKE ? ;`
|
3727
|
+
conn.query(sql, [req.body.data.startDate, req.body.data.endDate, req.body.data.counter == "all" ?
|
3728
|
+
"%%" : req.body.data.counter], (err, results) => {
|
3729
|
+
if (err) {
|
3730
|
+
console.log(err)
|
3731
|
+
res.status(400).json({ error: err.message });
|
3732
|
+
}
|
3733
|
+
else {
|
3734
|
+
res.send({ "result": results })
|
3735
|
+
}
|
3736
|
+
|
3737
|
+
});
|
3738
|
+
}
|
3739
|
+
|
3740
|
+
// fetch report of all dues cleared within specified date range
|
3741
|
+
|
3742
|
+
function fetchReceiptReport(req, res) {
|
3743
|
+
let sql
|
3744
|
+
sql = `select due, patient_record.fileNumber, patient_dues.bill_no,date,cleared_date,
|
3745
|
+
concat_ws(" ", patient_record.firstname, patient_record.middlename,
|
3746
|
+
patient_record.lastname) as name, patient_dues.patientID from patient_dues
|
3747
|
+
left join patient_record on patient_record.patientID=patient_dues.patientID
|
3748
|
+
where patient_dues.status="cleared" and cleared_date>=? and cleared_date<=? and creator LIKE ? ;`
|
3749
|
+
conn.query(sql, [req.body.data.startDate, req.body.data.endDate, req.body.data.counter == "all" ?
|
3750
|
+
"%%" : req.body.data.counter], (err, results) => {
|
3751
|
+
if (err) {
|
3752
|
+
console.log(err)
|
3753
|
+
res.status(400).json({ error: err.message });
|
3754
|
+
}
|
3755
|
+
else {
|
3756
|
+
res.send({ "result": results })
|
3757
|
+
}
|
3758
|
+
|
3759
|
+
});
|
3760
|
+
}
|
3761
|
+
|
3762
|
+
// fetch report of all cleared dues that were created within specified date range
|
3763
|
+
|
3764
|
+
function fetchReceiptByBillDateReport(req, res) {
|
3765
|
+
let sql
|
3766
|
+
sql = `select due, patient_record.fileNumber, patient_dues.bill_no,date,cleared_date,
|
3767
|
+
concat_ws(" ", patient_record.firstname, patient_record.middlename,
|
3768
|
+
patient_record.lastname) as name, patient_dues.patientID from patient_dues
|
3769
|
+
left join patient_record on patient_record.patientID=patient_dues.patientID
|
3770
|
+
where patient_dues.status="cleared" and date>=? and date<=? and creator LIKE ? ;`
|
3771
|
+
conn.query(sql, [req.body.data.startDate, req.body.data.endDate, req.body.data.counter == "all" ?
|
3772
|
+
"%%" : req.body.data.counter], (err, results) => {
|
3773
|
+
if (err) {
|
3774
|
+
console.log(err)
|
3775
|
+
res.status(400).json({ error: err.message });
|
3776
|
+
}
|
3777
|
+
else {
|
3778
|
+
res.send({ "result": results })
|
3779
|
+
}
|
3780
|
+
|
3781
|
+
});
|
3782
|
+
}
|
3783
|
+
// item summary report
|
3784
|
+
|
3785
|
+
function fetchItemSummary(req, res) {
|
3786
|
+
let sql = `select items.*,sum(amount) as total from items
|
3787
|
+
left join bill_item on bill_item.itemID=items.itemID
|
3788
|
+
left join bill on bill_item.bill_no=bill.bill_no
|
3789
|
+
where bill_item.status="cleared" and bill.date>=? and bill.date<=? and bill.creator LIKE ?
|
3790
|
+
group by itemID order by item_name;`
|
3791
|
+
|
3792
|
+
conn.query(sql, [req.body.data.startDate, req.body.data.endDate, req.body.data.counter == "all" ?
|
3793
|
+
"%%" : req.body.data.counter], (err, results) => {
|
3794
|
+
if (err) {
|
3795
|
+
console.log(err)
|
3796
|
+
res.status(400).json({ error: err.message });
|
3797
|
+
}
|
3798
|
+
else {
|
3799
|
+
res.send({ "result": results })
|
3800
|
+
}
|
3801
|
+
|
3802
|
+
});
|
3803
|
+
}
|
3804
|
+
|
3805
|
+
// details of bills containing a particular item
|
3806
|
+
|
3807
|
+
function fetchItemDetail(req, res) {
|
3808
|
+
let sql = `select concat_ws(" ", p.firstname, p.middlename,p.lastname) as name,
|
3809
|
+
p.patientID, p.fileNumber,b.*,i.* , bi.amount
|
3810
|
+
from bill b,bill_item bi,items i,patient_record p
|
3811
|
+
where b.bill_no=bi.bill_no and bi.itemID=i.itemID and b.patientID=p.patientID
|
3812
|
+
and bi.itemID=? and b.date>=? and b.date<=? and b.creator LIKE ? ; `
|
3813
|
+
|
3814
|
+
conn.query(sql, [req.body.data.id, req.body.data.startDate, req.body.data.endDate,
|
3815
|
+
req.body.data.counter == "all" ? "%%" : req.body.data.counter],
|
3816
|
+
(err, results) => {
|
3817
|
+
if (err) {
|
3818
|
+
console.log(err)
|
3819
|
+
res.status(400).json({ error: err.message });
|
3820
|
+
}
|
3821
|
+
else {
|
3822
|
+
console.log(results)
|
3823
|
+
res.send({ "result": results })
|
3824
|
+
}
|
3825
|
+
|
3826
|
+
});
|
3827
|
+
}
|
3828
|
+
|
3829
|
+
|
3830
|
+
// fetch report of doctor billed total within specified date range
|
3831
|
+
|
3832
|
+
function fetchDoctorSummary(req, res) {
|
3833
|
+
|
3834
|
+
let sql = `select i.itemID, i.item_name, sum(bi.amount) as total, doctorInitials,
|
3835
|
+
concat_ws(" ", s.firstname, s.middlename, s.lastname) as name
|
3836
|
+
from bill_item bi,bill b, items i, staff_record s
|
3837
|
+
where i.itemID=bi.itemID
|
3838
|
+
and s.longInitials=i.doctorInitials
|
3839
|
+
and bi.bill_no=b.bill_no and b.date>=? and b.date<=?
|
3840
|
+
and b.creator LIKE ? and doctorInitials is not null group by bi.itemID order by doctorInitials;`
|
3841
|
+
|
3842
|
+
conn.query(sql, [req.body.data.startDate, req.body.data.endDate,
|
3843
|
+
req.body.data.counter == "all" ? "%%" : req.body.data.counter],
|
3844
|
+
(err, rows) => {
|
3845
|
+
if (err) {
|
3846
|
+
console.log(err)
|
3847
|
+
res.status(400).json({ error: err.message });
|
3848
|
+
}
|
3849
|
+
else {
|
3850
|
+
|
3851
|
+
let result = [];
|
3852
|
+
if (rows.length > 0) {
|
3853
|
+
let sum = rows[0].total
|
3854
|
+
let doctor = rows[0].doctorInitials;
|
3855
|
+
let name = rows[0].name
|
3856
|
+
let items = [rows[0]];
|
3857
|
+
for (let i = 1; i < rows.length; i++) {
|
3858
|
+
|
3859
|
+
if (rows[i].doctorInitials == doctor) {
|
3860
|
+
sum += parseInt(rows[i].total)
|
3861
|
+
items.push(rows[i]);
|
3862
|
+
} else {
|
3863
|
+
result.push({ doctor: doctor, total: sum, name: name, items: items });
|
3864
|
+
doctor = rows[i].doctorInitials;
|
3865
|
+
sum = rows[i].total
|
3866
|
+
name = rows[i].name
|
3867
|
+
items = [rows[i]];
|
3868
|
+
}
|
3869
|
+
}
|
3870
|
+
result.push({ doctor: doctor, total: sum, name: name, items: items });
|
3871
|
+
}
|
3872
|
+
res.send({ "result": result })
|
3873
|
+
}
|
3874
|
+
|
3875
|
+
});
|
3876
|
+
}
|
3877
|
+
|
3878
|
+
// department wise bill report
|
3879
|
+
|
3880
|
+
function fetchDepartmentWiseReport(req, res) {
|
3881
|
+
|
3882
|
+
let sql = `select concat_ws(" ", p.firstname, p.middlename,p.lastname) as name,
|
3883
|
+
p.patientID, p.fileNumber,b.*,i.* , bi.amount
|
3884
|
+
from bill b,bill_item bi,items i,patient_record p
|
3885
|
+
where b.bill_no=bi.bill_no and bi.itemID=i.itemID and b.patientID=p.patientID
|
3886
|
+
and bi.category=? and b.date>=? and b.date<=? and b.creator LIKE ? ; `
|
3887
|
+
|
3888
|
+
conn.query(sql, [req.body.data.id, req.body.data.startDate, req.body.data.endDate,
|
3889
|
+
req.body.data.counter == "all" ? "%%" : req.body.data.counter],
|
3890
|
+
(err, results) => {
|
3891
|
+
if (err) {
|
3892
|
+
console.log(err)
|
3893
|
+
res.status(400).json({ error: err.message });
|
3894
|
+
}
|
3895
|
+
else {
|
3896
|
+
res.send({ "result": results })
|
3897
|
+
}
|
3898
|
+
|
3899
|
+
});
|
3900
|
+
}
|
3901
|
+
|
3902
|
+
// detailed report of datewise payments and costs
|
3903
|
+
|
3904
|
+
function fetchPerDayTallyReport(req, res) {
|
3905
|
+
|
3906
|
+
let sql = `select b.date, t.treatment_cost , m.medicine_cost, d.due, sum(b.included_advance) as advance,
|
3907
|
+
ip.inv_cash, ip.inv_card,ip.inv_upi,
|
3908
|
+
rp.rcpt_cash,rp.rcpt_card,rp.rcpt_upi,
|
3909
|
+
rf.rf_cash,rf.rf_card,rf.rf_upi, rfnd.refund,
|
3910
|
+
ap.adv_cash,ap.adv_card,ap.adv_upi, e.expense
|
3911
|
+
from bill b
|
3912
|
+
left join ( select sum(amount) as treatment_cost, bill.date
|
3913
|
+
from bill_item, bill
|
3914
|
+
where bill_item.bill_no=bill.bill_no and category!="pharmacy" group by bill.date
|
3915
|
+
)t on t.date=b.date
|
3916
|
+
left join (
|
3917
|
+
select sum(amount) as medicine_cost, bill.date
|
3918
|
+
from bill_item ,bill
|
3919
|
+
where bill_item.bill_no=bill.bill_no and category="pharmacy" group by bill.date
|
3920
|
+
) m on m.date=b.date
|
3921
|
+
left join (
|
3922
|
+
select sum(due) as due, date from patient_dues
|
3923
|
+
group by date
|
3924
|
+
) d on d.date=b.date
|
3925
|
+
|
3926
|
+
left join (
|
3927
|
+
select SUM(CASE WHEN b.pay_method = "Cash" THEN b.amount ELSE NULL END) inv_cash,
|
3928
|
+
SUM(CASE WHEN b.pay_method = "Card" THEN b.amount ELSE NULL END) inv_card,
|
3929
|
+
SUM(CASE WHEN b.pay_method = "UPI" OR b.pay_method="RPay" THEN b.amount ELSE NULL END)
|
3930
|
+
inv_upi, date
|
3931
|
+
from bill_payment_method b where type="bill" group by date
|
3932
|
+
) ip on ip.date=b.date
|
3933
|
+
left join (
|
3934
|
+
select SUM(CASE WHEN b.pay_method = "Cash" THEN b.amount ELSE NULL END) rcpt_cash,
|
3935
|
+
SUM(CASE WHEN b.pay_method = "Card" THEN b.amount ELSE NULL END) rcpt_card,
|
3936
|
+
SUM(CASE WHEN b.pay_method = "UPI" OR b.pay_method="RPay" THEN b.amount ELSE NULL END) rcpt_upi, date
|
3937
|
+
from bill_payment_method b where type="due" group by date
|
3938
|
+
) rp on rp.date=b.date
|
3939
|
+
left join (
|
3940
|
+
select SUM(CASE WHEN b.pay_method = "Cash" THEN b.amount ELSE NULL END) adv_cash,
|
3941
|
+
SUM(CASE WHEN b.pay_method = "Card" THEN b.amount ELSE NULL END) adv_card,
|
3942
|
+
SUM(CASE WHEN b.pay_method = "UPI" OR b.pay_method="RPay" THEN b.amount ELSE NULL END) adv_upi, date
|
3943
|
+
from bill_payment_method b where type="advance" group by date
|
3944
|
+
) ap on ap.date=b.date
|
3945
|
+
left join (select SUM(CASE WHEN b.pay_method = "Cash" THEN b.amount ELSE NULL END) rf_cash,
|
3946
|
+
SUM(CASE WHEN b.pay_method = "Card" THEN b.amount ELSE NULL END) rf_card,
|
3947
|
+
SUM(CASE WHEN b.pay_method = "UPI" OR b.pay_method="RPay" THEN b.amount ELSE NULL END)
|
3948
|
+
rf_upi, date
|
3949
|
+
from bill_payment_method b where type="refund" group by date
|
3950
|
+
)rf on rf.date=b.date
|
3951
|
+
left join (
|
3952
|
+
select sum(amount) as expense, date
|
3953
|
+
from expense group by date
|
3954
|
+
) e on e.date=b.date
|
3955
|
+
|
3956
|
+
left join (
|
3957
|
+
select sum(amount) as refund, cleared_on
|
3958
|
+
from refund group by cleared_on
|
3959
|
+
) rfnd on rfnd.cleared_on=b.date
|
3960
|
+
|
3961
|
+
where b.date>=? and b.date<=? and b.creator LIKE ? group by b.date;`
|
3962
|
+
|
3963
|
+
conn.query(sql, [req.body.data.startDate, req.body.data.endDate, req.body.data.counter == "all" ?
|
3964
|
+
"%%" : req.body.data.counter],
|
3965
|
+
(err, results) => {
|
3966
|
+
if (err) {
|
3967
|
+
console.log(err)
|
3968
|
+
res.status(400).json({ error: err.message });
|
3969
|
+
}
|
3970
|
+
else {
|
3971
|
+
res.send({ "result": results })
|
3972
|
+
}
|
3973
|
+
|
3974
|
+
});
|
3975
|
+
}
|
3976
|
+
|
3977
|
+
// summary report of datewise payments and costs
|
3978
|
+
|
3979
|
+
function fetchPerDayTallySummaryReport(req, res) {
|
3980
|
+
|
3981
|
+
let sql = `select b.date, t.treatment_cost , m.medicine_cost, d.due, r.rcpt,
|
3982
|
+
sum(b.included_advance) as advance, p.cash, p.card, p.upi,p.rzpay, c.credit, s.card_machine, s.gpay,
|
3983
|
+
s.rpay, s.bank, sum(discount) as discount, e.expense, rfnd.refund
|
3984
|
+
from bill b
|
3985
|
+
|
3986
|
+
left join bill_summary s on b.date=s.date
|
3987
|
+
|
3988
|
+
left join ( select sum(amount) as treatment_cost, bill.date
|
3989
|
+
from bill_item, bill
|
3990
|
+
where bill_item.bill_no=bill.bill_no and category!="pharmacy" group by bill.date
|
3991
|
+
)t on t.date=b.date
|
3992
|
+
|
3993
|
+
left join (
|
3994
|
+
select sum(amount) as medicine_cost, bill.date
|
3995
|
+
from bill_item , bill
|
3996
|
+
where bill_item.bill_no=bill.bill_no and category="pharmacy" group by bill.date
|
3997
|
+
) m on m.date=b.date
|
3998
|
+
|
3999
|
+
left join (
|
4000
|
+
select sum(due) as due, date from patient_dues
|
4001
|
+
group by date
|
4002
|
+
) d on d.date=b.date
|
4003
|
+
left join (
|
4004
|
+
select sum(amount) as rcpt, date
|
4005
|
+
from bill_payment_method b where type="due" group by date
|
4006
|
+
) r on r.date=b.date
|
4007
|
+
|
4008
|
+
left join (
|
4009
|
+
select SUM(CASE WHEN b.pay_method = "Cash" THEN b.amount ELSE NULL END) cash,
|
4010
|
+
SUM(CASE WHEN b.pay_method = "Card" THEN b.amount ELSE NULL END) card,
|
4011
|
+
SUM(CASE WHEN b.pay_method = "UPI" THEN b.amount ELSE NULL END) upi,
|
4012
|
+
SUM(CASE WHEN b.pay_method = "RPay" THEN b.amount ELSE NULL END) rzpay,date
|
4013
|
+
from bill_payment_method b group by date
|
4014
|
+
) p on p.date=b.date
|
4015
|
+
left join (
|
4016
|
+
select sum(amount) as credit, date
|
4017
|
+
from bill_payment_method b where type="advance" group by date
|
4018
|
+
) c on c.date=b.date
|
4019
|
+
|
4020
|
+
left join (
|
4021
|
+
select sum(amount) as expense, date
|
4022
|
+
from expense group by date
|
4023
|
+
) e on e.date=b.date
|
4024
|
+
|
4025
|
+
|
4026
|
+
left join (
|
4027
|
+
select sum(amount) as refund, cleared_on
|
4028
|
+
from refund group by cleared_on
|
4029
|
+
) rfnd on rfnd.cleared_on=b.date
|
4030
|
+
|
4031
|
+
where b.date>=? and b.date<=? and b.creator LIKE ? group by b.date;`
|
4032
|
+
|
4033
|
+
conn.query(sql, [req.body.data.startDate, req.body.data.endDate, req.body.data.counter == "all" ?
|
4034
|
+
"%%" : req.body.data.counter],
|
4035
|
+
(err, results) => {
|
4036
|
+
if (err) {
|
4037
|
+
console.log(err)
|
4038
|
+
res.status(400).json({ error: err.message });
|
4039
|
+
}
|
4040
|
+
else {
|
4041
|
+
res.send({ "result": results })
|
4042
|
+
}
|
4043
|
+
|
4044
|
+
});
|
4045
|
+
}
|
4046
|
+
|
4047
|
+
// cost and paid summary
|
4048
|
+
|
4049
|
+
function fetchTotalCostAndPaidSummaryReport(req, res) {
|
4050
|
+
|
4051
|
+
let sql = `select b.date, t.cost ,p.paid
|
4052
|
+
from bill b
|
4053
|
+
left join ( select sum(amount) as cost, bill.date
|
4054
|
+
from bill_item , items, bill
|
4055
|
+
where bill_item.itemID=items.itemID and
|
4056
|
+
bill_item.bill_no=bill.bill_no group by bill.date
|
4057
|
+
) t on t.date=b.date
|
4058
|
+
left join (
|
4059
|
+
select SUM(b.amount) as paid, date
|
4060
|
+
from bill_payment_method b group by date
|
4061
|
+
) p on p.date=b.date
|
4062
|
+
|
4063
|
+
where b.date>=? and b.date<=? and b.creator LIKE ? group by b.date;`
|
4064
|
+
|
4065
|
+
conn.query(sql, [req.body.data.startDate, req.body.data.endDate, req.body.data.counter == "all" ?
|
4066
|
+
"%%" : req.body.data.counter],
|
4067
|
+
(err, results) => {
|
4068
|
+
if (err) {
|
4069
|
+
console.log(err)
|
4070
|
+
res.status(400).json({ error: err.message });
|
4071
|
+
}
|
4072
|
+
else {
|
4073
|
+
res.send({ "result": results })
|
4074
|
+
}
|
4075
|
+
|
4076
|
+
});
|
4077
|
+
}
|
4078
|
+
|
4079
|
+
// bill details, grouped by month
|
4080
|
+
|
4081
|
+
function fetchMonthlyInvoiceReport(req, res) {
|
4082
|
+
|
4083
|
+
let sql = `select monthname(str_to_date(b.month,'%m')) as month, b.year, t.treatment_cost ,
|
4084
|
+
m.medicine_cost, d.due, p.cash, p.card, p.upi, b.advance from
|
4085
|
+
|
4086
|
+
(select MONTH(date) as month, YEAR(date) as year, sum(included_advance) as advance,
|
4087
|
+
date from bill where date>=? and date<=? and creator LIKE ?
|
4088
|
+
group by MONTH(date) , YEAR(date)) b
|
4089
|
+
|
4090
|
+
left join ( select sum(amount) as treatment_cost, MONTH(bill.date) as month,
|
4091
|
+
YEAR(bill.date) as year
|
4092
|
+
from bill_item , bill
|
4093
|
+
where bill_item.bill_no=bill.bill_no and category!="pharmacy"
|
4094
|
+
group by MONTH(bill.date), YEAR(bill.date)
|
4095
|
+
)t on t.month=b.month and t.year=b.year
|
4096
|
+
|
4097
|
+
left join (
|
4098
|
+
select sum(amount) as medicine_cost, MONTH(bill.date) as month,
|
4099
|
+
YEAR(bill.date) as year
|
4100
|
+
from bill_item , bill
|
4101
|
+
where bill_item.bill_no=bill.bill_no and category="pharmacy"
|
4102
|
+
group by MONTH(bill.date), YEAR(bill.date)
|
4103
|
+
) m on m.month=b.month and m.year=b.year
|
4104
|
+
|
4105
|
+
left join (
|
4106
|
+
select sum(due) as due, MONTH(date) as month, YEAR(date) as year
|
4107
|
+
from patient_dues where status="pending"
|
4108
|
+
group by MONTH(date), YEAR(date)
|
4109
|
+
) d on d.month=b.month and d.year=b.year
|
4110
|
+
|
4111
|
+
left join (
|
4112
|
+
select SUM(CASE WHEN b.pay_method = "Cash" THEN b.amount ELSE NULL END) cash,
|
4113
|
+
SUM(CASE WHEN b.pay_method = "Card" THEN b.amount ELSE NULL END) card,
|
4114
|
+
SUM(CASE WHEN b.pay_method = "UPI" OR b.pay_method="RPay" THEN b.amount ELSE NULL END) upi,
|
4115
|
+
MONTH(date) as month, YEAR(date) as year
|
4116
|
+
from bill_payment_method b where type="bill"
|
4117
|
+
group by MONTH(date), YEAR(date)
|
4118
|
+
) p on p.month=b.month and p.year=b.year`
|
4119
|
+
|
4120
|
+
conn.query(sql, [req.body.data.startDate, req.body.data.endDate, req.body.data.counter == "all" ?
|
4121
|
+
"%%" : req.body.data.counter],
|
4122
|
+
(err, results) => {
|
4123
|
+
if (err) {
|
4124
|
+
console.log(err)
|
4125
|
+
res.status(400).json({ error: err.message });
|
4126
|
+
}
|
4127
|
+
else {
|
4128
|
+
res.send({ "result": results })
|
4129
|
+
}
|
4130
|
+
|
4131
|
+
});
|
4132
|
+
}
|
4133
|
+
|
4134
|
+
// doctor wise bill details, grouped by month
|
4135
|
+
|
4136
|
+
function fetchDoctorMonthlySummary(req, res) {
|
4137
|
+
|
4138
|
+
let sql = `select sum(amount) as amount , doctorInitials, year(bill.date) as year,
|
4139
|
+
monthname(str_to_date(month(bill.date),'%m')) as month ,
|
4140
|
+
concat_ws(" ", s.firstname, s.middlename, s.lastname) as name
|
4141
|
+
from bill, bill_item, staff_record s,items where bill_item.bill_no=bill_item.bill_no and
|
4142
|
+
s.longInitials=items.doctorInitials and items.itemID=bill_item.itemID
|
4143
|
+
and bill.date>=? and bill.date<=? and bill.creator LIKE ?
|
4144
|
+
group by doctorInitials,year(bill.date), month(bill.date) order by year, month(bill.date);`
|
4145
|
+
conn.query(sql, [req.body.data.startDate, req.body.data.endDate, req.body.data.counter == "all" ?
|
4146
|
+
"%%" : req.body.data.counter],
|
4147
|
+
(err, rows) => {
|
4148
|
+
if (err) {
|
4149
|
+
console.log(err)
|
4150
|
+
res.status(400).json({ error: err.message });
|
4151
|
+
}
|
4152
|
+
else {
|
4153
|
+
let result = {}
|
4154
|
+
if (rows.length > 0) {
|
4155
|
+
let month = rows[0].month;
|
4156
|
+
let year = rows[0].year
|
4157
|
+
let summary = [rows[0]];
|
4158
|
+
for (let i = 1; i < rows.length; i++) {
|
4159
|
+
if (rows[i].month == month && rows[i].year == year) {
|
4160
|
+
summary.push(rows[i]);
|
4161
|
+
} else {
|
4162
|
+
result[`${month} ${year}`] = summary;
|
4163
|
+
month = rows[i].month;
|
4164
|
+
year = rows[i].year
|
4165
|
+
summary = [rows[i]];
|
4166
|
+
}
|
4167
|
+
}
|
4168
|
+
result[`${month} ${year}`] = summary;
|
4169
|
+
}
|
4170
|
+
res.send({ "result": result })
|
4171
|
+
}
|
4172
|
+
|
4173
|
+
});
|
4174
|
+
}
|
4175
|
+
|
4176
|
+
// list of cashiers
|
4177
|
+
|
4178
|
+
function fetchBillingStaff(req, res) {
|
4179
|
+
|
4180
|
+
let sql = `SELECT DISTINCT s.staffID, firstname, lastname,
|
4181
|
+
concat_ws(" ", s.firstname, s.middlename,s.lastname) as name
|
4182
|
+
FROM staff_record s, staff_roles sr, roles r
|
4183
|
+
where s.staffID=sr.staffID and sr.role=r.roleID and
|
4184
|
+
roleName LIKE "%billing%";`
|
4185
|
+
|
4186
|
+
conn.query(sql, (err, result) => {
|
4187
|
+
|
4188
|
+
if (err) {
|
4189
|
+
console.log(err)
|
4190
|
+
res.status(400).json({ error: err.message });
|
4191
|
+
}
|
4192
|
+
else
|
4193
|
+
res.send({ "result": result })
|
4194
|
+
|
4195
|
+
});
|
4196
|
+
}
|
4197
|
+
|
4198
|
+
// user can input certain values in bill summary like bank deposit, card machine collection,etc
|
4199
|
+
function editBillSummary(req, res) {
|
4200
|
+
let data = req.body.data
|
4201
|
+
|
4202
|
+
let sql = `insert into bill_summary(date,${data.key}) values (date(?),?) on duplicate key
|
4203
|
+
update ${data.key}=?;`
|
4204
|
+
conn.query(sql, [dateConvertforDB(new Date(data.item.date)),
|
4205
|
+
data.item[[data.key]], data.item[[data.key]]],
|
4206
|
+
(err, result) => {
|
4207
|
+
|
4208
|
+
if (err) {
|
4209
|
+
console.log(err)
|
4210
|
+
res.status(400).json({ error: err.message });
|
4211
|
+
}
|
4212
|
+
else {
|
4213
|
+
console.log(result)
|
4214
|
+
res.send({ "result": result })
|
4215
|
+
}
|
4216
|
+
|
4217
|
+
});
|
4218
|
+
}
|
4219
|
+
|
4220
|
+
// expense sheet
|
4221
|
+
|
4222
|
+
function fetchExpenses(req, res) {
|
4223
|
+
let sql = `select * from expense where date=? and creator LIKE ?;`
|
4224
|
+
|
4225
|
+
conn.query(sql, [req.body.data.date, req.body.data.counter == "all" ?
|
4226
|
+
"%%" : req.body.data.counter], (err, result) => {
|
4227
|
+
|
4228
|
+
if (err) {
|
4229
|
+
console.log(err)
|
4230
|
+
res.status(400).json({ error: err.message });
|
4231
|
+
}
|
4232
|
+
else {
|
4233
|
+
|
4234
|
+
res.send({ "result": result })
|
4235
|
+
}
|
4236
|
+
|
4237
|
+
});
|
4238
|
+
}
|
4239
|
+
|
4240
|
+
// add an expense
|
4241
|
+
|
4242
|
+
function addExpense(req, res) {
|
4243
|
+
let data = req.body.data.expense
|
4244
|
+
let sql = `insert into expense (date,reason,amount,remarks,name,creator) values (now(),?,?,?,?,?);`
|
4245
|
+
|
4246
|
+
conn.query(sql, [data.reason, data.amount, data.remarks, data.name, req.body.data.user],
|
4247
|
+
(err, result) => {
|
4248
|
+
|
4249
|
+
if (err) {
|
4250
|
+
console.log(err)
|
4251
|
+
res.status(400).json({ error: err.message });
|
4252
|
+
}
|
4253
|
+
else {
|
4254
|
+
|
4255
|
+
res.send({ "result": result })
|
4256
|
+
}
|
4257
|
+
|
4258
|
+
});
|
4259
|
+
}
|
4260
|
+
|
4261
|
+
// return all consultations of a patient that have been billed within x days
|
4262
|
+
|
4263
|
+
function checkConsultationHistory(req, res) {
|
4264
|
+
|
4265
|
+
let sql = `select bill.*,bill_item.unit_price,bill_item.amount,
|
4266
|
+
items.*, datediff(curdate(),bill.date) as days from bill
|
4267
|
+
left join bill_item on bill_item.bill_no=bill.bill_no
|
4268
|
+
left join items on items.itemID=bill_item.itemID
|
4269
|
+
where bill.patientID=? and bill_item.category="consultation"
|
4270
|
+
and datediff(curdate(),bill.date)<=(select value from general_settings where name="free_consult")
|
4271
|
+
group by appointmentID
|
4272
|
+
order by bill.date desc;
|
4273
|
+
select count(*) as count from bill
|
4274
|
+
left join bill_item on bill_item.bill_no=bill.bill_no
|
4275
|
+
left join items on items.itemID=bill_item.itemID
|
4276
|
+
where bill.patientID=? and bill_item.category="physiotherapy"
|
4277
|
+
and datediff(curdate(),bill.date)<=10
|
4278
|
+
group by appointmentID
|
4279
|
+
order by bill.date desc;`
|
4280
|
+
|
4281
|
+
conn.query(sql, [req.body.data, req.body.data],
|
4282
|
+
(err, result) => {
|
4283
|
+
|
4284
|
+
if (err) {
|
4285
|
+
console.log(err)
|
4286
|
+
res.status(400).json({ error: err.message });
|
4287
|
+
}
|
4288
|
+
else {
|
4289
|
+
|
4290
|
+
res.send({ "result": result })
|
4291
|
+
}
|
4292
|
+
|
4293
|
+
});
|
4294
|
+
}
|
4295
|
+
|
4296
|
+
// generate a bill item corresponding to a particular appointment
|
4297
|
+
|
4298
|
+
function generateBillItem(req, res) {
|
4299
|
+
let data = req.body.data
|
4300
|
+
let sql = ``
|
4301
|
+
for (var i = 0; i < data.length; i++) {
|
4302
|
+
sql += `INSERT INTO bill_item (patientID, itemID,qty,unit_price,amount,date,status,
|
4303
|
+
appointmentID,category) VALUES (${data[i].patientID}, '${data[i].itemID}', 1, ${data[i].unit_price},
|
4304
|
+
qty*unit_price, now(),"pending", ${data[i].appointmentID ? data[i].appointmentID : null},
|
4305
|
+
'${data[i].category}');
|
4306
|
+
|
4307
|
+
select LAST_INSERT_ID() as bill_item_id;`
|
4308
|
+
}
|
4309
|
+
conn.query(sql, (err, result) => {
|
4310
|
+
|
4311
|
+
if (err) {
|
4312
|
+
console.log(err)
|
4313
|
+
res.status(400).json({ error: err.message });
|
4314
|
+
}
|
4315
|
+
else {
|
4316
|
+
let ids = []
|
4317
|
+
for (var i = 1; i < result.length; i += 2) {
|
4318
|
+
ids.push(result[i][0].bill_item_id)
|
4319
|
+
}
|
4320
|
+
console.log(ids)
|
4321
|
+
sql = `select bill_item_id,display_name,qty,unit_price,amount,b.category,appointmentID,
|
4322
|
+
true as selected , JSON_OBJECT('label', item_name) as item_name, b.itemID
|
4323
|
+
from bill_item b
|
4324
|
+
left join items i on i.itemID=b.itemID where
|
4325
|
+
b.bill_item_id in (?);`
|
4326
|
+
|
4327
|
+
conn.query(sql, [ids], (err, result) => {
|
4328
|
+
|
4329
|
+
if (err) {
|
4330
|
+
console.log(err)
|
4331
|
+
res.status(400).json({ error: err.message });
|
4332
|
+
}
|
4333
|
+
else {
|
4334
|
+
console.log(result)
|
4335
|
+
res.send({ result: result })
|
4336
|
+
}
|
4337
|
+
})
|
4338
|
+
}
|
4339
|
+
|
4340
|
+
});
|
4341
|
+
}
|
4342
|
+
|
4343
|
+
function fetchDetailedBill(req, res) {
|
4344
|
+
let data = req.body.data
|
4345
|
+
let sql = `select type from patient_record where patientID=${data.patient.patientID};`
|
4346
|
+
for (var i = 0; i < data.selected.length; i++) {
|
4347
|
+
let item = data.items.find((a, ind) => ind == data.selected[i])
|
4348
|
+
if (item.itemID == "LAB") {
|
4349
|
+
sql += `SELECT lab_test.test_name as item_name, lab_test.test_name as display_name,
|
4350
|
+
lab_test.testID as itemID, "laboratory" as category, true as selected, 1 as qty,
|
4351
|
+
${data.selected[i]} as ind,
|
4352
|
+
CASE
|
4353
|
+
WHEN '${data.patient.typeName}' = "Foreign Patient" THEN
|
4354
|
+
CASE
|
4355
|
+
WHEN plt.testID = first_testID THEN
|
4356
|
+
lab_test.foreign_rate + COALESCE(dispo_applicable, 0)
|
4357
|
+
ELSE lab_test.foreign_rate
|
4358
|
+
END
|
4359
|
+
ELSE
|
4360
|
+
CASE
|
4361
|
+
WHEN plt.testID = first_testID THEN lab_test.indian_rate + COALESCE(dispo_applicable, 0)
|
4362
|
+
ELSE lab_test.indian_rate
|
4363
|
+
END
|
4364
|
+
END AS unit_price,
|
4365
|
+
CASE
|
4366
|
+
WHEN '${data.patient.typeName}' = "Foreign Patient" THEN
|
4367
|
+
CASE
|
4368
|
+
WHEN plt.testID = first_testID THEN
|
4369
|
+
lab_test.foreign_rate + COALESCE(dispo_applicable, 0)
|
4370
|
+
ELSE lab_test.foreign_rate
|
4371
|
+
END
|
4372
|
+
ELSE
|
4373
|
+
CASE
|
4374
|
+
WHEN plt.testID = first_testID THEN lab_test.indian_rate + COALESCE(dispo_applicable, 0)
|
4375
|
+
ELSE lab_test.indian_rate
|
4376
|
+
END
|
4377
|
+
END AS amount
|
4378
|
+
FROM patient_lab_test plt
|
4379
|
+
JOIN (
|
4380
|
+
SELECT appointmentID,
|
4381
|
+
MIN(testID) AS first_testID
|
4382
|
+
FROM patient_lab_test
|
4383
|
+
GROUP BY appointmentID
|
4384
|
+
) first_tests ON plt.appointmentID = first_tests.appointmentID
|
4385
|
+
JOIN lab_appointments la ON plt.appointmentID = la.appointmentID
|
4386
|
+
JOIN lab_test ON plt.testID = lab_test.testID
|
4387
|
+
WHERE plt.appointmentID = ${item.appointmentID};`
|
4388
|
+
}
|
4389
|
+
}
|
4390
|
+
|
4391
|
+
conn.query(sql, (err, result) => {
|
4392
|
+
|
4393
|
+
if (err) {
|
4394
|
+
console.log(err)
|
4395
|
+
res.status(400).json({ error: err.message });
|
4396
|
+
}
|
4397
|
+
else {
|
4398
|
+
for (var i = 0; i < data.selected.length; i++) {
|
4399
|
+
let item = data.items.find((a, ind) => ind == data.selected[i])
|
4400
|
+
item.sub = result.find(a => Object.values(a).find(b => b.ind == data.selected[i]))
|
4401
|
+
}
|
4402
|
+
console.log(data.items)
|
4403
|
+
res.send({ result: data.items })
|
4404
|
+
}
|
4405
|
+
})
|
4406
|
+
|
4407
|
+
}
|
4408
|
+
|
4409
|
+
module.exports = {
|
4410
|
+
fetchPendingBills,
|
4411
|
+
fetchPendingPrescriptionsOfPatient,
|
4412
|
+
fetchPendingBillDetail,
|
4413
|
+
fetchItemsAndPayMethods,
|
4414
|
+
fetchDuesOfPatient,
|
4415
|
+
fetchDueSplitUpOfPatient,
|
4416
|
+
fetchDues,
|
4417
|
+
saveBill,
|
4418
|
+
savePharmacyBill,
|
4419
|
+
saveBillWithLink,
|
4420
|
+
savePharmacyBillWithLink,
|
4421
|
+
sendRazorpayLink,
|
4422
|
+
razorpayCallback,
|
4423
|
+
deleteBillItem,
|
4424
|
+
clearDue,
|
4425
|
+
clearDueWithLink,
|
4426
|
+
fetchPendingCount,
|
4427
|
+
fetchAdvanceOfPatient,
|
4428
|
+
fetchPendingOfPatient,
|
4429
|
+
addAdvance,
|
4430
|
+
addRefund,
|
4431
|
+
addRefundRpay,
|
4432
|
+
fetchBillsOfPatient,
|
4433
|
+
fetchBillsAndBillDetails,
|
4434
|
+
fetchCombinedBillsAndBillDetails,
|
4435
|
+
fetchDetailsOfBill,
|
4436
|
+
fetchTransactionsOfPatient,
|
4437
|
+
fetchConsultationBillsOfPatient,
|
4438
|
+
fetchBills,
|
4439
|
+
fetchCombinedBills,
|
4440
|
+
fetchPharmacyBills,
|
4441
|
+
fetchDrafts,
|
4442
|
+
saveAsDraft,
|
4443
|
+
fetchStringifiedDetails,
|
4444
|
+
editBill,
|
4445
|
+
resendRazorpayLink,
|
4446
|
+
editBillWithLink,
|
4447
|
+
fetchCreditReport,
|
4448
|
+
fetchPendingDueReport,
|
4449
|
+
fetchReceiptReport,
|
4450
|
+
fetchReceiptByBillDateReport,
|
4451
|
+
fetchItemSummary,
|
4452
|
+
fetchItemDetail,
|
4453
|
+
fetchDoctorSummary,
|
4454
|
+
fetchDepartmentWiseReport,
|
4455
|
+
fetchPerDayTallyReport,
|
4456
|
+
fetchPerDayTallySummaryReport,
|
4457
|
+
fetchTotalCostAndPaidSummaryReport,
|
4458
|
+
fetchMonthlyInvoiceReport,
|
4459
|
+
fetchDoctorMonthlySummary,
|
4460
|
+
fetchBillingStaff,
|
4461
|
+
editBillSummary,
|
4462
|
+
fetchExpenses,
|
4463
|
+
addExpense,
|
4464
|
+
checkConsultationHistory,
|
4465
|
+
generateBillItem,
|
4466
|
+
fetchDetailedBill
|
4467
|
+
}
|