From 153d60ede61ba189674145844ad18349dd1a6164 Mon Sep 17 00:00:00 2001 From: "ss.pedroisac" Date: Tue, 13 Apr 2021 12:33:13 +0000 Subject: [PATCH] Added user login and registration --- .gitignore | 2 + User/state/24ce6c0.json | 2 +- User/state/global.json | 2 +- config/_development.json | 15 +- dbs/social.mv.db | Bin 65536 -> 69632 bytes dbs/social.trace.db | 135 + extensions/.obsolete | 1 - .../.editorconfig | 6 - .../.github/ISSUE_TEMPLATE/bug_report.md | 20 - .../.prettierrc | 3 - .../.vsixmanifest | 32 - .../CHANGELOG.md | 190 - .../LICENSE | 21 - .../README.md | 87 - .../assets/icon.png | Bin 869 -> 0 bytes .../language-configuration.json | 47 - .../package.json | 69 - .../snippets/snippets.json | 173 - .../syntaxes/ejs-nested.json | 33 - .../syntaxes/ejs.json | 167 - .../yarn.lock | 597 - .../.vsixmanifest | 44 - .../CHANGELOG.md | 604 - .../INSTALL.md | 21 - .../LICENSE.txt | 21 - .../README.md | 25 - .../icon.png | Bin 38644 -> 0 bytes .../package.json | 76 - .../screenshot.png | Bin 159691 -> 0 bytes .../theme/dracula-soft.json | 1178 - .../theme/dracula.json | 1178 - .../.husky/_/husky.sh | 30 - .../.husky/pre-commit | 4 - .../esbenp.prettier-vscode-6.3.1/.nvmrc | 1 - .../.vsixmanifest | 44 - .../esbenp.prettier-vscode-6.3.1/CHANGELOG.md | 467 - .../esbenp.prettier-vscode-6.3.1/LICENSE.txt | 21 - .../esbenp.prettier-vscode-6.3.1/README.md | 309 - .../THIRDPARTY.md | 24 - .../dist/extension.js | 2 - .../dist/extension.js.map | 1 - .../esbenp.prettier-vscode-6.3.1/icon.png | Bin 5417 -> 0 bytes .../node_modules/prettier/LICENSE | 7 - .../node_modules/prettier/README.md | 111 - .../node_modules/prettier/bin-prettier.js | 16556 ----- .../node_modules/prettier/doc.js | 3746 - .../prettier/esm/parser-angular.mjs | 46 - .../prettier/esm/parser-babel.mjs | 1 - .../prettier/esm/parser-espree.mjs | 1 - .../node_modules/prettier/esm/parser-flow.mjs | 1 - .../prettier/esm/parser-glimmer.mjs | 1 - .../prettier/esm/parser-graphql.mjs | 1 - .../node_modules/prettier/esm/parser-html.mjs | 113 - .../prettier/esm/parser-markdown.mjs | 19 - .../prettier/esm/parser-meriyah.mjs | 1 - .../prettier/esm/parser-postcss.mjs | 1 - .../prettier/esm/parser-typescript.mjs | 1 - .../node_modules/prettier/esm/parser-yaml.mjs | 15 - .../node_modules/prettier/esm/standalone.mjs | 55 - .../node_modules/prettier/index.js | 57613 ---------------- .../node_modules/prettier/package.json | 23 - .../node_modules/prettier/parser-angular.js | 46 - .../node_modules/prettier/parser-babel.js | 1 - .../node_modules/prettier/parser-espree.js | 1 - .../node_modules/prettier/parser-flow.js | 1 - .../node_modules/prettier/parser-glimmer.js | 1 - .../node_modules/prettier/parser-graphql.js | 1 - .../node_modules/prettier/parser-html.js | 113 - .../node_modules/prettier/parser-markdown.js | 19 - .../node_modules/prettier/parser-meriyah.js | 1 - .../node_modules/prettier/parser-postcss.js | 1 - .../prettier/parser-typescript.js | 1 - .../node_modules/prettier/parser-yaml.js | 15 - .../node_modules/prettier/standalone.js | 55 - .../node_modules/prettier/third-party.js | 10476 --- .../package-json-schema.json | 9 - .../esbenp.prettier-vscode-6.3.1/package.json | 410 - .../package.nls.json | 40 - .../package.nls.zh-cn.json | 21 - .../package.nls.zh-tw.json | 21 - .../fisheva.eva-theme-1.1.4/.vsixmanifest | 44 - .../fisheva.eva-theme-1.1.4/CHANGELOG.md | 2019 - extensions/fisheva.eva-theme-1.1.4/LICENSE.md | 21 - extensions/fisheva.eva-theme-1.1.4/README.md | 85 - extensions/fisheva.eva-theme-1.1.4/eva.png | Bin 55827 -> 0 bytes .../fisheva.eva-theme-1.1.4/package.json | 82 - .../themes/Eva-Dark-Bold.json | 1005 - .../themes/Eva-Dark-Italic.json | 998 - .../themes/Eva-Dark.json | 998 - .../themes/Eva-Light-Bold.json | 998 - .../themes/Eva-Light-Italic.json | 991 - .../themes/Eva-Light.json | 991 - .../ritwickdey.liveserver-5.6.1/.vsixmanifest | 42 - .../ritwickdey.liveserver-5.6.1/CHANGELOG.md | 54 - .../ritwickdey.liveserver-5.6.1/LICENSE.txt | 21 - .../ritwickdey.liveserver-5.6.1/README.md | 100 - .../images/icon.png | Bin 2898 -> 0 bytes .../out/src/Config.js | 91 - .../out/src/Helper.js | 129 - .../out/src/IAppModel.js | 3 - .../out/src/LiveServerHelper.js | 36 - .../out/src/LiveShareHelper.js | 75 - .../out/src/StatusbarUi.js | 42 - .../out/src/announcement/index.js | 34 - .../out/src/appModel.js | 268 - .../out/src/extension.js | 44 - .../out/src/workspaceResolver.js | 52 - .../ritwickdey.liveserver-5.6.1/package.json | 360 - .../.vsixmanifest | 42 - .../CHANGELOG.md | 143 - .../shan.code-settings-sync-3.4.3/LICENSE.txt | 22 - .../shan.code-settings-sync-3.4.3/README.md | 316 - .../configs/webpack.config.js | 45 - .../configs/webpack.development.config.js | 9 - .../configs/webpack.production.config.js | 11 - .../images/existing-gist.png | Bin 87215 -> 0 bytes .../images/login-with-github.png | Bin 156024 -> 0 bytes .../images/logo-128.png | Bin 4699 -> 0 bytes .../images/logo-256.png | Bin 10121 -> 0 bytes .../images/logo-512.png | Bin 22366 -> 0 bytes .../images/logo.sketch | Bin 20650 -> 0 bytes .../images/slack.png | Bin 8229 -> 0 bytes .../images/white-cloud.png | Bin 75394 -> 0 bytes .../install_local.txt | 3 - .../out/extension.js | 761 - .../package.json | 196 - .../package.nls.de.json | 144 - .../package.nls.es.json | 144 - .../package.nls.fr.json | 143 - .../package.nls.hu.json | 143 - .../package.nls.it.json | 144 - .../package.nls.ja.json | 144 - .../package.nls.json | 144 - .../package.nls.ko.json | 138 - .../package.nls.pt-br.json | 145 - .../package.nls.ru.json | 144 - .../package.nls.tr.json | 144 - .../package.nls.zh-cn.json | 144 - .../package.nls.zh-tw.json | 144 - .../release-notes.json | 52 - .../ui/gist-selection/gist-selection.html | 95 - .../ui/gist-selection/gist-selection.js | 89 - .../ui/landing-page/landing-page.html | 178 - .../ui/landing-page/landing-page.js | 40 - .../ui/settings/settings.html | 68 - .../ui/settings/settings.js | 269 - .../ui/shared/fonts.js | 19 - .../ui/shared/page-header.js | 18 - .../ui/shared/styles.css | 199 - .../vendor/bootstrap/css/bootstrap.min.css | 7 - .../vendor/bootstrap/js/bootstrap.min.js | 7 - .../fontawesome/css/fontawesome.min.css | 5 - .../vendor/fontawesome/css/solid.min.css | 5 - .../fontawesome/webfonts/fa-solid-900.ttf | Bin 191832 -> 0 bytes .../ui/shared/vendor/google/OpenSans-Bold.ttf | Bin 103616 -> 0 bytes .../ui/shared/vendor/google/Roboto-Bold.ttf | Bin 170064 -> 0 bytes .../shared/vendor/google/Roboto-Regular.ttf | Bin 170984 -> 0 bytes .../vendor/jquery/jquery-3.3.1.slim.min.js | 2 - .../ui/shared/vendor/lodash/lodash.min.js | 137 - .../ui/shared/vendor/popper.js/popper.min.js | 5 - .../.vsixmanifest | 42 - .../CHANGES.md | 91 - .../LICENSE.txt | 21 - .../tht13.html-preview-vscode-0.2.5/README.md | 8 - .../tht13.html-preview-vscode-0.2.5/icon.png | Bin 13293 -> 0 bytes .../media/Preview.svg | 1 - .../media/PreviewOnRightPane_16x.svg | 19 - .../media/PreviewOnRightPane_16x_dark.svg | 19 - .../media/Preview_inverse.svg | 1 - .../media/ViewSource.svg | 3 - .../media/ViewSource_inverse.svg | 1 - .../media/index.js | 967 - .../media/pre.js | 246 - .../out/commandManager.js | 29 - .../out/commands/index.js | 22 - .../out/commands/moveCursorToPosition.js | 22 - .../out/commands/openDocumentLink.js | 65 - .../out/commands/refreshPreview.js | 16 - .../out/commands/showPreview.js | 81 - .../commands/showPreviewSecuritySelector.js | 28 - .../out/commands/showSource.js | 21 - .../out/commands/toggleLock.js | 16 - .../out/extension.js | 43 - .../out/features/preview.js | 291 - .../out/features/previewConfig.js | 63 - .../out/features/previewContentProvider.js | 118 - .../out/features/previewManager.js | 110 - .../out/logger.js | 66 - .../out/security.js | 132 - .../out/util/dispose.js | 15 - .../out/util/file.js | 10 - .../out/util/lazy.js | 29 - .../out/util/topmostLineMonitor.js | 63 - .../package.json | 263 - .../package.nls.json | 16 - .../preview-src/activeLineMarker.ts | 34 - .../preview-src/csp.ts | 64 - .../preview-src/events.ts | 12 - .../preview-src/index.ts | 129 - .../preview-src/messaging.ts | 35 - .../preview-src/pre.ts | 14 - .../preview-src/scroll-sync.ts | 127 - .../preview-src/settings.ts | 41 - .../preview-src/strings.ts | 15 - .../preview-src/tsconfig.json | 12 - .../extension-host/exthost.log | 281 - .../output_logging_20210401T132906/1-Git.log | 44 - .../2-Prettier.log | 2 - .../output_logging_20210401T133003/1-Git.log | 141 - .../2-Prettier.log | 2 - .../3-TypeScript.log | 9 - .../1-TypeScript.log | 6 - .../output_logging_20210401T133539/2-Git.log | 3856 -- .../3-Prettier.log | 2 - logs/20210401T132854/remoteagent.log | 6 - logs/20210401T132854/telemetry.log | 2 - server/services/cities/get.js | 1 + server/services/cities/options.js | 1 + server/services/pessoas/options.js | 1 + server/services/register/options.js | 1 + server/services/register/post.js | 41 + server/setup/001-grupo.js | 3 + server/setup/_schema-form-3-pessoa.js | 50 +- server/setup/_start.js | 3 + website/package.json | 1 + website/src/components/Header/index.js | 6 +- website/src/pages/Home/index.js | 4 +- website/src/pages/Login/index.js | 38 +- website/src/pages/Register/index.js | 83 +- 229 files changed, 330 insertions(+), 117063 deletions(-) delete mode 100644 extensions/.obsolete delete mode 100644 extensions/digitalbrainstem.javascript-ejs-support-1.3.1/.editorconfig delete mode 100644 extensions/digitalbrainstem.javascript-ejs-support-1.3.1/.github/ISSUE_TEMPLATE/bug_report.md delete mode 100644 extensions/digitalbrainstem.javascript-ejs-support-1.3.1/.prettierrc delete mode 100644 extensions/digitalbrainstem.javascript-ejs-support-1.3.1/.vsixmanifest delete mode 100644 extensions/digitalbrainstem.javascript-ejs-support-1.3.1/CHANGELOG.md delete mode 100644 extensions/digitalbrainstem.javascript-ejs-support-1.3.1/LICENSE delete mode 100644 extensions/digitalbrainstem.javascript-ejs-support-1.3.1/README.md delete mode 100644 extensions/digitalbrainstem.javascript-ejs-support-1.3.1/assets/icon.png delete mode 100644 extensions/digitalbrainstem.javascript-ejs-support-1.3.1/language-configuration.json delete mode 100644 extensions/digitalbrainstem.javascript-ejs-support-1.3.1/package.json delete mode 100644 extensions/digitalbrainstem.javascript-ejs-support-1.3.1/snippets/snippets.json delete mode 100644 extensions/digitalbrainstem.javascript-ejs-support-1.3.1/syntaxes/ejs-nested.json delete mode 100644 extensions/digitalbrainstem.javascript-ejs-support-1.3.1/syntaxes/ejs.json delete mode 100644 extensions/digitalbrainstem.javascript-ejs-support-1.3.1/yarn.lock delete mode 100644 extensions/dracula-theme.theme-dracula-2.22.3/.vsixmanifest delete mode 100644 extensions/dracula-theme.theme-dracula-2.22.3/CHANGELOG.md delete mode 100644 extensions/dracula-theme.theme-dracula-2.22.3/INSTALL.md delete mode 100644 extensions/dracula-theme.theme-dracula-2.22.3/LICENSE.txt delete mode 100644 extensions/dracula-theme.theme-dracula-2.22.3/README.md delete mode 100644 extensions/dracula-theme.theme-dracula-2.22.3/icon.png delete mode 100644 extensions/dracula-theme.theme-dracula-2.22.3/package.json delete mode 100644 extensions/dracula-theme.theme-dracula-2.22.3/screenshot.png delete mode 100644 extensions/dracula-theme.theme-dracula-2.22.3/theme/dracula-soft.json delete mode 100644 extensions/dracula-theme.theme-dracula-2.22.3/theme/dracula.json delete mode 100644 extensions/esbenp.prettier-vscode-6.3.1/.husky/_/husky.sh delete mode 100755 extensions/esbenp.prettier-vscode-6.3.1/.husky/pre-commit delete mode 100644 extensions/esbenp.prettier-vscode-6.3.1/.nvmrc delete mode 100644 extensions/esbenp.prettier-vscode-6.3.1/.vsixmanifest delete mode 100644 extensions/esbenp.prettier-vscode-6.3.1/CHANGELOG.md delete mode 100644 extensions/esbenp.prettier-vscode-6.3.1/LICENSE.txt delete mode 100644 extensions/esbenp.prettier-vscode-6.3.1/README.md delete mode 100644 extensions/esbenp.prettier-vscode-6.3.1/THIRDPARTY.md delete mode 100644 extensions/esbenp.prettier-vscode-6.3.1/dist/extension.js delete mode 100644 extensions/esbenp.prettier-vscode-6.3.1/dist/extension.js.map delete mode 100644 extensions/esbenp.prettier-vscode-6.3.1/icon.png delete mode 100644 extensions/esbenp.prettier-vscode-6.3.1/node_modules/prettier/LICENSE delete mode 100644 extensions/esbenp.prettier-vscode-6.3.1/node_modules/prettier/README.md delete mode 100755 extensions/esbenp.prettier-vscode-6.3.1/node_modules/prettier/bin-prettier.js delete mode 100644 extensions/esbenp.prettier-vscode-6.3.1/node_modules/prettier/doc.js delete mode 100644 extensions/esbenp.prettier-vscode-6.3.1/node_modules/prettier/esm/parser-angular.mjs delete mode 100644 extensions/esbenp.prettier-vscode-6.3.1/node_modules/prettier/esm/parser-babel.mjs delete mode 100644 extensions/esbenp.prettier-vscode-6.3.1/node_modules/prettier/esm/parser-espree.mjs delete mode 100644 extensions/esbenp.prettier-vscode-6.3.1/node_modules/prettier/esm/parser-flow.mjs delete mode 100644 extensions/esbenp.prettier-vscode-6.3.1/node_modules/prettier/esm/parser-glimmer.mjs delete mode 100644 extensions/esbenp.prettier-vscode-6.3.1/node_modules/prettier/esm/parser-graphql.mjs delete mode 100644 extensions/esbenp.prettier-vscode-6.3.1/node_modules/prettier/esm/parser-html.mjs delete mode 100644 extensions/esbenp.prettier-vscode-6.3.1/node_modules/prettier/esm/parser-markdown.mjs delete mode 100644 extensions/esbenp.prettier-vscode-6.3.1/node_modules/prettier/esm/parser-meriyah.mjs delete mode 100644 extensions/esbenp.prettier-vscode-6.3.1/node_modules/prettier/esm/parser-postcss.mjs delete mode 100644 extensions/esbenp.prettier-vscode-6.3.1/node_modules/prettier/esm/parser-typescript.mjs delete mode 100644 extensions/esbenp.prettier-vscode-6.3.1/node_modules/prettier/esm/parser-yaml.mjs delete mode 100644 extensions/esbenp.prettier-vscode-6.3.1/node_modules/prettier/esm/standalone.mjs delete mode 100644 extensions/esbenp.prettier-vscode-6.3.1/node_modules/prettier/index.js delete mode 100644 extensions/esbenp.prettier-vscode-6.3.1/node_modules/prettier/package.json delete mode 100644 extensions/esbenp.prettier-vscode-6.3.1/node_modules/prettier/parser-angular.js delete mode 100644 extensions/esbenp.prettier-vscode-6.3.1/node_modules/prettier/parser-babel.js delete mode 100644 extensions/esbenp.prettier-vscode-6.3.1/node_modules/prettier/parser-espree.js delete mode 100644 extensions/esbenp.prettier-vscode-6.3.1/node_modules/prettier/parser-flow.js delete mode 100644 extensions/esbenp.prettier-vscode-6.3.1/node_modules/prettier/parser-glimmer.js delete mode 100644 extensions/esbenp.prettier-vscode-6.3.1/node_modules/prettier/parser-graphql.js delete mode 100644 extensions/esbenp.prettier-vscode-6.3.1/node_modules/prettier/parser-html.js delete mode 100644 extensions/esbenp.prettier-vscode-6.3.1/node_modules/prettier/parser-markdown.js delete mode 100644 extensions/esbenp.prettier-vscode-6.3.1/node_modules/prettier/parser-meriyah.js delete mode 100644 extensions/esbenp.prettier-vscode-6.3.1/node_modules/prettier/parser-postcss.js delete mode 100644 extensions/esbenp.prettier-vscode-6.3.1/node_modules/prettier/parser-typescript.js delete mode 100644 extensions/esbenp.prettier-vscode-6.3.1/node_modules/prettier/parser-yaml.js delete mode 100644 extensions/esbenp.prettier-vscode-6.3.1/node_modules/prettier/standalone.js delete mode 100644 extensions/esbenp.prettier-vscode-6.3.1/node_modules/prettier/third-party.js delete mode 100644 extensions/esbenp.prettier-vscode-6.3.1/package-json-schema.json delete mode 100644 extensions/esbenp.prettier-vscode-6.3.1/package.json delete mode 100644 extensions/esbenp.prettier-vscode-6.3.1/package.nls.json delete mode 100644 extensions/esbenp.prettier-vscode-6.3.1/package.nls.zh-cn.json delete mode 100644 extensions/esbenp.prettier-vscode-6.3.1/package.nls.zh-tw.json delete mode 100644 extensions/fisheva.eva-theme-1.1.4/.vsixmanifest delete mode 100644 extensions/fisheva.eva-theme-1.1.4/CHANGELOG.md delete mode 100644 extensions/fisheva.eva-theme-1.1.4/LICENSE.md delete mode 100644 extensions/fisheva.eva-theme-1.1.4/README.md delete mode 100644 extensions/fisheva.eva-theme-1.1.4/eva.png delete mode 100644 extensions/fisheva.eva-theme-1.1.4/package.json delete mode 100644 extensions/fisheva.eva-theme-1.1.4/themes/Eva-Dark-Bold.json delete mode 100644 extensions/fisheva.eva-theme-1.1.4/themes/Eva-Dark-Italic.json delete mode 100644 extensions/fisheva.eva-theme-1.1.4/themes/Eva-Dark.json delete mode 100644 extensions/fisheva.eva-theme-1.1.4/themes/Eva-Light-Bold.json delete mode 100644 extensions/fisheva.eva-theme-1.1.4/themes/Eva-Light-Italic.json delete mode 100644 extensions/fisheva.eva-theme-1.1.4/themes/Eva-Light.json delete mode 100644 extensions/ritwickdey.liveserver-5.6.1/.vsixmanifest delete mode 100644 extensions/ritwickdey.liveserver-5.6.1/CHANGELOG.md delete mode 100644 extensions/ritwickdey.liveserver-5.6.1/LICENSE.txt delete mode 100644 extensions/ritwickdey.liveserver-5.6.1/README.md delete mode 100644 extensions/ritwickdey.liveserver-5.6.1/images/icon.png delete mode 100644 extensions/ritwickdey.liveserver-5.6.1/out/src/Config.js delete mode 100644 extensions/ritwickdey.liveserver-5.6.1/out/src/Helper.js delete mode 100644 extensions/ritwickdey.liveserver-5.6.1/out/src/IAppModel.js delete mode 100644 extensions/ritwickdey.liveserver-5.6.1/out/src/LiveServerHelper.js delete mode 100644 extensions/ritwickdey.liveserver-5.6.1/out/src/LiveShareHelper.js delete mode 100644 extensions/ritwickdey.liveserver-5.6.1/out/src/StatusbarUi.js delete mode 100644 extensions/ritwickdey.liveserver-5.6.1/out/src/announcement/index.js delete mode 100644 extensions/ritwickdey.liveserver-5.6.1/out/src/appModel.js delete mode 100644 extensions/ritwickdey.liveserver-5.6.1/out/src/extension.js delete mode 100644 extensions/ritwickdey.liveserver-5.6.1/out/src/workspaceResolver.js delete mode 100644 extensions/ritwickdey.liveserver-5.6.1/package.json delete mode 100644 extensions/shan.code-settings-sync-3.4.3/.vsixmanifest delete mode 100644 extensions/shan.code-settings-sync-3.4.3/CHANGELOG.md delete mode 100644 extensions/shan.code-settings-sync-3.4.3/LICENSE.txt delete mode 100644 extensions/shan.code-settings-sync-3.4.3/README.md delete mode 100644 extensions/shan.code-settings-sync-3.4.3/configs/webpack.config.js delete mode 100644 extensions/shan.code-settings-sync-3.4.3/configs/webpack.development.config.js delete mode 100644 extensions/shan.code-settings-sync-3.4.3/configs/webpack.production.config.js delete mode 100644 extensions/shan.code-settings-sync-3.4.3/images/existing-gist.png delete mode 100644 extensions/shan.code-settings-sync-3.4.3/images/login-with-github.png delete mode 100644 extensions/shan.code-settings-sync-3.4.3/images/logo-128.png delete mode 100644 extensions/shan.code-settings-sync-3.4.3/images/logo-256.png delete mode 100644 extensions/shan.code-settings-sync-3.4.3/images/logo-512.png delete mode 100644 extensions/shan.code-settings-sync-3.4.3/images/logo.sketch delete mode 100644 extensions/shan.code-settings-sync-3.4.3/images/slack.png delete mode 100644 extensions/shan.code-settings-sync-3.4.3/images/white-cloud.png delete mode 100644 extensions/shan.code-settings-sync-3.4.3/install_local.txt delete mode 100644 extensions/shan.code-settings-sync-3.4.3/out/extension.js delete mode 100644 extensions/shan.code-settings-sync-3.4.3/package.json delete mode 100644 extensions/shan.code-settings-sync-3.4.3/package.nls.de.json delete mode 100644 extensions/shan.code-settings-sync-3.4.3/package.nls.es.json delete mode 100644 extensions/shan.code-settings-sync-3.4.3/package.nls.fr.json delete mode 100644 extensions/shan.code-settings-sync-3.4.3/package.nls.hu.json delete mode 100644 extensions/shan.code-settings-sync-3.4.3/package.nls.it.json delete mode 100644 extensions/shan.code-settings-sync-3.4.3/package.nls.ja.json delete mode 100644 extensions/shan.code-settings-sync-3.4.3/package.nls.json delete mode 100644 extensions/shan.code-settings-sync-3.4.3/package.nls.ko.json delete mode 100644 extensions/shan.code-settings-sync-3.4.3/package.nls.pt-br.json delete mode 100644 extensions/shan.code-settings-sync-3.4.3/package.nls.ru.json delete mode 100644 extensions/shan.code-settings-sync-3.4.3/package.nls.tr.json delete mode 100644 extensions/shan.code-settings-sync-3.4.3/package.nls.zh-cn.json delete mode 100644 extensions/shan.code-settings-sync-3.4.3/package.nls.zh-tw.json delete mode 100644 extensions/shan.code-settings-sync-3.4.3/release-notes.json delete mode 100644 extensions/shan.code-settings-sync-3.4.3/ui/gist-selection/gist-selection.html delete mode 100644 extensions/shan.code-settings-sync-3.4.3/ui/gist-selection/gist-selection.js delete mode 100644 extensions/shan.code-settings-sync-3.4.3/ui/landing-page/landing-page.html delete mode 100644 extensions/shan.code-settings-sync-3.4.3/ui/landing-page/landing-page.js delete mode 100644 extensions/shan.code-settings-sync-3.4.3/ui/settings/settings.html delete mode 100644 extensions/shan.code-settings-sync-3.4.3/ui/settings/settings.js delete mode 100644 extensions/shan.code-settings-sync-3.4.3/ui/shared/fonts.js delete mode 100644 extensions/shan.code-settings-sync-3.4.3/ui/shared/page-header.js delete mode 100644 extensions/shan.code-settings-sync-3.4.3/ui/shared/styles.css delete mode 100644 extensions/shan.code-settings-sync-3.4.3/ui/shared/vendor/bootstrap/css/bootstrap.min.css delete mode 100644 extensions/shan.code-settings-sync-3.4.3/ui/shared/vendor/bootstrap/js/bootstrap.min.js delete mode 100644 extensions/shan.code-settings-sync-3.4.3/ui/shared/vendor/fontawesome/css/fontawesome.min.css delete mode 100644 extensions/shan.code-settings-sync-3.4.3/ui/shared/vendor/fontawesome/css/solid.min.css delete mode 100644 extensions/shan.code-settings-sync-3.4.3/ui/shared/vendor/fontawesome/webfonts/fa-solid-900.ttf delete mode 100644 extensions/shan.code-settings-sync-3.4.3/ui/shared/vendor/google/OpenSans-Bold.ttf delete mode 100644 extensions/shan.code-settings-sync-3.4.3/ui/shared/vendor/google/Roboto-Bold.ttf delete mode 100644 extensions/shan.code-settings-sync-3.4.3/ui/shared/vendor/google/Roboto-Regular.ttf delete mode 100644 extensions/shan.code-settings-sync-3.4.3/ui/shared/vendor/jquery/jquery-3.3.1.slim.min.js delete mode 100644 extensions/shan.code-settings-sync-3.4.3/ui/shared/vendor/lodash/lodash.min.js delete mode 100644 extensions/shan.code-settings-sync-3.4.3/ui/shared/vendor/popper.js/popper.min.js delete mode 100644 extensions/tht13.html-preview-vscode-0.2.5/.vsixmanifest delete mode 100644 extensions/tht13.html-preview-vscode-0.2.5/CHANGES.md delete mode 100644 extensions/tht13.html-preview-vscode-0.2.5/LICENSE.txt delete mode 100644 extensions/tht13.html-preview-vscode-0.2.5/README.md delete mode 100644 extensions/tht13.html-preview-vscode-0.2.5/icon.png delete mode 100644 extensions/tht13.html-preview-vscode-0.2.5/media/Preview.svg delete mode 100644 extensions/tht13.html-preview-vscode-0.2.5/media/PreviewOnRightPane_16x.svg delete mode 100644 extensions/tht13.html-preview-vscode-0.2.5/media/PreviewOnRightPane_16x_dark.svg delete mode 100644 extensions/tht13.html-preview-vscode-0.2.5/media/Preview_inverse.svg delete mode 100644 extensions/tht13.html-preview-vscode-0.2.5/media/ViewSource.svg delete mode 100644 extensions/tht13.html-preview-vscode-0.2.5/media/ViewSource_inverse.svg delete mode 100644 extensions/tht13.html-preview-vscode-0.2.5/media/index.js delete mode 100644 extensions/tht13.html-preview-vscode-0.2.5/media/pre.js delete mode 100644 extensions/tht13.html-preview-vscode-0.2.5/out/commandManager.js delete mode 100644 extensions/tht13.html-preview-vscode-0.2.5/out/commands/index.js delete mode 100644 extensions/tht13.html-preview-vscode-0.2.5/out/commands/moveCursorToPosition.js delete mode 100644 extensions/tht13.html-preview-vscode-0.2.5/out/commands/openDocumentLink.js delete mode 100644 extensions/tht13.html-preview-vscode-0.2.5/out/commands/refreshPreview.js delete mode 100644 extensions/tht13.html-preview-vscode-0.2.5/out/commands/showPreview.js delete mode 100644 extensions/tht13.html-preview-vscode-0.2.5/out/commands/showPreviewSecuritySelector.js delete mode 100644 extensions/tht13.html-preview-vscode-0.2.5/out/commands/showSource.js delete mode 100644 extensions/tht13.html-preview-vscode-0.2.5/out/commands/toggleLock.js delete mode 100644 extensions/tht13.html-preview-vscode-0.2.5/out/extension.js delete mode 100644 extensions/tht13.html-preview-vscode-0.2.5/out/features/preview.js delete mode 100644 extensions/tht13.html-preview-vscode-0.2.5/out/features/previewConfig.js delete mode 100644 extensions/tht13.html-preview-vscode-0.2.5/out/features/previewContentProvider.js delete mode 100644 extensions/tht13.html-preview-vscode-0.2.5/out/features/previewManager.js delete mode 100644 extensions/tht13.html-preview-vscode-0.2.5/out/logger.js delete mode 100644 extensions/tht13.html-preview-vscode-0.2.5/out/security.js delete mode 100644 extensions/tht13.html-preview-vscode-0.2.5/out/util/dispose.js delete mode 100644 extensions/tht13.html-preview-vscode-0.2.5/out/util/file.js delete mode 100644 extensions/tht13.html-preview-vscode-0.2.5/out/util/lazy.js delete mode 100644 extensions/tht13.html-preview-vscode-0.2.5/out/util/topmostLineMonitor.js delete mode 100644 extensions/tht13.html-preview-vscode-0.2.5/package.json delete mode 100644 extensions/tht13.html-preview-vscode-0.2.5/package.nls.json delete mode 100644 extensions/tht13.html-preview-vscode-0.2.5/preview-src/activeLineMarker.ts delete mode 100644 extensions/tht13.html-preview-vscode-0.2.5/preview-src/csp.ts delete mode 100644 extensions/tht13.html-preview-vscode-0.2.5/preview-src/events.ts delete mode 100644 extensions/tht13.html-preview-vscode-0.2.5/preview-src/index.ts delete mode 100644 extensions/tht13.html-preview-vscode-0.2.5/preview-src/messaging.ts delete mode 100644 extensions/tht13.html-preview-vscode-0.2.5/preview-src/pre.ts delete mode 100644 extensions/tht13.html-preview-vscode-0.2.5/preview-src/scroll-sync.ts delete mode 100644 extensions/tht13.html-preview-vscode-0.2.5/preview-src/settings.ts delete mode 100644 extensions/tht13.html-preview-vscode-0.2.5/preview-src/strings.ts delete mode 100644 extensions/tht13.html-preview-vscode-0.2.5/preview-src/tsconfig.json delete mode 100644 logs/20210401T132854/extension-host/exthost.log delete mode 100644 logs/20210401T132854/extension-host/output_logging_20210401T132906/1-Git.log delete mode 100644 logs/20210401T132854/extension-host/output_logging_20210401T132909/2-Prettier.log delete mode 100644 logs/20210401T132854/extension-host/output_logging_20210401T133003/1-Git.log delete mode 100644 logs/20210401T132854/extension-host/output_logging_20210401T133005/2-Prettier.log delete mode 100644 logs/20210401T132854/extension-host/output_logging_20210401T133022/3-TypeScript.log delete mode 100644 logs/20210401T132854/extension-host/output_logging_20210401T133539/1-TypeScript.log delete mode 100644 logs/20210401T132854/extension-host/output_logging_20210401T133539/2-Git.log delete mode 100644 logs/20210401T132854/extension-host/output_logging_20210401T133541/3-Prettier.log delete mode 100644 logs/20210401T132854/remoteagent.log delete mode 100644 logs/20210401T132854/telemetry.log create mode 100644 server/services/cities/get.js create mode 100644 server/services/cities/options.js create mode 100644 server/services/pessoas/options.js create mode 100644 server/services/register/options.js create mode 100644 server/services/register/post.js create mode 100644 server/setup/001-grupo.js diff --git a/.gitignore b/.gitignore index 8e47ff9..dd4c680 100644 --- a/.gitignore +++ b/.gitignore @@ -9,6 +9,8 @@ CachedExtensionVSIXs machineid /trash/* languagepacks.json +extensions +logs .Trash diff --git a/User/state/24ce6c0.json b/User/state/24ce6c0.json index 6bfac36..f8fb31c 100644 --- a/User/state/24ce6c0.json +++ b/User/state/24ce6c0.json @@ -1 +1 @@ -[["__$__isNewStorageMarker","false"],["__$__targetStorageMarker","{\"workbench.panel.markers\":1,\"workbench.panel.output\":1,\"terminal\":1,\"workbench.explorer.views.state\":1,\"workbench.scm.views.state\":1,\"workbench.view.search.state\":1,\"output.activechannel\":0,\"debug.selectedroot\":1,\"workbench.view.debug.state\":1,\"workbench.centerededitorlayout.active\":0,\"workbench.panel.placeholderPanels\":1,\"workbench.view.extensions.state\":1,\"resource.authority.os.pedro-isac.dev.netuno.org:30788\":1,\"workbench.panel.repl\":1,\"vscode.debug-auto-launch\":1,\"terminal.integrated.environmentVariableCollections\":1,\"history.entries\":1,\"workbench.view.explorer.numberOfVisibleViews\":0,\"workbench.explorer.treeViewState\":1,\"scm:view:visibleRepositories\":1,\"memento/workbench.editor.walkThroughPart\":1,\"workbench.view.extensions.numberOfVisibleViews\":0,\"memento/workbench.view.extensions\":0,\"memento/workbench.editors.files.textFileEditor\":1,\"suggest/memories/recentlyUsed\":1,\"terminal.numberOfVisibleViews\":0,\"workbench.view.scm.numberOfVisibleViews\":0,\"memento/workbench.editors.textDiffEditor\":1,\"workbench.panel.output.numberOfVisibleViews\":0,\"memento/workbench.panel.output\":1,\"editor.wholeWord\":0,\"editor.matchCase\":0,\"workbench.panel.markers.numberOfVisibleViews\":0,\"memento/workbench.panel.markers\":0,\"workbench.panel.repl.numberOfVisibleViews\":0,\"memento/workbench.editor.settings2\":1,\"memento/workbench.parts.editor\":1,\"editors.mru\":1}"],["workbench.panel.markers","{\"workbench.panel.markers.view\":{\"collapsed\":false,\"isHidden\":true}}"],["workbench.panel.output","{\"workbench.panel.output\":{\"collapsed\":false,\"isHidden\":true,\"size\":1099}}"],["terminal","{\"terminal\":{\"collapsed\":false,\"isHidden\":true,\"size\":1099}}"],["workbench.explorer.views.state","{\"outline\":{\"collapsed\":true,\"isHidden\":true,\"size\":22},\"timeline\":{\"collapsed\":true,\"isHidden\":true,\"size\":22},\"workbench.explorer.openEditorsView\":{\"collapsed\":false,\"isHidden\":true},\"workbench.explorer.fileView\":{\"collapsed\":false,\"isHidden\":true,\"size\":550},\"npm\":{\"collapsed\":true,\"isHidden\":true}}"],["workbench.scm.views.state","{\"workbench.scm.repositories\":{\"collapsed\":false,\"isHidden\":true},\"workbench.scm\":{\"collapsed\":false,\"isHidden\":false,\"size\":594}}"],["workbench.view.search.state","{\"workbench.view.search\":{\"collapsed\":false,\"isHidden\":true}}"],["output.activechannel","extension-output-#2"],["debug.selectedroot","vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/.vscode/launch.json"],["workbench.view.debug.state","{\"workbench.debug.welcome\":{\"collapsed\":false,\"isHidden\":true},\"workbench.debug.variablesView\":{\"collapsed\":false,\"isHidden\":true},\"workbench.debug.watchExpressionsView\":{\"collapsed\":false,\"isHidden\":true},\"workbench.debug.callStackView\":{\"collapsed\":false,\"isHidden\":true},\"workbench.debug.loadedScriptsView\":{\"collapsed\":true,\"isHidden\":true},\"workbench.debug.breakPointsView\":{\"collapsed\":false,\"isHidden\":true}}"],["workbench.centerededitorlayout.active","false"],["workbench.panel.placeholderPanels","[{\"id\":\"workbench.panel.markers\",\"name\":\"Problems\"},{\"id\":\"workbench.panel.output\",\"name\":\"Output\"},{\"id\":\"workbench.panel.repl\",\"name\":\"Debug Console\"},{\"id\":\"terminal\",\"name\":\"Terminal\"},{\"id\":\"refactorPreview\",\"name\":\"Refactor Preview\"}]"],["workbench.view.extensions.state","{\"workbench.views.extensions.web.installed\":{\"collapsed\":false,\"isHidden\":true},\"workbench.views.extensions.remote.installed.empty\":{\"collapsed\":false,\"isHidden\":true},\"workbench.views.extensions.remote.installed\":{\"collapsed\":false,\"isHidden\":true,\"size\":531},\"workbench.views.extensions.workspaceRecommendations\":{\"collapsed\":false,\"isHidden\":true},\"workbench.views.extensions.popular\":{\"collapsed\":false,\"isHidden\":true},\"workbench.views.extensions.otherRecommendations\":{\"collapsed\":false,\"isHidden\":true},\"extensions.recommendedList\":{\"collapsed\":true,\"isHidden\":true,\"size\":22},\"workbench.views.extensions.marketplace\":{\"collapsed\":false,\"isHidden\":true,\"size\":553},\"workbench.views.extensions.searchInstalled\":{\"collapsed\":false,\"isHidden\":true},\"workbench.views.extensions.searchEnabled\":{\"collapsed\":false,\"isHidden\":true},\"workbench.views.extensions.searchDisabled\":{\"collapsed\":false,\"isHidden\":true},\"workbench.views.extensions.searchOutdated\":{\"collapsed\":false,\"isHidden\":true},\"workbench.views.extensions.searchBuiltin\":{\"collapsed\":false,\"isHidden\":true},\"workbench.views.extensions.builtinFeatureExtensions\":{\"collapsed\":false,\"isHidden\":true},\"workbench.views.extensions.builtinThemeExtensions\":{\"collapsed\":false,\"isHidden\":true},\"workbench.views.extensions.builtinProgrammingLanguageExtensions\":{\"collapsed\":false,\"isHidden\":true}}"],["resource.authority.os.pedro-isac.dev.netuno.org:30788","3"],["workbench.panel.repl","{\"workbench.panel.repl.view\":{\"collapsed\":false,\"isHidden\":true}}"],["vscode.debug-auto-launch","{}"],["terminal.integrated.environmentVariableCollections","[{\"extensionIdentifier\":\"vscode.git\",\"collection\":[[\"VSCODE_GIT_IPC_HANDLE\",{\"value\":\"/run/user/1001/vscode-git-d7b05a4881.sock\",\"type\":1}],[\"GIT_ASKPASS\",{\"value\":\"/usr/lib/code-server/lib/vscode/extensions/git/dist/askpass.sh\",\"type\":1}],[\"VSCODE_GIT_ASKPASS_NODE\",{\"value\":\"/usr/lib/code-server/lib/node\",\"type\":1}],[\"VSCODE_GIT_ASKPASS_MAIN\",{\"value\":\"/usr/lib/code-server/lib/vscode/extensions/git/dist/askpass-main.js\",\"type\":1}]]}]"],["history.entries","[{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/pedro-isac/netuno/apps/social-netuno/website/src/pages/Register/index.js\",\"external\":\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/website/src/pages/Register/index.js\",\"path\":\"/home/pedro-isac/netuno/apps/social-netuno/website/src/pages/Register/index.js\",\"scheme\":\"vscode-remote\",\"authority\":\"pedro-isac.dev.netuno.org:30788\"}},{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/pedro-isac/netuno/apps/social-netuno/website/src/pages/Register/index.less\",\"external\":\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/website/src/pages/Register/index.less\",\"path\":\"/home/pedro-isac/netuno/apps/social-netuno/website/src/pages/Register/index.less\",\"scheme\":\"vscode-remote\",\"authority\":\"pedro-isac.dev.netuno.org:30788\"}},{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/pedro-isac/netuno/apps/social-netuno/website/src/pages/Login/index.less\",\"external\":\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/website/src/pages/Login/index.less\",\"path\":\"/home/pedro-isac/netuno/apps/social-netuno/website/src/pages/Login/index.less\",\"scheme\":\"vscode-remote\",\"authority\":\"pedro-isac.dev.netuno.org:30788\"}},{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/pedro-isac/netuno/apps/social-netuno/website/src/pages/Login/index.js\",\"external\":\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/website/src/pages/Login/index.js\",\"path\":\"/home/pedro-isac/netuno/apps/social-netuno/website/src/pages/Login/index.js\",\"scheme\":\"vscode-remote\",\"authority\":\"pedro-isac.dev.netuno.org:30788\"}},{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/pedro-isac/netuno/apps/social-netuno/website/src/pages/Home/index.js\",\"external\":\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/website/src/pages/Home/index.js\",\"path\":\"/home/pedro-isac/netuno/apps/social-netuno/website/src/pages/Home/index.js\",\"scheme\":\"vscode-remote\",\"authority\":\"pedro-isac.dev.netuno.org:30788\"}},{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/pedro-isac/netuno/apps/social-netuno/ui/src/components/MyButton/index.jsx\",\"external\":\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/ui/src/components/MyButton/index.jsx\",\"path\":\"/home/pedro-isac/netuno/apps/social-netuno/ui/src/components/MyButton/index.jsx\",\"scheme\":\"vscode-remote\",\"authority\":\"pedro-isac.dev.netuno.org:30788\"}},{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/pedro-isac/netuno/apps/social-netuno/ui/src/components/GraficoPublicacoesDiariasPorComunidade/index.jsx\",\"external\":\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/ui/src/components/GraficoPublicacoesDiariasPorComunidade/index.jsx\",\"path\":\"/home/pedro-isac/netuno/apps/social-netuno/ui/src/components/GraficoPublicacoesDiariasPorComunidade/index.jsx\",\"scheme\":\"vscode-remote\",\"authority\":\"pedro-isac.dev.netuno.org:30788\"}},{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/pedro-isac/netuno/apps/social-netuno/ui/src/index.jsx\",\"external\":\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/ui/src/index.jsx\",\"path\":\"/home/pedro-isac/netuno/apps/social-netuno/ui/src/index.jsx\",\"scheme\":\"vscode-remote\",\"authority\":\"pedro-isac.dev.netuno.org:30788\"}},{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/pedro-isac/netuno/apps/social-netuno/website/src/App.js\",\"external\":\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/website/src/App.js\",\"path\":\"/home/pedro-isac/netuno/apps/social-netuno/website/src/App.js\",\"scheme\":\"vscode-remote\",\"authority\":\"pedro-isac.dev.netuno.org:30788\"}},{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/pedro-isac/netuno/apps/social-netuno/config/_development.json\",\"external\":\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/config/_development.json\",\"path\":\"/home/pedro-isac/netuno/apps/social-netuno/config/_development.json\",\"scheme\":\"vscode-remote\",\"authority\":\"pedro-isac.dev.netuno.org:30788\"}},{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/pedro-isac/netuno/apps/social-netuno/website/src/index.js\",\"external\":\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/website/src/index.js\",\"path\":\"/home/pedro-isac/netuno/apps/social-netuno/website/src/index.js\",\"scheme\":\"vscode-remote\",\"authority\":\"pedro-isac.dev.netuno.org:30788\"}},{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/pedro-isac/netuno/apps/social-netuno/server/services/pessoas/get.js\",\"external\":\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/server/services/pessoas/get.js\",\"path\":\"/home/pedro-isac/netuno/apps/social-netuno/server/services/pessoas/get.js\",\"scheme\":\"vscode-remote\",\"authority\":\"pedro-isac.dev.netuno.org:30788\"}},{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/pedro-isac/netuno/apps/social-netuno/server/services/publicacoes/graficos/comunidades/diaria.get.js\",\"external\":\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/server/services/publicacoes/graficos/comunidades/diaria.get.js\",\"path\":\"/home/pedro-isac/netuno/apps/social-netuno/server/services/publicacoes/graficos/comunidades/diaria.get.js\",\"scheme\":\"vscode-remote\",\"authority\":\"pedro-isac.dev.netuno.org:30788\"}},{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/pedro-isac/netuno/apps/social-netuno/ui/src/components/PessoasTabela/JanelaPublicacoes/index.jsx\",\"external\":\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/ui/src/components/PessoasTabela/JanelaPublicacoes/index.jsx\",\"path\":\"/home/pedro-isac/netuno/apps/social-netuno/ui/src/components/PessoasTabela/JanelaPublicacoes/index.jsx\",\"scheme\":\"vscode-remote\",\"authority\":\"pedro-isac.dev.netuno.org:30788\"}},{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/pedro-isac/netuno/apps/social-netuno/public/styles/main.css\",\"external\":\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/public/styles/main.css\",\"path\":\"/home/pedro-isac/netuno/apps/social-netuno/public/styles/main.css\",\"scheme\":\"vscode-remote\",\"authority\":\"pedro-isac.dev.netuno.org:30788\"}},{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/pedro-isac/netuno/apps/social-netuno/ui/src/styles/main.less\",\"external\":\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/ui/src/styles/main.less\",\"path\":\"/home/pedro-isac/netuno/apps/social-netuno/ui/src/styles/main.less\",\"scheme\":\"vscode-remote\",\"authority\":\"pedro-isac.dev.netuno.org:30788\"}},{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/pedro-isac/netuno/apps/social-netuno/website/src/App.less\",\"external\":\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/website/src/App.less\",\"path\":\"/home/pedro-isac/netuno/apps/social-netuno/website/src/App.less\",\"scheme\":\"vscode-remote\",\"authority\":\"pedro-isac.dev.netuno.org:30788\"}},{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/pedro-isac/netuno/apps/social-netuno/ui/src/containers/DashboardContainer/index.jsx\",\"external\":\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/ui/src/containers/DashboardContainer/index.jsx\",\"path\":\"/home/pedro-isac/netuno/apps/social-netuno/ui/src/containers/DashboardContainer/index.jsx\",\"scheme\":\"vscode-remote\",\"authority\":\"pedro-isac.dev.netuno.org:30788\"}},{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/pedro-isac/netuno/apps/social-netuno/config/_production.js\",\"external\":\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/config/_production.js\",\"path\":\"/home/pedro-isac/netuno/apps/social-netuno/config/_production.js\",\"scheme\":\"vscode-remote\",\"authority\":\"pedro-isac.dev.netuno.org:30788\"}},{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/pedro-isac/netuno/apps/social-netuno/config/_development.js\",\"external\":\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/config/_development.js\",\"path\":\"/home/pedro-isac/netuno/apps/social-netuno/config/_development.js\",\"scheme\":\"vscode-remote\",\"authority\":\"pedro-isac.dev.netuno.org:30788\"}},{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/pedro-isac/netuno/apps/social-netuno/website/src/components/Header/index.less\",\"external\":\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/website/src/components/Header/index.less\",\"path\":\"/home/pedro-isac/netuno/apps/social-netuno/website/src/components/Header/index.less\",\"scheme\":\"vscode-remote\",\"authority\":\"pedro-isac.dev.netuno.org:30788\"}},{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/pedro-isac/netuno/apps/social-netuno/website/src/pages/Home/index.less\",\"external\":\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/website/src/pages/Home/index.less\",\"path\":\"/home/pedro-isac/netuno/apps/social-netuno/website/src/pages/Home/index.less\",\"scheme\":\"vscode-remote\",\"authority\":\"pedro-isac.dev.netuno.org:30788\"}},{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/pedro-isac/netuno/apps/social-netuno/website/src/components/Header/index.js\",\"external\":\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/website/src/components/Header/index.js\",\"path\":\"/home/pedro-isac/netuno/apps/social-netuno/website/src/components/Header/index.js\",\"scheme\":\"vscode-remote\",\"authority\":\"pedro-isac.dev.netuno.org:30788\"}},{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/pedro-isac/netuno/apps/social-netuno/website/config-overrides.js\",\"external\":\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/website/config-overrides.js\",\"path\":\"/home/pedro-isac/netuno/apps/social-netuno/website/config-overrides.js\",\"scheme\":\"vscode-remote\",\"authority\":\"pedro-isac.dev.netuno.org:30788\"}},{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/pedro-isac/netuno/apps/social-netuno/ui/webpack.config.js\",\"external\":\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/ui/webpack.config.js\",\"path\":\"/home/pedro-isac/netuno/apps/social-netuno/ui/webpack.config.js\",\"scheme\":\"vscode-remote\",\"authority\":\"pedro-isac.dev.netuno.org:30788\"}},{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/pedro-isac/netuno/apps/social-netuno/ui/package.json\",\"external\":\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/ui/package.json\",\"path\":\"/home/pedro-isac/netuno/apps/social-netuno/ui/package.json\",\"scheme\":\"vscode-remote\",\"authority\":\"pedro-isac.dev.netuno.org:30788\"}},{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/pedro-isac/netuno/apps/social-netuno/website/package.json\",\"external\":\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/website/package.json\",\"path\":\"/home/pedro-isac/netuno/apps/social-netuno/website/package.json\",\"scheme\":\"vscode-remote\",\"authority\":\"pedro-isac.dev.netuno.org:30788\"}},{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/pedro-isac/netuno/apps/social-netuno/ui/.babelrc\",\"external\":\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/ui/.babelrc\",\"path\":\"/home/pedro-isac/netuno/apps/social-netuno/ui/.babelrc\",\"scheme\":\"vscode-remote\",\"authority\":\"pedro-isac.dev.netuno.org:30788\"}},{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/pedro-isac/netuno/apps/social-netuno/website/src/setupTests.js\",\"external\":\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/website/src/setupTests.js\",\"path\":\"/home/pedro-isac/netuno/apps/social-netuno/website/src/setupTests.js\",\"scheme\":\"vscode-remote\",\"authority\":\"pedro-isac.dev.netuno.org:30788\"}},{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/pedro-isac/netuno/apps/social-netuno/website/src/reportWebVitals.js\",\"external\":\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/website/src/reportWebVitals.js\",\"path\":\"/home/pedro-isac/netuno/apps/social-netuno/website/src/reportWebVitals.js\",\"scheme\":\"vscode-remote\",\"authority\":\"pedro-isac.dev.netuno.org:30788\"}},{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/pedro-isac/netuno/apps/social-netuno/User/settings.json\",\"external\":\"vscode-remote:/home/pedro-isac/netuno/apps/social-netuno/User/settings.json\",\"path\":\"/home/pedro-isac/netuno/apps/social-netuno/User/settings.json\",\"scheme\":\"vscode-remote\"}},{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/pedro-isac/netuno/apps/social-netuno/ui/src/containers/DashboardContainer/index.less\",\"external\":\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/ui/src/containers/DashboardContainer/index.less\",\"path\":\"/home/pedro-isac/netuno/apps/social-netuno/ui/src/containers/DashboardContainer/index.less\",\"scheme\":\"vscode-remote\",\"authority\":\"pedro-isac.dev.netuno.org:30788\"}},{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/pedro-isac/netuno/apps/social-netuno/ui/src/components/PessoasTabela/index.jsx\",\"external\":\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/ui/src/components/PessoasTabela/index.jsx\",\"path\":\"/home/pedro-isac/netuno/apps/social-netuno/ui/src/components/PessoasTabela/index.jsx\",\"scheme\":\"vscode-remote\",\"authority\":\"pedro-isac.dev.netuno.org:30788\"}},{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/pedro-isac/netuno/apps/social-netuno/.gitignore\",\"external\":\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/.gitignore\",\"path\":\"/home/pedro-isac/netuno/apps/social-netuno/.gitignore\",\"scheme\":\"vscode-remote\",\"authority\":\"pedro-isac.dev.netuno.org:30788\"}},{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/pedro-isac/netuno/apps/social-netuno/server/services/pessoas/publicacoes/post.js\",\"external\":\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/server/services/pessoas/publicacoes/post.js\",\"path\":\"/home/pedro-isac/netuno/apps/social-netuno/server/services/pessoas/publicacoes/post.js\",\"scheme\":\"vscode-remote\",\"authority\":\"pedro-isac.dev.netuno.org:30788\"}},{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/pedro-isac/netuno/apps/social-netuno/ui/src/components/GraficoPublicacoesTotaisPorComunidade/index.jsx\",\"external\":\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/ui/src/components/GraficoPublicacoesTotaisPorComunidade/index.jsx\",\"path\":\"/home/pedro-isac/netuno/apps/social-netuno/ui/src/components/GraficoPublicacoesTotaisPorComunidade/index.jsx\",\"scheme\":\"vscode-remote\",\"authority\":\"pedro-isac.dev.netuno.org:30788\"}},{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/pedro-isac/netuno/apps/social-netuno/server/services/publicacoes/graficos/comunidades/total.get.js\",\"external\":\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/server/services/publicacoes/graficos/comunidades/total.get.js\",\"path\":\"/home/pedro-isac/netuno/apps/social-netuno/server/services/publicacoes/graficos/comunidades/total.get.js\",\"scheme\":\"vscode-remote\",\"authority\":\"pedro-isac.dev.netuno.org:30788\"}},{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/pedro-isac/netuno/apps/social-netuno/ui/node_modules/antd/lib/style/index.less\",\"external\":\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/ui/node_modules/antd/lib/style/index.less\",\"path\":\"/home/pedro-isac/netuno/apps/social-netuno/ui/node_modules/antd/lib/style/index.less\",\"scheme\":\"vscode-remote\",\"authority\":\"pedro-isac.dev.netuno.org:30788\"}},{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/pedro-isac/netuno/apps/social-netuno/ui/node_modules/antd/lib/style/themes/index.less\",\"external\":\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/ui/node_modules/antd/lib/style/themes/index.less\",\"path\":\"/home/pedro-isac/netuno/apps/social-netuno/ui/node_modules/antd/lib/style/themes/index.less\",\"scheme\":\"vscode-remote\",\"authority\":\"pedro-isac.dev.netuno.org:30788\"}},{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/pedro-isac/netuno/apps/social-netuno/ui/src/components/PessoasTabela/JanelaPublicacoes/styles.less\",\"external\":\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/ui/src/components/PessoasTabela/JanelaPublicacoes/styles.less\",\"path\":\"/home/pedro-isac/netuno/apps/social-netuno/ui/src/components/PessoasTabela/JanelaPublicacoes/styles.less\",\"scheme\":\"vscode-remote\",\"authority\":\"pedro-isac.dev.netuno.org:30788\"}},{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/pedro-isac/netuno/apps/social-netuno/ui/node_modules/react/cjs/react.development.js\",\"external\":\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/ui/node_modules/react/cjs/react.development.js\",\"path\":\"/home/pedro-isac/netuno/apps/social-netuno/ui/node_modules/react/cjs/react.development.js\",\"scheme\":\"vscode-remote\",\"authority\":\"pedro-isac.dev.netuno.org:30788\"}},{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/pedro-isac/netuno/apps/social-netuno/server/templates/dashboard.html\",\"external\":\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/server/templates/dashboard.html\",\"path\":\"/home/pedro-isac/netuno/apps/social-netuno/server/templates/dashboard.html\",\"scheme\":\"vscode-remote\",\"authority\":\"pedro-isac.dev.netuno.org:30788\"}},{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/pedro-isac/netuno/apps/social-netuno/server/templates/scripts_login.html\",\"external\":\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/server/templates/scripts_login.html\",\"path\":\"/home/pedro-isac/netuno/apps/social-netuno/server/templates/scripts_login.html\",\"scheme\":\"vscode-remote\",\"authority\":\"pedro-isac.dev.netuno.org:30788\"}}]"],["workbench.view.explorer.numberOfVisibleViews","3"],["workbench.explorer.treeViewState","{\"focus\":[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/website/src/pages/Register/index.js\"],\"selection\":[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/website/src/pages/Register/index.js\"],\"expanded\":[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/website\",\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/website/src\",\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/website/src/pages\",\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/website/src/pages/Login\",\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/website/src/pages/Register\"],\"scrollTop\":0}"],["scm:view:visibleRepositories","{\"all\":[\"git:Git:vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno\"],\"visible\":[0]}"],["memento/workbench.editor.walkThroughPart","{\"walkThroughEditorViewState\":[[\"walkThrough://pedro-isac.dev.netuno.org:30788/static/e0203f2a36c9b7036fefa50eec6cf8fa36c5c015/usr/lib/code-server/lib/vscode/out/vs/workbench/contrib/welcome/page/browser/vs_code_welcome_page?%7B%22moduleId%22%3A%22vs%2Fworkbench%2Fcontrib%2Fwelcome%2Fpage%2Fbrowser%2Fvs_code_welcome_page%22%7D\",{\"0\":{\"viewState\":{\"scrollTop\":0,\"scrollLeft\":0}}}]]}"],["workbench.view.extensions.numberOfVisibleViews","2"],["memento/workbench.view.extensions","{\"query.value\":\"\"}"],["memento/workbench.editors.files.textFileEditor","{\"textEditorViewState\":[[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/server/templates/scripts_login.html\",{\"0\":{\"cursorState\":[{\"inSelectionMode\":false,\"selectionStart\":{\"lineNumber\":1,\"column\":1},\"position\":{\"lineNumber\":1,\"column\":1}}],\"viewState\":{\"scrollLeft\":0,\"firstPosition\":{\"lineNumber\":1,\"column\":1},\"firstPositionDeltaTop\":0},\"contributionsState\":{\"editor.contrib.wordHighlighter\":false,\"editor.contrib.folding\":{\"lineCount\":1,\"provider\":\"syntax\"}}}}],[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/server/templates/dashboard.html\",{\"0\":{\"cursorState\":[{\"inSelectionMode\":true,\"selectionStart\":{\"lineNumber\":14,\"column\":18},\"position\":{\"lineNumber\":14,\"column\":63}}],\"viewState\":{\"scrollLeft\":0,\"firstPosition\":{\"lineNumber\":1,\"column\":1},\"firstPositionDeltaTop\":0},\"contributionsState\":{\"editor.contrib.wordHighlighter\":false,\"editor.contrib.folding\":{\"lineCount\":25,\"provider\":\"syntax\"}}}}],[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/ui/node_modules/react/cjs/react.development.js\",{\"0\":{\"cursorState\":[{\"inSelectionMode\":false,\"selectionStart\":{\"lineNumber\":1,\"column\":1},\"position\":{\"lineNumber\":1,\"column\":1}}],\"viewState\":{\"scrollLeft\":0,\"firstPosition\":{\"lineNumber\":27,\"column\":1},\"firstPositionDeltaTop\":-6},\"contributionsState\":{\"editor.contrib.wordHighlighter\":false,\"editor.contrib.folding\":{\"lineCount\":1913,\"provider\":\"syntax\"}}}}],[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/ui/src/components/PessoasTabela/JanelaPublicacoes/styles.less\",{\"0\":{\"cursorState\":[{\"inSelectionMode\":false,\"selectionStart\":{\"lineNumber\":6,\"column\":26},\"position\":{\"lineNumber\":6,\"column\":26}}],\"viewState\":{\"scrollLeft\":0,\"firstPosition\":{\"lineNumber\":1,\"column\":1},\"firstPositionDeltaTop\":0},\"contributionsState\":{\"editor.contrib.wordHighlighter\":false,\"editor.contrib.findController\":{\"widgetViewZoneVisible\":false,\"scrollTop\":0},\"editor.contrib.folding\":{\"lineCount\":8,\"provider\":\"syntax\"}}}}],[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/ui/node_modules/antd/lib/style/themes/index.less\",{\"0\":{\"cursorState\":[{\"inSelectionMode\":false,\"selectionStart\":{\"lineNumber\":1,\"column\":1},\"position\":{\"lineNumber\":1,\"column\":1}}],\"viewState\":{\"scrollLeft\":0,\"firstPosition\":{\"lineNumber\":1,\"column\":1},\"firstPositionDeltaTop\":0},\"contributionsState\":{\"editor.contrib.wordHighlighter\":false,\"editor.contrib.findController\":{\"widgetViewZoneVisible\":false,\"scrollTop\":0},\"editor.contrib.folding\":{\"lineCount\":2,\"provider\":\"syntax\"}}}}],[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/ui/node_modules/antd/lib/style/index.less\",{\"0\":{\"cursorState\":[{\"inSelectionMode\":false,\"selectionStart\":{\"lineNumber\":1,\"column\":24},\"position\":{\"lineNumber\":1,\"column\":24}}],\"viewState\":{\"scrollLeft\":0,\"firstPosition\":{\"lineNumber\":1,\"column\":1},\"firstPositionDeltaTop\":0},\"contributionsState\":{\"editor.contrib.wordHighlighter\":false,\"editor.contrib.findController\":{\"widgetViewZoneVisible\":false,\"scrollTop\":0},\"editor.contrib.folding\":{\"lineCount\":3,\"provider\":\"syntax\"}}}}],[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/server/services/publicacoes/graficos/comunidades/total.get.js\",{\"0\":{\"cursorState\":[{\"inSelectionMode\":true,\"selectionStart\":{\"lineNumber\":7,\"column\":14},\"position\":{\"lineNumber\":2,\"column\":1}}],\"viewState\":{\"scrollLeft\":0,\"firstPosition\":{\"lineNumber\":1,\"column\":1},\"firstPositionDeltaTop\":0},\"contributionsState\":{\"editor.contrib.wordHighlighter\":false,\"editor.contrib.folding\":{\"lineCount\":10,\"provider\":\"syntax\"}}}}],[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/ui/src/components/GraficoPublicacoesTotaisPorComunidade/index.jsx\",{\"0\":{\"cursorState\":[{\"inSelectionMode\":false,\"selectionStart\":{\"lineNumber\":7,\"column\":23},\"position\":{\"lineNumber\":7,\"column\":23}}],\"viewState\":{\"scrollLeft\":0,\"firstPosition\":{\"lineNumber\":27,\"column\":1},\"firstPositionDeltaTop\":-6},\"contributionsState\":{\"editor.contrib.wordHighlighter\":false,\"editor.contrib.folding\":{\"lineCount\":43,\"provider\":\"syntax\"}}}}],[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/server/services/pessoas/publicacoes/post.js\",{\"0\":{\"cursorState\":[{\"inSelectionMode\":true,\"selectionStart\":{\"lineNumber\":20,\"column\":19},\"position\":{\"lineNumber\":20,\"column\":22}}],\"viewState\":{\"scrollLeft\":0,\"firstPosition\":{\"lineNumber\":1,\"column\":1},\"firstPositionDeltaTop\":0},\"contributionsState\":{\"editor.contrib.wordHighlighter\":true,\"editor.contrib.findController\":{\"widgetViewZoneVisible\":false,\"scrollTop\":0},\"editor.contrib.folding\":{\"lineCount\":27,\"provider\":\"syntax\"}}}}],[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/.gitignore\",{\"0\":{\"cursorState\":[{\"inSelectionMode\":false,\"selectionStart\":{\"lineNumber\":11,\"column\":19},\"position\":{\"lineNumber\":11,\"column\":19}}],\"viewState\":{\"scrollLeft\":0,\"firstPosition\":{\"lineNumber\":1,\"column\":1},\"firstPositionDeltaTop\":0},\"contributionsState\":{\"editor.contrib.wordHighlighter\":false,\"editor.contrib.folding\":{\"lineCount\":16,\"provider\":\"indent\"}}}}],[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/ui/src/components/PessoasTabela/index.jsx\",{\"0\":{\"cursorState\":[{\"inSelectionMode\":false,\"selectionStart\":{\"lineNumber\":85,\"column\":46},\"position\":{\"lineNumber\":85,\"column\":46}}],\"viewState\":{\"scrollLeft\":0,\"firstPosition\":{\"lineNumber\":75,\"column\":1},\"firstPositionDeltaTop\":-11},\"contributionsState\":{\"editor.contrib.wordHighlighter\":false,\"editor.contrib.folding\":{\"lineCount\":93,\"provider\":\"indent\"}}}}],[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/ui/src/containers/DashboardContainer/index.less\",{\"0\":{\"cursorState\":[{\"inSelectionMode\":false,\"selectionStart\":{\"lineNumber\":14,\"column\":22},\"position\":{\"lineNumber\":14,\"column\":22}}],\"viewState\":{\"scrollLeft\":0,\"firstPosition\":{\"lineNumber\":1,\"column\":1},\"firstPositionDeltaTop\":0},\"contributionsState\":{\"editor.contrib.wordHighlighter\":false,\"editor.contrib.folding\":{\"lineCount\":15,\"provider\":\"indent\"}}}}],[\"vscode-remote:/home/pedro-isac/netuno/apps/social-netuno/User/settings.json\",{\"0\":{\"cursorState\":[{\"inSelectionMode\":false,\"selectionStart\":{\"lineNumber\":13,\"column\":2},\"position\":{\"lineNumber\":13,\"column\":2}}],\"viewState\":{\"scrollLeft\":0,\"firstPosition\":{\"lineNumber\":1,\"column\":1},\"firstPositionDeltaTop\":0},\"contributionsState\":{\"editor.contrib.wordHighlighter\":false,\"editor.contrib.folding\":{\"lineCount\":13,\"provider\":\"syntax\"}}}}],[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/website/src/reportWebVitals.js\",{\"0\":{\"cursorState\":[{\"inSelectionMode\":false,\"selectionStart\":{\"lineNumber\":1,\"column\":1},\"position\":{\"lineNumber\":1,\"column\":1}}],\"viewState\":{\"scrollLeft\":0,\"firstPosition\":{\"lineNumber\":1,\"column\":1},\"firstPositionDeltaTop\":0},\"contributionsState\":{\"editor.contrib.wordHighlighter\":false,\"editor.contrib.folding\":{\"lineCount\":14}}}}],[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/website/src/setupTests.js\",{\"0\":{\"cursorState\":[{\"inSelectionMode\":false,\"selectionStart\":{\"lineNumber\":1,\"column\":1},\"position\":{\"lineNumber\":1,\"column\":1}}],\"viewState\":{\"scrollLeft\":0,\"firstPosition\":{\"lineNumber\":1,\"column\":1},\"firstPositionDeltaTop\":0},\"contributionsState\":{\"editor.contrib.wordHighlighter\":false,\"editor.contrib.folding\":{\"lineCount\":6,\"provider\":\"syntax\"}}}}],[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/ui/.babelrc\",{\"0\":{\"cursorState\":[{\"inSelectionMode\":true,\"selectionStart\":{\"lineNumber\":10,\"column\":1},\"position\":{\"lineNumber\":1,\"column\":1}}],\"viewState\":{\"scrollLeft\":0,\"firstPosition\":{\"lineNumber\":1,\"column\":1},\"firstPositionDeltaTop\":0},\"contributionsState\":{\"editor.contrib.wordHighlighter\":false,\"editor.contrib.folding\":{\"lineCount\":10,\"provider\":\"syntax\"}}}}],[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/website/package.json\",{\"0\":{\"cursorState\":[{\"inSelectionMode\":false,\"selectionStart\":{\"lineNumber\":47,\"column\":1},\"position\":{\"lineNumber\":47,\"column\":1}}],\"viewState\":{\"scrollLeft\":0,\"firstPosition\":{\"lineNumber\":26,\"column\":1},\"firstPositionDeltaTop\":-16},\"contributionsState\":{\"editor.contrib.wordHighlighter\":false,\"editor.contrib.folding\":{\"lineCount\":47,\"provider\":\"syntax\"}}}}],[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/ui/package.json\",{\"0\":{\"cursorState\":[{\"inSelectionMode\":true,\"selectionStart\":{\"lineNumber\":23,\"column\":22},\"position\":{\"lineNumber\":23,\"column\":27}}],\"viewState\":{\"scrollLeft\":0,\"firstPosition\":{\"lineNumber\":5,\"column\":1},\"firstPositionDeltaTop\":-1},\"contributionsState\":{\"editor.contrib.wordHighlighter\":false,\"editor.contrib.folding\":{\"lineCount\":39,\"provider\":\"syntax\"}}}}],[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/ui/webpack.config.js\",{\"0\":{\"cursorState\":[{\"inSelectionMode\":true,\"selectionStart\":{\"lineNumber\":57,\"column\":29},\"position\":{\"lineNumber\":57,\"column\":39}}],\"viewState\":{\"scrollLeft\":0,\"firstPosition\":{\"lineNumber\":51,\"column\":1},\"firstPositionDeltaTop\":-17},\"contributionsState\":{\"editor.contrib.wordHighlighter\":true,\"editor.contrib.folding\":{\"lineCount\":81,\"provider\":\"syntax\"}}}}],[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/website/config-overrides.js\",{\"0\":{\"cursorState\":[{\"inSelectionMode\":false,\"selectionStart\":{\"lineNumber\":15,\"column\":35},\"position\":{\"lineNumber\":15,\"column\":35}}],\"viewState\":{\"scrollLeft\":0,\"firstPosition\":{\"lineNumber\":1,\"column\":1},\"firstPositionDeltaTop\":0},\"contributionsState\":{\"editor.contrib.wordHighlighter\":false,\"editor.contrib.folding\":{\"lineCount\":20,\"provider\":\"syntax\"}}}}],[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/website/src/components/Header/index.js\",{\"0\":{\"cursorState\":[{\"inSelectionMode\":false,\"selectionStart\":{\"lineNumber\":11,\"column\":17},\"position\":{\"lineNumber\":11,\"column\":17}}],\"viewState\":{\"scrollLeft\":0,\"firstPosition\":{\"lineNumber\":1,\"column\":1},\"firstPositionDeltaTop\":0},\"contributionsState\":{\"editor.contrib.wordHighlighter\":false,\"editor.contrib.findController\":{\"widgetViewZoneVisible\":false,\"scrollTop\":0},\"editor.contrib.folding\":{\"lineCount\":27,\"provider\":\"syntax\"}}}}],[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/website/src/pages/Home/index.less\",{\"0\":{\"cursorState\":[{\"inSelectionMode\":false,\"selectionStart\":{\"lineNumber\":1,\"column\":26},\"position\":{\"lineNumber\":1,\"column\":26}}],\"viewState\":{\"scrollLeft\":0,\"firstPosition\":{\"lineNumber\":1,\"column\":1},\"firstPositionDeltaTop\":0},\"contributionsState\":{\"editor.contrib.wordHighlighter\":false,\"editor.contrib.findController\":{\"widgetViewZoneVisible\":false,\"scrollTop\":0},\"editor.contrib.folding\":{\"lineCount\":1,\"provider\":\"syntax\"}}}}],[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/website/src/components/Header/index.less\",{\"0\":{\"cursorState\":[{\"inSelectionMode\":true,\"selectionStart\":{\"lineNumber\":1,\"column\":26},\"position\":{\"lineNumber\":1,\"column\":1}}],\"viewState\":{\"scrollLeft\":0,\"firstPosition\":{\"lineNumber\":1,\"column\":1},\"firstPositionDeltaTop\":0},\"contributionsState\":{\"editor.contrib.wordHighlighter\":false,\"editor.contrib.findController\":{\"widgetViewZoneVisible\":false,\"scrollTop\":0},\"editor.contrib.folding\":{\"collapsedRegions\":[],\"lineCount\":16,\"provider\":\"syntax\"}}}}],[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/config/_development.js\",{\"0\":{\"cursorState\":[{\"inSelectionMode\":false,\"selectionStart\":{\"lineNumber\":1,\"column\":1},\"position\":{\"lineNumber\":1,\"column\":1}}],\"viewState\":{\"scrollLeft\":0,\"firstPosition\":{\"lineNumber\":1,\"column\":1},\"firstPositionDeltaTop\":0},\"contributionsState\":{\"editor.contrib.wordHighlighter\":false,\"editor.contrib.findController\":{\"widgetViewZoneVisible\":false,\"scrollTop\":0},\"editor.contrib.folding\":{\"lineCount\":4,\"provider\":\"syntax\"}}}}],[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/config/_production.js\",{\"0\":{\"cursorState\":[{\"inSelectionMode\":false,\"selectionStart\":{\"lineNumber\":1,\"column\":1},\"position\":{\"lineNumber\":1,\"column\":1}}],\"viewState\":{\"scrollLeft\":0,\"firstPosition\":{\"lineNumber\":1,\"column\":1},\"firstPositionDeltaTop\":0},\"contributionsState\":{\"editor.contrib.wordHighlighter\":false,\"editor.contrib.findController\":{\"widgetViewZoneVisible\":false,\"scrollTop\":0},\"editor.contrib.folding\":{\"lineCount\":4,\"provider\":\"syntax\"}}}}],[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/ui/src/containers/DashboardContainer/index.jsx\",{\"0\":{\"cursorState\":[{\"inSelectionMode\":false,\"selectionStart\":{\"lineNumber\":13,\"column\":25},\"position\":{\"lineNumber\":13,\"column\":25}}],\"viewState\":{\"scrollLeft\":0,\"firstPosition\":{\"lineNumber\":56,\"column\":1},\"firstPositionDeltaTop\":-5},\"contributionsState\":{\"editor.contrib.wordHighlighter\":false,\"editor.contrib.findController\":{\"widgetViewZoneVisible\":false,\"scrollTop\":1050},\"editor.contrib.folding\":{\"lineCount\":81,\"provider\":\"syntax\"}}}}],[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/website/src/App.less\",{\"0\":{\"cursorState\":[{\"inSelectionMode\":false,\"selectionStart\":{\"lineNumber\":3,\"column\":16},\"position\":{\"lineNumber\":3,\"column\":16}}],\"viewState\":{\"scrollLeft\":0,\"firstPosition\":{\"lineNumber\":1,\"column\":1},\"firstPositionDeltaTop\":0},\"contributionsState\":{\"editor.contrib.wordHighlighter\":false,\"editor.contrib.findController\":{\"widgetViewZoneVisible\":false,\"scrollTop\":0},\"editor.contrib.folding\":{\"lineCount\":4,\"provider\":\"syntax\"}}}}],[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/ui/src/styles/main.less\",{\"0\":{\"cursorState\":[{\"inSelectionMode\":false,\"selectionStart\":{\"lineNumber\":8,\"column\":13},\"position\":{\"lineNumber\":8,\"column\":13}}],\"viewState\":{\"scrollLeft\":0,\"firstPosition\":{\"lineNumber\":1,\"column\":1},\"firstPositionDeltaTop\":0},\"contributionsState\":{\"editor.contrib.wordHighlighter\":false,\"editor.contrib.findController\":{\"widgetViewZoneVisible\":false,\"scrollTop\":0},\"editor.contrib.folding\":{\"collapsedRegions\":[],\"lineCount\":8,\"provider\":\"syntax\"}}}}],[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/public/styles/main.css\",{\"0\":{\"cursorState\":[{\"inSelectionMode\":false,\"selectionStart\":{\"lineNumber\":12,\"column\":24},\"position\":{\"lineNumber\":12,\"column\":24}}],\"viewState\":{\"scrollLeft\":0,\"firstPosition\":{\"lineNumber\":1,\"column\":1},\"firstPositionDeltaTop\":0},\"contributionsState\":{\"editor.contrib.wordHighlighter\":false,\"editor.contrib.findController\":{\"widgetViewZoneVisible\":false,\"scrollTop\":0},\"editor.contrib.folding\":{\"lineCount\":14,\"provider\":\"syntax\"}}}}],[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/ui/src/components/PessoasTabela/JanelaPublicacoes/index.jsx\",{\"0\":{\"cursorState\":[{\"inSelectionMode\":false,\"selectionStart\":{\"lineNumber\":4,\"column\":23},\"position\":{\"lineNumber\":4,\"column\":23}}],\"viewState\":{\"scrollLeft\":0,\"firstPosition\":{\"lineNumber\":1,\"column\":1},\"firstPositionDeltaTop\":0},\"contributionsState\":{\"editor.contrib.wordHighlighter\":false,\"editor.contrib.findController\":{\"widgetViewZoneVisible\":false,\"scrollTop\":0},\"editor.contrib.folding\":{\"lineCount\":65,\"provider\":\"syntax\"}}}}],[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/server/services/publicacoes/graficos/comunidades/diaria.get.js\",{\"0\":{\"cursorState\":[{\"inSelectionMode\":false,\"selectionStart\":{\"lineNumber\":11,\"column\":25},\"position\":{\"lineNumber\":11,\"column\":25}}],\"viewState\":{\"scrollLeft\":0,\"firstPosition\":{\"lineNumber\":1,\"column\":1},\"firstPositionDeltaTop\":0},\"contributionsState\":{\"editor.contrib.wordHighlighter\":false,\"editor.contrib.findController\":{\"widgetViewZoneVisible\":false,\"scrollTop\":0},\"editor.contrib.folding\":{\"lineCount\":11,\"provider\":\"syntax\"}}}}],[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/server/services/pessoas/get.js\",{\"0\":{\"cursorState\":[{\"inSelectionMode\":false,\"selectionStart\":{\"lineNumber\":30,\"column\":46},\"position\":{\"lineNumber\":30,\"column\":46}}],\"viewState\":{\"scrollLeft\":0,\"firstPosition\":{\"lineNumber\":11,\"column\":1},\"firstPositionDeltaTop\":-10},\"contributionsState\":{\"editor.contrib.wordHighlighter\":false,\"editor.contrib.findController\":{\"widgetViewZoneVisible\":false,\"scrollTop\":233},\"editor.contrib.folding\":{\"lineCount\":38,\"provider\":\"syntax\"}}}}],[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/website/src/index.js\",{\"0\":{\"cursorState\":[{\"inSelectionMode\":false,\"selectionStart\":{\"lineNumber\":7,\"column\":50},\"position\":{\"lineNumber\":7,\"column\":50}}],\"viewState\":{\"scrollLeft\":0,\"firstPosition\":{\"lineNumber\":1,\"column\":1},\"firstPositionDeltaTop\":0},\"contributionsState\":{\"editor.contrib.wordHighlighter\":false,\"editor.contrib.folding\":{\"lineCount\":16,\"provider\":\"syntax\"}}}}],[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/config/_development.json\",{\"0\":{\"cursorState\":[{\"inSelectionMode\":false,\"selectionStart\":{\"lineNumber\":39,\"column\":65},\"position\":{\"lineNumber\":39,\"column\":65}}],\"viewState\":{\"scrollLeft\":0,\"firstPosition\":{\"lineNumber\":27,\"column\":1},\"firstPositionDeltaTop\":-6},\"contributionsState\":{\"editor.contrib.wordHighlighter\":false,\"editor.contrib.folding\":{\"lineCount\":42,\"provider\":\"syntax\"}}}}],[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/website/src/App.js\",{\"0\":{\"cursorState\":[{\"inSelectionMode\":false,\"selectionStart\":{\"lineNumber\":7,\"column\":1},\"position\":{\"lineNumber\":7,\"column\":1}}],\"viewState\":{\"scrollLeft\":0,\"firstPosition\":{\"lineNumber\":1,\"column\":1},\"firstPositionDeltaTop\":0},\"contributionsState\":{\"editor.contrib.wordHighlighter\":false,\"editor.contrib.folding\":{\"lineCount\":23,\"provider\":\"syntax\"}}}}],[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/ui/src/index.jsx\",{\"0\":{\"cursorState\":[{\"inSelectionMode\":false,\"selectionStart\":{\"lineNumber\":16,\"column\":4},\"position\":{\"lineNumber\":16,\"column\":4}}],\"viewState\":{\"scrollLeft\":0,\"firstPosition\":{\"lineNumber\":1,\"column\":1},\"firstPositionDeltaTop\":0},\"contributionsState\":{\"editor.contrib.wordHighlighter\":false,\"editor.contrib.folding\":{\"lineCount\":43,\"provider\":\"syntax\"}}}}],[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/ui/src/components/GraficoPublicacoesDiariasPorComunidade/index.jsx\",{\"0\":{\"cursorState\":[{\"inSelectionMode\":false,\"selectionStart\":{\"lineNumber\":15,\"column\":19},\"position\":{\"lineNumber\":15,\"column\":19}}],\"viewState\":{\"scrollLeft\":0,\"firstPosition\":{\"lineNumber\":1,\"column\":1},\"firstPositionDeltaTop\":0},\"contributionsState\":{\"editor.contrib.wordHighlighter\":true,\"editor.contrib.folding\":{\"lineCount\":48,\"provider\":\"syntax\"}}}}],[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/ui/src/components/MyButton/index.jsx\",{\"0\":{\"cursorState\":[{\"inSelectionMode\":false,\"selectionStart\":{\"lineNumber\":13,\"column\":39},\"position\":{\"lineNumber\":13,\"column\":39}}],\"viewState\":{\"scrollLeft\":0,\"firstPosition\":{\"lineNumber\":1,\"column\":1},\"firstPositionDeltaTop\":0},\"contributionsState\":{\"editor.contrib.wordHighlighter\":false,\"editor.contrib.folding\":{\"lineCount\":18,\"provider\":\"syntax\"}}}}],[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/website/src/pages/Home/index.js\",{\"0\":{\"cursorState\":[{\"inSelectionMode\":true,\"selectionStart\":{\"lineNumber\":3,\"column\":46},\"position\":{\"lineNumber\":3,\"column\":1}}],\"viewState\":{\"scrollLeft\":0,\"firstPosition\":{\"lineNumber\":1,\"column\":1},\"firstPositionDeltaTop\":0},\"contributionsState\":{\"editor.contrib.wordHighlighter\":false,\"editor.contrib.folding\":{\"lineCount\":12,\"provider\":\"syntax\"}}}}],[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/website/src/pages/Login/index.js\",{\"0\":{\"cursorState\":[{\"inSelectionMode\":true,\"selectionStart\":{\"lineNumber\":13,\"column\":3},\"position\":{\"lineNumber\":11,\"column\":1}}],\"viewState\":{\"scrollLeft\":0,\"firstPosition\":{\"lineNumber\":11,\"column\":1},\"firstPositionDeltaTop\":-10},\"contributionsState\":{\"editor.contrib.wordHighlighter\":false,\"editor.contrib.folding\":{\"lineCount\":63,\"provider\":\"syntax\"}}}}],[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/website/src/pages/Login/index.less\",{\"0\":{\"cursorState\":[{\"inSelectionMode\":true,\"selectionStart\":{\"lineNumber\":11,\"column\":2},\"position\":{\"lineNumber\":1,\"column\":1}}],\"viewState\":{\"scrollLeft\":0,\"firstPosition\":{\"lineNumber\":1,\"column\":1},\"firstPositionDeltaTop\":0},\"contributionsState\":{\"editor.contrib.wordHighlighter\":false,\"editor.contrib.folding\":{\"lineCount\":11,\"provider\":\"syntax\"}}}}],[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/website/src/pages/Register/index.less\",{\"0\":{\"cursorState\":[{\"inSelectionMode\":false,\"selectionStart\":{\"lineNumber\":3,\"column\":10},\"position\":{\"lineNumber\":3,\"column\":10}}],\"viewState\":{\"scrollLeft\":0,\"firstPosition\":{\"lineNumber\":1,\"column\":1},\"firstPositionDeltaTop\":0},\"contributionsState\":{\"editor.contrib.wordHighlighter\":false,\"editor.contrib.folding\":{\"lineCount\":11,\"provider\":\"syntax\"}}}}],[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/website/src/pages/Register/index.js\",{\"0\":{\"cursorState\":[{\"inSelectionMode\":false,\"selectionStart\":{\"lineNumber\":120,\"column\":36},\"position\":{\"lineNumber\":120,\"column\":36}}],\"viewState\":{\"scrollLeft\":0,\"firstPosition\":{\"lineNumber\":111,\"column\":1},\"firstPositionDeltaTop\":-2},\"contributionsState\":{\"editor.contrib.wordHighlighter\":false,\"editor.contrib.folding\":{\"lineCount\":131,\"provider\":\"syntax\"}}}}]]}"],["suggest/memories/recentlyUsed","[[\"javascriptreact/react\",{\"touch\":0,\"type\":8,\"insertText\":\"react\"}],[\"javascriptreact/antd\",{\"touch\":0,\"type\":8,\"insertText\":\"antd\"}],[\"javascriptreact/modal\",{\"touch\":0,\"type\":23,\"insertText\":\"modal\"}],[\"javascriptreact/Modal\",{\"touch\":0,\"type\":5,\"insertText\":\"Modal\"}],[\"javascriptreact/visible?\",{\"touch\":0,\"type\":9,\"insertText\":\"visible\"}],[\"javascriptreact/Button\",{\"touch\":0,\"type\":4,\"insertText\":\"Button\"}],[\"javascriptreact/export\",{\"touch\":0,\"type\":17,\"insertText\":\"export\"}],[\"javascriptreact/onClick?\",{\"touch\":0,\"type\":9,\"insertText\":\"onClick\"}],[\"javascriptreact/true\",{\"touch\":0,\"type\":17,\"insertText\":\"true\"}],[\"javascriptreact/function\",{\"touch\":0,\"type\":17,\"insertText\":\"function\"}],[\"javascriptreact/alert\",{\"touch\":0,\"type\":1,\"insertText\":\"alert\"}],[\"javascriptreact/close\",{\"touch\":0,\"type\":4,\"insertText\":\"close\"}],[\"javascriptreact/ok\",{\"touch\":0,\"type\":4,\"insertText\":\"ok\"}],[\"javascriptreact/cancelAnimationFrame\",{\"touch\":0,\"type\":1,\"insertText\":\"cancelAnimationFrame\"}],[\"javascript/dbpessoa\",{\"touch\":0,\"type\":4,\"insertText\":\"dbpessoa\"}],[\"javascriptreact/publicacoesPessoa\",{\"touch\":0,\"type\":4,\"insertText\":\"publicacoesPessoa\"}],[\"javascriptreact/setPublicacoesPessoa\",{\"touch\":0,\"type\":4,\"insertText\":\"setPublicacoesPessoa\"}],[\"javascriptreact/console\",{\"touch\":0,\"type\":4,\"insertText\":\"console\"}],[\"javascriptreact/log\",{\"touch\":0,\"type\":0,\"insertText\":\".log\"}],[\"javascriptreact/pessoa\",{\"touch\":0,\"type\":4,\"insertText\":\"pessoa\"}],[\"javascriptreact/data\",{\"touch\":0,\"type\":4,\"insertText\":\"data\"}],[\"javascriptreact/map\",{\"touch\":0,\"type\":0,\"insertText\":\".map\"}],[\"javascriptreact/publicacoes\",{\"touch\":0,\"type\":18,\"insertText\":\"publicacoes\"}],[\"javascriptreact/div>\",{\"touch\":0,\"type\":5,\"insertText\":\"div>\"}],[\"javascriptreact/div\",{\"touch\":0,\"type\":5,\"insertText\":\"div\"}],[\"javascriptreact/Title\",{\"touch\":0,\"type\":4,\"insertText\":\"Title\"}],[\"javascriptreact/level?\",{\"touch\":0,\"type\":9,\"insertText\":\"level\"}],[\"javascriptreact/Title>\",{\"touch\":0,\"type\":5,\"insertText\":\"Title>\"}],[\"javascriptreact/span>\",{\"touch\":0,\"type\":5,\"insertText\":\"span>\"}],[\"less/.publicacao-container\",{\"touch\":0,\"type\":17,\"insertText\":\".publicacao-container\"}],[\"less/opacity: ;\",{\"touch\":0,\"type\":9,\"insertText\":\"opacity: ${0};\"}],[\"less/index.less\",{\"touch\":0,\"type\":20,\"insertText\":\"index.less\"}],[\"javascriptreact/JanelaPublicacoes\",{\"touch\":0,\"type\":4,\"insertText\":\"JanelaPublicacoes\"}],[\"javascriptreact/PessoasTabela\",{\"touch\":0,\"type\":4,\"insertText\":\"PessoasTabela\"}],[\"javascriptreact/lib\",{\"touch\":0,\"type\":23,\"insertText\":\"lib\"}],[\"javascriptreact/tabs\",{\"touch\":0,\"type\":23,\"insertText\":\"tabs\"}],[\"javascriptreact/bs\",{\"touch\":0,\"type\":23,\"insertText\":\"bs\"}],[\"javascriptreact/BsPeople\",{\"touch\":0,\"type\":4,\"insertText\":\"BsPeople\"}],[\"javascriptreact/size?\",{\"touch\":0,\"type\":3,\"insertText\":\"size\"}],[\"javascriptreact/color?\",{\"touch\":0,\"type\":9,\"insertText\":\"color\"}],[\"less/flex\",{\"touch\":0,\"type\":13,\"insertText\":\"flex\"}],[\"less/align-items\",{\"touch\":0,\"type\":9,\"insertText\":\"align-items: $0;\"}],[\"less/center\",{\"touch\":0,\"type\":13,\"insertText\":\"center\"}],[\"javascriptreact/style?\",{\"touch\":0,\"type\":9,\"insertText\":\"style\"}],[\"javascriptreact/marginRight?\",{\"touch\":0,\"type\":3,\"insertText\":\"marginRight\"}],[\"javascriptreact/react-icons\",{\"touch\":0,\"type\":8,\"insertText\":\"react-icons\"}],[\"javascriptreact/ai\",{\"touch\":0,\"type\":23,\"insertText\":\"ai\"}],[\"javascriptreact/className?\",{\"touch\":0,\"type\":9,\"insertText\":\"className\"}],[\"javascriptreact/return\",{\"touch\":0,\"type\":17,\"insertText\":\"return\"}],[\"javascriptreact/LineAdvance\",{\"touch\":0,\"type\":4,\"insertText\":\"LineAdvance\"}],[\"javascriptreact/GraficoPublicacoesDiariasPorComunidade\",{\"touch\":0,\"type\":23,\"insertText\":\"GraficoPublicacoesDiariasPorComunidade\"}],[\"javascriptreact/default\",{\"touch\":0,\"type\":17,\"insertText\":\"default\"}],[\"javascriptreact/components\",{\"touch\":0,\"type\":23,\"insertText\":\"components\"}],[\"javascriptreact/GraficoPublicacoesTotaisPorComunidade\",{\"touch\":0,\"type\":23,\"insertText\":\"GraficoPublicacoesTotaisPorComunidade\"}],[\"javascriptreact/index\",{\"touch\":0,\"type\":20,\"insertText\":\"index\"}],[\"javascriptreact/useState\",{\"touch\":0,\"type\":4,\"insertText\":\"useState\"}],[\"javascriptreact/useEffect\",{\"touch\":0,\"type\":4,\"insertText\":\"useEffect\"}],[\"javascriptreact/visible\",{\"touch\":0,\"type\":4,\"insertText\":\"visible\"}],[\"javascriptreact/modalIsOpen\",{\"touch\":0,\"type\":4,\"insertText\":\"modalIsOpen\"}],[\"javascriptreact/isVisible\",{\"touch\":0,\"type\":4,\"insertText\":\"isVisible\"}],[\"javascriptreact/setModalIsOpen\",{\"touch\":0,\"type\":4,\"insertText\":\"setModalIsOpen\"}],[\"javascriptreact/cancel\",{\"touch\":0,\"type\":4,\"insertText\":\"cancel\"}],[\"javascriptreact/false\",{\"touch\":0,\"type\":17,\"insertText\":\"false\"}],[\"javascriptreact/key?\",{\"touch\":0,\"type\":9,\"insertText\":\"key\"}],[\"javascriptreact/publicao\",{\"touch\":0,\"type\":4,\"insertText\":\"publicao\"}],[\"javascriptreact/uid\",{\"touch\":0,\"type\":18,\"insertText\":\".uid\"}],[\"javascript/div\",{\"touch\":0,\"type\":3,\"insertText\":\"div\"}],[\"javascript/pages\",{\"touch\":0,\"type\":23,\"insertText\":\"pages\"}],[\"javascript/Login\",{\"touch\":0,\"type\":4,\"insertText\":\"Login\"}],[\"javascript/mode?\",{\"touch\":0,\"type\":9,\"insertText\":\"mode\"}],[\"javascript/horizontal\",{\"touch\":0,\"type\":14,\"insertText\":\"horizontal\"}],[\"javascript/Menu\",{\"touch\":0,\"type\":4,\"insertText\":\"Menu\"}],[\"javascript/Switch\",{\"touch\":0,\"type\":4,\"insertText\":\"Switch\"}],[\"javascript/BrowserRouter\",{\"touch\":0,\"type\":4,\"insertText\":\"BrowserRouter\"}],[\"javascript/BrowserRouter>\",{\"touch\":0,\"type\":5,\"insertText\":\"BrowserRouter>\"}],[\"javascript/div>\",{\"touch\":0,\"type\":5,\"insertText\":\"div>\"}],[\"javascript/switch\",{\"touch\":0,\"type\":9,\"insertText\":\"switch\"}],[\"javascript/Route\",{\"touch\":0,\"type\":4,\"insertText\":\"Route\"}],[\"javascript/path?\",{\"touch\":0,\"type\":9,\"insertText\":\"path\"}],[\"javascript/exact?\",{\"touch\":0,\"type\":9,\"insertText\":\"exact\"}],[\"javascript/component?\",{\"touch\":0,\"type\":9,\"insertText\":\"component\"}],[\"javascript/Home\",{\"touch\":0,\"type\":4,\"insertText\":\"Home\"}],[\"javascript/Register\",{\"touch\":0,\"type\":4,\"insertText\":\"Register\"}],[\"javascript/Router\",{\"touch\":0,\"type\":4,\"insertText\":\"Router\"}],[\"javascript/import\",{\"touch\":0,\"type\":17,\"insertText\":\"import\"}],[\"javascript/react-router-dom\",{\"touch\":0,\"type\":8,\"insertText\":\"react-router-dom\"}],[\"javascript/key?\",{\"touch\":0,\"type\":9,\"insertText\":\"key\"}],[\"javascript/Header>\",{\"touch\":0,\"type\":5,\"insertText\":\"Header>\"}],[\"javascript/menu\",{\"touch\":0,\"type\":23,\"insertText\":\"menu\"}],[\"javascript/index\",{\"touch\":0,\"type\":20,\"insertText\":\"index\"}],[\"javascript/antd\",{\"touch\":0,\"type\":8,\"insertText\":\"antd\"}],[\"javascript/lib\",{\"touch\":0,\"type\":23,\"insertText\":\"lib\"}],[\"javascript/table\",{\"touch\":0,\"type\":23,\"insertText\":\"table\"}],[\"javascript/react\",{\"touch\":0,\"type\":8,\"insertText\":\"react\"}],[\"javascript/export\",{\"touch\":0,\"type\":17,\"insertText\":\"export\"}],[\"javascript/default\",{\"touch\":0,\"type\":17,\"insertText\":\"default\"}],[\"javascript/return\",{\"touch\":0,\"type\":17,\"insertText\":\"return\"}],[\"javascript/Form\",{\"touch\":0,\"type\":4,\"insertText\":\"Form\"}],[\"javascript/Item\",{\"touch\":0,\"type\":9,\"insertText\":\".Item\"}],[\"javascript/Input\",{\"touch\":0,\"type\":4,\"insertText\":\"Input\"}],[\"javascript/layout?\",{\"touch\":0,\"type\":9,\"insertText\":\"layout\"}],[\"javascript/layout\",{\"touch\":0,\"type\":4,\"insertText\":\"layout\"}],[\"javascript/components\",{\"touch\":0,\"type\":23,\"insertText\":\"components\"}],[\"javascript/Header\",{\"touch\":0,\"type\":23,\"insertText\":\"Header\"}],[\"javascript/const\",{\"touch\":0,\"type\":17,\"insertText\":\"const\"}],[\"javascript/Typography\",{\"touch\":0,\"type\":4,\"insertText\":\"Typography\"}],[\"javascript/Title\",{\"touch\":0,\"type\":4,\"insertText\":\"Title\"}],[\"javascript/Title>\",{\"touch\":0,\"type\":5,\"insertText\":\"Title>\"}],[\"javascript/textAlign?\",{\"touch\":0,\"type\":3,\"insertText\":\"textAlign\"}],[\"javascript/center\",{\"touch\":0,\"type\":14,\"insertText\":\"center\"}],[\"javascript/Layout\",{\"touch\":0,\"type\":4,\"insertText\":\"Layout\"}],[\"javascript/Content\",{\"touch\":0,\"type\":4,\"insertText\":\"Content\"}],[\"javascript/Row\",{\"touch\":0,\"type\":4,\"insertText\":\"Row\"}],[\"javascript/Col\",{\"touch\":0,\"type\":4,\"insertText\":\"Col\"}],[\"javascript/span?\",{\"touch\":0,\"type\":9,\"insertText\":\"span\"}],[\"javascript/style?\",{\"touch\":0,\"type\":9,\"insertText\":\"style\"}],[\"javascript/padding?\",{\"touch\":0,\"type\":3,\"insertText\":\"padding\"}],[\"less/#fff\",{\"touch\":0,\"type\":9,\"insertText\":\"#fff\"}],[\"less/border-radius\",{\"touch\":0,\"type\":9,\"insertText\":\"border-radius: $0;\"}],[\"less/space-between\",{\"touch\":0,\"type\":13,\"insertText\":\"space-between\"}],[\"less/display\",{\"touch\":0,\"type\":9,\"insertText\":\"display: $0;\"}],[\"javascript/PageHeader\",{\"touch\":0,\"type\":4,\"insertText\":\"PageHeader\"}],[\"javascript/to\",{\"touch\":0,\"type\":9,\"insertText\":\"to\"}],[\"javascript/Button\",{\"touch\":0,\"type\":5,\"insertText\":\"Button\"}],[\"javascript/Link\",{\"touch\":0,\"type\":4,\"insertText\":\"Link\"}],[\"javascript/Link>\",{\"touch\":0,\"type\":5,\"insertText\":\"Link>\"}],[\"less/App.less\",{\"touch\":0,\"type\":20,\"insertText\":\"App.less\"}],[\"less/.header\",{\"touch\":0,\"type\":17,\"insertText\":\".header\"}],[\"less/im !important\",{\"touch\":0,\"type\":9,\"insertText\":\"im !important\"}],[\"less/width\",{\"touch\":0,\"type\":9,\"insertText\":\"width: $0;\"}],[\"less/none\",{\"touch\":0,\"type\":13,\"insertText\":\"none\"}],[\"less/:hover\",{\"touch\":0,\"type\":1,\"insertText\":\":hover\"}],[\"less/background-color\",{\"touch\":0,\"type\":9,\"insertText\":\"background-color: $0;\"}],[\"less/@primary\",{\"touch\":0,\"type\":18,\"insertText\":\"@primary\"}],[\"less/justify-content\",{\"touch\":0,\"type\":9,\"insertText\":\"justify-content: $0;\"}],[\"less/align-self\",{\"touch\":0,\"type\":9,\"insertText\":\"align-self: $0;\"}],[\"less/flex-end\",{\"touch\":0,\"type\":13,\"insertText\":\"flex-end\"}],[\"javascript/Headers\",{\"touch\":0,\"type\":4,\"insertText\":\"Headers\"}],[\"javascript/Carousel\",{\"touch\":0,\"type\":4,\"insertText\":\"Carousel\"}],[\"javascript/useEffect\",{\"touch\":0,\"type\":1,\"insertText\":\"useEffect\"}],[\"javascript/_service\",{\"touch\":0,\"type\":4,\"insertText\":\"_service\"}],[\"javascript/console\",{\"touch\":0,\"type\":4,\"insertText\":\"console\"}],[\"javascript/log\",{\"touch\":0,\"type\":0,\"insertText\":\".log\"}],[\"javascript/useState\",{\"touch\":148,\"type\":1,\"insertText\":\"useState\"}],[\"javascript/type?\",{\"touch\":149,\"type\":9,\"insertText\":\"type\"}],[\"javascript/email\",{\"touch\":152,\"type\":14,\"insertText\":\"email\"}],[\"javascript/true\",{\"touch\":155,\"type\":17,\"insertText\":\"true\"}],[\"javascript/message?\",{\"touch\":156,\"type\":3,\"insertText\":\"message\"}],[\"javascript/required?\",{\"touch\":159,\"type\":3,\"insertText\":\"required\"}],[\"javascript/message\",{\"touch\":160,\"type\":18,\"insertText\":\"message\"}],[\"javascript/rules?\",{\"touch\":165,\"type\":9,\"insertText\":\"rules\"}],[\"javascript/name?\",{\"touch\":166,\"type\":9,\"insertText\":\"name\"}],[\"javascript/className?\",{\"touch\":167,\"type\":9,\"insertText\":\"className\"}]]"],["terminal.numberOfVisibleViews","1"],["workbench.view.scm.numberOfVisibleViews","1"],["memento/workbench.editors.textDiffEditor","{\"textEditorViewState\":[]}"],["workbench.panel.output.numberOfVisibleViews","1"],["memento/workbench.panel.output","{\"textEditorViewState\":[]}"],["editor.wholeWord","false"],["editor.matchCase","false"],["workbench.panel.markers.numberOfVisibleViews","1"],["memento/workbench.panel.markers","{\"filter\":\"\",\"filterHistory\":[],\"showErrors\":true,\"showWarnings\":true,\"showInfos\":true,\"useFilesExclude\":false,\"activeFile\":false,\"multiline\":true}"],["workbench.panel.repl.numberOfVisibleViews","1"],["memento/workbench.editor.settings2","{\"settingsEditorState\":[]}"],["memento/workbench.parts.editor","{\"editorpart.state\":{\"serializedGrid\":{\"root\":{\"type\":\"branch\",\"data\":[{\"type\":\"leaf\",\"data\":{\"id\":0,\"editors\":[{\"id\":\"workbench.editors.files.fileEditorInput\",\"value\":\"{\\\"resourceJSON\\\":{\\\"$mid\\\":1,\\\"fsPath\\\":\\\"/home/pedro-isac/netuno/apps/social-netuno/website/src/pages/Login/index.js\\\",\\\"external\\\":\\\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/website/src/pages/Login/index.js\\\",\\\"path\\\":\\\"/home/pedro-isac/netuno/apps/social-netuno/website/src/pages/Login/index.js\\\",\\\"scheme\\\":\\\"vscode-remote\\\",\\\"authority\\\":\\\"pedro-isac.dev.netuno.org:30788\\\"},\\\"encoding\\\":\\\"utf8\\\"}\"},{\"id\":\"workbench.editors.files.fileEditorInput\",\"value\":\"{\\\"resourceJSON\\\":{\\\"$mid\\\":1,\\\"fsPath\\\":\\\"/home/pedro-isac/netuno/apps/social-netuno/website/src/pages/Register/index.js\\\",\\\"external\\\":\\\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/website/src/pages/Register/index.js\\\",\\\"path\\\":\\\"/home/pedro-isac/netuno/apps/social-netuno/website/src/pages/Register/index.js\\\",\\\"scheme\\\":\\\"vscode-remote\\\",\\\"authority\\\":\\\"pedro-isac.dev.netuno.org:30788\\\"},\\\"encoding\\\":\\\"utf8\\\"}\"},{\"id\":\"workbench.editors.files.fileEditorInput\",\"value\":\"{\\\"resourceJSON\\\":{\\\"$mid\\\":1,\\\"fsPath\\\":\\\"/home/pedro-isac/netuno/apps/social-netuno/website/src/pages/Register/index.less\\\",\\\"external\\\":\\\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/website/src/pages/Register/index.less\\\",\\\"path\\\":\\\"/home/pedro-isac/netuno/apps/social-netuno/website/src/pages/Register/index.less\\\",\\\"scheme\\\":\\\"vscode-remote\\\",\\\"authority\\\":\\\"pedro-isac.dev.netuno.org:30788\\\"},\\\"encoding\\\":\\\"utf8\\\"}\"}],\"mru\":[1,2,0]},\"size\":629}],\"size\":1099},\"orientation\":0,\"width\":1099,\"height\":629},\"activeGroup\":0,\"mostRecentActiveGroups\":[0]}}"],["editors.mru","{\"entries\":[{\"groupId\":0,\"index\":1},{\"groupId\":0,\"index\":2},{\"groupId\":0,\"index\":0}]}"]] \ No newline at end of file +[["__$__isNewStorageMarker","false"],["__$__targetStorageMarker","{\"workbench.panel.markers\":1,\"workbench.panel.output\":1,\"terminal\":1,\"workbench.explorer.views.state\":1,\"workbench.scm.views.state\":1,\"workbench.view.search.state\":1,\"output.activechannel\":0,\"debug.selectedroot\":1,\"workbench.view.debug.state\":1,\"workbench.centerededitorlayout.active\":0,\"workbench.panel.placeholderPanels\":1,\"workbench.view.extensions.state\":1,\"resource.authority.os.pedro-isac.dev.netuno.org:30788\":1,\"workbench.panel.repl\":1,\"vscode.debug-auto-launch\":1,\"terminal.integrated.environmentVariableCollections\":1,\"history.entries\":1,\"workbench.view.explorer.numberOfVisibleViews\":0,\"workbench.explorer.treeViewState\":1,\"scm:view:visibleRepositories\":1,\"memento/workbench.editor.walkThroughPart\":1,\"workbench.view.extensions.numberOfVisibleViews\":0,\"memento/workbench.view.extensions\":0,\"memento/workbench.editors.files.textFileEditor\":1,\"suggest/memories/recentlyUsed\":1,\"terminal.numberOfVisibleViews\":0,\"workbench.view.scm.numberOfVisibleViews\":0,\"memento/workbench.editors.textDiffEditor\":1,\"workbench.panel.output.numberOfVisibleViews\":0,\"memento/workbench.panel.output\":1,\"editor.wholeWord\":0,\"editor.matchCase\":0,\"workbench.panel.markers.numberOfVisibleViews\":0,\"memento/workbench.panel.markers\":0,\"workbench.panel.repl.numberOfVisibleViews\":0,\"memento/workbench.editor.settings2\":1,\"memento/workbench.parts.editor\":1,\"editors.mru\":1}"],["workbench.panel.markers","{\"workbench.panel.markers.view\":{\"collapsed\":false,\"isHidden\":true}}"],["workbench.panel.output","{\"workbench.panel.output\":{\"collapsed\":false,\"isHidden\":true,\"size\":1099}}"],["terminal","{\"terminal\":{\"collapsed\":false,\"isHidden\":true,\"size\":1099}}"],["workbench.explorer.views.state","{\"outline\":{\"collapsed\":true,\"isHidden\":true,\"size\":22},\"timeline\":{\"collapsed\":true,\"isHidden\":true,\"size\":22},\"workbench.explorer.openEditorsView\":{\"collapsed\":false,\"isHidden\":true},\"workbench.explorer.fileView\":{\"collapsed\":false,\"isHidden\":true,\"size\":550},\"npm\":{\"collapsed\":true,\"isHidden\":true}}"],["workbench.scm.views.state","{\"workbench.scm.repositories\":{\"collapsed\":false,\"isHidden\":true},\"workbench.scm\":{\"collapsed\":false,\"isHidden\":false,\"size\":594}}"],["workbench.view.search.state","{\"workbench.view.search\":{\"collapsed\":false,\"isHidden\":true}}"],["output.activechannel","extension-output-#2"],["debug.selectedroot","vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/.vscode/launch.json"],["workbench.view.debug.state","{\"workbench.debug.welcome\":{\"collapsed\":false,\"isHidden\":true},\"workbench.debug.variablesView\":{\"collapsed\":false,\"isHidden\":true},\"workbench.debug.watchExpressionsView\":{\"collapsed\":false,\"isHidden\":true},\"workbench.debug.callStackView\":{\"collapsed\":false,\"isHidden\":true},\"workbench.debug.loadedScriptsView\":{\"collapsed\":true,\"isHidden\":true},\"workbench.debug.breakPointsView\":{\"collapsed\":false,\"isHidden\":true}}"],["workbench.centerededitorlayout.active","false"],["workbench.panel.placeholderPanels","[{\"id\":\"workbench.panel.markers\",\"name\":\"Problems\"},{\"id\":\"workbench.panel.output\",\"name\":\"Output\"},{\"id\":\"workbench.panel.repl\",\"name\":\"Debug Console\"},{\"id\":\"terminal\",\"name\":\"Terminal\"},{\"id\":\"refactorPreview\",\"name\":\"Refactor Preview\"}]"],["workbench.view.extensions.state","{\"workbench.views.extensions.web.installed\":{\"collapsed\":false,\"isHidden\":true},\"workbench.views.extensions.remote.installed.empty\":{\"collapsed\":false,\"isHidden\":true,\"size\":84},\"workbench.views.extensions.remote.installed\":{\"collapsed\":false,\"isHidden\":true,\"size\":531},\"workbench.views.extensions.workspaceRecommendations\":{\"collapsed\":false,\"isHidden\":true},\"workbench.views.extensions.popular\":{\"collapsed\":true,\"isHidden\":true,\"size\":22},\"workbench.views.extensions.otherRecommendations\":{\"collapsed\":false,\"isHidden\":true},\"extensions.recommendedList\":{\"collapsed\":true,\"isHidden\":true,\"size\":22},\"workbench.views.extensions.marketplace\":{\"collapsed\":false,\"isHidden\":true,\"size\":553},\"workbench.views.extensions.searchInstalled\":{\"collapsed\":false,\"isHidden\":true},\"workbench.views.extensions.searchEnabled\":{\"collapsed\":false,\"isHidden\":true},\"workbench.views.extensions.searchDisabled\":{\"collapsed\":false,\"isHidden\":true},\"workbench.views.extensions.searchOutdated\":{\"collapsed\":false,\"isHidden\":true},\"workbench.views.extensions.searchBuiltin\":{\"collapsed\":false,\"isHidden\":true},\"workbench.views.extensions.builtinFeatureExtensions\":{\"collapsed\":false,\"isHidden\":true},\"workbench.views.extensions.builtinThemeExtensions\":{\"collapsed\":false,\"isHidden\":true},\"workbench.views.extensions.builtinProgrammingLanguageExtensions\":{\"collapsed\":false,\"isHidden\":true}}"],["resource.authority.os.pedro-isac.dev.netuno.org:30788","3"],["workbench.panel.repl","{\"workbench.panel.repl.view\":{\"collapsed\":false,\"isHidden\":true}}"],["vscode.debug-auto-launch","{}"],["terminal.integrated.environmentVariableCollections","[{\"extensionIdentifier\":\"vscode.git\",\"collection\":[[\"VSCODE_GIT_IPC_HANDLE\",{\"value\":\"/run/user/1001/vscode-git-d7b05a4881.sock\",\"type\":1}],[\"GIT_ASKPASS\",{\"value\":\"/usr/lib/code-server/lib/vscode/extensions/git/dist/askpass.sh\",\"type\":1}],[\"VSCODE_GIT_ASKPASS_NODE\",{\"value\":\"/usr/lib/code-server/lib/node\",\"type\":1}],[\"VSCODE_GIT_ASKPASS_MAIN\",{\"value\":\"/usr/lib/code-server/lib/vscode/extensions/git/dist/askpass-main.js\",\"type\":1}]]}]"],["history.entries","[{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/pedro-isac/netuno/apps/social-netuno/config/_development.json\",\"external\":\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/config/_development.json\",\"path\":\"/home/pedro-isac/netuno/apps/social-netuno/config/_development.json\",\"scheme\":\"vscode-remote\",\"authority\":\"pedro-isac.dev.netuno.org:30788\"}},{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/pedro-isac/netuno/apps/social-netuno/website/src/pages/Login/index.js\",\"external\":\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/website/src/pages/Login/index.js\",\"path\":\"/home/pedro-isac/netuno/apps/social-netuno/website/src/pages/Login/index.js\",\"scheme\":\"vscode-remote\",\"authority\":\"pedro-isac.dev.netuno.org:30788\"}},{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/pedro-isac/netuno/apps/social-netuno/website/package.json\",\"external\":\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/website/package.json\",\"path\":\"/home/pedro-isac/netuno/apps/social-netuno/website/package.json\",\"scheme\":\"vscode-remote\",\"authority\":\"pedro-isac.dev.netuno.org:30788\"}},{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/pedro-isac/netuno/apps/social-netuno/website/src/pages/Register/index.js\",\"external\":\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/website/src/pages/Register/index.js\",\"path\":\"/home/pedro-isac/netuno/apps/social-netuno/website/src/pages/Register/index.js\",\"scheme\":\"vscode-remote\",\"authority\":\"pedro-isac.dev.netuno.org:30788\"}},{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/pedro-isac/netuno/apps/social-netuno/server/services/register/post.js\",\"external\":\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/server/services/register/post.js\",\"path\":\"/home/pedro-isac/netuno/apps/social-netuno/server/services/register/post.js\",\"scheme\":\"vscode-remote\",\"authority\":\"pedro-isac.dev.netuno.org:30788\"}},{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/pedro-isac/netuno/apps/social-netuno/server/setup/001-grupo.js\",\"external\":\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/server/setup/001-grupo.js\",\"path\":\"/home/pedro-isac/netuno/apps/social-netuno/server/setup/001-grupo.js\",\"scheme\":\"vscode-remote\",\"authority\":\"pedro-isac.dev.netuno.org:30788\"}},{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/pedro-isac/netuno/apps/social-netuno/server/setup/_start.js\",\"external\":\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/server/setup/_start.js\",\"path\":\"/home/pedro-isac/netuno/apps/social-netuno/server/setup/_start.js\",\"scheme\":\"vscode-remote\",\"authority\":\"pedro-isac.dev.netuno.org:30788\"}},{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/pedro-isac/netuno/apps/social-netuno/server/services/register/options.js\",\"external\":\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/server/services/register/options.js\",\"path\":\"/home/pedro-isac/netuno/apps/social-netuno/server/services/register/options.js\",\"scheme\":\"vscode-remote\",\"authority\":\"pedro-isac.dev.netuno.org:30788\"}},{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/pedro-isac/netuno/apps/social-netuno/website/src/index.js\",\"external\":\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/website/src/index.js\",\"path\":\"/home/pedro-isac/netuno/apps/social-netuno/website/src/index.js\",\"scheme\":\"vscode-remote\",\"authority\":\"pedro-isac.dev.netuno.org:30788\"}},{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/pedro-isac/netuno/apps/social-netuno/config/_production.json\",\"external\":\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/config/_production.json\",\"path\":\"/home/pedro-isac/netuno/apps/social-netuno/config/_production.json\",\"scheme\":\"vscode-remote\",\"authority\":\"pedro-isac.dev.netuno.org:30788\"}},{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/pedro-isac/netuno/apps/social-netuno/config/_production.js\",\"external\":\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/config/_production.js\",\"path\":\"/home/pedro-isac/netuno/apps/social-netuno/config/_production.js\",\"scheme\":\"vscode-remote\",\"authority\":\"pedro-isac.dev.netuno.org:30788\"}},{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/pedro-isac/netuno/apps/social-netuno/.gitignore\",\"external\":\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/.gitignore\",\"path\":\"/home/pedro-isac/netuno/apps/social-netuno/.gitignore\",\"scheme\":\"vscode-remote\",\"authority\":\"pedro-isac.dev.netuno.org:30788\"}},{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/pedro-isac/netuno/apps/social-netuno/languagepacks.json\",\"external\":\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/languagepacks.json\",\"path\":\"/home/pedro-isac/netuno/apps/social-netuno/languagepacks.json\",\"scheme\":\"vscode-remote\",\"authority\":\"pedro-isac.dev.netuno.org:30788\"}},{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/pedro-isac/netuno/apps/social-netuno/server/services/cities/options.js\",\"external\":\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/server/services/cities/options.js\",\"path\":\"/home/pedro-isac/netuno/apps/social-netuno/server/services/cities/options.js\",\"scheme\":\"vscode-remote\",\"authority\":\"pedro-isac.dev.netuno.org:30788\"}},{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/pedro-isac/netuno/apps/social-netuno/server/services/cities/get.js\",\"external\":\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/server/services/cities/get.js\",\"path\":\"/home/pedro-isac/netuno/apps/social-netuno/server/services/cities/get.js\",\"scheme\":\"vscode-remote\",\"authority\":\"pedro-isac.dev.netuno.org:30788\"}},{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/pedro-isac/netuno/apps/social-netuno/website/src/pages/Home/index.js\",\"external\":\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/website/src/pages/Home/index.js\",\"path\":\"/home/pedro-isac/netuno/apps/social-netuno/website/src/pages/Home/index.js\",\"scheme\":\"vscode-remote\",\"authority\":\"pedro-isac.dev.netuno.org:30788\"}},{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/pedro-isac/netuno/apps/social-netuno/website/src/components/Header/index.js\",\"external\":\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/website/src/components/Header/index.js\",\"path\":\"/home/pedro-isac/netuno/apps/social-netuno/website/src/components/Header/index.js\",\"scheme\":\"vscode-remote\",\"authority\":\"pedro-isac.dev.netuno.org:30788\"}},{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/pedro-isac/netuno/apps/social-netuno/config/_development.js\",\"external\":\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/config/_development.js\",\"path\":\"/home/pedro-isac/netuno/apps/social-netuno/config/_development.js\",\"scheme\":\"vscode-remote\",\"authority\":\"pedro-isac.dev.netuno.org:30788\"}},{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/pedro-isac/netuno/apps/social-netuno/ui/src/components/PessoasTabela/index.jsx\",\"external\":\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/ui/src/components/PessoasTabela/index.jsx\",\"path\":\"/home/pedro-isac/netuno/apps/social-netuno/ui/src/components/PessoasTabela/index.jsx\",\"scheme\":\"vscode-remote\",\"authority\":\"pedro-isac.dev.netuno.org:30788\"}},{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/pedro-isac/netuno/apps/social-netuno/server/services/pessoas/options.js\",\"external\":\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/server/services/pessoas/options.js\",\"path\":\"/home/pedro-isac/netuno/apps/social-netuno/server/services/pessoas/options.js\",\"scheme\":\"vscode-remote\",\"authority\":\"pedro-isac.dev.netuno.org:30788\"}},{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/pedro-isac/netuno/apps/social-netuno/website/public/index.html\",\"external\":\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/website/public/index.html\",\"path\":\"/home/pedro-isac/netuno/apps/social-netuno/website/public/index.html\",\"scheme\":\"vscode-remote\",\"authority\":\"pedro-isac.dev.netuno.org:30788\"}},{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/pedro-isac/netuno/apps/social-netuno/server/core/_config.js\",\"external\":\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/server/core/_config.js\",\"path\":\"/home/pedro-isac/netuno/apps/social-netuno/server/core/_config.js\",\"scheme\":\"vscode-remote\",\"authority\":\"pedro-isac.dev.netuno.org:30788\"}},{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/pedro-isac/netuno/apps/social-netuno/server/services/pessoas/get.js\",\"external\":\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/server/services/pessoas/get.js\",\"path\":\"/home/pedro-isac/netuno/apps/social-netuno/server/services/pessoas/get.js\",\"scheme\":\"vscode-remote\",\"authority\":\"pedro-isac.dev.netuno.org:30788\"}},{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/pedro-isac/netuno/apps/social-netuno/website/src/App.js\",\"external\":\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/website/src/App.js\",\"path\":\"/home/pedro-isac/netuno/apps/social-netuno/website/src/App.js\",\"scheme\":\"vscode-remote\",\"authority\":\"pedro-isac.dev.netuno.org:30788\"}},{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/pedro-isac/netuno/apps/social-netuno/website/src/pages/Register/index.less\",\"external\":\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/website/src/pages/Register/index.less\",\"path\":\"/home/pedro-isac/netuno/apps/social-netuno/website/src/pages/Register/index.less\",\"scheme\":\"vscode-remote\",\"authority\":\"pedro-isac.dev.netuno.org:30788\"}},{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/pedro-isac/netuno/apps/social-netuno/website/src/pages/Login/index.less\",\"external\":\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/website/src/pages/Login/index.less\",\"path\":\"/home/pedro-isac/netuno/apps/social-netuno/website/src/pages/Login/index.less\",\"scheme\":\"vscode-remote\",\"authority\":\"pedro-isac.dev.netuno.org:30788\"}},{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/pedro-isac/netuno/apps/social-netuno/ui/src/components/MyButton/index.jsx\",\"external\":\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/ui/src/components/MyButton/index.jsx\",\"path\":\"/home/pedro-isac/netuno/apps/social-netuno/ui/src/components/MyButton/index.jsx\",\"scheme\":\"vscode-remote\",\"authority\":\"pedro-isac.dev.netuno.org:30788\"}},{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/pedro-isac/netuno/apps/social-netuno/ui/src/components/GraficoPublicacoesDiariasPorComunidade/index.jsx\",\"external\":\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/ui/src/components/GraficoPublicacoesDiariasPorComunidade/index.jsx\",\"path\":\"/home/pedro-isac/netuno/apps/social-netuno/ui/src/components/GraficoPublicacoesDiariasPorComunidade/index.jsx\",\"scheme\":\"vscode-remote\",\"authority\":\"pedro-isac.dev.netuno.org:30788\"}},{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/pedro-isac/netuno/apps/social-netuno/ui/src/index.jsx\",\"external\":\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/ui/src/index.jsx\",\"path\":\"/home/pedro-isac/netuno/apps/social-netuno/ui/src/index.jsx\",\"scheme\":\"vscode-remote\",\"authority\":\"pedro-isac.dev.netuno.org:30788\"}},{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/pedro-isac/netuno/apps/social-netuno/server/services/publicacoes/graficos/comunidades/diaria.get.js\",\"external\":\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/server/services/publicacoes/graficos/comunidades/diaria.get.js\",\"path\":\"/home/pedro-isac/netuno/apps/social-netuno/server/services/publicacoes/graficos/comunidades/diaria.get.js\",\"scheme\":\"vscode-remote\",\"authority\":\"pedro-isac.dev.netuno.org:30788\"}},{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/pedro-isac/netuno/apps/social-netuno/ui/src/components/PessoasTabela/JanelaPublicacoes/index.jsx\",\"external\":\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/ui/src/components/PessoasTabela/JanelaPublicacoes/index.jsx\",\"path\":\"/home/pedro-isac/netuno/apps/social-netuno/ui/src/components/PessoasTabela/JanelaPublicacoes/index.jsx\",\"scheme\":\"vscode-remote\",\"authority\":\"pedro-isac.dev.netuno.org:30788\"}},{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/pedro-isac/netuno/apps/social-netuno/public/styles/main.css\",\"external\":\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/public/styles/main.css\",\"path\":\"/home/pedro-isac/netuno/apps/social-netuno/public/styles/main.css\",\"scheme\":\"vscode-remote\",\"authority\":\"pedro-isac.dev.netuno.org:30788\"}},{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/pedro-isac/netuno/apps/social-netuno/ui/src/styles/main.less\",\"external\":\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/ui/src/styles/main.less\",\"path\":\"/home/pedro-isac/netuno/apps/social-netuno/ui/src/styles/main.less\",\"scheme\":\"vscode-remote\",\"authority\":\"pedro-isac.dev.netuno.org:30788\"}},{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/pedro-isac/netuno/apps/social-netuno/website/src/App.less\",\"external\":\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/website/src/App.less\",\"path\":\"/home/pedro-isac/netuno/apps/social-netuno/website/src/App.less\",\"scheme\":\"vscode-remote\",\"authority\":\"pedro-isac.dev.netuno.org:30788\"}},{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/pedro-isac/netuno/apps/social-netuno/ui/src/containers/DashboardContainer/index.jsx\",\"external\":\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/ui/src/containers/DashboardContainer/index.jsx\",\"path\":\"/home/pedro-isac/netuno/apps/social-netuno/ui/src/containers/DashboardContainer/index.jsx\",\"scheme\":\"vscode-remote\",\"authority\":\"pedro-isac.dev.netuno.org:30788\"}},{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/pedro-isac/netuno/apps/social-netuno/website/src/components/Header/index.less\",\"external\":\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/website/src/components/Header/index.less\",\"path\":\"/home/pedro-isac/netuno/apps/social-netuno/website/src/components/Header/index.less\",\"scheme\":\"vscode-remote\",\"authority\":\"pedro-isac.dev.netuno.org:30788\"}},{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/pedro-isac/netuno/apps/social-netuno/website/src/pages/Home/index.less\",\"external\":\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/website/src/pages/Home/index.less\",\"path\":\"/home/pedro-isac/netuno/apps/social-netuno/website/src/pages/Home/index.less\",\"scheme\":\"vscode-remote\",\"authority\":\"pedro-isac.dev.netuno.org:30788\"}},{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/pedro-isac/netuno/apps/social-netuno/website/config-overrides.js\",\"external\":\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/website/config-overrides.js\",\"path\":\"/home/pedro-isac/netuno/apps/social-netuno/website/config-overrides.js\",\"scheme\":\"vscode-remote\",\"authority\":\"pedro-isac.dev.netuno.org:30788\"}},{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/pedro-isac/netuno/apps/social-netuno/ui/webpack.config.js\",\"external\":\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/ui/webpack.config.js\",\"path\":\"/home/pedro-isac/netuno/apps/social-netuno/ui/webpack.config.js\",\"scheme\":\"vscode-remote\",\"authority\":\"pedro-isac.dev.netuno.org:30788\"}},{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/pedro-isac/netuno/apps/social-netuno/ui/package.json\",\"external\":\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/ui/package.json\",\"path\":\"/home/pedro-isac/netuno/apps/social-netuno/ui/package.json\",\"scheme\":\"vscode-remote\",\"authority\":\"pedro-isac.dev.netuno.org:30788\"}},{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/pedro-isac/netuno/apps/social-netuno/ui/.babelrc\",\"external\":\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/ui/.babelrc\",\"path\":\"/home/pedro-isac/netuno/apps/social-netuno/ui/.babelrc\",\"scheme\":\"vscode-remote\",\"authority\":\"pedro-isac.dev.netuno.org:30788\"}},{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/pedro-isac/netuno/apps/social-netuno/website/src/setupTests.js\",\"external\":\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/website/src/setupTests.js\",\"path\":\"/home/pedro-isac/netuno/apps/social-netuno/website/src/setupTests.js\",\"scheme\":\"vscode-remote\",\"authority\":\"pedro-isac.dev.netuno.org:30788\"}},{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/pedro-isac/netuno/apps/social-netuno/website/src/reportWebVitals.js\",\"external\":\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/website/src/reportWebVitals.js\",\"path\":\"/home/pedro-isac/netuno/apps/social-netuno/website/src/reportWebVitals.js\",\"scheme\":\"vscode-remote\",\"authority\":\"pedro-isac.dev.netuno.org:30788\"}},{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/pedro-isac/netuno/apps/social-netuno/User/settings.json\",\"external\":\"vscode-remote:/home/pedro-isac/netuno/apps/social-netuno/User/settings.json\",\"path\":\"/home/pedro-isac/netuno/apps/social-netuno/User/settings.json\",\"scheme\":\"vscode-remote\"}},{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/pedro-isac/netuno/apps/social-netuno/ui/src/containers/DashboardContainer/index.less\",\"external\":\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/ui/src/containers/DashboardContainer/index.less\",\"path\":\"/home/pedro-isac/netuno/apps/social-netuno/ui/src/containers/DashboardContainer/index.less\",\"scheme\":\"vscode-remote\",\"authority\":\"pedro-isac.dev.netuno.org:30788\"}},{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/pedro-isac/netuno/apps/social-netuno/server/services/pessoas/publicacoes/post.js\",\"external\":\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/server/services/pessoas/publicacoes/post.js\",\"path\":\"/home/pedro-isac/netuno/apps/social-netuno/server/services/pessoas/publicacoes/post.js\",\"scheme\":\"vscode-remote\",\"authority\":\"pedro-isac.dev.netuno.org:30788\"}},{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/pedro-isac/netuno/apps/social-netuno/ui/src/components/GraficoPublicacoesTotaisPorComunidade/index.jsx\",\"external\":\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/ui/src/components/GraficoPublicacoesTotaisPorComunidade/index.jsx\",\"path\":\"/home/pedro-isac/netuno/apps/social-netuno/ui/src/components/GraficoPublicacoesTotaisPorComunidade/index.jsx\",\"scheme\":\"vscode-remote\",\"authority\":\"pedro-isac.dev.netuno.org:30788\"}},{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/pedro-isac/netuno/apps/social-netuno/server/services/publicacoes/graficos/comunidades/total.get.js\",\"external\":\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/server/services/publicacoes/graficos/comunidades/total.get.js\",\"path\":\"/home/pedro-isac/netuno/apps/social-netuno/server/services/publicacoes/graficos/comunidades/total.get.js\",\"scheme\":\"vscode-remote\",\"authority\":\"pedro-isac.dev.netuno.org:30788\"}},{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/pedro-isac/netuno/apps/social-netuno/ui/node_modules/antd/lib/style/index.less\",\"external\":\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/ui/node_modules/antd/lib/style/index.less\",\"path\":\"/home/pedro-isac/netuno/apps/social-netuno/ui/node_modules/antd/lib/style/index.less\",\"scheme\":\"vscode-remote\",\"authority\":\"pedro-isac.dev.netuno.org:30788\"}},{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/pedro-isac/netuno/apps/social-netuno/ui/node_modules/antd/lib/style/themes/index.less\",\"external\":\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/ui/node_modules/antd/lib/style/themes/index.less\",\"path\":\"/home/pedro-isac/netuno/apps/social-netuno/ui/node_modules/antd/lib/style/themes/index.less\",\"scheme\":\"vscode-remote\",\"authority\":\"pedro-isac.dev.netuno.org:30788\"}},{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/pedro-isac/netuno/apps/social-netuno/ui/src/components/PessoasTabela/JanelaPublicacoes/styles.less\",\"external\":\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/ui/src/components/PessoasTabela/JanelaPublicacoes/styles.less\",\"path\":\"/home/pedro-isac/netuno/apps/social-netuno/ui/src/components/PessoasTabela/JanelaPublicacoes/styles.less\",\"scheme\":\"vscode-remote\",\"authority\":\"pedro-isac.dev.netuno.org:30788\"}},{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/pedro-isac/netuno/apps/social-netuno/ui/node_modules/react/cjs/react.development.js\",\"external\":\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/ui/node_modules/react/cjs/react.development.js\",\"path\":\"/home/pedro-isac/netuno/apps/social-netuno/ui/node_modules/react/cjs/react.development.js\",\"scheme\":\"vscode-remote\",\"authority\":\"pedro-isac.dev.netuno.org:30788\"}},{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/pedro-isac/netuno/apps/social-netuno/server/templates/dashboard.html\",\"external\":\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/server/templates/dashboard.html\",\"path\":\"/home/pedro-isac/netuno/apps/social-netuno/server/templates/dashboard.html\",\"scheme\":\"vscode-remote\",\"authority\":\"pedro-isac.dev.netuno.org:30788\"}},{\"resourceJSON\":{\"$mid\":1,\"fsPath\":\"/home/pedro-isac/netuno/apps/social-netuno/server/templates/scripts_login.html\",\"external\":\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/server/templates/scripts_login.html\",\"path\":\"/home/pedro-isac/netuno/apps/social-netuno/server/templates/scripts_login.html\",\"scheme\":\"vscode-remote\",\"authority\":\"pedro-isac.dev.netuno.org:30788\"}}]"],["workbench.view.explorer.numberOfVisibleViews","3"],["workbench.explorer.treeViewState","{\"focus\":[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/config/_development.json\"],\"selection\":[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/config/_development.json\"],\"expanded\":[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/config\"],\"scrollTop\":0}"],["scm:view:visibleRepositories","{\"all\":[\"git:Git:vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno\"],\"visible\":[0]}"],["memento/workbench.editor.walkThroughPart","{\"walkThroughEditorViewState\":[[\"walkThrough://pedro-isac.dev.netuno.org:30788/static/e0203f2a36c9b7036fefa50eec6cf8fa36c5c015/usr/lib/code-server/lib/vscode/out/vs/workbench/contrib/welcome/page/browser/vs_code_welcome_page?%7B%22moduleId%22%3A%22vs%2Fworkbench%2Fcontrib%2Fwelcome%2Fpage%2Fbrowser%2Fvs_code_welcome_page%22%7D\",{\"0\":{\"viewState\":{\"scrollTop\":0,\"scrollLeft\":0}}}]]}"],["workbench.view.extensions.numberOfVisibleViews","1"],["memento/workbench.view.extensions","{\"query.value\":\"\"}"],["memento/workbench.editors.files.textFileEditor","{\"textEditorViewState\":[[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/server/templates/scripts_login.html\",{\"0\":{\"cursorState\":[{\"inSelectionMode\":false,\"selectionStart\":{\"lineNumber\":1,\"column\":1},\"position\":{\"lineNumber\":1,\"column\":1}}],\"viewState\":{\"scrollLeft\":0,\"firstPosition\":{\"lineNumber\":1,\"column\":1},\"firstPositionDeltaTop\":0},\"contributionsState\":{\"editor.contrib.wordHighlighter\":false,\"editor.contrib.folding\":{\"lineCount\":1,\"provider\":\"syntax\"}}}}],[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/server/templates/dashboard.html\",{\"0\":{\"cursorState\":[{\"inSelectionMode\":true,\"selectionStart\":{\"lineNumber\":14,\"column\":18},\"position\":{\"lineNumber\":14,\"column\":63}}],\"viewState\":{\"scrollLeft\":0,\"firstPosition\":{\"lineNumber\":1,\"column\":1},\"firstPositionDeltaTop\":0},\"contributionsState\":{\"editor.contrib.wordHighlighter\":false,\"editor.contrib.folding\":{\"lineCount\":25,\"provider\":\"syntax\"}}}}],[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/ui/node_modules/react/cjs/react.development.js\",{\"0\":{\"cursorState\":[{\"inSelectionMode\":false,\"selectionStart\":{\"lineNumber\":1,\"column\":1},\"position\":{\"lineNumber\":1,\"column\":1}}],\"viewState\":{\"scrollLeft\":0,\"firstPosition\":{\"lineNumber\":27,\"column\":1},\"firstPositionDeltaTop\":-6},\"contributionsState\":{\"editor.contrib.wordHighlighter\":false,\"editor.contrib.folding\":{\"lineCount\":1913,\"provider\":\"syntax\"}}}}],[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/ui/src/components/PessoasTabela/JanelaPublicacoes/styles.less\",{\"0\":{\"cursorState\":[{\"inSelectionMode\":false,\"selectionStart\":{\"lineNumber\":6,\"column\":26},\"position\":{\"lineNumber\":6,\"column\":26}}],\"viewState\":{\"scrollLeft\":0,\"firstPosition\":{\"lineNumber\":1,\"column\":1},\"firstPositionDeltaTop\":0},\"contributionsState\":{\"editor.contrib.wordHighlighter\":false,\"editor.contrib.findController\":{\"widgetViewZoneVisible\":false,\"scrollTop\":0},\"editor.contrib.folding\":{\"lineCount\":8,\"provider\":\"syntax\"}}}}],[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/ui/node_modules/antd/lib/style/themes/index.less\",{\"0\":{\"cursorState\":[{\"inSelectionMode\":false,\"selectionStart\":{\"lineNumber\":1,\"column\":1},\"position\":{\"lineNumber\":1,\"column\":1}}],\"viewState\":{\"scrollLeft\":0,\"firstPosition\":{\"lineNumber\":1,\"column\":1},\"firstPositionDeltaTop\":0},\"contributionsState\":{\"editor.contrib.wordHighlighter\":false,\"editor.contrib.findController\":{\"widgetViewZoneVisible\":false,\"scrollTop\":0},\"editor.contrib.folding\":{\"lineCount\":2,\"provider\":\"syntax\"}}}}],[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/ui/node_modules/antd/lib/style/index.less\",{\"0\":{\"cursorState\":[{\"inSelectionMode\":false,\"selectionStart\":{\"lineNumber\":1,\"column\":24},\"position\":{\"lineNumber\":1,\"column\":24}}],\"viewState\":{\"scrollLeft\":0,\"firstPosition\":{\"lineNumber\":1,\"column\":1},\"firstPositionDeltaTop\":0},\"contributionsState\":{\"editor.contrib.wordHighlighter\":false,\"editor.contrib.findController\":{\"widgetViewZoneVisible\":false,\"scrollTop\":0},\"editor.contrib.folding\":{\"lineCount\":3,\"provider\":\"syntax\"}}}}],[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/server/services/publicacoes/graficos/comunidades/total.get.js\",{\"0\":{\"cursorState\":[{\"inSelectionMode\":true,\"selectionStart\":{\"lineNumber\":7,\"column\":14},\"position\":{\"lineNumber\":2,\"column\":1}}],\"viewState\":{\"scrollLeft\":0,\"firstPosition\":{\"lineNumber\":1,\"column\":1},\"firstPositionDeltaTop\":0},\"contributionsState\":{\"editor.contrib.wordHighlighter\":false,\"editor.contrib.folding\":{\"lineCount\":10,\"provider\":\"syntax\"}}}}],[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/ui/src/components/GraficoPublicacoesTotaisPorComunidade/index.jsx\",{\"0\":{\"cursorState\":[{\"inSelectionMode\":false,\"selectionStart\":{\"lineNumber\":7,\"column\":23},\"position\":{\"lineNumber\":7,\"column\":23}}],\"viewState\":{\"scrollLeft\":0,\"firstPosition\":{\"lineNumber\":27,\"column\":1},\"firstPositionDeltaTop\":-6},\"contributionsState\":{\"editor.contrib.wordHighlighter\":false,\"editor.contrib.folding\":{\"lineCount\":43,\"provider\":\"syntax\"}}}}],[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/server/services/pessoas/publicacoes/post.js\",{\"0\":{\"cursorState\":[{\"inSelectionMode\":true,\"selectionStart\":{\"lineNumber\":20,\"column\":19},\"position\":{\"lineNumber\":20,\"column\":22}}],\"viewState\":{\"scrollLeft\":0,\"firstPosition\":{\"lineNumber\":1,\"column\":1},\"firstPositionDeltaTop\":0},\"contributionsState\":{\"editor.contrib.wordHighlighter\":true,\"editor.contrib.findController\":{\"widgetViewZoneVisible\":false,\"scrollTop\":0},\"editor.contrib.folding\":{\"lineCount\":27,\"provider\":\"syntax\"}}}}],[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/ui/src/containers/DashboardContainer/index.less\",{\"0\":{\"cursorState\":[{\"inSelectionMode\":false,\"selectionStart\":{\"lineNumber\":14,\"column\":22},\"position\":{\"lineNumber\":14,\"column\":22}}],\"viewState\":{\"scrollLeft\":0,\"firstPosition\":{\"lineNumber\":1,\"column\":1},\"firstPositionDeltaTop\":0},\"contributionsState\":{\"editor.contrib.wordHighlighter\":false,\"editor.contrib.folding\":{\"lineCount\":15,\"provider\":\"indent\"}}}}],[\"vscode-remote:/home/pedro-isac/netuno/apps/social-netuno/User/settings.json\",{\"0\":{\"cursorState\":[{\"inSelectionMode\":false,\"selectionStart\":{\"lineNumber\":13,\"column\":2},\"position\":{\"lineNumber\":13,\"column\":2}}],\"viewState\":{\"scrollLeft\":0,\"firstPosition\":{\"lineNumber\":1,\"column\":1},\"firstPositionDeltaTop\":0},\"contributionsState\":{\"editor.contrib.wordHighlighter\":false,\"editor.contrib.folding\":{\"lineCount\":13,\"provider\":\"syntax\"}}}}],[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/website/src/reportWebVitals.js\",{\"0\":{\"cursorState\":[{\"inSelectionMode\":false,\"selectionStart\":{\"lineNumber\":1,\"column\":1},\"position\":{\"lineNumber\":1,\"column\":1}}],\"viewState\":{\"scrollLeft\":0,\"firstPosition\":{\"lineNumber\":1,\"column\":1},\"firstPositionDeltaTop\":0},\"contributionsState\":{\"editor.contrib.wordHighlighter\":false,\"editor.contrib.folding\":{\"lineCount\":14}}}}],[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/website/src/setupTests.js\",{\"0\":{\"cursorState\":[{\"inSelectionMode\":false,\"selectionStart\":{\"lineNumber\":1,\"column\":1},\"position\":{\"lineNumber\":1,\"column\":1}}],\"viewState\":{\"scrollLeft\":0,\"firstPosition\":{\"lineNumber\":1,\"column\":1},\"firstPositionDeltaTop\":0},\"contributionsState\":{\"editor.contrib.wordHighlighter\":false,\"editor.contrib.folding\":{\"lineCount\":6,\"provider\":\"syntax\"}}}}],[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/ui/.babelrc\",{\"0\":{\"cursorState\":[{\"inSelectionMode\":true,\"selectionStart\":{\"lineNumber\":10,\"column\":1},\"position\":{\"lineNumber\":1,\"column\":1}}],\"viewState\":{\"scrollLeft\":0,\"firstPosition\":{\"lineNumber\":1,\"column\":1},\"firstPositionDeltaTop\":0},\"contributionsState\":{\"editor.contrib.wordHighlighter\":false,\"editor.contrib.folding\":{\"lineCount\":10,\"provider\":\"syntax\"}}}}],[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/ui/package.json\",{\"0\":{\"cursorState\":[{\"inSelectionMode\":true,\"selectionStart\":{\"lineNumber\":23,\"column\":22},\"position\":{\"lineNumber\":23,\"column\":27}}],\"viewState\":{\"scrollLeft\":0,\"firstPosition\":{\"lineNumber\":5,\"column\":1},\"firstPositionDeltaTop\":-1},\"contributionsState\":{\"editor.contrib.wordHighlighter\":false,\"editor.contrib.folding\":{\"lineCount\":39,\"provider\":\"syntax\"}}}}],[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/ui/webpack.config.js\",{\"0\":{\"cursorState\":[{\"inSelectionMode\":true,\"selectionStart\":{\"lineNumber\":57,\"column\":29},\"position\":{\"lineNumber\":57,\"column\":39}}],\"viewState\":{\"scrollLeft\":0,\"firstPosition\":{\"lineNumber\":51,\"column\":1},\"firstPositionDeltaTop\":-17},\"contributionsState\":{\"editor.contrib.wordHighlighter\":true,\"editor.contrib.folding\":{\"lineCount\":81,\"provider\":\"syntax\"}}}}],[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/website/config-overrides.js\",{\"0\":{\"cursorState\":[{\"inSelectionMode\":false,\"selectionStart\":{\"lineNumber\":15,\"column\":35},\"position\":{\"lineNumber\":15,\"column\":35}}],\"viewState\":{\"scrollLeft\":0,\"firstPosition\":{\"lineNumber\":1,\"column\":1},\"firstPositionDeltaTop\":0},\"contributionsState\":{\"editor.contrib.wordHighlighter\":false,\"editor.contrib.folding\":{\"lineCount\":20,\"provider\":\"syntax\"}}}}],[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/website/src/pages/Home/index.less\",{\"0\":{\"cursorState\":[{\"inSelectionMode\":false,\"selectionStart\":{\"lineNumber\":1,\"column\":26},\"position\":{\"lineNumber\":1,\"column\":26}}],\"viewState\":{\"scrollLeft\":0,\"firstPosition\":{\"lineNumber\":1,\"column\":1},\"firstPositionDeltaTop\":0},\"contributionsState\":{\"editor.contrib.wordHighlighter\":false,\"editor.contrib.findController\":{\"widgetViewZoneVisible\":false,\"scrollTop\":0},\"editor.contrib.folding\":{\"lineCount\":1,\"provider\":\"syntax\"}}}}],[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/website/src/components/Header/index.less\",{\"0\":{\"cursorState\":[{\"inSelectionMode\":true,\"selectionStart\":{\"lineNumber\":1,\"column\":26},\"position\":{\"lineNumber\":1,\"column\":1}}],\"viewState\":{\"scrollLeft\":0,\"firstPosition\":{\"lineNumber\":1,\"column\":1},\"firstPositionDeltaTop\":0},\"contributionsState\":{\"editor.contrib.wordHighlighter\":false,\"editor.contrib.findController\":{\"widgetViewZoneVisible\":false,\"scrollTop\":0},\"editor.contrib.folding\":{\"collapsedRegions\":[],\"lineCount\":16,\"provider\":\"syntax\"}}}}],[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/ui/src/containers/DashboardContainer/index.jsx\",{\"0\":{\"cursorState\":[{\"inSelectionMode\":false,\"selectionStart\":{\"lineNumber\":13,\"column\":25},\"position\":{\"lineNumber\":13,\"column\":25}}],\"viewState\":{\"scrollLeft\":0,\"firstPosition\":{\"lineNumber\":56,\"column\":1},\"firstPositionDeltaTop\":-5},\"contributionsState\":{\"editor.contrib.wordHighlighter\":false,\"editor.contrib.findController\":{\"widgetViewZoneVisible\":false,\"scrollTop\":1050},\"editor.contrib.folding\":{\"lineCount\":81,\"provider\":\"syntax\"}}}}],[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/website/src/App.less\",{\"0\":{\"cursorState\":[{\"inSelectionMode\":false,\"selectionStart\":{\"lineNumber\":3,\"column\":16},\"position\":{\"lineNumber\":3,\"column\":16}}],\"viewState\":{\"scrollLeft\":0,\"firstPosition\":{\"lineNumber\":1,\"column\":1},\"firstPositionDeltaTop\":0},\"contributionsState\":{\"editor.contrib.wordHighlighter\":false,\"editor.contrib.findController\":{\"widgetViewZoneVisible\":false,\"scrollTop\":0},\"editor.contrib.folding\":{\"lineCount\":4,\"provider\":\"syntax\"}}}}],[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/ui/src/styles/main.less\",{\"0\":{\"cursorState\":[{\"inSelectionMode\":false,\"selectionStart\":{\"lineNumber\":8,\"column\":13},\"position\":{\"lineNumber\":8,\"column\":13}}],\"viewState\":{\"scrollLeft\":0,\"firstPosition\":{\"lineNumber\":1,\"column\":1},\"firstPositionDeltaTop\":0},\"contributionsState\":{\"editor.contrib.wordHighlighter\":false,\"editor.contrib.findController\":{\"widgetViewZoneVisible\":false,\"scrollTop\":0},\"editor.contrib.folding\":{\"collapsedRegions\":[],\"lineCount\":8,\"provider\":\"syntax\"}}}}],[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/public/styles/main.css\",{\"0\":{\"cursorState\":[{\"inSelectionMode\":false,\"selectionStart\":{\"lineNumber\":12,\"column\":24},\"position\":{\"lineNumber\":12,\"column\":24}}],\"viewState\":{\"scrollLeft\":0,\"firstPosition\":{\"lineNumber\":1,\"column\":1},\"firstPositionDeltaTop\":0},\"contributionsState\":{\"editor.contrib.wordHighlighter\":false,\"editor.contrib.findController\":{\"widgetViewZoneVisible\":false,\"scrollTop\":0},\"editor.contrib.folding\":{\"lineCount\":14,\"provider\":\"syntax\"}}}}],[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/ui/src/components/PessoasTabela/JanelaPublicacoes/index.jsx\",{\"0\":{\"cursorState\":[{\"inSelectionMode\":false,\"selectionStart\":{\"lineNumber\":4,\"column\":23},\"position\":{\"lineNumber\":4,\"column\":23}}],\"viewState\":{\"scrollLeft\":0,\"firstPosition\":{\"lineNumber\":1,\"column\":1},\"firstPositionDeltaTop\":0},\"contributionsState\":{\"editor.contrib.wordHighlighter\":false,\"editor.contrib.findController\":{\"widgetViewZoneVisible\":false,\"scrollTop\":0},\"editor.contrib.folding\":{\"lineCount\":65,\"provider\":\"syntax\"}}}}],[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/server/services/publicacoes/graficos/comunidades/diaria.get.js\",{\"0\":{\"cursorState\":[{\"inSelectionMode\":false,\"selectionStart\":{\"lineNumber\":11,\"column\":25},\"position\":{\"lineNumber\":11,\"column\":25}}],\"viewState\":{\"scrollLeft\":0,\"firstPosition\":{\"lineNumber\":1,\"column\":1},\"firstPositionDeltaTop\":0},\"contributionsState\":{\"editor.contrib.wordHighlighter\":false,\"editor.contrib.findController\":{\"widgetViewZoneVisible\":false,\"scrollTop\":0},\"editor.contrib.folding\":{\"lineCount\":11,\"provider\":\"syntax\"}}}}],[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/ui/src/index.jsx\",{\"0\":{\"cursorState\":[{\"inSelectionMode\":false,\"selectionStart\":{\"lineNumber\":16,\"column\":4},\"position\":{\"lineNumber\":16,\"column\":4}}],\"viewState\":{\"scrollLeft\":0,\"firstPosition\":{\"lineNumber\":1,\"column\":1},\"firstPositionDeltaTop\":0},\"contributionsState\":{\"editor.contrib.wordHighlighter\":false,\"editor.contrib.folding\":{\"lineCount\":43,\"provider\":\"syntax\"}}}}],[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/ui/src/components/GraficoPublicacoesDiariasPorComunidade/index.jsx\",{\"0\":{\"cursorState\":[{\"inSelectionMode\":false,\"selectionStart\":{\"lineNumber\":15,\"column\":19},\"position\":{\"lineNumber\":15,\"column\":19}}],\"viewState\":{\"scrollLeft\":0,\"firstPosition\":{\"lineNumber\":1,\"column\":1},\"firstPositionDeltaTop\":0},\"contributionsState\":{\"editor.contrib.wordHighlighter\":true,\"editor.contrib.folding\":{\"lineCount\":48,\"provider\":\"syntax\"}}}}],[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/ui/src/components/MyButton/index.jsx\",{\"0\":{\"cursorState\":[{\"inSelectionMode\":false,\"selectionStart\":{\"lineNumber\":13,\"column\":39},\"position\":{\"lineNumber\":13,\"column\":39}}],\"viewState\":{\"scrollLeft\":0,\"firstPosition\":{\"lineNumber\":1,\"column\":1},\"firstPositionDeltaTop\":0},\"contributionsState\":{\"editor.contrib.wordHighlighter\":false,\"editor.contrib.folding\":{\"lineCount\":18,\"provider\":\"syntax\"}}}}],[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/website/src/pages/Login/index.less\",{\"0\":{\"cursorState\":[{\"inSelectionMode\":true,\"selectionStart\":{\"lineNumber\":11,\"column\":2},\"position\":{\"lineNumber\":1,\"column\":1}}],\"viewState\":{\"scrollLeft\":0,\"firstPosition\":{\"lineNumber\":1,\"column\":1},\"firstPositionDeltaTop\":0},\"contributionsState\":{\"editor.contrib.wordHighlighter\":false,\"editor.contrib.folding\":{\"lineCount\":11,\"provider\":\"syntax\"}}}}],[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/website/src/pages/Register/index.less\",{\"0\":{\"cursorState\":[{\"inSelectionMode\":false,\"selectionStart\":{\"lineNumber\":3,\"column\":10},\"position\":{\"lineNumber\":3,\"column\":10}}],\"viewState\":{\"scrollLeft\":0,\"firstPosition\":{\"lineNumber\":1,\"column\":1},\"firstPositionDeltaTop\":0},\"contributionsState\":{\"editor.contrib.wordHighlighter\":false,\"editor.contrib.folding\":{\"lineCount\":11,\"provider\":\"syntax\"}}}}],[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/website/src/App.js\",{\"0\":{\"cursorState\":[{\"inSelectionMode\":false,\"selectionStart\":{\"lineNumber\":7,\"column\":1},\"position\":{\"lineNumber\":7,\"column\":1}}],\"viewState\":{\"scrollLeft\":0,\"firstPosition\":{\"lineNumber\":1,\"column\":1},\"firstPositionDeltaTop\":0},\"contributionsState\":{\"editor.contrib.wordHighlighter\":false,\"editor.contrib.folding\":{\"lineCount\":23,\"provider\":\"syntax\"}}}}],[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/server/services/pessoas/get.js\",{\"0\":{\"cursorState\":[{\"inSelectionMode\":false,\"selectionStart\":{\"lineNumber\":33,\"column\":1},\"position\":{\"lineNumber\":33,\"column\":1}}],\"viewState\":{\"scrollLeft\":0,\"firstPosition\":{\"lineNumber\":11,\"column\":1},\"firstPositionDeltaTop\":-10},\"contributionsState\":{\"editor.contrib.wordHighlighter\":false,\"editor.contrib.folding\":{\"lineCount\":38,\"provider\":\"syntax\"}}}}],[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/server/core/_config.js\",{\"0\":{\"cursorState\":[{\"inSelectionMode\":false,\"selectionStart\":{\"lineNumber\":1,\"column\":1},\"position\":{\"lineNumber\":1,\"column\":1}}],\"viewState\":{\"scrollLeft\":0,\"firstPosition\":{\"lineNumber\":1,\"column\":1},\"firstPositionDeltaTop\":0},\"contributionsState\":{\"editor.contrib.wordHighlighter\":false,\"editor.contrib.folding\":{\"lineCount\":23,\"provider\":\"syntax\"}}}}],[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/website/public/index.html\",{\"0\":{\"cursorState\":[{\"inSelectionMode\":false,\"selectionStart\":{\"lineNumber\":1,\"column\":1},\"position\":{\"lineNumber\":1,\"column\":1}}],\"viewState\":{\"scrollLeft\":0,\"firstPosition\":{\"lineNumber\":1,\"column\":1},\"firstPositionDeltaTop\":0},\"contributionsState\":{\"editor.contrib.wordHighlighter\":false,\"editor.contrib.findController\":{\"widgetViewZoneVisible\":false,\"scrollTop\":33},\"editor.contrib.folding\":{\"lineCount\":44,\"provider\":\"syntax\"}}}}],[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/server/services/pessoas/options.js\",{\"0\":{\"cursorState\":[{\"inSelectionMode\":false,\"selectionStart\":{\"lineNumber\":2,\"column\":1},\"position\":{\"lineNumber\":2,\"column\":1}}],\"viewState\":{\"scrollLeft\":0,\"firstPosition\":{\"lineNumber\":1,\"column\":1},\"firstPositionDeltaTop\":0},\"contributionsState\":{\"editor.contrib.wordHighlighter\":false,\"editor.contrib.findController\":{\"widgetViewZoneVisible\":false,\"scrollTop\":0},\"editor.contrib.folding\":{\"lineCount\":2,\"provider\":\"syntax\"}}}}],[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/ui/src/components/PessoasTabela/index.jsx\",{\"0\":{\"cursorState\":[{\"inSelectionMode\":true,\"selectionStart\":{\"lineNumber\":20,\"column\":15},\"position\":{\"lineNumber\":18,\"column\":13}}],\"viewState\":{\"scrollLeft\":0,\"firstPosition\":{\"lineNumber\":29,\"column\":1},\"firstPositionDeltaTop\":-18},\"contributionsState\":{\"editor.contrib.wordHighlighter\":false,\"editor.contrib.findController\":{\"widgetViewZoneVisible\":false,\"scrollTop\":550},\"editor.contrib.folding\":{\"lineCount\":93,\"provider\":\"syntax\"}}}}],[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/config/_development.js\",{\"0\":{\"cursorState\":[{\"inSelectionMode\":false,\"selectionStart\":{\"lineNumber\":1,\"column\":1},\"position\":{\"lineNumber\":1,\"column\":1}}],\"viewState\":{\"scrollLeft\":0,\"firstPosition\":{\"lineNumber\":1,\"column\":1},\"firstPositionDeltaTop\":0},\"contributionsState\":{\"editor.contrib.wordHighlighter\":false,\"editor.contrib.findController\":{\"widgetViewZoneVisible\":false,\"scrollTop\":0},\"editor.contrib.folding\":{\"lineCount\":4,\"provider\":\"syntax\"}}}}],[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/website/src/components/Header/index.js\",{\"0\":{\"cursorState\":[{\"inSelectionMode\":false,\"selectionStart\":{\"lineNumber\":29,\"column\":1},\"position\":{\"lineNumber\":29,\"column\":1}}],\"viewState\":{\"scrollLeft\":0,\"firstPosition\":{\"lineNumber\":1,\"column\":1},\"firstPositionDeltaTop\":0},\"contributionsState\":{\"editor.contrib.wordHighlighter\":false,\"editor.contrib.findController\":{\"widgetViewZoneVisible\":false,\"scrollTop\":0},\"editor.contrib.folding\":{\"lineCount\":29,\"provider\":\"syntax\"}}}}],[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/website/src/pages/Home/index.js\",{\"0\":{\"cursorState\":[{\"inSelectionMode\":false,\"selectionStart\":{\"lineNumber\":14,\"column\":1},\"position\":{\"lineNumber\":14,\"column\":1}}],\"viewState\":{\"scrollLeft\":0,\"firstPosition\":{\"lineNumber\":1,\"column\":1},\"firstPositionDeltaTop\":0},\"contributionsState\":{\"editor.contrib.wordHighlighter\":false,\"editor.contrib.findController\":{\"widgetViewZoneVisible\":false,\"scrollTop\":0},\"editor.contrib.folding\":{\"lineCount\":14,\"provider\":\"syntax\"}}}}],[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/server/services/cities/get.js\",{\"0\":{\"cursorState\":[{\"inSelectionMode\":false,\"selectionStart\":{\"lineNumber\":2,\"column\":1},\"position\":{\"lineNumber\":2,\"column\":1}}],\"viewState\":{\"scrollLeft\":0,\"firstPosition\":{\"lineNumber\":1,\"column\":1},\"firstPositionDeltaTop\":0},\"contributionsState\":{\"editor.contrib.wordHighlighter\":false,\"editor.contrib.findController\":{\"widgetViewZoneVisible\":false,\"scrollTop\":0},\"editor.contrib.folding\":{\"lineCount\":2,\"provider\":\"syntax\"}}}}],[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/server/services/cities/options.js\",{\"0\":{\"cursorState\":[{\"inSelectionMode\":false,\"selectionStart\":{\"lineNumber\":2,\"column\":1},\"position\":{\"lineNumber\":2,\"column\":1}}],\"viewState\":{\"scrollLeft\":0,\"firstPosition\":{\"lineNumber\":1,\"column\":1},\"firstPositionDeltaTop\":0},\"contributionsState\":{\"editor.contrib.wordHighlighter\":false,\"editor.contrib.findController\":{\"widgetViewZoneVisible\":false,\"scrollTop\":0},\"editor.contrib.folding\":{\"lineCount\":2,\"provider\":\"syntax\"}}}}],[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/languagepacks.json\",{\"0\":{\"cursorState\":[{\"inSelectionMode\":false,\"selectionStart\":{\"lineNumber\":1,\"column\":1},\"position\":{\"lineNumber\":1,\"column\":1}}],\"viewState\":{\"scrollLeft\":0,\"firstPosition\":{\"lineNumber\":1,\"column\":1},\"firstPositionDeltaTop\":0},\"contributionsState\":{\"editor.contrib.wordHighlighter\":false,\"editor.contrib.findController\":{\"widgetViewZoneVisible\":false,\"scrollTop\":0},\"editor.contrib.folding\":{\"lineCount\":1,\"provider\":\"syntax\"}}}}],[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/.gitignore\",{\"0\":{\"cursorState\":[{\"inSelectionMode\":false,\"selectionStart\":{\"lineNumber\":18,\"column\":4},\"position\":{\"lineNumber\":18,\"column\":4}}],\"viewState\":{\"scrollLeft\":0,\"firstPosition\":{\"lineNumber\":1,\"column\":1},\"firstPositionDeltaTop\":0},\"contributionsState\":{\"editor.contrib.wordHighlighter\":false,\"editor.contrib.folding\":{\"lineCount\":18,\"provider\":\"indent\"}}}}],[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/config/_production.js\",{\"0\":{\"cursorState\":[{\"inSelectionMode\":false,\"selectionStart\":{\"lineNumber\":1,\"column\":1},\"position\":{\"lineNumber\":1,\"column\":1}}],\"viewState\":{\"scrollLeft\":0,\"firstPosition\":{\"lineNumber\":1,\"column\":1},\"firstPositionDeltaTop\":0},\"contributionsState\":{\"editor.contrib.wordHighlighter\":false,\"editor.contrib.folding\":{\"collapsedRegions\":[],\"lineCount\":4}}}}],[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/config/_production.json\",{\"0\":{\"cursorState\":[{\"inSelectionMode\":false,\"selectionStart\":{\"lineNumber\":1,\"column\":1},\"position\":{\"lineNumber\":1,\"column\":1}}],\"viewState\":{\"scrollLeft\":0,\"firstPosition\":{\"lineNumber\":8,\"column\":1},\"firstPositionDeltaTop\":-17},\"contributionsState\":{\"editor.contrib.wordHighlighter\":false,\"editor.contrib.folding\":{\"lineCount\":31,\"provider\":\"syntax\"}}}}],[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/website/src/index.js\",{\"0\":{\"cursorState\":[{\"inSelectionMode\":false,\"selectionStart\":{\"lineNumber\":7,\"column\":12},\"position\":{\"lineNumber\":7,\"column\":12}}],\"viewState\":{\"scrollLeft\":0,\"firstPosition\":{\"lineNumber\":1,\"column\":1},\"firstPositionDeltaTop\":0},\"contributionsState\":{\"editor.contrib.wordHighlighter\":false,\"editor.contrib.folding\":{\"lineCount\":16,\"provider\":\"syntax\"}}}}],[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/server/services/register/options.js\",{\"0\":{\"cursorState\":[{\"inSelectionMode\":false,\"selectionStart\":{\"lineNumber\":2,\"column\":1},\"position\":{\"lineNumber\":2,\"column\":1}}],\"viewState\":{\"scrollLeft\":0,\"firstPosition\":{\"lineNumber\":1,\"column\":1},\"firstPositionDeltaTop\":0},\"contributionsState\":{\"editor.contrib.wordHighlighter\":false,\"editor.contrib.folding\":{\"lineCount\":2,\"provider\":\"syntax\"}}}}],[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/server/setup/_start.js\",{\"0\":{\"cursorState\":[{\"inSelectionMode\":false,\"selectionStart\":{\"lineNumber\":4,\"column\":1},\"position\":{\"lineNumber\":4,\"column\":1}}],\"viewState\":{\"scrollLeft\":0,\"firstPosition\":{\"lineNumber\":1,\"column\":1},\"firstPositionDeltaTop\":0},\"contributionsState\":{\"editor.contrib.wordHighlighter\":false,\"editor.contrib.folding\":{\"lineCount\":4,\"provider\":\"syntax\"}}}}],[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/server/setup/001-grupo.js\",{\"0\":{\"cursorState\":[{\"inSelectionMode\":true,\"selectionStart\":{\"lineNumber\":3,\"column\":3},\"position\":{\"lineNumber\":1,\"column\":1}}],\"viewState\":{\"scrollLeft\":0,\"firstPosition\":{\"lineNumber\":1,\"column\":1},\"firstPositionDeltaTop\":0},\"contributionsState\":{\"editor.contrib.wordHighlighter\":false,\"editor.contrib.folding\":{\"collapsedRegions\":[],\"lineCount\":4}}}}],[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/server/services/register/post.js\",{\"0\":{\"cursorState\":[{\"inSelectionMode\":false,\"selectionStart\":{\"lineNumber\":42,\"column\":1},\"position\":{\"lineNumber\":42,\"column\":1}}],\"viewState\":{\"scrollLeft\":0,\"firstPosition\":{\"lineNumber\":16,\"column\":1},\"firstPositionDeltaTop\":-9},\"contributionsState\":{\"editor.contrib.wordHighlighter\":false,\"editor.contrib.folding\":{\"lineCount\":42,\"provider\":\"syntax\"}}}}],[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/website/src/pages/Register/index.js\",{\"0\":{\"cursorState\":[{\"inSelectionMode\":true,\"selectionStart\":{\"lineNumber\":34,\"column\":25},\"position\":{\"lineNumber\":34,\"column\":31}}],\"viewState\":{\"scrollLeft\":0,\"firstPosition\":{\"lineNumber\":161,\"column\":1},\"firstPositionDeltaTop\":-10},\"contributionsState\":{\"editor.contrib.wordHighlighter\":false,\"editor.contrib.folding\":{\"lineCount\":178,\"provider\":\"syntax\"}}}}],[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/website/package.json\",{\"0\":{\"cursorState\":[{\"inSelectionMode\":false,\"selectionStart\":{\"lineNumber\":47,\"column\":1},\"position\":{\"lineNumber\":47,\"column\":1}}],\"viewState\":{\"scrollLeft\":0,\"firstPosition\":{\"lineNumber\":1,\"column\":1},\"firstPositionDeltaTop\":-10},\"contributionsState\":{\"editor.contrib.wordHighlighter\":false,\"editor.contrib.folding\":{\"lineCount\":48,\"provider\":\"syntax\"}}}}],[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/website/src/pages/Login/index.js\",{\"0\":{\"cursorState\":[{\"inSelectionMode\":false,\"selectionStart\":{\"lineNumber\":41,\"column\":36},\"position\":{\"lineNumber\":41,\"column\":36}}],\"viewState\":{\"scrollLeft\":0,\"firstPosition\":{\"lineNumber\":22,\"column\":1},\"firstPositionDeltaTop\":-1},\"contributionsState\":{\"editor.contrib.wordHighlighter\":false,\"editor.contrib.folding\":{\"lineCount\":83,\"provider\":\"syntax\"}}}}],[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/config/_development.json\",{\"0\":{\"cursorState\":[{\"inSelectionMode\":false,\"selectionStart\":{\"lineNumber\":34,\"column\":23},\"position\":{\"lineNumber\":34,\"column\":23}}],\"viewState\":{\"scrollLeft\":0,\"firstPosition\":{\"lineNumber\":29,\"column\":1},\"firstPositionDeltaTop\":-18},\"contributionsState\":{\"editor.contrib.wordHighlighter\":true,\"editor.contrib.folding\":{\"lineCount\":53,\"provider\":\"syntax\"}}}}]]}"],["suggest/memories/recentlyUsed","[[\"javascriptreact/react\",{\"touch\":0,\"type\":8,\"insertText\":\"react\"}],[\"javascriptreact/antd\",{\"touch\":0,\"type\":8,\"insertText\":\"antd\"}],[\"javascriptreact/modal\",{\"touch\":0,\"type\":23,\"insertText\":\"modal\"}],[\"javascriptreact/Modal\",{\"touch\":0,\"type\":5,\"insertText\":\"Modal\"}],[\"javascriptreact/visible?\",{\"touch\":0,\"type\":9,\"insertText\":\"visible\"}],[\"javascriptreact/Button\",{\"touch\":0,\"type\":4,\"insertText\":\"Button\"}],[\"javascriptreact/export\",{\"touch\":0,\"type\":17,\"insertText\":\"export\"}],[\"javascriptreact/onClick?\",{\"touch\":0,\"type\":9,\"insertText\":\"onClick\"}],[\"javascriptreact/true\",{\"touch\":0,\"type\":17,\"insertText\":\"true\"}],[\"javascriptreact/function\",{\"touch\":0,\"type\":17,\"insertText\":\"function\"}],[\"javascriptreact/alert\",{\"touch\":0,\"type\":1,\"insertText\":\"alert\"}],[\"javascriptreact/close\",{\"touch\":0,\"type\":4,\"insertText\":\"close\"}],[\"javascriptreact/ok\",{\"touch\":0,\"type\":4,\"insertText\":\"ok\"}],[\"javascriptreact/cancelAnimationFrame\",{\"touch\":0,\"type\":1,\"insertText\":\"cancelAnimationFrame\"}],[\"javascript/dbpessoa\",{\"touch\":0,\"type\":4,\"insertText\":\"dbpessoa\"}],[\"javascriptreact/publicacoesPessoa\",{\"touch\":0,\"type\":4,\"insertText\":\"publicacoesPessoa\"}],[\"javascriptreact/setPublicacoesPessoa\",{\"touch\":0,\"type\":4,\"insertText\":\"setPublicacoesPessoa\"}],[\"javascriptreact/console\",{\"touch\":0,\"type\":4,\"insertText\":\"console\"}],[\"javascriptreact/log\",{\"touch\":0,\"type\":0,\"insertText\":\".log\"}],[\"javascriptreact/pessoa\",{\"touch\":0,\"type\":4,\"insertText\":\"pessoa\"}],[\"javascriptreact/data\",{\"touch\":0,\"type\":4,\"insertText\":\"data\"}],[\"javascriptreact/map\",{\"touch\":0,\"type\":0,\"insertText\":\".map\"}],[\"javascriptreact/publicacoes\",{\"touch\":0,\"type\":18,\"insertText\":\"publicacoes\"}],[\"javascriptreact/div>\",{\"touch\":0,\"type\":5,\"insertText\":\"div>\"}],[\"javascriptreact/div\",{\"touch\":0,\"type\":5,\"insertText\":\"div\"}],[\"javascriptreact/Title\",{\"touch\":0,\"type\":4,\"insertText\":\"Title\"}],[\"javascriptreact/level?\",{\"touch\":0,\"type\":9,\"insertText\":\"level\"}],[\"javascriptreact/Title>\",{\"touch\":0,\"type\":5,\"insertText\":\"Title>\"}],[\"javascriptreact/span>\",{\"touch\":0,\"type\":5,\"insertText\":\"span>\"}],[\"less/.publicacao-container\",{\"touch\":0,\"type\":17,\"insertText\":\".publicacao-container\"}],[\"less/opacity: ;\",{\"touch\":0,\"type\":9,\"insertText\":\"opacity: ${0};\"}],[\"less/index.less\",{\"touch\":0,\"type\":20,\"insertText\":\"index.less\"}],[\"javascriptreact/JanelaPublicacoes\",{\"touch\":0,\"type\":4,\"insertText\":\"JanelaPublicacoes\"}],[\"javascriptreact/PessoasTabela\",{\"touch\":0,\"type\":4,\"insertText\":\"PessoasTabela\"}],[\"javascriptreact/lib\",{\"touch\":0,\"type\":23,\"insertText\":\"lib\"}],[\"javascriptreact/tabs\",{\"touch\":0,\"type\":23,\"insertText\":\"tabs\"}],[\"javascriptreact/bs\",{\"touch\":0,\"type\":23,\"insertText\":\"bs\"}],[\"javascriptreact/BsPeople\",{\"touch\":0,\"type\":4,\"insertText\":\"BsPeople\"}],[\"javascriptreact/size?\",{\"touch\":0,\"type\":3,\"insertText\":\"size\"}],[\"javascriptreact/color?\",{\"touch\":0,\"type\":9,\"insertText\":\"color\"}],[\"less/flex\",{\"touch\":0,\"type\":13,\"insertText\":\"flex\"}],[\"less/align-items\",{\"touch\":0,\"type\":9,\"insertText\":\"align-items: $0;\"}],[\"less/center\",{\"touch\":0,\"type\":13,\"insertText\":\"center\"}],[\"javascriptreact/style?\",{\"touch\":0,\"type\":9,\"insertText\":\"style\"}],[\"javascriptreact/marginRight?\",{\"touch\":0,\"type\":3,\"insertText\":\"marginRight\"}],[\"javascriptreact/react-icons\",{\"touch\":0,\"type\":8,\"insertText\":\"react-icons\"}],[\"javascriptreact/ai\",{\"touch\":0,\"type\":23,\"insertText\":\"ai\"}],[\"javascriptreact/className?\",{\"touch\":0,\"type\":9,\"insertText\":\"className\"}],[\"javascriptreact/return\",{\"touch\":0,\"type\":17,\"insertText\":\"return\"}],[\"javascriptreact/LineAdvance\",{\"touch\":0,\"type\":4,\"insertText\":\"LineAdvance\"}],[\"javascriptreact/GraficoPublicacoesDiariasPorComunidade\",{\"touch\":0,\"type\":23,\"insertText\":\"GraficoPublicacoesDiariasPorComunidade\"}],[\"javascriptreact/default\",{\"touch\":0,\"type\":17,\"insertText\":\"default\"}],[\"javascriptreact/components\",{\"touch\":0,\"type\":23,\"insertText\":\"components\"}],[\"javascriptreact/GraficoPublicacoesTotaisPorComunidade\",{\"touch\":0,\"type\":23,\"insertText\":\"GraficoPublicacoesTotaisPorComunidade\"}],[\"javascriptreact/index\",{\"touch\":0,\"type\":20,\"insertText\":\"index\"}],[\"javascriptreact/useState\",{\"touch\":0,\"type\":4,\"insertText\":\"useState\"}],[\"javascriptreact/useEffect\",{\"touch\":0,\"type\":4,\"insertText\":\"useEffect\"}],[\"javascriptreact/visible\",{\"touch\":0,\"type\":4,\"insertText\":\"visible\"}],[\"javascriptreact/modalIsOpen\",{\"touch\":0,\"type\":4,\"insertText\":\"modalIsOpen\"}],[\"javascriptreact/isVisible\",{\"touch\":0,\"type\":4,\"insertText\":\"isVisible\"}],[\"javascriptreact/setModalIsOpen\",{\"touch\":0,\"type\":4,\"insertText\":\"setModalIsOpen\"}],[\"javascriptreact/cancel\",{\"touch\":0,\"type\":4,\"insertText\":\"cancel\"}],[\"javascriptreact/false\",{\"touch\":0,\"type\":17,\"insertText\":\"false\"}],[\"javascriptreact/key?\",{\"touch\":0,\"type\":9,\"insertText\":\"key\"}],[\"javascriptreact/publicao\",{\"touch\":0,\"type\":4,\"insertText\":\"publicao\"}],[\"javascriptreact/uid\",{\"touch\":0,\"type\":18,\"insertText\":\".uid\"}],[\"javascript/div\",{\"touch\":0,\"type\":3,\"insertText\":\"div\"}],[\"javascript/pages\",{\"touch\":0,\"type\":23,\"insertText\":\"pages\"}],[\"javascript/mode?\",{\"touch\":0,\"type\":9,\"insertText\":\"mode\"}],[\"javascript/horizontal\",{\"touch\":0,\"type\":14,\"insertText\":\"horizontal\"}],[\"javascript/Menu\",{\"touch\":0,\"type\":4,\"insertText\":\"Menu\"}],[\"javascript/Switch\",{\"touch\":0,\"type\":4,\"insertText\":\"Switch\"}],[\"javascript/BrowserRouter\",{\"touch\":0,\"type\":4,\"insertText\":\"BrowserRouter\"}],[\"javascript/BrowserRouter>\",{\"touch\":0,\"type\":5,\"insertText\":\"BrowserRouter>\"}],[\"javascript/div>\",{\"touch\":0,\"type\":5,\"insertText\":\"div>\"}],[\"javascript/switch\",{\"touch\":0,\"type\":9,\"insertText\":\"switch\"}],[\"javascript/Route\",{\"touch\":0,\"type\":4,\"insertText\":\"Route\"}],[\"javascript/path?\",{\"touch\":0,\"type\":9,\"insertText\":\"path\"}],[\"javascript/exact?\",{\"touch\":0,\"type\":9,\"insertText\":\"exact\"}],[\"javascript/component?\",{\"touch\":0,\"type\":9,\"insertText\":\"component\"}],[\"javascript/Router\",{\"touch\":0,\"type\":4,\"insertText\":\"Router\"}],[\"javascript/import\",{\"touch\":0,\"type\":17,\"insertText\":\"import\"}],[\"javascript/react-router-dom\",{\"touch\":0,\"type\":8,\"insertText\":\"react-router-dom\"}],[\"javascript/Header>\",{\"touch\":0,\"type\":5,\"insertText\":\"Header>\"}],[\"javascript/menu\",{\"touch\":0,\"type\":23,\"insertText\":\"menu\"}],[\"javascript/index\",{\"touch\":0,\"type\":20,\"insertText\":\"index\"}],[\"javascript/antd\",{\"touch\":0,\"type\":8,\"insertText\":\"antd\"}],[\"javascript/lib\",{\"touch\":0,\"type\":23,\"insertText\":\"lib\"}],[\"javascript/table\",{\"touch\":0,\"type\":23,\"insertText\":\"table\"}],[\"javascript/react\",{\"touch\":0,\"type\":8,\"insertText\":\"react\"}],[\"javascript/export\",{\"touch\":0,\"type\":17,\"insertText\":\"export\"}],[\"javascript/default\",{\"touch\":0,\"type\":17,\"insertText\":\"default\"}],[\"javascript/Form\",{\"touch\":0,\"type\":4,\"insertText\":\"Form\"}],[\"javascript/Item\",{\"touch\":0,\"type\":9,\"insertText\":\".Item\"}],[\"javascript/Input\",{\"touch\":0,\"type\":4,\"insertText\":\"Input\"}],[\"javascript/layout?\",{\"touch\":0,\"type\":9,\"insertText\":\"layout\"}],[\"javascript/layout\",{\"touch\":0,\"type\":4,\"insertText\":\"layout\"}],[\"javascript/components\",{\"touch\":0,\"type\":23,\"insertText\":\"components\"}],[\"javascript/Header\",{\"touch\":0,\"type\":23,\"insertText\":\"Header\"}],[\"javascript/Typography\",{\"touch\":0,\"type\":4,\"insertText\":\"Typography\"}],[\"javascript/Title\",{\"touch\":0,\"type\":4,\"insertText\":\"Title\"}],[\"javascript/Title>\",{\"touch\":0,\"type\":5,\"insertText\":\"Title>\"}],[\"javascript/textAlign?\",{\"touch\":0,\"type\":3,\"insertText\":\"textAlign\"}],[\"javascript/center\",{\"touch\":0,\"type\":14,\"insertText\":\"center\"}],[\"javascript/Layout\",{\"touch\":0,\"type\":4,\"insertText\":\"Layout\"}],[\"javascript/Content\",{\"touch\":0,\"type\":4,\"insertText\":\"Content\"}],[\"javascript/Row\",{\"touch\":0,\"type\":4,\"insertText\":\"Row\"}],[\"javascript/Col\",{\"touch\":0,\"type\":4,\"insertText\":\"Col\"}],[\"javascript/span?\",{\"touch\":0,\"type\":9,\"insertText\":\"span\"}],[\"javascript/style?\",{\"touch\":0,\"type\":9,\"insertText\":\"style\"}],[\"javascript/padding?\",{\"touch\":0,\"type\":3,\"insertText\":\"padding\"}],[\"less/#fff\",{\"touch\":0,\"type\":9,\"insertText\":\"#fff\"}],[\"less/border-radius\",{\"touch\":0,\"type\":9,\"insertText\":\"border-radius: $0;\"}],[\"less/space-between\",{\"touch\":0,\"type\":13,\"insertText\":\"space-between\"}],[\"less/display\",{\"touch\":0,\"type\":9,\"insertText\":\"display: $0;\"}],[\"javascript/PageHeader\",{\"touch\":0,\"type\":4,\"insertText\":\"PageHeader\"}],[\"javascript/to\",{\"touch\":0,\"type\":9,\"insertText\":\"to\"}],[\"javascript/Button\",{\"touch\":0,\"type\":5,\"insertText\":\"Button\"}],[\"javascript/Link\",{\"touch\":0,\"type\":4,\"insertText\":\"Link\"}],[\"javascript/Link>\",{\"touch\":0,\"type\":5,\"insertText\":\"Link>\"}],[\"less/App.less\",{\"touch\":0,\"type\":20,\"insertText\":\"App.less\"}],[\"less/.header\",{\"touch\":0,\"type\":17,\"insertText\":\".header\"}],[\"less/im !important\",{\"touch\":0,\"type\":9,\"insertText\":\"im !important\"}],[\"less/width\",{\"touch\":0,\"type\":9,\"insertText\":\"width: $0;\"}],[\"less/none\",{\"touch\":0,\"type\":13,\"insertText\":\"none\"}],[\"less/:hover\",{\"touch\":0,\"type\":1,\"insertText\":\":hover\"}],[\"less/background-color\",{\"touch\":0,\"type\":9,\"insertText\":\"background-color: $0;\"}],[\"less/@primary\",{\"touch\":0,\"type\":18,\"insertText\":\"@primary\"}],[\"less/justify-content\",{\"touch\":0,\"type\":9,\"insertText\":\"justify-content: $0;\"}],[\"less/align-self\",{\"touch\":0,\"type\":9,\"insertText\":\"align-self: $0;\"}],[\"less/flex-end\",{\"touch\":0,\"type\":13,\"insertText\":\"flex-end\"}],[\"javascript/Carousel\",{\"touch\":0,\"type\":4,\"insertText\":\"Carousel\"}],[\"javascript/useState\",{\"touch\":0,\"type\":1,\"insertText\":\"useState\"}],[\"javascript/type?\",{\"touch\":0,\"type\":9,\"insertText\":\"type\"}],[\"javascript/email\",{\"touch\":0,\"type\":14,\"insertText\":\"email\"}],[\"javascript/true\",{\"touch\":0,\"type\":17,\"insertText\":\"true\"}],[\"javascript/message?\",{\"touch\":0,\"type\":3,\"insertText\":\"message\"}],[\"javascript/required?\",{\"touch\":0,\"type\":3,\"insertText\":\"required\"}],[\"javascript/rules?\",{\"touch\":0,\"type\":9,\"insertText\":\"rules\"}],[\"javascript/className?\",{\"touch\":0,\"type\":9,\"insertText\":\"className\"}],[\"javascript/_req\",{\"touch\":0,\"type\":18,\"insertText\":\"_req\"}],[\"javascript/getString\",{\"touch\":0,\"type\":18,\"insertText\":\"getString\"}],[\"javascript/firstName\",{\"touch\":0,\"type\":4,\"insertText\":\"firstName\"}],[\"javascript/lastName\",{\"touch\":0,\"type\":4,\"insertText\":\"lastName\"}],[\"javascript/useEffect\",{\"touch\":0,\"type\":4,\"insertText\":\"useEffect\"}],[\"javascript/setCities\",{\"touch\":0,\"type\":4,\"insertText\":\"setCities\"}],[\"javascript/cities\",{\"touch\":0,\"type\":4,\"insertText\":\"cities\"}],[\"javascript/map\",{\"touch\":0,\"type\":0,\"insertText\":\".map\"}],[\"javascript/return\",{\"touch\":0,\"type\":17,\"insertText\":\"return\"}],[\"javascript/Select\",{\"touch\":0,\"type\":4,\"insertText\":\"Select\"}],[\"javascript/Option\",{\"touch\":0,\"type\":3,\"insertText\":\".Option\"}],[\"javascript/name\",{\"touch\":0,\"type\":18,\"insertText\":\".name\"}],[\"javascript/key?\",{\"touch\":0,\"type\":3,\"insertText\":\"key\"}],[\"javascript/city\",{\"touch\":0,\"type\":4,\"insertText\":\"city\"}],[\"javascript/_service\",{\"touch\":0,\"type\":4,\"insertText\":\"_service\"}],[\"javascript/method\",{\"touch\":0,\"type\":18,\"insertText\":\"method\"}],[\"javascript/response\",{\"touch\":0,\"type\":4,\"insertText\":\"response\"}],[\"javascript/success\",{\"touch\":0,\"type\":0,\"insertText\":\"success\"}],[\"javascript/if\",{\"touch\":0,\"type\":17,\"insertText\":\"if\"}],[\"javascript/else\",{\"touch\":0,\"type\":17,\"insertText\":\"else\"}],[\"javascript/notification\",{\"touch\":0,\"type\":4,\"insertText\":\"notification\"}],[\"javascript/message\",{\"touch\":0,\"type\":3,\"insertText\":\"message\"}],[\"javascript/description?\",{\"touch\":0,\"type\":3,\"insertText\":\"description\"}],[\"javascript/catch\",{\"touch\":0,\"type\":17,\"insertText\":\"catch\"}],[\"javascript/console\",{\"touch\":0,\"type\":4,\"insertText\":\"console\"}],[\"javascript/log\",{\"touch\":0,\"type\":0,\"insertText\":\".log\"}],[\"javascript/error\",{\"touch\":0,\"type\":27,\"insertText\":\"console.error($1);\"}],[\"json/false\",{\"touch\":0,\"type\":13,\"insertText\":\"false\"}],[\"javascript/value\",{\"touch\":0,\"type\":18,\"insertText\":\"value\"}],[\"javascript/value?\",{\"touch\":0,\"type\":9,\"insertText\":\"value\"}],[\"javascript/Headers\",{\"touch\":0,\"type\":4,\"insertText\":\"Headers\"}],[\"javascript/Home\",{\"touch\":0,\"type\":4,\"insertText\":\"Home\"}],[\"javascript/Login\",{\"touch\":0,\"type\":4,\"insertText\":\"Login\"}],[\"javascript/const\",{\"touch\":0,\"type\":17,\"insertText\":\"const\"}],[\"javascript/Register\",{\"touch\":0,\"type\":4,\"insertText\":\"Register\"}],[\"javascript/name?\",{\"touch\":0,\"type\":9,\"insertText\":\"name\"}],[\"javascript/username\",{\"touch\":182,\"type\":18,\"insertText\":\".username\"}],[\"javascript/values\",{\"touch\":183,\"type\":4,\"insertText\":\"values\"}],[\"javascript/password\",{\"touch\":184,\"type\":18,\"insertText\":\".password\"}],[\"javascript/onFinish?\",{\"touch\":185,\"type\":9,\"insertText\":\"onFinish\"}],[\"javascript/onFinish\",{\"touch\":186,\"type\":4,\"insertText\":\"onFinish\"}],[\"javascript/onFinishFailed?\",{\"touch\":187,\"type\":9,\"insertText\":\"onFinishFailed\"}],[\"javascript/onFinishFailed\",{\"touch\":188,\"type\":4,\"insertText\":\"onFinishFailed\"}],[\"javascript/alert\",{\"touch\":190,\"type\":1,\"insertText\":\"alert\"}]]"],["terminal.numberOfVisibleViews","1"],["workbench.view.scm.numberOfVisibleViews","1"],["memento/workbench.editors.textDiffEditor","{\"textEditorViewState\":[]}"],["workbench.panel.output.numberOfVisibleViews","1"],["memento/workbench.panel.output","{\"textEditorViewState\":[]}"],["editor.wholeWord","false"],["editor.matchCase","false"],["workbench.panel.markers.numberOfVisibleViews","1"],["memento/workbench.panel.markers","{\"filter\":\"\",\"filterHistory\":[],\"showErrors\":true,\"showWarnings\":true,\"showInfos\":true,\"useFilesExclude\":false,\"activeFile\":false,\"multiline\":true}"],["workbench.panel.repl.numberOfVisibleViews","1"],["memento/workbench.editor.settings2","{\"settingsEditorState\":[]}"],["memento/workbench.parts.editor","{\"editorpart.state\":{\"serializedGrid\":{\"root\":{\"type\":\"branch\",\"data\":[{\"type\":\"leaf\",\"data\":{\"id\":0,\"editors\":[{\"id\":\"workbench.editors.files.fileEditorInput\",\"value\":\"{\\\"resourceJSON\\\":{\\\"$mid\\\":1,\\\"fsPath\\\":\\\"/home/pedro-isac/netuno/apps/social-netuno/website/src/pages/Login/index.js\\\",\\\"external\\\":\\\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/website/src/pages/Login/index.js\\\",\\\"path\\\":\\\"/home/pedro-isac/netuno/apps/social-netuno/website/src/pages/Login/index.js\\\",\\\"scheme\\\":\\\"vscode-remote\\\",\\\"authority\\\":\\\"pedro-isac.dev.netuno.org:30788\\\"},\\\"encoding\\\":\\\"utf8\\\"}\"},{\"id\":\"workbench.editors.files.fileEditorInput\",\"value\":\"{\\\"resourceJSON\\\":{\\\"$mid\\\":1,\\\"fsPath\\\":\\\"/home/pedro-isac/netuno/apps/social-netuno/config/_development.json\\\",\\\"external\\\":\\\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno/config/_development.json\\\",\\\"path\\\":\\\"/home/pedro-isac/netuno/apps/social-netuno/config/_development.json\\\",\\\"scheme\\\":\\\"vscode-remote\\\",\\\"authority\\\":\\\"pedro-isac.dev.netuno.org:30788\\\"},\\\"encoding\\\":\\\"utf8\\\"}\"}],\"mru\":[1,0]},\"size\":629}],\"size\":1099},\"orientation\":0,\"width\":1099,\"height\":629},\"activeGroup\":0,\"mostRecentActiveGroups\":[0]}}"],["editors.mru","{\"entries\":[{\"groupId\":0,\"index\":1},{\"groupId\":0,\"index\":0}]}"]] \ No newline at end of file diff --git a/User/state/global.json b/User/state/global.json index 08e309c..58156ab 100644 --- a/User/state/global.json +++ b/User/state/global.json @@ -1 +1 @@ -[["__$__isNewStorageMarker","false"],["__$__targetStorageMarker","{\"workbench.panel.markers.hidden\":0,\"workbench.panel.output.hidden\":0,\"terminal.hidden\":0,\"workbench.explorer.views.state.hidden\":0,\"workbench.scm.views.state.hidden\":0,\"workbench.view.search.state.hidden\":0,\"workbench.activity.pinnedViewlets2\":0,\"workbench.activity.placeholderViewlets\":1,\"recently.opened\":0,\"workbench.view.debug.state.hidden\":0,\"releaseNotes/lastVersion\":1,\"csLastUpdateNotification\":1,\"extensions.ignoredAutoUpdateExtension\":1,\"memento/customEditors\":1,\"workbench.panel.pinnedPanels\":0,\"memento/notebookEditors\":1,\"productIconThemeData\":1,\"colorThemeData\":0,\"storage.serviceMachineId\":1,\"workbench.panel.repl.hidden\":0,\"workbench.view.extensions.state.hidden\":0,\"workbench.sidebar.size\":1,\"workbench.panel.size\":1,\"workbench.panel.dimension\":1,\"workbench.grid.width\":1,\"workbench.grid.height\":1,\"workbench.views.extensions.remote.installed.empty\":1,\"debug.actionswidgety\":1,\"memento/gettingStartedService\":0,\"extensionsAssistant/recommendations\":1,\"scm/input:Git:/home/pedro-isac/netuno/apps/social-netuno\":0,\"PKief.material-icon-theme\":1,\"expandSuggestionDocs\":0,\"commandPalette.mru.cache\":0,\"commandPalette.mru.counter\":0,\"memento/workbench.editor.keybindings\":0,\"Shan.code-settings-sync\":1,\"ritwickdey.LiveServer\":1,\"hasNotifiedOfSettingsAutosave\":0}"],["workbench.panel.markers.hidden","[{\"id\":\"workbench.panel.markers.view\",\"isHidden\":false}]"],["workbench.panel.output.hidden","[{\"id\":\"workbench.panel.output\",\"isHidden\":false}]"],["terminal.hidden","[{\"id\":\"terminal\",\"isHidden\":false}]"],["workbench.explorer.views.state.hidden","[{\"id\":\"outline\",\"isHidden\":false},{\"id\":\"timeline\",\"isHidden\":false},{\"id\":\"workbench.explorer.openEditorsView\",\"isHidden\":true},{\"id\":\"workbench.explorer.fileView\",\"isHidden\":false},{\"id\":\"npm\",\"isHidden\":true}]"],["workbench.scm.views.state.hidden","[{\"id\":\"workbench.scm.repositories\",\"isHidden\":true},{\"id\":\"workbench.scm\",\"isHidden\":false}]"],["workbench.view.search.state.hidden","[{\"id\":\"workbench.view.search\",\"isHidden\":false}]"],["workbench.activity.pinnedViewlets2","[{\"id\":\"workbench.view.explorer\",\"pinned\":true,\"visible\":true,\"order\":0},{\"id\":\"workbench.view.search\",\"pinned\":true,\"visible\":true,\"order\":1},{\"id\":\"workbench.view.scm\",\"pinned\":true,\"visible\":true,\"order\":2},{\"id\":\"workbench.view.debug\",\"pinned\":true,\"visible\":true,\"order\":2},{\"id\":\"workbench.view.remote\",\"pinned\":true,\"visible\":false,\"order\":4},{\"id\":\"workbench.view.extensions\",\"pinned\":true,\"visible\":true,\"order\":4},{\"id\":\"workbench.view.extension.test\",\"pinned\":true,\"visible\":false,\"order\":6},{\"id\":\"workbench.view.extension.references-view\",\"pinned\":true,\"visible\":false,\"order\":7}]"],["workbench.activity.placeholderViewlets","[{\"id\":\"workbench.view.explorer\",\"themeIcon\":{\"id\":\"explorer-view-icon\"},\"name\":\"Explorer\",\"isBuiltin\":true,\"views\":[{\"when\":\"openEditorsVisible\"},{},{},{\"when\":\"timelineHasProvider\"},{}]},{\"id\":\"workbench.view.search\",\"themeIcon\":{\"id\":\"search-view-icon\"},\"name\":\"Search\",\"isBuiltin\":true,\"views\":[{}]},{\"id\":\"workbench.view.scm\",\"themeIcon\":{\"id\":\"source-control-view-icon\"},\"name\":\"Source Control\",\"isBuiltin\":true,\"views\":[{\"when\":\"scm.providerCount && scm.providerCount != '0'\"},{}]},{\"id\":\"workbench.view.debug\",\"themeIcon\":{\"id\":\"run-view-icon\"},\"name\":\"Run\",\"isBuiltin\":true,\"views\":[{\"when\":\"debugUx == 'simple'\"},{\"when\":\"debugUx == 'default'\"},{\"when\":\"debugUx == 'default'\"},{\"when\":\"debugUx == 'default'\"},{\"when\":\"loadedScriptsSupported && debugUx == 'default'\"},{\"when\":\"breakpointsExist || debugUx == 'default'\"},{\"when\":\"debugConfigurationType == 'pwa-chrome'\"}]},{\"id\":\"workbench.view.remote\",\"themeIcon\":{\"id\":\"remote-explorer-view-icon\"},\"name\":\"Remote Explorer\",\"isBuiltin\":true,\"views\":[]},{\"id\":\"workbench.view.extensions\",\"themeIcon\":{\"id\":\"extensions-view-icon\"},\"name\":\"Extensions\",\"isBuiltin\":true,\"views\":[{\"when\":\"defaultExtensionViews && hasInstalledWebExtensions\"},{\"when\":\"defaultExtensionViews && !hasInstalledExtensions\"},{\"when\":\"defaultExtensionViews && hasInstalledExtensions\"},{\"when\":\"recommendedExtensions && workbenchState != 'empty'\"},{\"when\":\"defaultExtensionViews && !hasInstalledExtensions\"},{\"when\":\"recommendedExtensions\"},{\"when\":\"defaultExtensionViews && !config.extensions.showRecommendationsOnlyOnDemand\"},{\"when\":\"searchMarketplaceExtensions\"},{\"when\":\"searchInstalledExtensions\"},{\"when\":\"searchEnabledExtensions\"},{\"when\":\"searchDisabledExtensions\"},{\"when\":\"searchOutdatedExtensions\"},{\"when\":\"searchBuiltInExtensions\"},{\"when\":\"builtInExtensions\"},{\"when\":\"builtInExtensions\"},{\"when\":\"builtInExtensions\"}]},{\"id\":\"workbench.view.extension.test\",\"themeIcon\":{\"id\":\"test-view-icon\"},\"name\":\"Test\",\"isBuiltin\":true,\"views\":[{\"when\":\"testing.providerCount > 0\"}]},{\"id\":\"workbench.view.extension.references-view\",\"themeIcon\":{\"id\":\"references\"},\"name\":\"References\",\"isBuiltin\":false,\"views\":[{\"when\":\"reference-list.isActive\"}]}]"],["recently.opened","{\"workspaces3\":[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno\",\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social\"],\"files2\":[]}"],["workbench.view.debug.state.hidden","[{\"id\":\"workbench.debug.welcome\",\"isHidden\":false},{\"id\":\"workbench.debug.variablesView\",\"isHidden\":false},{\"id\":\"workbench.debug.watchExpressionsView\",\"isHidden\":false},{\"id\":\"workbench.debug.callStackView\",\"isHidden\":false},{\"id\":\"workbench.debug.loadedScriptsView\",\"isHidden\":false},{\"id\":\"workbench.debug.breakPointsView\",\"isHidden\":false}]"],["releaseNotes/lastVersion","1.53.2"],["csLastUpdateNotification","1617537938194"],["extensions.ignoredAutoUpdateExtension","[]"],["memento/customEditors","{\"editors\":[{\"id\":\"imagePreview.previewEditor\",\"displayName\":\"Image Preview\",\"providerDisplayName\":\"Built-in\",\"priority\":\"builtin\",\"selector\":[{\"filenamePattern\":\"*.{jpg,jpe,jpeg,png,bmp,gif,ico,webp,avif}\"}]},{\"id\":\"vscode.markdown.preview.editor\",\"displayName\":\"Markdown Preview (Experimental)\",\"providerDisplayName\":\"Built-in\",\"priority\":\"option\",\"selector\":[{\"filenamePattern\":\"*.md\"}]},{\"id\":\"jsProfileVisualizer.cpuprofile.table\",\"displayName\":\"CPU Profile Table Visualizer\",\"providerDisplayName\":\"Built-in\",\"priority\":\"default\",\"selector\":[{\"filenamePattern\":\"*.cpuprofile\"}]}]}"],["workbench.panel.pinnedPanels","[{\"id\":\"workbench.panel.markers\",\"name\":\"Problems\",\"pinned\":true,\"order\":0,\"visible\":true},{\"id\":\"workbench.panel.output\",\"name\":\"Output\",\"pinned\":true,\"order\":1,\"visible\":true},{\"id\":\"workbench.panel.repl\",\"name\":\"Debug Console\",\"pinned\":true,\"order\":2,\"visible\":true},{\"id\":\"terminal\",\"name\":\"Terminal\",\"pinned\":true,\"order\":3,\"visible\":true},{\"id\":\"refactorPreview\",\"name\":\"Refactor Preview\",\"pinned\":true,\"visible\":false}]"],["memento/notebookEditors","{\"editors\":[]}"],["productIconThemeData","{\"id\":\"\",\"label\":\"Default\",\"settingsId\":\"Default\",\"watch\":false}"],["colorThemeData","{\"id\":\"vs-dark vscode-theme-defaults-themes-dark_plus-json\",\"label\":\"Dark+ (default dark)\",\"settingsId\":\"Default Dark+\",\"themeTokenColors\":[{\"settings\":{\"foreground\":\"#D4D4D4\"},\"scope\":[\"meta.embedded\",\"source.groovy.embedded\"]},{\"settings\":{\"fontStyle\":\"italic\"},\"scope\":\"emphasis\"},{\"settings\":{\"fontStyle\":\"bold\"},\"scope\":\"strong\"},{\"settings\":{\"foreground\":\"#000080\"},\"scope\":\"header\"},{\"settings\":{\"foreground\":\"#6A9955\"},\"scope\":\"comment\"},{\"settings\":{\"foreground\":\"#569cd6\"},\"scope\":\"constant.language\"},{\"settings\":{\"foreground\":\"#b5cea8\"},\"scope\":[\"constant.numeric\",\"variable.other.enummember\",\"keyword.operator.plus.exponent\",\"keyword.operator.minus.exponent\"]},{\"settings\":{\"foreground\":\"#646695\"},\"scope\":\"constant.regexp\"},{\"settings\":{\"foreground\":\"#569cd6\"},\"scope\":\"entity.name.tag\"},{\"settings\":{\"foreground\":\"#d7ba7d\"},\"scope\":\"entity.name.tag.css\"},{\"settings\":{\"foreground\":\"#9cdcfe\"},\"scope\":\"entity.other.attribute-name\"},{\"settings\":{\"foreground\":\"#d7ba7d\"},\"scope\":[\"entity.other.attribute-name.class.css\",\"entity.other.attribute-name.class.mixin.css\",\"entity.other.attribute-name.id.css\",\"entity.other.attribute-name.parent-selector.css\",\"entity.other.attribute-name.pseudo-class.css\",\"entity.other.attribute-name.pseudo-element.css\",\"source.css.less entity.other.attribute-name.id\",\"entity.other.attribute-name.scss\"]},{\"settings\":{\"foreground\":\"#f44747\"},\"scope\":\"invalid\"},{\"settings\":{\"fontStyle\":\"underline\"},\"scope\":\"markup.underline\"},{\"settings\":{\"fontStyle\":\"bold\",\"foreground\":\"#569cd6\"},\"scope\":\"markup.bold\"},{\"settings\":{\"fontStyle\":\"bold\",\"foreground\":\"#569cd6\"},\"scope\":\"markup.heading\"},{\"settings\":{\"fontStyle\":\"italic\"},\"scope\":\"markup.italic\"},{\"settings\":{\"foreground\":\"#b5cea8\"},\"scope\":\"markup.inserted\"},{\"settings\":{\"foreground\":\"#ce9178\"},\"scope\":\"markup.deleted\"},{\"settings\":{\"foreground\":\"#569cd6\"},\"scope\":\"markup.changed\"},{\"settings\":{\"foreground\":\"#6A9955\"},\"scope\":\"punctuation.definition.quote.begin.markdown\"},{\"settings\":{\"foreground\":\"#6796e6\"},\"scope\":\"punctuation.definition.list.begin.markdown\"},{\"settings\":{\"foreground\":\"#ce9178\"},\"scope\":\"markup.inline.raw\"},{\"settings\":{\"foreground\":\"#808080\"},\"scope\":\"punctuation.definition.tag\"},{\"settings\":{\"foreground\":\"#569cd6\"},\"scope\":[\"meta.preprocessor\",\"entity.name.function.preprocessor\"]},{\"settings\":{\"foreground\":\"#ce9178\"},\"scope\":\"meta.preprocessor.string\"},{\"settings\":{\"foreground\":\"#b5cea8\"},\"scope\":\"meta.preprocessor.numeric\"},{\"settings\":{\"foreground\":\"#9cdcfe\"},\"scope\":\"meta.structure.dictionary.key.python\"},{\"settings\":{\"foreground\":\"#569cd6\"},\"scope\":\"meta.diff.header\"},{\"settings\":{\"foreground\":\"#569cd6\"},\"scope\":\"storage\"},{\"settings\":{\"foreground\":\"#569cd6\"},\"scope\":\"storage.type\"},{\"settings\":{\"foreground\":\"#569cd6\"},\"scope\":[\"storage.modifier\",\"keyword.operator.noexcept\"]},{\"settings\":{\"foreground\":\"#ce9178\"},\"scope\":[\"string\",\"meta.embedded.assembly\"]},{\"settings\":{\"foreground\":\"#ce9178\"},\"scope\":\"string.tag\"},{\"settings\":{\"foreground\":\"#ce9178\"},\"scope\":\"string.value\"},{\"settings\":{\"foreground\":\"#d16969\"},\"scope\":\"string.regexp\"},{\"settings\":{\"foreground\":\"#569cd6\"},\"scope\":[\"punctuation.definition.template-expression.begin\",\"punctuation.definition.template-expression.end\",\"punctuation.section.embedded\"]},{\"settings\":{\"foreground\":\"#d4d4d4\"},\"scope\":[\"meta.template.expression\"]},{\"settings\":{\"foreground\":\"#9cdcfe\"},\"scope\":[\"support.type.vendored.property-name\",\"support.type.property-name\",\"variable.css\",\"variable.scss\",\"variable.other.less\",\"source.coffee.embedded\"]},{\"settings\":{\"foreground\":\"#569cd6\"},\"scope\":\"keyword\"},{\"settings\":{\"foreground\":\"#569cd6\"},\"scope\":\"keyword.control\"},{\"settings\":{\"foreground\":\"#d4d4d4\"},\"scope\":\"keyword.operator\"},{\"settings\":{\"foreground\":\"#569cd6\"},\"scope\":[\"keyword.operator.new\",\"keyword.operator.expression\",\"keyword.operator.cast\",\"keyword.operator.sizeof\",\"keyword.operator.alignof\",\"keyword.operator.typeid\",\"keyword.operator.alignas\",\"keyword.operator.instanceof\",\"keyword.operator.logical.python\",\"keyword.operator.wordlike\"]},{\"settings\":{\"foreground\":\"#b5cea8\"},\"scope\":\"keyword.other.unit\"},{\"settings\":{\"foreground\":\"#569cd6\"},\"scope\":[\"punctuation.section.embedded.begin.php\",\"punctuation.section.embedded.end.php\"]},{\"settings\":{\"foreground\":\"#9cdcfe\"},\"scope\":\"support.function.git-rebase\"},{\"settings\":{\"foreground\":\"#b5cea8\"},\"scope\":\"constant.sha.git-rebase\"},{\"settings\":{\"foreground\":\"#d4d4d4\"},\"scope\":[\"storage.modifier.import.java\",\"variable.language.wildcard.java\",\"storage.modifier.package.java\"]},{\"settings\":{\"foreground\":\"#569cd6\"},\"scope\":\"variable.language\"},{\"settings\":{\"foreground\":\"#DCDCAA\"},\"scope\":[\"entity.name.function\",\"support.function\",\"support.constant.handlebars\",\"source.powershell variable.other.member\",\"entity.name.operator.custom-literal\"]},{\"settings\":{\"foreground\":\"#4EC9B0\"},\"scope\":[\"meta.return-type\",\"support.class\",\"support.type\",\"entity.name.type\",\"entity.name.namespace\",\"entity.other.attribute\",\"entity.name.scope-resolution\",\"entity.name.class\",\"storage.type.numeric.go\",\"storage.type.byte.go\",\"storage.type.boolean.go\",\"storage.type.string.go\",\"storage.type.uintptr.go\",\"storage.type.error.go\",\"storage.type.rune.go\",\"storage.type.cs\",\"storage.type.generic.cs\",\"storage.type.modifier.cs\",\"storage.type.variable.cs\",\"storage.type.annotation.java\",\"storage.type.generic.java\",\"storage.type.java\",\"storage.type.object.array.java\",\"storage.type.primitive.array.java\",\"storage.type.primitive.java\",\"storage.type.token.java\",\"storage.type.groovy\",\"storage.type.annotation.groovy\",\"storage.type.parameters.groovy\",\"storage.type.generic.groovy\",\"storage.type.object.array.groovy\",\"storage.type.primitive.array.groovy\",\"storage.type.primitive.groovy\"]},{\"settings\":{\"foreground\":\"#4EC9B0\"},\"scope\":[\"meta.type.cast.expr\",\"meta.type.new.expr\",\"support.constant.math\",\"support.constant.dom\",\"support.constant.json\",\"entity.other.inherited-class\"]},{\"settings\":{\"foreground\":\"#C586C0\"},\"scope\":[\"keyword.control\",\"source.cpp keyword.operator.new\",\"keyword.operator.delete\",\"keyword.other.using\",\"keyword.other.operator\",\"entity.name.operator\"]},{\"settings\":{\"foreground\":\"#9CDCFE\"},\"scope\":[\"variable\",\"meta.definition.variable.name\",\"support.variable\",\"entity.name.variable\"]},{\"settings\":{\"foreground\":\"#4FC1FF\"},\"scope\":[\"variable.other.constant\",\"variable.other.enummember\"]},{\"settings\":{\"foreground\":\"#9CDCFE\"},\"scope\":[\"meta.object-literal.key\"]},{\"settings\":{\"foreground\":\"#CE9178\"},\"scope\":[\"support.constant.property-value\",\"support.constant.font-name\",\"support.constant.media-type\",\"support.constant.media\",\"constant.other.color.rgb-value\",\"constant.other.rgb-value\",\"support.constant.color\"]},{\"settings\":{\"foreground\":\"#CE9178\"},\"scope\":[\"punctuation.definition.group.regexp\",\"punctuation.definition.group.assertion.regexp\",\"punctuation.definition.character-class.regexp\",\"punctuation.character.set.begin.regexp\",\"punctuation.character.set.end.regexp\",\"keyword.operator.negation.regexp\",\"support.other.parenthesis.regexp\"]},{\"settings\":{\"foreground\":\"#d16969\"},\"scope\":[\"constant.character.character-class.regexp\",\"constant.other.character-class.set.regexp\",\"constant.other.character-class.regexp\",\"constant.character.set.regexp\"]},{\"settings\":{\"foreground\":\"#DCDCAA\"},\"scope\":[\"keyword.operator.or.regexp\",\"keyword.control.anchor.regexp\"]},{\"settings\":{\"foreground\":\"#d7ba7d\"},\"scope\":\"keyword.operator.quantifier.regexp\"},{\"settings\":{\"foreground\":\"#569cd6\"},\"scope\":\"constant.character\"},{\"settings\":{\"foreground\":\"#d7ba7d\"},\"scope\":\"constant.character.escape\"},{\"settings\":{\"foreground\":\"#C8C8C8\"},\"scope\":\"entity.name.label\"}],\"semanticTokenRules\":[{\"_selector\":\"newOperator\",\"_style\":{\"_foreground\":\"#d4d4d4\",\"_bold\":null,\"_underline\":null,\"_italic\":null}},{\"_selector\":\"stringLiteral\",\"_style\":{\"_foreground\":\"#ce9178\",\"_bold\":null,\"_underline\":null,\"_italic\":null}},{\"_selector\":\"customLiteral\",\"_style\":{\"_foreground\":\"#d4d4d4\",\"_bold\":null,\"_underline\":null,\"_italic\":null}},{\"_selector\":\"numberLiteral\",\"_style\":{\"_foreground\":\"#b5cea8\",\"_bold\":null,\"_underline\":null,\"_italic\":null}},{\"_selector\":\"newOperator\",\"_style\":{\"_foreground\":\"#c586c0\",\"_bold\":null,\"_underline\":null,\"_italic\":null}},{\"_selector\":\"stringLiteral\",\"_style\":{\"_foreground\":\"#ce9178\",\"_bold\":null,\"_underline\":null,\"_italic\":null}},{\"_selector\":\"customLiteral\",\"_style\":{\"_foreground\":\"#dcdcaa\",\"_bold\":null,\"_underline\":null,\"_italic\":null}},{\"_selector\":\"numberLiteral\",\"_style\":{\"_foreground\":\"#b5cea8\",\"_bold\":null,\"_underline\":null,\"_italic\":null}}],\"extensionData\":{\"_extensionId\":\"vscode.theme-defaults\",\"_extensionIsBuiltin\":true,\"_extensionName\":\"theme-defaults\",\"_extensionPublisher\":\"vscode\"},\"themeSemanticHighlighting\":true,\"colorMap\":{\"editor.background\":\"#1e1e1e\",\"editor.foreground\":\"#d4d4d4\",\"editor.inactiveSelectionBackground\":\"#3a3d41\",\"editorIndentGuide.background\":\"#404040\",\"editorIndentGuide.activeBackground\":\"#707070\",\"editor.selectionHighlightBackground\":\"#add6ff26\",\"list.dropBackground\":\"#383b3d\",\"activityBarBadge.background\":\"#007acc\",\"sideBarTitle.foreground\":\"#bbbbbb\",\"input.placeholderForeground\":\"#a6a6a6\",\"menu.background\":\"#252526\",\"menu.foreground\":\"#cccccc\",\"statusBarItem.remoteForeground\":\"#ffffff\",\"statusBarItem.remoteBackground\":\"#16825d\",\"sideBarSectionHeader.background\":\"#00000000\",\"sideBarSectionHeader.border\":\"#cccccc33\",\"tab.lastPinnedBorder\":\"#cccccc33\"},\"watch\":false}"],["storage.serviceMachineId","d0afb42f-d989-4d6f-a818-69e5cccbe055"],["workbench.panel.repl.hidden","[{\"id\":\"workbench.panel.repl.view\",\"isHidden\":false}]"],["workbench.view.extensions.state.hidden","[{\"id\":\"workbench.views.extensions.web.installed\",\"isHidden\":false},{\"id\":\"workbench.views.extensions.remote.installed.empty\",\"isHidden\":false},{\"id\":\"workbench.views.extensions.remote.installed\",\"isHidden\":false},{\"id\":\"workbench.views.extensions.workspaceRecommendations\",\"isHidden\":false},{\"id\":\"workbench.views.extensions.popular\",\"isHidden\":false},{\"id\":\"workbench.views.extensions.otherRecommendations\",\"isHidden\":false},{\"id\":\"extensions.recommendedList\",\"isHidden\":false},{\"id\":\"workbench.views.extensions.marketplace\",\"isHidden\":false},{\"id\":\"workbench.views.extensions.searchInstalled\",\"isHidden\":false},{\"id\":\"workbench.views.extensions.searchEnabled\",\"isHidden\":false},{\"id\":\"workbench.views.extensions.searchDisabled\",\"isHidden\":false},{\"id\":\"workbench.views.extensions.searchOutdated\",\"isHidden\":false},{\"id\":\"workbench.views.extensions.searchBuiltin\",\"isHidden\":false},{\"id\":\"workbench.views.extensions.builtinFeatureExtensions\",\"isHidden\":false},{\"id\":\"workbench.views.extensions.builtinThemeExtensions\",\"isHidden\":false},{\"id\":\"workbench.views.extensions.builtinProgrammingLanguageExtensions\",\"isHidden\":false}]"],["workbench.sidebar.size","219"],["workbench.panel.size","170"],["workbench.panel.dimension","bottom"],["workbench.grid.width","1366"],["workbench.grid.height","651"],["workbench.views.extensions.remote.installed.empty","62"],["debug.actionswidgety","0"],["memento/gettingStartedService","{\"pickColorTheme\":{\"done\":true}}"],["extensionsAssistant/recommendations","{}"],["scm/input:Git:/home/pedro-isac/netuno/apps/social-netuno","[\"\"]"],["PKief.material-icon-theme","{\"material-icon-theme.version\":\"4.0.1\"}"],["expandSuggestionDocs","false"],["commandPalette.mru.cache","{\"usesLRU\":true,\"entries\":[{\"key\":\"git.sync\",\"value\":1},{\"key\":\"git.syncRebase\",\"value\":2},{\"key\":\"extension.downloadSettings\",\"value\":4},{\"key\":\"extension.otherOptions\",\"value\":5},{\"key\":\"workbench.action.openSettingsJson\",\"value\":6}]}"],["commandPalette.mru.counter","7"],["memento/workbench.editor.keybindings","{\"searchHistory\":[\"@command:git.syncRebase\"]}"],["Shan.code-settings-sync","{\"syncCounter\":3}"],["ritwickdey.LiveServer","{\"liveServer.setup.version\":\"5.6.1\"}"],["hasNotifiedOfSettingsAutosave","true"]] \ No newline at end of file +[["__$__isNewStorageMarker","false"],["__$__targetStorageMarker","{\"workbench.panel.markers.hidden\":0,\"workbench.panel.output.hidden\":0,\"terminal.hidden\":0,\"workbench.explorer.views.state.hidden\":0,\"workbench.scm.views.state.hidden\":0,\"workbench.view.search.state.hidden\":0,\"workbench.activity.pinnedViewlets2\":0,\"workbench.activity.placeholderViewlets\":1,\"recently.opened\":0,\"workbench.view.debug.state.hidden\":0,\"releaseNotes/lastVersion\":1,\"csLastUpdateNotification\":1,\"extensions.ignoredAutoUpdateExtension\":1,\"memento/customEditors\":1,\"workbench.panel.pinnedPanels\":0,\"memento/notebookEditors\":1,\"productIconThemeData\":1,\"colorThemeData\":0,\"storage.serviceMachineId\":1,\"workbench.panel.repl.hidden\":0,\"workbench.view.extensions.state.hidden\":0,\"workbench.sidebar.size\":1,\"workbench.panel.size\":1,\"workbench.panel.dimension\":1,\"workbench.grid.width\":1,\"workbench.grid.height\":1,\"workbench.views.extensions.remote.installed.empty\":1,\"debug.actionswidgety\":1,\"memento/gettingStartedService\":0,\"extensionsAssistant/recommendations\":1,\"scm/input:Git:/home/pedro-isac/netuno/apps/social-netuno\":0,\"PKief.material-icon-theme\":1,\"expandSuggestionDocs\":0,\"commandPalette.mru.cache\":0,\"commandPalette.mru.counter\":0,\"memento/workbench.editor.keybindings\":0,\"Shan.code-settings-sync\":1,\"ritwickdey.LiveServer\":1,\"hasNotifiedOfSettingsAutosave\":0,\"terminal.integrated.showTerminalConfigPrompt\":0}"],["workbench.panel.markers.hidden","[{\"id\":\"workbench.panel.markers.view\",\"isHidden\":false}]"],["workbench.panel.output.hidden","[{\"id\":\"workbench.panel.output\",\"isHidden\":false}]"],["terminal.hidden","[{\"id\":\"terminal\",\"isHidden\":false}]"],["workbench.explorer.views.state.hidden","[{\"id\":\"outline\",\"isHidden\":false},{\"id\":\"timeline\",\"isHidden\":false},{\"id\":\"workbench.explorer.openEditorsView\",\"isHidden\":true},{\"id\":\"workbench.explorer.fileView\",\"isHidden\":false},{\"id\":\"npm\",\"isHidden\":true}]"],["workbench.scm.views.state.hidden","[{\"id\":\"workbench.scm.repositories\",\"isHidden\":true},{\"id\":\"workbench.scm\",\"isHidden\":false}]"],["workbench.view.search.state.hidden","[{\"id\":\"workbench.view.search\",\"isHidden\":false}]"],["workbench.activity.pinnedViewlets2","[{\"id\":\"workbench.view.explorer\",\"pinned\":true,\"visible\":true,\"order\":0},{\"id\":\"workbench.view.search\",\"pinned\":true,\"visible\":true,\"order\":1},{\"id\":\"workbench.view.scm\",\"pinned\":true,\"visible\":true,\"order\":2},{\"id\":\"workbench.view.debug\",\"pinned\":true,\"visible\":true,\"order\":2},{\"id\":\"workbench.view.remote\",\"pinned\":true,\"visible\":false,\"order\":4},{\"id\":\"workbench.view.extensions\",\"pinned\":true,\"visible\":true,\"order\":4},{\"id\":\"workbench.view.extension.test\",\"pinned\":true,\"visible\":false,\"order\":6},{\"id\":\"workbench.view.extension.references-view\",\"pinned\":true,\"visible\":false,\"order\":7}]"],["workbench.activity.placeholderViewlets","[{\"id\":\"workbench.view.explorer\",\"themeIcon\":{\"id\":\"explorer-view-icon\"},\"name\":\"Explorer\",\"isBuiltin\":true,\"views\":[{\"when\":\"openEditorsVisible\"},{},{},{\"when\":\"timelineHasProvider\"},{}]},{\"id\":\"workbench.view.search\",\"themeIcon\":{\"id\":\"search-view-icon\"},\"name\":\"Search\",\"isBuiltin\":true,\"views\":[{}]},{\"id\":\"workbench.view.scm\",\"themeIcon\":{\"id\":\"source-control-view-icon\"},\"name\":\"Source Control\",\"isBuiltin\":true,\"views\":[{\"when\":\"scm.providerCount && scm.providerCount != '0'\"},{}]},{\"id\":\"workbench.view.debug\",\"themeIcon\":{\"id\":\"run-view-icon\"},\"name\":\"Run\",\"isBuiltin\":true,\"views\":[{\"when\":\"debugUx == 'simple'\"},{\"when\":\"debugUx == 'default'\"},{\"when\":\"debugUx == 'default'\"},{\"when\":\"debugUx == 'default'\"},{\"when\":\"loadedScriptsSupported && debugUx == 'default'\"},{\"when\":\"breakpointsExist || debugUx == 'default'\"},{\"when\":\"debugConfigurationType == 'pwa-chrome'\"}]},{\"id\":\"workbench.view.remote\",\"themeIcon\":{\"id\":\"remote-explorer-view-icon\"},\"name\":\"Remote Explorer\",\"isBuiltin\":true,\"views\":[]},{\"id\":\"workbench.view.extensions\",\"themeIcon\":{\"id\":\"extensions-view-icon\"},\"name\":\"Extensions\",\"isBuiltin\":true,\"views\":[{\"when\":\"defaultExtensionViews && hasInstalledWebExtensions\"},{\"when\":\"defaultExtensionViews && !hasInstalledExtensions\"},{\"when\":\"defaultExtensionViews && hasInstalledExtensions\"},{\"when\":\"recommendedExtensions && workbenchState != 'empty'\"},{\"when\":\"defaultExtensionViews && !hasInstalledExtensions\"},{\"when\":\"recommendedExtensions\"},{\"when\":\"defaultExtensionViews && !config.extensions.showRecommendationsOnlyOnDemand\"},{\"when\":\"searchMarketplaceExtensions\"},{\"when\":\"searchInstalledExtensions\"},{\"when\":\"searchEnabledExtensions\"},{\"when\":\"searchDisabledExtensions\"},{\"when\":\"searchOutdatedExtensions\"},{\"when\":\"searchBuiltInExtensions\"},{\"when\":\"builtInExtensions\"},{\"when\":\"builtInExtensions\"},{\"when\":\"builtInExtensions\"}]},{\"id\":\"workbench.view.extension.test\",\"themeIcon\":{\"id\":\"test-view-icon\"},\"name\":\"Test\",\"isBuiltin\":true,\"views\":[{\"when\":\"testing.providerCount > 0\"}]},{\"id\":\"workbench.view.extension.references-view\",\"themeIcon\":{\"id\":\"references\"},\"name\":\"References\",\"isBuiltin\":false,\"views\":[{\"when\":\"reference-list.isActive\"}]}]"],["recently.opened","{\"workspaces3\":[\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social-netuno\",\"vscode-remote://pedro-isac.dev.netuno.org:30788/home/pedro-isac/netuno/apps/social\"],\"files2\":[]}"],["workbench.view.debug.state.hidden","[{\"id\":\"workbench.debug.welcome\",\"isHidden\":false},{\"id\":\"workbench.debug.variablesView\",\"isHidden\":false},{\"id\":\"workbench.debug.watchExpressionsView\",\"isHidden\":false},{\"id\":\"workbench.debug.callStackView\",\"isHidden\":false},{\"id\":\"workbench.debug.loadedScriptsView\",\"isHidden\":false},{\"id\":\"workbench.debug.breakPointsView\",\"isHidden\":false}]"],["releaseNotes/lastVersion","1.53.2"],["csLastUpdateNotification","1618233045877"],["extensions.ignoredAutoUpdateExtension","[]"],["memento/customEditors","{\"editors\":[{\"id\":\"imagePreview.previewEditor\",\"displayName\":\"Image Preview\",\"providerDisplayName\":\"Built-in\",\"priority\":\"builtin\",\"selector\":[{\"filenamePattern\":\"*.{jpg,jpe,jpeg,png,bmp,gif,ico,webp,avif}\"}]},{\"id\":\"vscode.markdown.preview.editor\",\"displayName\":\"Markdown Preview (Experimental)\",\"providerDisplayName\":\"Built-in\",\"priority\":\"option\",\"selector\":[{\"filenamePattern\":\"*.md\"}]},{\"id\":\"jsProfileVisualizer.cpuprofile.table\",\"displayName\":\"CPU Profile Table Visualizer\",\"providerDisplayName\":\"Built-in\",\"priority\":\"default\",\"selector\":[{\"filenamePattern\":\"*.cpuprofile\"}]}]}"],["workbench.panel.pinnedPanels","[{\"id\":\"workbench.panel.markers\",\"name\":\"Problems\",\"pinned\":true,\"order\":0,\"visible\":true},{\"id\":\"workbench.panel.output\",\"name\":\"Output\",\"pinned\":true,\"order\":1,\"visible\":true},{\"id\":\"workbench.panel.repl\",\"name\":\"Debug Console\",\"pinned\":true,\"order\":2,\"visible\":true},{\"id\":\"terminal\",\"name\":\"Terminal\",\"pinned\":true,\"order\":3,\"visible\":true},{\"id\":\"refactorPreview\",\"name\":\"Refactor Preview\",\"pinned\":true,\"visible\":false}]"],["memento/notebookEditors","{\"editors\":[]}"],["productIconThemeData","{\"id\":\"\",\"label\":\"Default\",\"settingsId\":\"Default\",\"watch\":false}"],["colorThemeData","{\"id\":\"vs-dark vscode-theme-defaults-themes-dark_plus-json\",\"label\":\"Dark+ (default dark)\",\"settingsId\":\"Default Dark+\",\"themeTokenColors\":[{\"settings\":{\"foreground\":\"#D4D4D4\"},\"scope\":[\"meta.embedded\",\"source.groovy.embedded\"]},{\"settings\":{\"fontStyle\":\"italic\"},\"scope\":\"emphasis\"},{\"settings\":{\"fontStyle\":\"bold\"},\"scope\":\"strong\"},{\"settings\":{\"foreground\":\"#000080\"},\"scope\":\"header\"},{\"settings\":{\"foreground\":\"#6A9955\"},\"scope\":\"comment\"},{\"settings\":{\"foreground\":\"#569cd6\"},\"scope\":\"constant.language\"},{\"settings\":{\"foreground\":\"#b5cea8\"},\"scope\":[\"constant.numeric\",\"variable.other.enummember\",\"keyword.operator.plus.exponent\",\"keyword.operator.minus.exponent\"]},{\"settings\":{\"foreground\":\"#646695\"},\"scope\":\"constant.regexp\"},{\"settings\":{\"foreground\":\"#569cd6\"},\"scope\":\"entity.name.tag\"},{\"settings\":{\"foreground\":\"#d7ba7d\"},\"scope\":\"entity.name.tag.css\"},{\"settings\":{\"foreground\":\"#9cdcfe\"},\"scope\":\"entity.other.attribute-name\"},{\"settings\":{\"foreground\":\"#d7ba7d\"},\"scope\":[\"entity.other.attribute-name.class.css\",\"entity.other.attribute-name.class.mixin.css\",\"entity.other.attribute-name.id.css\",\"entity.other.attribute-name.parent-selector.css\",\"entity.other.attribute-name.pseudo-class.css\",\"entity.other.attribute-name.pseudo-element.css\",\"source.css.less entity.other.attribute-name.id\",\"entity.other.attribute-name.scss\"]},{\"settings\":{\"foreground\":\"#f44747\"},\"scope\":\"invalid\"},{\"settings\":{\"fontStyle\":\"underline\"},\"scope\":\"markup.underline\"},{\"settings\":{\"fontStyle\":\"bold\",\"foreground\":\"#569cd6\"},\"scope\":\"markup.bold\"},{\"settings\":{\"fontStyle\":\"bold\",\"foreground\":\"#569cd6\"},\"scope\":\"markup.heading\"},{\"settings\":{\"fontStyle\":\"italic\"},\"scope\":\"markup.italic\"},{\"settings\":{\"foreground\":\"#b5cea8\"},\"scope\":\"markup.inserted\"},{\"settings\":{\"foreground\":\"#ce9178\"},\"scope\":\"markup.deleted\"},{\"settings\":{\"foreground\":\"#569cd6\"},\"scope\":\"markup.changed\"},{\"settings\":{\"foreground\":\"#6A9955\"},\"scope\":\"punctuation.definition.quote.begin.markdown\"},{\"settings\":{\"foreground\":\"#6796e6\"},\"scope\":\"punctuation.definition.list.begin.markdown\"},{\"settings\":{\"foreground\":\"#ce9178\"},\"scope\":\"markup.inline.raw\"},{\"settings\":{\"foreground\":\"#808080\"},\"scope\":\"punctuation.definition.tag\"},{\"settings\":{\"foreground\":\"#569cd6\"},\"scope\":[\"meta.preprocessor\",\"entity.name.function.preprocessor\"]},{\"settings\":{\"foreground\":\"#ce9178\"},\"scope\":\"meta.preprocessor.string\"},{\"settings\":{\"foreground\":\"#b5cea8\"},\"scope\":\"meta.preprocessor.numeric\"},{\"settings\":{\"foreground\":\"#9cdcfe\"},\"scope\":\"meta.structure.dictionary.key.python\"},{\"settings\":{\"foreground\":\"#569cd6\"},\"scope\":\"meta.diff.header\"},{\"settings\":{\"foreground\":\"#569cd6\"},\"scope\":\"storage\"},{\"settings\":{\"foreground\":\"#569cd6\"},\"scope\":\"storage.type\"},{\"settings\":{\"foreground\":\"#569cd6\"},\"scope\":[\"storage.modifier\",\"keyword.operator.noexcept\"]},{\"settings\":{\"foreground\":\"#ce9178\"},\"scope\":[\"string\",\"meta.embedded.assembly\"]},{\"settings\":{\"foreground\":\"#ce9178\"},\"scope\":\"string.tag\"},{\"settings\":{\"foreground\":\"#ce9178\"},\"scope\":\"string.value\"},{\"settings\":{\"foreground\":\"#d16969\"},\"scope\":\"string.regexp\"},{\"settings\":{\"foreground\":\"#569cd6\"},\"scope\":[\"punctuation.definition.template-expression.begin\",\"punctuation.definition.template-expression.end\",\"punctuation.section.embedded\"]},{\"settings\":{\"foreground\":\"#d4d4d4\"},\"scope\":[\"meta.template.expression\"]},{\"settings\":{\"foreground\":\"#9cdcfe\"},\"scope\":[\"support.type.vendored.property-name\",\"support.type.property-name\",\"variable.css\",\"variable.scss\",\"variable.other.less\",\"source.coffee.embedded\"]},{\"settings\":{\"foreground\":\"#569cd6\"},\"scope\":\"keyword\"},{\"settings\":{\"foreground\":\"#569cd6\"},\"scope\":\"keyword.control\"},{\"settings\":{\"foreground\":\"#d4d4d4\"},\"scope\":\"keyword.operator\"},{\"settings\":{\"foreground\":\"#569cd6\"},\"scope\":[\"keyword.operator.new\",\"keyword.operator.expression\",\"keyword.operator.cast\",\"keyword.operator.sizeof\",\"keyword.operator.alignof\",\"keyword.operator.typeid\",\"keyword.operator.alignas\",\"keyword.operator.instanceof\",\"keyword.operator.logical.python\",\"keyword.operator.wordlike\"]},{\"settings\":{\"foreground\":\"#b5cea8\"},\"scope\":\"keyword.other.unit\"},{\"settings\":{\"foreground\":\"#569cd6\"},\"scope\":[\"punctuation.section.embedded.begin.php\",\"punctuation.section.embedded.end.php\"]},{\"settings\":{\"foreground\":\"#9cdcfe\"},\"scope\":\"support.function.git-rebase\"},{\"settings\":{\"foreground\":\"#b5cea8\"},\"scope\":\"constant.sha.git-rebase\"},{\"settings\":{\"foreground\":\"#d4d4d4\"},\"scope\":[\"storage.modifier.import.java\",\"variable.language.wildcard.java\",\"storage.modifier.package.java\"]},{\"settings\":{\"foreground\":\"#569cd6\"},\"scope\":\"variable.language\"},{\"settings\":{\"foreground\":\"#DCDCAA\"},\"scope\":[\"entity.name.function\",\"support.function\",\"support.constant.handlebars\",\"source.powershell variable.other.member\",\"entity.name.operator.custom-literal\"]},{\"settings\":{\"foreground\":\"#4EC9B0\"},\"scope\":[\"meta.return-type\",\"support.class\",\"support.type\",\"entity.name.type\",\"entity.name.namespace\",\"entity.other.attribute\",\"entity.name.scope-resolution\",\"entity.name.class\",\"storage.type.numeric.go\",\"storage.type.byte.go\",\"storage.type.boolean.go\",\"storage.type.string.go\",\"storage.type.uintptr.go\",\"storage.type.error.go\",\"storage.type.rune.go\",\"storage.type.cs\",\"storage.type.generic.cs\",\"storage.type.modifier.cs\",\"storage.type.variable.cs\",\"storage.type.annotation.java\",\"storage.type.generic.java\",\"storage.type.java\",\"storage.type.object.array.java\",\"storage.type.primitive.array.java\",\"storage.type.primitive.java\",\"storage.type.token.java\",\"storage.type.groovy\",\"storage.type.annotation.groovy\",\"storage.type.parameters.groovy\",\"storage.type.generic.groovy\",\"storage.type.object.array.groovy\",\"storage.type.primitive.array.groovy\",\"storage.type.primitive.groovy\"]},{\"settings\":{\"foreground\":\"#4EC9B0\"},\"scope\":[\"meta.type.cast.expr\",\"meta.type.new.expr\",\"support.constant.math\",\"support.constant.dom\",\"support.constant.json\",\"entity.other.inherited-class\"]},{\"settings\":{\"foreground\":\"#C586C0\"},\"scope\":[\"keyword.control\",\"source.cpp keyword.operator.new\",\"keyword.operator.delete\",\"keyword.other.using\",\"keyword.other.operator\",\"entity.name.operator\"]},{\"settings\":{\"foreground\":\"#9CDCFE\"},\"scope\":[\"variable\",\"meta.definition.variable.name\",\"support.variable\",\"entity.name.variable\"]},{\"settings\":{\"foreground\":\"#4FC1FF\"},\"scope\":[\"variable.other.constant\",\"variable.other.enummember\"]},{\"settings\":{\"foreground\":\"#9CDCFE\"},\"scope\":[\"meta.object-literal.key\"]},{\"settings\":{\"foreground\":\"#CE9178\"},\"scope\":[\"support.constant.property-value\",\"support.constant.font-name\",\"support.constant.media-type\",\"support.constant.media\",\"constant.other.color.rgb-value\",\"constant.other.rgb-value\",\"support.constant.color\"]},{\"settings\":{\"foreground\":\"#CE9178\"},\"scope\":[\"punctuation.definition.group.regexp\",\"punctuation.definition.group.assertion.regexp\",\"punctuation.definition.character-class.regexp\",\"punctuation.character.set.begin.regexp\",\"punctuation.character.set.end.regexp\",\"keyword.operator.negation.regexp\",\"support.other.parenthesis.regexp\"]},{\"settings\":{\"foreground\":\"#d16969\"},\"scope\":[\"constant.character.character-class.regexp\",\"constant.other.character-class.set.regexp\",\"constant.other.character-class.regexp\",\"constant.character.set.regexp\"]},{\"settings\":{\"foreground\":\"#DCDCAA\"},\"scope\":[\"keyword.operator.or.regexp\",\"keyword.control.anchor.regexp\"]},{\"settings\":{\"foreground\":\"#d7ba7d\"},\"scope\":\"keyword.operator.quantifier.regexp\"},{\"settings\":{\"foreground\":\"#569cd6\"},\"scope\":\"constant.character\"},{\"settings\":{\"foreground\":\"#d7ba7d\"},\"scope\":\"constant.character.escape\"},{\"settings\":{\"foreground\":\"#C8C8C8\"},\"scope\":\"entity.name.label\"}],\"semanticTokenRules\":[{\"_selector\":\"newOperator\",\"_style\":{\"_foreground\":\"#d4d4d4\",\"_bold\":null,\"_underline\":null,\"_italic\":null}},{\"_selector\":\"stringLiteral\",\"_style\":{\"_foreground\":\"#ce9178\",\"_bold\":null,\"_underline\":null,\"_italic\":null}},{\"_selector\":\"customLiteral\",\"_style\":{\"_foreground\":\"#d4d4d4\",\"_bold\":null,\"_underline\":null,\"_italic\":null}},{\"_selector\":\"numberLiteral\",\"_style\":{\"_foreground\":\"#b5cea8\",\"_bold\":null,\"_underline\":null,\"_italic\":null}},{\"_selector\":\"newOperator\",\"_style\":{\"_foreground\":\"#c586c0\",\"_bold\":null,\"_underline\":null,\"_italic\":null}},{\"_selector\":\"stringLiteral\",\"_style\":{\"_foreground\":\"#ce9178\",\"_bold\":null,\"_underline\":null,\"_italic\":null}},{\"_selector\":\"customLiteral\",\"_style\":{\"_foreground\":\"#dcdcaa\",\"_bold\":null,\"_underline\":null,\"_italic\":null}},{\"_selector\":\"numberLiteral\",\"_style\":{\"_foreground\":\"#b5cea8\",\"_bold\":null,\"_underline\":null,\"_italic\":null}}],\"extensionData\":{\"_extensionId\":\"vscode.theme-defaults\",\"_extensionIsBuiltin\":true,\"_extensionName\":\"theme-defaults\",\"_extensionPublisher\":\"vscode\"},\"themeSemanticHighlighting\":true,\"colorMap\":{\"editor.background\":\"#1e1e1e\",\"editor.foreground\":\"#d4d4d4\",\"editor.inactiveSelectionBackground\":\"#3a3d41\",\"editorIndentGuide.background\":\"#404040\",\"editorIndentGuide.activeBackground\":\"#707070\",\"editor.selectionHighlightBackground\":\"#add6ff26\",\"list.dropBackground\":\"#383b3d\",\"activityBarBadge.background\":\"#007acc\",\"sideBarTitle.foreground\":\"#bbbbbb\",\"input.placeholderForeground\":\"#a6a6a6\",\"menu.background\":\"#252526\",\"menu.foreground\":\"#cccccc\",\"statusBarItem.remoteForeground\":\"#ffffff\",\"statusBarItem.remoteBackground\":\"#16825d\",\"sideBarSectionHeader.background\":\"#00000000\",\"sideBarSectionHeader.border\":\"#cccccc33\",\"tab.lastPinnedBorder\":\"#cccccc33\"},\"watch\":false}"],["storage.serviceMachineId","d0afb42f-d989-4d6f-a818-69e5cccbe055"],["workbench.panel.repl.hidden","[{\"id\":\"workbench.panel.repl.view\",\"isHidden\":false}]"],["workbench.view.extensions.state.hidden","[{\"id\":\"workbench.views.extensions.web.installed\",\"isHidden\":false},{\"id\":\"workbench.views.extensions.remote.installed.empty\",\"isHidden\":false},{\"id\":\"workbench.views.extensions.remote.installed\",\"isHidden\":false},{\"id\":\"workbench.views.extensions.workspaceRecommendations\",\"isHidden\":false},{\"id\":\"workbench.views.extensions.popular\",\"isHidden\":false},{\"id\":\"workbench.views.extensions.otherRecommendations\",\"isHidden\":false},{\"id\":\"extensions.recommendedList\",\"isHidden\":false},{\"id\":\"workbench.views.extensions.marketplace\",\"isHidden\":false},{\"id\":\"workbench.views.extensions.searchInstalled\",\"isHidden\":false},{\"id\":\"workbench.views.extensions.searchEnabled\",\"isHidden\":false},{\"id\":\"workbench.views.extensions.searchDisabled\",\"isHidden\":false},{\"id\":\"workbench.views.extensions.searchOutdated\",\"isHidden\":false},{\"id\":\"workbench.views.extensions.searchBuiltin\",\"isHidden\":false},{\"id\":\"workbench.views.extensions.builtinFeatureExtensions\",\"isHidden\":false},{\"id\":\"workbench.views.extensions.builtinThemeExtensions\",\"isHidden\":false},{\"id\":\"workbench.views.extensions.builtinProgrammingLanguageExtensions\",\"isHidden\":false}]"],["workbench.sidebar.size","219"],["workbench.panel.size","299"],["workbench.panel.dimension","bottom"],["workbench.grid.width","1366"],["workbench.grid.height","651"],["workbench.views.extensions.remote.installed.empty","62"],["debug.actionswidgety","0"],["memento/gettingStartedService","{\"pickColorTheme\":{\"done\":true}}"],["extensionsAssistant/recommendations","{}"],["scm/input:Git:/home/pedro-isac/netuno/apps/social-netuno","[\"\"]"],["PKief.material-icon-theme","{\"material-icon-theme.version\":\"4.0.1\"}"],["expandSuggestionDocs","false"],["commandPalette.mru.cache","{\"usesLRU\":true,\"entries\":[{\"key\":\"git.sync\",\"value\":1},{\"key\":\"git.syncRebase\",\"value\":2},{\"key\":\"extension.downloadSettings\",\"value\":4},{\"key\":\"extension.otherOptions\",\"value\":5},{\"key\":\"workbench.action.openSettingsJson\",\"value\":6}]}"],["commandPalette.mru.counter","7"],["memento/workbench.editor.keybindings","{\"searchHistory\":[\"@command:git.syncRebase\"]}"],["Shan.code-settings-sync","{\"syncCounter\":3}"],["ritwickdey.LiveServer","{\"liveServer.setup.version\":\"5.6.1\"}"],["hasNotifiedOfSettingsAutosave","true"],["terminal.integrated.showTerminalConfigPrompt","false"]] \ No newline at end of file diff --git a/config/_development.json b/config/_development.json index c7b5a3d..a9fde77 100644 --- a/config/_development.json +++ b/config/_development.json @@ -36,7 +36,18 @@ "cors": [ { "enabled": true, - "origins": [ "http://pedro-isac.dev.netuno.org:30730", "http://localhost:3000", "http://127.0.0.1:3000" ] + "origins": [ + "http://pedro-isac.dev.netuno.org:30730", + "http://localhost:3000", + "http://127.0.0.1:3000" + ] } - ] + ], + "jwt": { + "enabled": true, + "secret": "H~s]6Ptb3mS6#Y~L", + "access_expires": 60, + "refresh_expires": 1440, + "algorithm": "HS512" + } } \ No newline at end of file diff --git a/dbs/social.mv.db b/dbs/social.mv.db index c537da5a9bc5bedf004a2f4b6c717dba91a927d2..a14f576a9e40e94e5eb49356be1944b468bea5ea 100644 GIT binary patch delta 7776 zcmdT}33MApn%33663bSs#CGDul42Vtk)1xJZV$niY*~&DAF_22Vp`oTN3vwuI&9e- z3W0$T5?(@+a12Aj5fYANk|(muEJp$fGh`tl%mNF6&B4yTVc2=V0Q+7B7TD^REh}MW z-h<5Bc`HA6)n8Tp|9}1U{eM^ewQ-|j;~qtAR}-rDg(A#IlRs1T2d23u1cqTfvmr4$ z(nJ$DvZJ?k_oE~7JgH=bKlIz4W|Lq6FvgpDGVyRrTUMv@wGW`pGex^eBEvkenAq28OG&BY6kV+(_cRcf< zoIkv$A$_~{>QcoopOjbd=bk{)m1sa(M5+{ur5a5!FXzV^mh+_sDE$mJE-NBHyB4(n zA=AE|%uBls8oAV%o}$h{&_DiGULoOCPgbNSnlBVciFBmvxJ-)i)Y^ZLZF(a8(c1WY z*|sz3_3md%^NRiFyX1@bia>4tW+`;L6xx#R4xG%BYl|(s>YA$jL@Yr^0}+1BNclWn zy>5maO0SDf$as4K7j@Yt)o6>y!1$$n%le{pI?*oAD-Hcejl7copX62fd!^80QfObA zoVpc~!u*@pRP$$UERi8_`jZ=v=7DZ7m3tImidB4zH!pqF*uP5oBSZOF+24(q=RGEf zXyLWX>y~30hh5V%&}Ox?H|oZ?SS&&V%>t}$1u)A#siw9#!jF?`ffxUIe1L!Yr^l<` zI|?a^C4EpSv=VB9u7s|FOi(9eg?gYqXb^Jqciy_1f9=+`l(Ik(k{**SQdB_4WGy1K zMNzIWL0c3VYQL-kQ2Voel^69b&h!Du)V}-}B+X!@@C@Z3%_~;|Yh0&mwOSpnp@II6z9Fl_Z0<1e()-CgbDv|Nr=NdlYXyJc-m;Wl zmuVQXIZPe8rt5Sp=cf~)xUNY@heFqLNhXwFx$7gNp(&kS7oQsAKu>#@!_wXX=m|QM z5E{Tx-3@x3Aglieaa#IUS1E9|$3KW$LQCY=U^WZdV9vGe}bH^Zb%GE2p2s_N3L5I^D zcC;e_yUT`KoqZv%(-L<$dz0P(5(G*GJuVC4b#{jBu8x4ex3R2`bV zZQVh8B-+aLyFC+Br@`aG4Ux63q_e>@X6u<=+t%mxu?BO5w)8iUqodKdb&8xGOcA{_ zX(qdZECEl&2E0SVO6h*tWg)^7WF|eReZ+3|fYoP1_I_YrXWIsV2-xoIjoV$lu)}4; z?5@6`Jr!&l5e)2gZSa8dpMd%#?VN#YkaUXY~kRsp6R|RvpFjDrvIeoaQfpM=ra8$b-51oclg^5@j($C^91ark3y5s(d zge&S=Yg~&?O?FUL+Km_-@&5Lp#p9adKT7 zD1&u$gJUAp9-Im`n6M#RPo$yW*fCCz4Mhi0i=)G0o@yU6V$)X3+GxyW7$O{8Xwci+ z%U}^C*^_SmLM_?BcX_N<|{ZMfvUbmGh$y5UZ;E; zLnpM_d0TfjKk~>e^_x#D)wZ@Mp&pKnMwALmjAoR|0C=_xhv`75k%@%0HLBuz^;Y8X z1-~6%dtl%EzCz1;o%I!Xoq0S$u)$&S*_CV2> zy@xx_cGT6(+qSd$-rsCqc;sMXouEmai^aLwqC})}bg2V2V09Y)wFg&ASMy&#h!p-@ zcY{hUK~S8>cVClI71gMdTYvU!g}Pnx&x`EO(|2s!r7WJcss>Ca5!SSpN;1|}N=m^W z_`waa9l)w8nFa;_82HD*KcSM<7*(=bs6ZvF1E$XYDgTR6XwGBPBB zkl=K~`h5nRGQdWbC0NW)GDZW6!8plK3~azy0z(;wA{c^WjWkJ-v;p@EQ;{ea#bS*j zLt*9kb&nRMgn6mv*QhU;DqjEWpE_>Ya^?7kf!{qeafu#@;Xqg3>gC8!3`Od`8lUuzm_hd^5HXp_jS{!5KB`)Ll>Qx^U=K`-gW|AN#|T>#M!W zc_O?t;^0JiXfMY$BaGf=BmAHYE^}bHR@aL zJ+g7hXWc!U22!6iRX%ekaN0X|HgEdxr=$m7HE37X@LL~RW>j3IUU@rn?9)RXt6#_` z0^eT!mM-JmdqI5o=uwSUe?{pv*JaO>;Plp{!*zPT_35ARZyqc&G^62O-W6)o!TZce?s{k`rx@2S83 zi*1PxPbNz222tYFDYaI=qIBpIh6Zpf8I6R6Q;E2kfQ&_aQ7*TQr=MOzT@p`pHvofc ziXGK6mR?y^BwBi9%j*^OV2uQ0OZegssw?>B;~jkc3l`|B`M;{J=g&WPNG=xYe||gkRY^kg7dX|3oN6`7L)uwRpKlR4 zt*Usv@(Pt~m8jW$%8<5_Prew1RI-)OnjPayp)U*fYp>wv9kv(i1-Ja0=s$$ zptN4#xdJi>j~3qeQs<71iqykJ_br!!h$vANYSr?sKI!fgEq5LK{8`7nrCU$cm45Tx zci)wmdbTKLYJK}zJGuDkv}b(cjwOL&p_+OV`Z(XLY>5->Oz?$}6gL z{Kx0omMSVL8zj||A~8wW2vTbFT$ST3=a-`eAY0dnpa?u$LGr{FEK}f_W}GBuD+Yf0 z{Km@UY}yf{XA+Y$i9!CQ*OpuhvVW+U{qwViZ1RuECjU56NdEc!;G2|9{vjYw$>t{i z=#A2>3~ojSf{58iOb}uPLU2(C%CWG1luO1z)^R4&=*!CT3$kFNkHqI>p%@1A%SkkH z{O;FjlXjE_iO4wZ3vrF$)2L^n93AHdXY!F0$1<4_fl-!AHiEVOGb8RgQN`c%*0MTa zYA!Q6G0H})k>N)4lF`D5^w<|Q(gLvW+q7i2M9p`d+@3yn@?)VzvAFssiH863)YIuF z-uyQi|Hxb0p}qbZNjXox{jdzf`4exy1}VV0A^g4X=%Ibrel4j;AAiRsC1Q9S_ zbedS80QM$?2l$G~m(XV=I)3fxN_C--(G>xdtsy*n8ZO8eJ5Y?j`?Q_^uhVR5HtCD7 z978IzIbg(ZWav2(MSTc9M4%w%NSZ=FG)i+c znM3*rBKKt$3Z5+x0Dqrtug&Lw@w zMZFA_(+m8SWab6~!G1hP4?oz?&gp^paq1$Hz$p6Qcu;YdCT|tM{oGwbjt~0ht}R%S zB?-!i@CVNh_{1BH*}D(n?g6>@g2BMdI{$2>L1&$x0CpCBK=mBwC(w%m4K9djvIy4; zoA(CAxZBerk#xV4iMKy8?yC3Pcv0N-XX7poUq;+b-I$Gub4L6>ypUNuIV&HBXX8F6 z#$-f@$?ZaT5Mwe9RwZ-kld~G)Vtju!3^}0~Sm*B;itp;JN&9M-79rVLA~Unhy_d?p zVWT-ehY}g6G61Tx*K`QD6Z>meMZRwx@k8}J>oCS#>!1Lu)C^Vw8LV!+Y^*NX6a7nA zMgAXSwKD4~V8Jd5AOcj^W}*5w2q1q)$nrPEm!+B7svOMbU~n$J0%T^dg^e&l5q=h6 G$??BZx@(01 delta 3805 zcmd59TX59YRj<1?YrJb4v#h}n?fQWMVM|)=t|St00TWEXF;GGVTtKVU#*2+@Y~xTK zHJOm|#<({#kPt{n2WUE;4z3b^gr=pFmT?j=k4|Wtp|nuIG%&n6leW_d>6KRAmD|vd zWTsR7oO^W6x#!$-?s?oTZ&F*fP^EKao{2QIsEx9gfQ#cBG?`;rmQfqlH8;wVC`Nip z%RB~TVoh3y+Mu<`f)tAJ;c%c&dD}hVYf0)#)=_sC+Eudj^GuW0EUQdYyi;4Ctd}(< zz?w*%^1RkA2g1x6rB#lJQ3MfHi?K{=f+8_(EiD}~AL4ld8O|$`z($yk_!>9xfS4*@W=`;{6k|JT)oMShxCn`K5#(#`=`gf`Y1|`!WMxnFd6Vb22X(L zU^bWo!M4iuZpuY@K{o{}w#}7Myc)l}2S#D8bfO90O6Gz&<_a+Z-dyz&W58^4b(O#t zS&J+n!zJ4pz?4Ci)sI623GCeGip)woa#l@wX>?>g}oCev}*0`Ey_x@WzD+gcvOjM zvh^n(h3t;XqW`3)SXUyR!+Q$Af^|(Dad>|xW3B4CpVfc2`;o(e&OGJL26*7$B;wA; z`UeMR;Kbb8RN=GnbPjcn3X(2yRX!hvBos2{)fdR-%aV~->M}H zbD}rP;fu#B@p9OAoJ(&Q8ptLvj)%98e6~oc)tm2hWYrQyg(WCuYV;TTzi^i$L7MC? zvINU6>@)?-KA-O`LE9U$7$ob9ym0NMYWV&@4Y)@Bw5SATeE4q9+VWDG%AqaMiJ^~7 z(TU4<+eE2f(l${5=#;4AAHHGH*PRK`Q)dj(DG9BP)jlu0_;Fj$+I(;=t-)6U8_(3j zfivC3blQBsC0dTpGeyhGMjN7jFxD_wEP|WQ?gQ7vzxqpH&R`RKX|OoG90aq8NgxE@ zADlx@lLlb#InjAgI({yLM4k@7d*}8Bkg!|6REL|cMTmj^e&Go8)*>4^D9iB1`H$Q< zD?c0>O<{aM2x8fz;m)IT2?Rbl`ji2Rj?FPZ!?D>$q|ZO$hx&yg~@ORU01BKF=Qd@rFl6PYPmiaB(;fPQutiN~pGkmhISwStZLy0tL$U6d~wrNU-_N>(jMV^%~jGE2(Fdyu_ z@{@!x>aY5;KmL~3e}%*gDdQB7yS5MXFy)vBp1$@LeBsYOhw^m>yjS@U%hMaLFU4^I zzH?)-8>uCER=_ZPz$atlVb0BE`o^2%aCl_M1AjIYEG5z27)E@CiZ6|&87;elV=c&8 zkcaFo7B<|f9hGh}piN=_t!S6k+PPSS6GYc=r{`j-G6K~EK}}M5mgiK~j)qh&g@#l~ zw4q^Mvs1%phDcGn_;5@TQaH<^K_i^pi<6`%t0Ylg3~Hi~L^(+f*sSD5w6)DFQ3~6w z6s3r0r-q_};_4bcF)wkNnmQsUMKvyk@?w-%wUpv$AjI-X6e*6`-6IA0Xv#`nLCm2P zvm!*rB&wi`9}12jht(80abuI*EEg5n5q3zN%?>UqMMj`XkW>2BE+&3JJEj=(Su$bm zLtAS0)B@oEtMUTuySHQ&;*VJTnmIsnRw^gPL}57BVpgj0sZ>+{J=M%vF{ap4ErOIx zt1%|T?FWt|>e(p_oA-)Yr@n4Ii@x^j5%o+;)idRB^=xCZo~7LLznYgj)rM^ADWD9; zMlx&K%;9l7fc%`8#%&H3zuLj9-NA~zmX+XocgaI1n>=eOw6?2YdxpefVjw88C`h&N z(Y!END%w`IVt>qxeKEQR-!S&8Upw=- z*hl^!W4}pla1TENEziQfhyI%3z<=We8ySC?U5TC#)#K1Rgwju!oOE)@yO0X3?JlUP QvcPey8VHFzirO>(0zbY>@Bjb+ diff --git a/dbs/social.trace.db b/dbs/social.trace.db index 66e436f..1e28cd9 100644 --- a/dbs/social.trace.db +++ b/dbs/social.trace.db @@ -3053,3 +3053,138 @@ select * from netuno_app where uid = 'social-netuno' [22018-198] 2021-04-09 12:10:29 jdbc[3]: exception org.h2.jdbc.JdbcSQLDataException: Data conversion error converting "social-netuno"; SQL statement: select * from netuno_app where uid = 'social-netuno' [22018-198] +2021-04-09 13:17:05 jdbc[3]: exception +org.h2.jdbc.JdbcSQLDataException: Data conversion error converting "social-netuno"; SQL statement: +select * from netuno_app where uid = 'social-netuno' [22018-198] +2021-04-10 12:56:52 jdbc[3]: exception +org.h2.jdbc.JdbcSQLDataException: Data conversion error converting "social-netuno"; SQL statement: +select * from netuno_app where uid = 'social-netuno' [22018-198] +2021-04-10 23:06:16 jdbc[3]: exception +org.h2.jdbc.JdbcSQLDataException: Data conversion error converting "social-netuno"; SQL statement: +select * from netuno_app where uid = 'social-netuno' [22018-198] +2021-04-10 23:34:34 jdbc[3]: exception +org.h2.jdbc.JdbcSQLSyntaxErrorException: Table "netuno" not found; SQL statement: +SELECT * FROM netuno [42102-198] +2021-04-10 23:34:41 jdbc[3]: exception +org.h2.jdbc.JdbcSQLSyntaxErrorException: Schema "netuno" not found; SQL statement: +SELECT * FROM netuno.user [90079-198] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:573) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:427) + at org.h2.message.DbException.get(DbException.java:205) + at org.h2.message.DbException.get(DbException.java:181) + at org.h2.command.Parser.readTableFilter(Parser.java:1866) + at org.h2.command.Parser.parseSelectSimpleFromPart(Parser.java:2643) + at org.h2.command.Parser.parseSelectSimple(Parser.java:2790) + at org.h2.command.Parser.parseSelectSub(Parser.java:2638) + at org.h2.command.Parser.parseSelectUnion(Parser.java:2471) + at org.h2.command.Parser.parseSelect(Parser.java:2442) + at org.h2.command.Parser.parsePrepared(Parser.java:815) + at org.h2.command.Parser.parse(Parser.java:789) + at org.h2.command.Parser.parse(Parser.java:761) + at org.h2.command.Parser.prepareCommand(Parser.java:684) + at org.h2.engine.Session.prepareLocal(Session.java:629) + at org.h2.engine.Session.prepareCommand(Session.java:567) + at org.h2.jdbc.JdbcConnection.prepareCommand(JdbcConnection.java:1247) + at org.h2.jdbc.JdbcStatement.executeQuery(JdbcStatement.java:78) + at org.netuno.tritao.dev.Query._main(SourceFile:37) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:566) + at org.netuno.proteu.Run.run(SourceFile:103) + at org.netuno.proteu.Run.(SourceFile:33) + at org.netuno.proteu.DynamicURL.build(SourceFile:153) + at org.netuno.proteu.Enterprise.processRequest(SourceFile:452) + at org.netuno.proteu.Enterprise.service(SourceFile:525) + at javax.servlet.http.HttpServlet.service(SourceFile:791) + at org.eclipse.jetty.servlet.ServletHolder$NotAsyncServlet.service(SourceFile:1402) + at org.eclipse.jetty.servlet.ServletHolder.handle(SourceFile:763) + at org.eclipse.jetty.servlet.ServletHandler.doHandle(SourceFile:551) + at org.eclipse.jetty.server.handler.ScopedHandler.handle(SourceFile:143) + at org.eclipse.jetty.security.SecurityHandler.handle(SourceFile:602) + at org.eclipse.jetty.server.handler.HandlerWrapper.handle(SourceFile:127) + at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(SourceFile:235) + at org.eclipse.jetty.server.session.SessionHandler.doHandle(SourceFile:1610) + at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(SourceFile:233) + at org.eclipse.jetty.server.handler.ContextHandler.doHandle(SourceFile:1369) + at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(SourceFile:188) + at org.eclipse.jetty.servlet.ServletHandler.doScope(SourceFile:489) + at org.eclipse.jetty.server.session.SessionHandler.doScope(SourceFile:1580) + at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(SourceFile:186) + at org.eclipse.jetty.server.handler.ContextHandler.doScope(SourceFile:1284) + at org.eclipse.jetty.server.handler.ScopedHandler.handle(SourceFile:141) + at org.eclipse.jetty.server.handler.HandlerList.handle(SourceFile:59) + at org.eclipse.jetty.server.handler.HandlerWrapper.handle(SourceFile:127) + at org.eclipse.jetty.server.Server.handle(SourceFile:501) + at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(SourceFile:383) + at org.eclipse.jetty.server.HttpChannel.dispatch(SourceFile:556) + at org.eclipse.jetty.server.HttpChannel.handle(SourceFile:375) + at org.eclipse.jetty.server.HttpConnection.onFillable(SourceFile:272) + at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(SourceFile:311) + at org.eclipse.jetty.io.FillInterest.fillable(SourceFile:103) + at org.eclipse.jetty.io.ChannelEndPoint$1.run(SourceFile:104) + at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(SourceFile:336) + at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(SourceFile:313) + at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(SourceFile:171) + at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(SourceFile:129) + at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(SourceFile:375) + at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(SourceFile:806) + at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(SourceFile:938) + at java.base/java.lang.Thread.run(Thread.java:834) +2021-04-10 23:42:55 jdbc[3]: exception +org.h2.jdbc.JdbcSQLDataException: Data conversion error converting "social-netuno"; SQL statement: +select * from netuno_app where uid = 'social-netuno' [22018-198] +2021-04-10 23:55:00 jdbc[3]: exception +org.h2.jdbc.JdbcSQLDataException: Data conversion error converting "social-netuno"; SQL statement: +select * from netuno_app where uid = 'social-netuno' [22018-198] +2021-04-10 23:55:17 jdbc[3]: exception +org.h2.jdbc.JdbcSQLDataException: Data conversion error converting "social-netuno"; SQL statement: +select * from netuno_app where uid = 'social-netuno' [22018-198] +2021-04-11 00:10:03 jdbc[3]: exception +org.h2.jdbc.JdbcSQLDataException: Data conversion error converting "social-netuno"; SQL statement: +select * from netuno_app where uid = 'social-netuno' [22018-198] +2021-04-11 00:10:39 jdbc[3]: exception +org.h2.jdbc.JdbcSQLDataException: Data conversion error converting "social-netuno"; SQL statement: +select * from netuno_app where uid = 'social-netuno' [22018-198] +2021-04-11 00:11:10 jdbc[3]: exception +org.h2.jdbc.JdbcSQLDataException: Data conversion error converting "social-netuno"; SQL statement: +select * from netuno_app where uid = 'social-netuno' [22018-198] +2021-04-11 00:11:20 jdbc[3]: exception +org.h2.jdbc.JdbcSQLDataException: Data conversion error converting "social-netuno"; SQL statement: +select * from netuno_app where uid = 'social-netuno' [22018-198] +2021-04-11 00:26:37 jdbc[3]: exception +org.h2.jdbc.JdbcSQLDataException: Data conversion error converting "social-netuno"; SQL statement: +select * from netuno_app where uid = 'social-netuno' [22018-198] +2021-04-11 00:39:12 jdbc[3]: exception +org.h2.jdbc.JdbcSQLDataException: Data conversion error converting "social-netuno"; SQL statement: +select * from netuno_app where uid = 'social-netuno' [22018-198] +2021-04-11 00:39:31 jdbc[3]: exception +org.h2.jdbc.JdbcSQLDataException: Data conversion error converting "social-netuno"; SQL statement: +select * from netuno_app where uid = 'social-netuno' [22018-198] +2021-04-11 00:55:34 jdbc[3]: exception +org.h2.jdbc.JdbcSQLDataException: Data conversion error converting "social-netuno"; SQL statement: +select * from netuno_app where uid = 'social-netuno' [22018-198] +2021-04-12 13:10:18 jdbc[3]: exception +org.h2.jdbc.JdbcSQLDataException: Data conversion error converting "social-netuno"; SQL statement: +select * from netuno_app where uid = 'social-netuno' [22018-198] +2021-04-12 13:28:37 jdbc[3]: exception +org.h2.jdbc.JdbcSQLDataException: Data conversion error converting "social-netuno"; SQL statement: +select * from netuno_app where uid = 'social-netuno' [22018-198] +2021-04-12 22:53:31 jdbc[3]: exception +org.h2.jdbc.JdbcSQLDataException: Data conversion error converting "social-netuno"; SQL statement: +select * from netuno_app where uid = 'social-netuno' [22018-198] +2021-04-12 23:05:59 jdbc[3]: exception +org.h2.jdbc.JdbcSQLSyntaxErrorException: Table "netuno_grupo" not found; SQL statement: +SELECT * FROM netuno_grupo [42102-198] +2021-04-12 23:10:07 jdbc[3]: exception +org.h2.jdbc.JdbcSQLDataException: Data conversion error converting "social-netuno"; SQL statement: +select * from netuno_app where uid = 'social-netuno' [22018-198] +2021-04-12 23:16:13 jdbc[3]: exception +org.h2.jdbc.JdbcSQLDataException: Data conversion error converting "social-netuno"; SQL statement: +select * from netuno_app where uid = 'social-netuno' [22018-198] +2021-04-13 12:09:25 jdbc[3]: exception +org.h2.jdbc.JdbcSQLDataException: Data conversion error converting "social-netuno"; SQL statement: +select * from netuno_app where uid = 'social-netuno' [22018-198] +2021-04-13 12:30:42 jdbc[3]: exception +org.h2.jdbc.JdbcSQLDataException: Data conversion error converting "social-netuno"; SQL statement: +select * from netuno_app where uid = 'social-netuno' [22018-198] diff --git a/extensions/.obsolete b/extensions/.obsolete deleted file mode 100644 index 7211b24..0000000 --- a/extensions/.obsolete +++ /dev/null @@ -1 +0,0 @@ -{"dracula-theme.theme-dracula-2.22.3":true,"fisheva.eva-theme-1.1.4":true,"esbenp.prettier-vscode-6.3.1":true} \ No newline at end of file diff --git a/extensions/digitalbrainstem.javascript-ejs-support-1.3.1/.editorconfig b/extensions/digitalbrainstem.javascript-ejs-support-1.3.1/.editorconfig deleted file mode 100644 index f616457..0000000 --- a/extensions/digitalbrainstem.javascript-ejs-support-1.3.1/.editorconfig +++ /dev/null @@ -1,6 +0,0 @@ -root = true - -[*] -indent_style = tab -insert_final_newline = true -trim_trailing_whitespace = true diff --git a/extensions/digitalbrainstem.javascript-ejs-support-1.3.1/.github/ISSUE_TEMPLATE/bug_report.md b/extensions/digitalbrainstem.javascript-ejs-support-1.3.1/.github/ISSUE_TEMPLATE/bug_report.md deleted file mode 100644 index 87f73ec..0000000 --- a/extensions/digitalbrainstem.javascript-ejs-support-1.3.1/.github/ISSUE_TEMPLATE/bug_report.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -name: Bug report -about: Create a report of a bug -title: '' -labels: bug -assignees: '' - ---- - -## Steps to reproduce: - -
-📝 Note: Remember to link to a repository or upload a code snippet that reproduces the issue as an attachment (or a code block if it’s short) to this issue: https://help.github.com/en/articles/file-attachments-on-issues-and-pull-requests -
- -```ejs -<%# short code snippet that reproduces the issue goes here %> -``` - -## Expected result: diff --git a/extensions/digitalbrainstem.javascript-ejs-support-1.3.1/.prettierrc b/extensions/digitalbrainstem.javascript-ejs-support-1.3.1/.prettierrc deleted file mode 100644 index c959087..0000000 --- a/extensions/digitalbrainstem.javascript-ejs-support-1.3.1/.prettierrc +++ /dev/null @@ -1,3 +0,0 @@ -{ - "useTabs": true -} diff --git a/extensions/digitalbrainstem.javascript-ejs-support-1.3.1/.vsixmanifest b/extensions/digitalbrainstem.javascript-ejs-support-1.3.1/.vsixmanifest deleted file mode 100644 index ee33bc7..0000000 --- a/extensions/digitalbrainstem.javascript-ejs-support-1.3.1/.vsixmanifest +++ /dev/null @@ -1,32 +0,0 @@ - - - - - EJS language support - 2019 - EJS language support for Visual Studio Code. - EJS,embedded javascript,syntax highlighting,vscode - Programming Languages - Public - - - - - - - - - - - - - extension/assets/icon.png - - - - - - - - - - diff --git a/extensions/digitalbrainstem.javascript-ejs-support-1.3.1/CHANGELOG.md b/extensions/digitalbrainstem.javascript-ejs-support-1.3.1/CHANGELOG.md deleted file mode 100644 index 5d6e8b1..0000000 --- a/extensions/digitalbrainstem.javascript-ejs-support-1.3.1/CHANGELOG.md +++ /dev/null @@ -1,190 +0,0 @@ -# CHANGE LOG # - -## 1.3.1 ## - -- Fix single lines with mutliple ejs tags. -- Before: script would not capture inner tag causing " to be js not html. - -```html - - -``` - -## 1.3.0 ## - -- Change ejs tag type so they stand out in html code. -- Note: Will only show difference in some themes. -- Add php blocking regex so valid php does not get triggered. -- EJS tags inside of block comments will show as regular ejs tags now. - -```html -<% /* %> <-- Will be colored correctly -Anything here will be commented out ---> <% */ %> -``` - -## 1.2.1 ## - -- Add support for comment sections -- Thanks to [@illz](https://github.com/illz) for verfication. - -```html -<% /* %> -Anything here will be commented out -<% */ %> -``` - -## 1.2.0 ## - -- Add Snippet support -- Thanks to [@theranbrig](https://github.com/theranbrig) for initial snippet support. -- If snippets are not working add the following to your setting.json file - -```json - "emmet.includeLanguages": { - "ejs": "html", - }, -``` - -## 1.1.5 ## - -- Fixed Block comment on line with ejs control variable -- Add support for ejs litteral `<%%` - -## 1.1.4 ## - -- Add support for conditional loops -- ReWrite to allow better html injection. - -## 1.1.3 ## - -- Prevent running under PHP. - -## 1.1.2 ## - -- Fixed support for JavaScript loops within EJS. - -## 1.1.1 ## - -- Fixed support for JavaScript comments using ctrl+/ and ctrl+shift+/ at EJS boundaries. - -## 1.1.0 ## - -- Added support for javascript comments using ctrl+/ - - -## 1.0.0 ## - -### Major UPDATE ### - -#### NOTICE: If you are not seeing any style, set your file associations for "*.ejs" to html #### - -##### file association ##### - -- Located in setting.json -- Should look like the following - -```json - { - "files.associations": { - "*.ejs": "html" - } - } -``` - -#### Updates #### - -- Major bump -- Changing to an injected language. -- Injecting into "text.html" -- Setting configurationDefaults for file.association for ejs to html. -- Rewrite of ejs.json -- Created ejs-tag. - -## Unpublished 0.5.1 ## - -- Fixed surrounding a selection with JavaScript template literals. -- Fixed language configuration within EJS blocks inside JavaScript code blocks. - -## 0.5.0 ## - -- Fixed single-line JS comments not being terminated correctly by an EJS closing tag. ([#28](https://github.com/Digitalbrainstem/ejs-grammar/issues/28)) -- Fixed broken EJS inside HTML ``; - // If the inner JS formatter removes the parens, the expression might change its meaning: - // f((a + b) / 2) vs f(a + b / 2) - if (node.extra && node.extra.parenthesized && /^PRETTIER_HTML_PLACEHOLDER_\d+_\d+_IN_JS$/.test(node.name)) { - return true; - } - - return false; - } - - switch (parent.type) { - case "ParenthesizedExpression": - return false; - - case "ClassDeclaration": - case "ClassExpression": - { - // Add parens around the extends clause of a class. It is needed for almost - // all expressions. - if (name === "superClass" && (node.type === "ArrowFunctionExpression" || node.type === "AssignmentExpression" || node.type === "AwaitExpression" || node.type === "BinaryExpression" || node.type === "ConditionalExpression" || node.type === "LogicalExpression" || node.type === "NewExpression" || node.type === "ObjectExpression" || node.type === "ParenthesizedExpression" || node.type === "SequenceExpression" || node.type === "TaggedTemplateExpression" || node.type === "UnaryExpression" || node.type === "UpdateExpression" || node.type === "YieldExpression")) { - return true; - } - - break; - } - - case "ExportDefaultDeclaration": - { - return (// `export default function` or `export default class` can't be followed by - // anything after. So an expression like `export default (function(){}).toString()` - // needs to be followed by a parentheses - shouldWrapFunctionForExportDefault(path, options) || // `export default (foo, bar)` also needs parentheses - node.type === "SequenceExpression" - ); - } - - case "Decorator": - { - if (name === "expression") { - let hasCallExpression = false; - let hasMemberExpression = false; - let current = node; - - while (current) { - switch (current.type) { - case "MemberExpression": - hasMemberExpression = true; - current = current.object; - break; - - case "CallExpression": - if ( - /** @(x().y) */ - hasMemberExpression || - /** @(x().y()) */ - hasCallExpression) { - return true; - } - - hasCallExpression = true; - current = current.callee; - break; - - case "Identifier": - return false; - - default: - return true; - } - } - - return true; - } - - break; - } - - case "ExpressionStatement": - { - if (startsWithNoLookaheadToken$1(node, - /* forbidFunctionClassAndDoExpr */ - true)) { - return true; - } - - break; - } - - case "ArrowFunctionExpression": - { - if (name === "body" && node.type !== "SequenceExpression" && // these have parens added anyway - startsWithNoLookaheadToken$1(node, - /* forbidFunctionClassAndDoExpr */ - false)) { - return true; - } - - break; - } - } - - switch (node.type) { - case "SpreadElement": - case "SpreadProperty": - return name === "object" && parent.type === "MemberExpression"; - - case "UpdateExpression": - if (parent.type === "UnaryExpression") { - return node.prefix && (node.operator === "++" && parent.operator === "+" || node.operator === "--" && parent.operator === "-"); - } - - // else fallthrough - - case "UnaryExpression": - switch (parent.type) { - case "UnaryExpression": - return node.operator === parent.operator && (node.operator === "+" || node.operator === "-"); - - case "BindExpression": - return true; - - case "MemberExpression": - case "OptionalMemberExpression": - return name === "object"; - - case "TaggedTemplateExpression": - return true; - - case "NewExpression": - case "CallExpression": - case "OptionalCallExpression": - return name === "callee"; - - case "BinaryExpression": - return name === "left" && parent.operator === "**"; - - case "TSNonNullExpression": - return true; - - default: - return false; - } - - case "BinaryExpression": - { - if (parent.type === "UpdateExpression" || parent.type === "PipelineTopicExpression" && node.operator === "|>") { - return true; - } // We add parentheses to any `a in b` inside `ForStatement` initializer - // https://github.com/prettier/prettier/issues/907#issuecomment-284304321 - - - if (node.operator === "in" && isPathInForStatementInitializer(path)) { - return true; - } - - if (node.operator === "|>" && node.extra && node.extra.parenthesized) { - const grandParent = path.getParentNode(1); - - if (grandParent.type === "BinaryExpression" && grandParent.operator === "|>") { - return true; - } - } - } - // fallthrough - - case "TSTypeAssertion": - case "TSAsExpression": - case "LogicalExpression": - switch (parent.type) { - case "ConditionalExpression": - return node.type === "TSAsExpression"; - - case "CallExpression": - case "NewExpression": - case "OptionalCallExpression": - return name === "callee"; - - case "ClassExpression": - case "ClassDeclaration": - return name === "superClass"; - - case "TSTypeAssertion": - case "TaggedTemplateExpression": - case "UnaryExpression": - case "JSXSpreadAttribute": - case "SpreadElement": - case "SpreadProperty": - case "BindExpression": - case "AwaitExpression": - case "TSAsExpression": - case "TSNonNullExpression": - case "UpdateExpression": - return true; - - case "MemberExpression": - case "OptionalMemberExpression": - return name === "object"; - - case "AssignmentExpression": - return name === "left" && (node.type === "TSTypeAssertion" || node.type === "TSAsExpression"); - - case "LogicalExpression": - if (node.type === "LogicalExpression") { - return parent.operator !== node.operator; - } - - // else fallthrough - - case "BinaryExpression": - { - const { - operator, - type - } = node; - - if (!operator && type !== "TSTypeAssertion") { - return true; - } - - const precedence = getPrecedence$1(operator); - const parentOperator = parent.operator; - const parentPrecedence = getPrecedence$1(parentOperator); - - if (parentPrecedence > precedence) { - return true; - } - - if (name === "right" && parentPrecedence === precedence) { - return true; - } - - if (parentPrecedence === precedence && !shouldFlatten$1(parentOperator, operator)) { - return true; - } - - if (parentPrecedence < precedence && operator === "%") { - return parentOperator === "+" || parentOperator === "-"; - } // Add parenthesis when working with bitwise operators - // It's not strictly needed but helps with code understanding - - - if (isBitwiseOperator$1(parentOperator)) { - return true; - } - - return false; - } - - default: - return false; - } - - case "SequenceExpression": - switch (parent.type) { - case "ReturnStatement": - return false; - - case "ForStatement": - // Although parentheses wouldn't hurt around sequence - // expressions in the head of for loops, traditional style - // dictates that e.g. i++, j++ should not be wrapped with - // parentheses. - return false; - - case "ExpressionStatement": - return name !== "expression"; - - case "ArrowFunctionExpression": - // We do need parentheses, but SequenceExpressions are handled - // specially when printing bodies of arrow functions. - return name !== "body"; - - default: - // Otherwise err on the side of overparenthesization, adding - // explicit exceptions above if this proves overzealous. - return true; - } - - case "YieldExpression": - if (parent.type === "UnaryExpression" || parent.type === "AwaitExpression" || parent.type === "TSAsExpression" || parent.type === "TSNonNullExpression") { - return true; - } - - // else fallthrough - - case "AwaitExpression": - switch (parent.type) { - case "TaggedTemplateExpression": - case "UnaryExpression": - case "LogicalExpression": - case "SpreadElement": - case "SpreadProperty": - case "TSAsExpression": - case "TSNonNullExpression": - case "BindExpression": - return true; - - case "MemberExpression": - case "OptionalMemberExpression": - return name === "object"; - - case "NewExpression": - case "CallExpression": - case "OptionalCallExpression": - return name === "callee"; - - case "ConditionalExpression": - return name === "test"; - - case "BinaryExpression": - { - if (!node.argument && parent.operator === "|>") { - return false; - } - - return true; - } - - default: - return false; - } - - case "TSJSDocFunctionType": - case "TSConditionalType": - if (name === "extendsType" && parent.type === "TSConditionalType") { - return true; - } - - // fallthrough - - case "TSFunctionType": - case "TSConstructorType": - if (name === "checkType" && parent.type === "TSConditionalType") { - return true; - } - - // fallthrough - - case "TSUnionType": - case "TSIntersectionType": - if (parent.type === "TSUnionType" || parent.type === "TSIntersectionType") { - return true; - } - - // fallthrough - - case "TSInferType": - if (node.type === "TSInferType" && parent.type === "TSRestType") { - return false; - } - - // fallthrough - - case "TSTypeOperator": - return parent.type === "TSArrayType" || parent.type === "TSOptionalType" || parent.type === "TSRestType" || name === "objectType" && parent.type === "TSIndexedAccessType" || parent.type === "TSTypeOperator" || parent.type === "TSTypeAnnotation" && /^TSJSDoc/.test(path.getParentNode(1).type); - - case "ArrayTypeAnnotation": - return parent.type === "NullableTypeAnnotation"; - - case "IntersectionTypeAnnotation": - case "UnionTypeAnnotation": - return parent.type === "ArrayTypeAnnotation" || parent.type === "NullableTypeAnnotation" || parent.type === "IntersectionTypeAnnotation" || parent.type === "UnionTypeAnnotation"; - - case "NullableTypeAnnotation": - return parent.type === "ArrayTypeAnnotation"; - - case "FunctionTypeAnnotation": - { - const ancestor = parent.type === "NullableTypeAnnotation" ? path.getParentNode(1) : parent; - return ancestor.type === "UnionTypeAnnotation" || ancestor.type === "IntersectionTypeAnnotation" || ancestor.type === "ArrayTypeAnnotation" || // We should check ancestor's parent to know whether the parentheses - // are really needed, but since ??T doesn't make sense this check - // will almost never be true. - ancestor.type === "NullableTypeAnnotation" || // See #5283 - parent.type === "FunctionTypeParam" && parent.name === null && getFunctionParameters$2(node).some(param => param.typeAnnotation && param.typeAnnotation.type === "NullableTypeAnnotation"); - } - - case "StringLiteral": - case "NumericLiteral": - case "Literal": - if (typeof node.value === "string" && parent.type === "ExpressionStatement" && !parent.directive) { - // To avoid becoming a directive - const grandParent = path.getParentNode(1); - return grandParent.type === "Program" || grandParent.type === "BlockStatement"; - } - - return name === "object" && parent.type === "MemberExpression" && typeof node.value === "number"; - - case "AssignmentExpression": - { - const grandParent = path.getParentNode(1); - - if (name === "body" && parent.type === "ArrowFunctionExpression") { - return true; - } else if (name === "key" && (parent.type === "ClassProperty" || parent.type === "FieldDefinition") && parent.computed) { - return false; - } else if ((name === "init" || name === "update") && parent.type === "ForStatement") { - return false; - } else if (parent.type === "ExpressionStatement") { - return node.left.type === "ObjectPattern"; - } else if (name === "key" && parent.type === "TSPropertySignature") { - return false; - } else if (parent.type === "AssignmentExpression") { - return false; - } else if (parent.type === "SequenceExpression" && grandParent && grandParent.type === "ForStatement" && (grandParent.init === parent || grandParent.update === parent)) { - return false; - } else if (name === "value" && parent.type === "Property" && grandParent && grandParent.type === "ObjectPattern" && grandParent.properties.includes(parent)) { - return false; - } else if (parent.type === "NGChainedExpression") { - return false; - } - - return true; - } - - case "ConditionalExpression": - switch (parent.type) { - case "TaggedTemplateExpression": - case "UnaryExpression": - case "SpreadElement": - case "SpreadProperty": - case "BinaryExpression": - case "LogicalExpression": - case "NGPipeExpression": - case "ExportDefaultDeclaration": - case "AwaitExpression": - case "JSXSpreadAttribute": - case "TSTypeAssertion": - case "TypeCastExpression": - case "TSAsExpression": - case "TSNonNullExpression": - return true; - - case "NewExpression": - case "CallExpression": - case "OptionalCallExpression": - return name === "callee"; - - case "ConditionalExpression": - return name === "test"; - - case "MemberExpression": - case "OptionalMemberExpression": - return name === "object"; - - default: - return false; - } - - case "FunctionExpression": - switch (parent.type) { - case "NewExpression": - case "CallExpression": - case "OptionalCallExpression": - // Not always necessary, but it's clearer to the reader if IIFEs are wrapped in parentheses. - // Is necessary if it is `expression` of `ExpressionStatement`. - return name === "callee"; - - case "TaggedTemplateExpression": - return true; - // This is basically a kind of IIFE. - - default: - return false; - } - - case "ArrowFunctionExpression": - switch (parent.type) { - case "PipelineTopicExpression": - return !!(node.extra && node.extra.parenthesized); - - case "BinaryExpression": - return parent.operator !== "|>" || node.extra && node.extra.parenthesized; - - case "NewExpression": - case "CallExpression": - case "OptionalCallExpression": - return name === "callee"; - - case "MemberExpression": - case "OptionalMemberExpression": - return name === "object"; - - case "TSAsExpression": - case "BindExpression": - case "TaggedTemplateExpression": - case "UnaryExpression": - case "LogicalExpression": - case "AwaitExpression": - case "TSTypeAssertion": - return true; - - case "ConditionalExpression": - return name === "test"; - - default: - return false; - } - - case "ClassExpression": - switch (parent.type) { - case "NewExpression": - return name === "callee"; - - default: - return false; - } - - case "OptionalMemberExpression": - case "OptionalCallExpression": - { - const parentParent = path.getParentNode(1); - - if (name === "object" && parent.type === "MemberExpression" || name === "callee" && (parent.type === "CallExpression" || parent.type === "NewExpression") || parent.type === "TSNonNullExpression" && parentParent.type === "MemberExpression" && parentParent.object === parent) { - return true; - } - } - // fallthrough - - case "CallExpression": - case "MemberExpression": - case "TaggedTemplateExpression": - case "TSNonNullExpression": - if (name === "callee" && (parent.type === "BindExpression" || parent.type === "NewExpression")) { - let object = node; - - while (object) { - switch (object.type) { - case "CallExpression": - case "OptionalCallExpression": - return true; - - case "MemberExpression": - case "OptionalMemberExpression": - case "BindExpression": - object = object.object; - break; - // tagged templates are basically member expressions from a grammar perspective - // see https://tc39.github.io/ecma262/#prod-MemberExpression - - case "TaggedTemplateExpression": - object = object.tag; - break; - - case "TSNonNullExpression": - object = object.expression; - break; - - default: - return false; - } - } - } - - return false; - - case "BindExpression": - return name === "callee" && (parent.type === "BindExpression" || parent.type === "NewExpression") || name === "object" && (parent.type === "MemberExpression" || parent.type === "OptionalMemberExpression"); - - case "NGPipeExpression": - if (parent.type === "NGRoot" || parent.type === "NGMicrosyntaxExpression" || parent.type === "ObjectProperty" && // Preserve parens for compatibility with AngularJS expressions - !(node.extra && node.extra.parenthesized) || parent.type === "ArrayExpression" || (parent.type === "CallExpression" || parent.type === "OptionalCallExpression") && parent.arguments[name] === node || name === "right" && parent.type === "NGPipeExpression" || name === "property" && parent.type === "MemberExpression" || parent.type === "AssignmentExpression") { - return false; - } - - return true; - - case "JSXFragment": - case "JSXElement": - return name === "callee" || name === "left" && parent.type === "BinaryExpression" && parent.operator === "<" || parent.type !== "ArrayExpression" && parent.type !== "ArrowFunctionExpression" && parent.type !== "AssignmentExpression" && parent.type !== "AssignmentPattern" && parent.type !== "BinaryExpression" && parent.type !== "CallExpression" && parent.type !== "NewExpression" && parent.type !== "ConditionalExpression" && parent.type !== "ExpressionStatement" && parent.type !== "JsExpressionRoot" && parent.type !== "JSXAttribute" && parent.type !== "JSXElement" && parent.type !== "JSXExpressionContainer" && parent.type !== "JSXFragment" && parent.type !== "LogicalExpression" && parent.type !== "ObjectProperty" && parent.type !== "OptionalCallExpression" && parent.type !== "Property" && parent.type !== "ReturnStatement" && parent.type !== "ThrowStatement" && parent.type !== "TypeCastExpression" && parent.type !== "VariableDeclarator" && parent.type !== "YieldExpression"; - - case "TypeAnnotation": - return name === "returnType" && parent.type === "ArrowFunctionExpression" && includesFunctionTypeInObjectType(node); - } - - return false; -} - -function isStatement(node) { - return node.type === "BlockStatement" || node.type === "BreakStatement" || node.type === "ClassBody" || node.type === "ClassDeclaration" || node.type === "ClassMethod" || node.type === "ClassProperty" || node.type === "FieldDefinition" || node.type === "ClassPrivateProperty" || node.type === "ContinueStatement" || node.type === "DebuggerStatement" || node.type === "DeclareClass" || node.type === "DeclareExportAllDeclaration" || node.type === "DeclareExportDeclaration" || node.type === "DeclareFunction" || node.type === "DeclareInterface" || node.type === "DeclareModule" || node.type === "DeclareModuleExports" || node.type === "DeclareVariable" || node.type === "DoWhileStatement" || node.type === "EnumDeclaration" || node.type === "ExportAllDeclaration" || node.type === "ExportDefaultDeclaration" || node.type === "ExportNamedDeclaration" || node.type === "ExpressionStatement" || node.type === "ForInStatement" || node.type === "ForOfStatement" || node.type === "ForStatement" || node.type === "FunctionDeclaration" || node.type === "IfStatement" || node.type === "ImportDeclaration" || node.type === "InterfaceDeclaration" || node.type === "LabeledStatement" || node.type === "MethodDefinition" || node.type === "ReturnStatement" || node.type === "SwitchStatement" || node.type === "ThrowStatement" || node.type === "TryStatement" || node.type === "TSDeclareFunction" || node.type === "TSEnumDeclaration" || node.type === "TSImportEqualsDeclaration" || node.type === "TSInterfaceDeclaration" || node.type === "TSModuleDeclaration" || node.type === "TSNamespaceExportDeclaration" || node.type === "TypeAlias" || node.type === "VariableDeclaration" || node.type === "WhileStatement" || node.type === "WithStatement"; -} - -function isPathInForStatementInitializer(path) { - let i = 0; - let node = path.getValue(); - - while (node) { - const parent = path.getParentNode(i++); - - if (parent && parent.type === "ForStatement" && parent.init === node) { - return true; - } - - node = parent; - } - - return false; -} - -function includesFunctionTypeInObjectType(node) { - return hasNode$1(node, n1 => n1.type === "ObjectTypeAnnotation" && hasNode$1(n1, n2 => n2.type === "FunctionTypeAnnotation" || undefined) || undefined); -} - -function endsWithRightBracket(node) { - switch (node.type) { - case "ObjectExpression": - return true; - - default: - return false; - } -} - -function isFollowedByRightBracket(path) { - const node = path.getValue(); - const parent = path.getParentNode(); - const name = path.getName(); - - switch (parent.type) { - case "NGPipeExpression": - if (typeof name === "number" && parent.arguments[name] === node && parent.arguments.length - 1 === name) { - return path.callParent(isFollowedByRightBracket); - } - - break; - - case "ObjectProperty": - if (name === "value") { - const parentParent = path.getParentNode(1); - return parentParent.properties[parentParent.properties.length - 1] === parent; - } - - break; - - case "BinaryExpression": - case "LogicalExpression": - if (name === "right") { - return path.callParent(isFollowedByRightBracket); - } - - break; - - case "ConditionalExpression": - if (name === "alternate") { - return path.callParent(isFollowedByRightBracket); - } - - break; - - case "UnaryExpression": - if (parent.prefix) { - return path.callParent(isFollowedByRightBracket); - } - - break; - } - - return false; -} - -function shouldWrapFunctionForExportDefault(path, options) { - const node = path.getValue(); - const parent = path.getParentNode(); - - if (node.type === "FunctionExpression" || node.type === "ClassExpression") { - return parent.type === "ExportDefaultDeclaration" || // in some cases the function is already wrapped - // (e.g. `export default (function() {})();`) - // in this case we don't need to add extra parens - !needsParens(path, options); - } - - if (!hasNakedLeftSide$1(node) || parent.type !== "ExportDefaultDeclaration" && needsParens(path, options)) { - return false; - } - - return path.call(childPath => shouldWrapFunctionForExportDefault(childPath, options), ...getLeftSidePathName$1(path, node)); -} - -var needsParens_1 = needsParens; - -const { - builders: { - concat: concat$a, - join: join$4, - line: line$4, - group: group$3, - softline: softline$4, - indent: indent$7 - } -} = document; - -function printHtmlBinding(path, options, print) { - const node = path.getValue(); - - if (options.__onHtmlBindingRoot && path.getName() === null) { - options.__onHtmlBindingRoot(node, options); - } - - if (node.type !== "File") { - return; - } - - if (options.__isVueForBindingLeft) { - return path.call(functionDeclarationPath => { - const printed = join$4(concat$a([",", line$4]), functionDeclarationPath.map(print, "params")); - const { - params - } = functionDeclarationPath.getValue(); - - if (params.length === 1) { - return printed; - } - - return concat$a(["(", indent$7(concat$a([softline$4, group$3(printed)])), softline$4, ")"]); - }, "program", "body", 0); - } - - if (options.__isVueBindings) { - return path.call(functionDeclarationPath => join$4(concat$a([",", line$4]), functionDeclarationPath.map(print, "params")), "program", "body", 0); - } -} // based on https://github.com/prettier/prettier/blob/master/src/language-html/syntax-vue.js isVueEventBindingExpression() - - -function isVueEventBindingExpression(node) { - switch (node.type) { - case "MemberExpression": - switch (node.property.type) { - case "Identifier": - case "NumericLiteral": - case "StringLiteral": - return isVueEventBindingExpression(node.object); - } - - return false; - - case "Identifier": - return true; - - default: - return false; - } -} - -var htmlBinding = { - isVueEventBindingExpression, - printHtmlBinding -}; - -function preprocess(ast, options) { - switch (options.parser) { - case "json": - case "json5": - case "json-stringify": - case "__js_expression": - case "__vue_expression": - return Object.assign({}, ast, { - type: options.parser.startsWith("__") ? "JsExpressionRoot" : "JsonRoot", - node: ast, - comments: [], - rootMarker: options.rootMarker - }); - - default: - return ast; - } -} - -var printPreprocess = preprocess; - -/** @type {import("assert")} */ - - -const { - builders: { - concat: concat$b, - group: group$4, - indent: indent$8, - join: join$5, - line: line$5, - hardline: hardline$7 - } -} = document; -const { - hasNewlineBetweenOrAfterDecorators: hasNewlineBetweenOrAfterDecorators$1, - getParentExportDeclaration: getParentExportDeclaration$1 -} = utils$6; - -function printOptionalToken(path) { - const node = path.getValue(); - - if (!node.optional || // It's an optional computed method parsed by typescript-estree. - // "?" is printed in `printMethod`. - node.type === "Identifier" && node === path.getParentNode().key) { - return ""; - } - - if (node.type === "OptionalCallExpression" || node.type === "OptionalMemberExpression" && node.computed) { - return "?."; - } - - return "?"; -} - -function printFunctionTypeParameters(path, options, print) { - const fun = path.getValue(); - - if (fun.typeArguments) { - return path.call(print, "typeArguments"); - } - - if (fun.typeParameters) { - return path.call(print, "typeParameters"); - } - - return ""; -} - -function printBindExpressionCallee(path, options, print) { - return concat$b(["::", path.call(print, "callee")]); -} - -function printTypeScriptModifiers(path, options, print) { - const n = path.getValue(); - - if (!n.modifiers || !n.modifiers.length) { - return ""; - } - - return concat$b([join$5(" ", path.map(print, "modifiers")), " "]); -} - -function printDecorators(path, options, print) { - const node = path.getValue(); - return group$4(concat$b([join$5(line$5, path.map(print, "decorators")), hasNewlineBetweenOrAfterDecorators$1(node, options) ? hardline$7 : line$5])); -} - -function printFlowDeclaration(path, printed) { - const parentExportDecl = getParentExportDeclaration$1(path); - - if (parentExportDecl) { - assert__default['default'].strictEqual(parentExportDecl.type, "DeclareExportDeclaration"); - return printed; - } // If the parent node has type DeclareExportDeclaration, then it - // will be responsible for printing the "declare" token. Otherwise - // it needs to be printed with this non-exported declaration node. - - - return concat$b(["declare ", printed]); -} - -function adjustClause(node, clause, forceSpace) { - if (node.type === "EmptyStatement") { - return ";"; - } - - if (node.type === "BlockStatement" || forceSpace) { - return concat$b([" ", clause]); - } - - return indent$8(concat$b([line$5, clause])); -} - -var misc = { - printOptionalToken, - printFunctionTypeParameters, - printBindExpressionCallee, - printTypeScriptModifiers, - printDecorators, - printFlowDeclaration, - adjustClause -}; - -const { - builders: { - concat: concat$c, - softline: softline$5, - group: group$5, - indent: indent$9, - join: join$6, - line: line$6, - ifBreak: ifBreak$1, - hardline: hardline$8 - } -} = document; -const { - printDanglingComments: printDanglingComments$1 -} = comments; -const { - hasDanglingComments: hasDanglingComments$1, - shouldPrintComma: shouldPrintComma$1, - needsHardlineAfterDanglingComment: needsHardlineAfterDanglingComment$1 -} = utils$6; -const { - locStart: locStart$4, - hasSameLoc: hasSameLoc$1 -} = loc; -/** - * @typedef {import("../../document").Doc} Doc - */ - -function printImportDeclaration(path, options, print) { - const node = path.getValue(); - const semi = options.semi ? ";" : ""; - /** @type{Doc[]} */ - - const parts = []; - const { - importKind - } = node; - parts.push("import"); - - if (importKind && importKind !== "value") { - parts.push(" ", importKind); - } - - parts.push(printModuleSpecifiers(path, options, print), printModuleSource(path, options, print), printImportAssertions(path, options, print)); - parts.push(semi); - return concat$c(parts); -} - -function printExportDeclaration(path, options, print) { - const node = path.getValue(); - /** @type{Doc[]} */ - - const parts = []; - const { - type, - exportKind, - declaration - } = node; - - if (type === "DeclareExportDeclaration") { - parts.push("declare "); - } - - parts.push("export"); - const isDefaultExport = node.default || type === "ExportDefaultDeclaration"; - - if (isDefaultExport) { - parts.push(" default"); - } - - if (hasDanglingComments$1(node)) { - parts.push(" ", printDanglingComments$1(path, options, - /* sameIndent */ - true)); - - if (needsHardlineAfterDanglingComment$1(node)) { - parts.push(hardline$8); - } - } - - if (declaration) { - parts.push(" ", path.call(print, "declaration")); - } else { - parts.push(exportKind === "type" ? " type" : "", printModuleSpecifiers(path, options, print), printModuleSource(path, options, print), printImportAssertions(path, options, print)); - } - - if (shouldExportDeclarationPrintSemi(node, options)) { - parts.push(";"); - } - - return concat$c(parts); -} - -function printExportAllDeclaration(path, options, print) { - const node = path.getValue(); - let semi = options.semi ? ";" : ""; - /** @type{Doc[]} */ - - const parts = []; - const { - type, - exportKind, - exported - } = node; - - if (type === "DeclareExportAllDeclaration") { - parts.push("declare "); - semi = ""; - } - - parts.push("export"); - - if (exportKind === "type") { - parts.push(" type"); - } - - parts.push(" *"); - - if (exported) { - parts.push(" as ", path.call(print, "exported")); - } - - parts.push(printModuleSource(path, options, print), printImportAssertions(path, options, print), semi); - return concat$c(parts); -} - -function shouldExportDeclarationPrintSemi(node, options) { - if (!options.semi) { - return false; - } - - const { - type, - declaration - } = node; - const isDefaultExport = node.default || type === "ExportDefaultDeclaration"; - - if (!declaration) { - return true; - } - - const { - type: declarationType - } = declaration; - - if (isDefaultExport && declarationType !== "ClassDeclaration" && declarationType !== "FunctionDeclaration" && declarationType !== "TSInterfaceDeclaration" && declarationType !== "DeclareClass" && declarationType !== "DeclareFunction" && declarationType !== "TSDeclareFunction" && declarationType !== "EnumDeclaration") { - return true; - } - - return false; -} - -function printModuleSource(path, options, print) { - const node = path.getValue(); - - if (!node.source) { - return ""; - } - /** @type{Doc[]} */ - - - const parts = []; - - if (!shouldNotPrintSpecifiers(node, options)) { - parts.push(" from"); - } - - parts.push(" ", path.call(print, "source")); - return concat$c(parts); -} - -function printModuleSpecifiers(path, options, print) { - const node = path.getValue(); - - if (shouldNotPrintSpecifiers(node, options)) { - return ""; - } - /** @type{Doc[]} */ - - - const parts = [" "]; - - if (node.specifiers && node.specifiers.length > 0) { - const standaloneSpecifiers = []; - const groupedSpecifiers = []; - path.each(specifierPath => { - const specifierType = path.getValue().type; - - if (specifierType === "ExportNamespaceSpecifier" || specifierType === "ExportDefaultSpecifier" || specifierType === "ImportNamespaceSpecifier" || specifierType === "ImportDefaultSpecifier") { - standaloneSpecifiers.push(print(specifierPath)); - } else if (specifierType === "ExportSpecifier" || specifierType === "ImportSpecifier") { - groupedSpecifiers.push(print(specifierPath)); - } else { - /* istanbul ignore next */ - throw new Error(`Unknown specifier type ${JSON.stringify(specifierType)}`); - } - }, "specifiers"); - parts.push(join$6(", ", standaloneSpecifiers)); - - if (groupedSpecifiers.length !== 0) { - if (standaloneSpecifiers.length !== 0) { - parts.push(", "); - } - - const canBreak = groupedSpecifiers.length > 1 || standaloneSpecifiers.length > 0 || node.specifiers.some(node => node.comments); - - if (canBreak) { - parts.push(group$5(concat$c(["{", indent$9(concat$c([options.bracketSpacing ? line$6 : softline$5, join$6(concat$c([",", line$6]), groupedSpecifiers)])), ifBreak$1(shouldPrintComma$1(options) ? "," : ""), options.bracketSpacing ? line$6 : softline$5, "}"]))); - } else { - parts.push(concat$c(["{", options.bracketSpacing ? " " : "", concat$c(groupedSpecifiers), options.bracketSpacing ? " " : "", "}"])); - } - } - } else { - parts.push("{}"); - } - - return concat$c(parts); -} - -function shouldNotPrintSpecifiers(node, options) { - const { - type, - importKind, - source, - specifiers - } = node; - - if (type !== "ImportDeclaration" || Array.isArray(specifiers) && specifiers.length > 0 || importKind === "type") { - return false; - } // TODO: check tokens - - - return !/{\s*}/.test(options.originalText.slice(locStart$4(node), locStart$4(source))); -} - -function printImportAssertions(path, options, print) { - const node = path.getNode(); - - if (Array.isArray(node.assertions) && node.assertions.length !== 0) { - return concat$c([" assert {", options.bracketSpacing ? " " : "", join$6(", ", path.map(print, "assertions")), options.bracketSpacing ? " " : "", "}"]); - } - - return ""; -} - -function printModuleSpecifier(path, options, print) { - const node = path.getNode(); - const { - type, - importKind - } = node; - /** @type{Doc[]} */ - - const parts = []; - - if (type === "ImportSpecifier" && importKind) { - parts.push(importKind, " "); - } - - const isImport = type.startsWith("Import"); - const leftSideProperty = isImport ? "imported" : "local"; - const rightSideProperty = isImport ? "local" : "exported"; - let left = ""; - let right = ""; - - if (type === "ExportNamespaceSpecifier" || type === "ImportNamespaceSpecifier") { - left = "*"; - } else if (node[leftSideProperty]) { - left = path.call(print, leftSideProperty); - } - - if (node[rightSideProperty] && (!node[leftSideProperty] || // import {a as a} from '.' - !hasSameLoc$1(node[leftSideProperty], node[rightSideProperty]))) { - right = path.call(print, rightSideProperty); - } - - parts.push(left, left && right ? " as " : "", right); - return concat$c(parts); -} - -var module$3 = { - printImportDeclaration, - printExportDeclaration, - printExportAllDeclaration, - printModuleSpecifier -}; - -const { - hasNewlineInRange: hasNewlineInRange$4 -} = util; -const { - isJSXNode: isJSXNode$2, - isBlockComment: isBlockComment$4 -} = utils$6; -const { - locStart: locStart$5, - locEnd: locEnd$4 -} = loc; -const { - builders: { - concat: concat$d, - line: line$7, - softline: softline$6, - group: group$6, - indent: indent$a, - align: align$2, - ifBreak: ifBreak$2, - dedent: dedent$1, - breakParent: breakParent$2 - } -} = document; -/** - * @typedef {import("../../document").Doc} Doc - * @typedef {import("../../common/fast-path")} FastPath - * - * @typedef {any} Options - Prettier options (TBD ...) - * - * @typedef {Object} OperatorOptions - * @property {() => Array} beforeParts - Parts to print before the `?`. - * @property {(breakClosingParen: boolean) => Array} afterParts - Parts to print after the conditional expression. - * @property {boolean} shouldCheckJsx - Whether to check for and print in JSX mode. - * @property {string} conditionalNodeType - The type of the conditional expression node, ie "ConditionalExpression" or "TSConditionalType". - * @property {string} consequentNodePropertyName - The property at which the consequent node can be found on the main node, eg "consequent". - * @property {string} alternateNodePropertyName - The property at which the alternate node can be found on the main node, eg "alternate". - * @property {string[]} testNodePropertyNames - The properties at which the test nodes can be found on the main node, eg "test". - */ -// If we have nested conditional expressions, we want to print them in JSX mode -// if there's at least one JSXElement somewhere in the tree. -// -// A conditional expression chain like this should be printed in normal mode, -// because there aren't JSXElements anywhere in it: -// -// isA ? "A" : isB ? "B" : isC ? "C" : "Unknown"; -// -// But a conditional expression chain like this should be printed in JSX mode, -// because there is a JSXElement in the last ConditionalExpression: -// -// isA ? "A" : isB ? "B" : isC ? "C" : Unknown; -// -// This type of ConditionalExpression chain is structured like this in the AST: -// -// ConditionalExpression { -// test: ..., -// consequent: ..., -// alternate: ConditionalExpression { -// test: ..., -// consequent: ..., -// alternate: ConditionalExpression { -// test: ..., -// consequent: ..., -// alternate: ..., -// } -// } -// } -// -// We want to traverse over that shape and convert it into a flat structure so -// that we can find if there's a JSXElement somewhere inside. - -function getConditionalChainContents(node) { - // Given this code: - // - // // Using a ConditionalExpression as the consequent is uncommon, but should - // // be handled. - // A ? B : C ? D : E ? F ? G : H : I - // - // which has this AST: - // - // ConditionalExpression { - // test: Identifier(A), - // consequent: Identifier(B), - // alternate: ConditionalExpression { - // test: Identifier(C), - // consequent: Identifier(D), - // alternate: ConditionalExpression { - // test: Identifier(E), - // consequent: ConditionalExpression { - // test: Identifier(F), - // consequent: Identifier(G), - // alternate: Identifier(H), - // }, - // alternate: Identifier(I), - // } - // } - // } - // - // we should return this Array: - // - // [ - // Identifier(A), - // Identifier(B), - // Identifier(C), - // Identifier(D), - // Identifier(E), - // Identifier(F), - // Identifier(G), - // Identifier(H), - // Identifier(I) - // ]; - // - // This loses the information about whether each node was the test, - // consequent, or alternate, but we don't care about that here- we are only - // flattening this structure to find if there's any JSXElements inside. - const nonConditionalExpressions = []; - - function recurse(node) { - if (node.type === "ConditionalExpression") { - recurse(node.test); - recurse(node.consequent); - recurse(node.alternate); - } else { - nonConditionalExpressions.push(node); - } - } - - recurse(node); - return nonConditionalExpressions; -} - -function conditionalExpressionChainContainsJSX(node) { - return getConditionalChainContents(node).some(isJSXNode$2); -} -/** - * The following is the shared logic for - * ternary operators, namely ConditionalExpression - * and TSConditionalType - * @param {FastPath} path - The path to the ConditionalExpression/TSConditionalType node. - * @param {Options} options - Prettier options - * @param {Function} print - Print function to call recursively - * @param {OperatorOptions} operatorOptions - * @returns {Doc} - */ - - -function printTernaryOperator(path, options, print, operatorOptions) { - const node = path.getValue(); - const consequentNode = node[operatorOptions.consequentNodePropertyName]; - const alternateNode = node[operatorOptions.alternateNodePropertyName]; - const parts = []; // We print a ConditionalExpression in either "JSX mode" or "normal mode". - // See tests/jsx/conditional-expression.js for more info. - - let jsxMode = false; - const parent = path.getParentNode(); - const isParentTest = parent.type === operatorOptions.conditionalNodeType && operatorOptions.testNodePropertyNames.some(prop => parent[prop] === node); - let forceNoIndent = parent.type === operatorOptions.conditionalNodeType && !isParentTest; // Find the outermost non-ConditionalExpression parent, and the outermost - // ConditionalExpression parent. We'll use these to determine if we should - // print in JSX mode. - - let currentParent; - let previousParent; - let i = 0; - - do { - previousParent = currentParent || node; - currentParent = path.getParentNode(i); - i++; - } while (currentParent && currentParent.type === operatorOptions.conditionalNodeType && operatorOptions.testNodePropertyNames.every(prop => currentParent[prop] !== previousParent)); - - const firstNonConditionalParent = currentParent || parent; - const lastConditionalParent = previousParent; - - if (operatorOptions.shouldCheckJsx && (isJSXNode$2(node[operatorOptions.testNodePropertyNames[0]]) || isJSXNode$2(consequentNode) || isJSXNode$2(alternateNode) || conditionalExpressionChainContainsJSX(lastConditionalParent))) { - jsxMode = true; - forceNoIndent = true; // Even though they don't need parens, we wrap (almost) everything in - // parens when using ?: within JSX, because the parens are analogous to - // curly braces in an if statement. - - const wrap = doc => concat$d([ifBreak$2("(", ""), indent$a(concat$d([softline$6, doc])), softline$6, ifBreak$2(")", "")]); // The only things we don't wrap are: - // * Nested conditional expressions in alternates - // * null - // * undefined - - - const isNil = node => node.type === "NullLiteral" || node.type === "Literal" && node.value === null || node.type === "Identifier" && node.name === "undefined"; - - parts.push(" ? ", isNil(consequentNode) ? path.call(print, operatorOptions.consequentNodePropertyName) : wrap(path.call(print, operatorOptions.consequentNodePropertyName)), " : ", alternateNode.type === operatorOptions.conditionalNodeType || isNil(alternateNode) ? path.call(print, operatorOptions.alternateNodePropertyName) : wrap(path.call(print, operatorOptions.alternateNodePropertyName))); - } else { - // normal mode - const part = concat$d([line$7, "? ", consequentNode.type === operatorOptions.conditionalNodeType ? ifBreak$2("", "(") : "", align$2(2, path.call(print, operatorOptions.consequentNodePropertyName)), consequentNode.type === operatorOptions.conditionalNodeType ? ifBreak$2("", ")") : "", line$7, ": ", alternateNode.type === operatorOptions.conditionalNodeType ? path.call(print, operatorOptions.alternateNodePropertyName) : align$2(2, path.call(print, operatorOptions.alternateNodePropertyName))]); - parts.push(parent.type !== operatorOptions.conditionalNodeType || parent[operatorOptions.alternateNodePropertyName] === node || isParentTest ? part : options.useTabs ? dedent$1(indent$a(part)) : align$2(Math.max(0, options.tabWidth - 2), part)); - } // We want a whole chain of ConditionalExpressions to all - // break if any of them break. That means we should only group around the - // outer-most ConditionalExpression. - - - const comments = flatten_1([...operatorOptions.testNodePropertyNames.map(propertyName => node[propertyName].comments), consequentNode.comments, alternateNode.comments]).filter(Boolean); - const shouldBreak = comments.some(comment => isBlockComment$4(comment) && hasNewlineInRange$4(options.originalText, locStart$5(comment), locEnd$4(comment))); - - const maybeGroup = doc => parent === firstNonConditionalParent ? group$6(doc, { - shouldBreak - }) : shouldBreak ? concat$d([doc, breakParent$2]) : doc; // Break the closing paren to keep the chain right after it: - // (a - // ? b - // : c - // ).call() - - - const breakClosingParen = !jsxMode && (parent.type === "MemberExpression" || parent.type === "OptionalMemberExpression" || parent.type === "NGPipeExpression" && parent.left === node) && !parent.computed; - const result = maybeGroup(concat$d([].concat((testDoc => - /** - * a - * ? b - * : multiline - * test - * node - * ^^ align(2) - * ? d - * : e - */ - parent.type === operatorOptions.conditionalNodeType && parent[operatorOptions.alternateNodePropertyName] === node ? align$2(2, testDoc) : testDoc)(concat$d(operatorOptions.beforeParts())), forceNoIndent ? concat$d(parts) : indent$a(concat$d(parts)), operatorOptions.afterParts(breakClosingParen)))); - return isParentTest ? group$6(concat$d([indent$a(concat$d([softline$6, result])), softline$6])) : result; -} - -var ternary = printTernaryOperator; - -const { - getNextNonSpaceNonCommentCharacter: getNextNonSpaceNonCommentCharacter$2, - isNextLineEmpty: isNextLineEmpty$2 -} = util; -const { - printDanglingComments: printDanglingComments$2 -} = comments; -const { - builders: { - concat: concat$e, - line: line$8, - hardline: hardline$9, - softline: softline$7, - group: group$7, - indent: indent$b, - ifBreak: ifBreak$3 - }, - utils: { - removeLines: removeLines$1 - } -} = document; -const { - getFunctionParameters: getFunctionParameters$3, - iterateFunctionParametersPath: iterateFunctionParametersPath$1, - isSimpleType: isSimpleType$1, - isTestCall: isTestCall$1, - isTypeAnnotationAFunction: isTypeAnnotationAFunction$1, - isObjectType: isObjectType$1, - isObjectTypePropertyAFunction: isObjectTypePropertyAFunction$1, - hasRestParameter: hasRestParameter$1, - shouldPrintComma: shouldPrintComma$2 -} = utils$6; -const { - locEnd: locEnd$5 -} = loc; -const { - printFunctionTypeParameters: printFunctionTypeParameters$1 -} = misc; - -function printFunctionParameters(path, print, options, expandArg, printTypeParams) { - const functionNode = path.getValue(); - const parameters = getFunctionParameters$3(functionNode); - const typeParams = printTypeParams ? printFunctionTypeParameters$1(path, options, print) : ""; - - if (parameters.length === 0) { - return concat$e([typeParams, "(", printDanglingComments$2(path, options, - /* sameIndent */ - true, comment => getNextNonSpaceNonCommentCharacter$2(options.originalText, comment, locEnd$5) === ")"), ")"]); - } - - const parent = path.getParentNode(); - const isParametersInTestCall = isTestCall$1(parent); - const shouldHugParameters = shouldHugFunctionParameters(functionNode); - const shouldExpandParameters = expandArg && !parameters.some(node => node.comments); - const printed = []; - iterateFunctionParametersPath$1(path, (parameterPath, index) => { - const isLastParameter = index === parameters.length - 1; - - if (isLastParameter && functionNode.rest) { - printed.push("..."); - } - - printed.push(parameterPath.call(print)); - - if (isLastParameter) { - return; - } - - printed.push(","); - - if (isParametersInTestCall || shouldHugParameters || shouldExpandParameters) { - printed.push(" "); - } else if (isNextLineEmpty$2(options.originalText, parameters[index], locEnd$5)) { - printed.push(hardline$9, hardline$9); - } else { - printed.push(line$8); - } - }); // If the parent is a call with the first/last argument expansion and this is the - // params of the first/last argument, we don't want the arguments to break and instead - // want the whole expression to be on a new line. - // - // Good: Bad: - // verylongcall( verylongcall(( - // (a, b) => { a, - // } b, - // }) ) => { - // }) - - if (shouldExpandParameters) { - return group$7(concat$e([removeLines$1(typeParams), "(", concat$e(printed.map(removeLines$1)), ")"])); - } // Single object destructuring should hug - // - // function({ - // a, - // b, - // c - // }) {} - - - const hasNotParameterDecorator = parameters.every(node => !node.decorators); - - if (shouldHugParameters && hasNotParameterDecorator) { - return concat$e([typeParams, "(", concat$e(printed), ")"]); - } // don't break in specs, eg; `it("should maintain parens around done even when long", (done) => {})` - - - if (isParametersInTestCall) { - return concat$e([typeParams, "(", concat$e(printed), ")"]); - } - - const isFlowShorthandWithOneArg = (isObjectTypePropertyAFunction$1(parent) || isTypeAnnotationAFunction$1(parent) || parent.type === "TypeAlias" || parent.type === "UnionTypeAnnotation" || parent.type === "TSUnionType" || parent.type === "IntersectionTypeAnnotation" || parent.type === "FunctionTypeAnnotation" && parent.returnType === functionNode) && parameters.length === 1 && parameters[0].name === null && // `type q = (this: string) => void;` - functionNode.this !== parameters[0] && parameters[0].typeAnnotation && functionNode.typeParameters === null && isSimpleType$1(parameters[0].typeAnnotation) && !functionNode.rest; - - if (isFlowShorthandWithOneArg) { - if (options.arrowParens === "always") { - return concat$e(["(", concat$e(printed), ")"]); - } - - return concat$e(printed); - } - - return concat$e([typeParams, "(", indent$b(concat$e([softline$7, concat$e(printed)])), ifBreak$3(!hasRestParameter$1(functionNode) && shouldPrintComma$2(options, "all") ? "," : ""), softline$7, ")"]); -} - -function shouldHugFunctionParameters(node) { - if (!node) { - return false; - } - - const parameters = getFunctionParameters$3(node); - - if (parameters.length !== 1) { - return false; - } - - const [parameter] = parameters; - return !parameter.comments && (parameter.type === "ObjectPattern" || parameter.type === "ArrayPattern" || parameter.type === "Identifier" && parameter.typeAnnotation && (parameter.typeAnnotation.type === "TypeAnnotation" || parameter.typeAnnotation.type === "TSTypeAnnotation") && isObjectType$1(parameter.typeAnnotation.typeAnnotation) || parameter.type === "FunctionTypeParam" && isObjectType$1(parameter.typeAnnotation) || parameter.type === "AssignmentPattern" && (parameter.left.type === "ObjectPattern" || parameter.left.type === "ArrayPattern") && (parameter.right.type === "Identifier" || parameter.right.type === "ObjectExpression" && parameter.right.properties.length === 0 || parameter.right.type === "ArrayExpression" && parameter.right.elements.length === 0)); -} - -var functionParameters = { - printFunctionParameters, - shouldHugFunctionParameters -}; - -const { - builders: { - concat: concat$f - } -} = document; -const { - isFlowAnnotationComment: isFlowAnnotationComment$1, - isSimpleType: isSimpleType$2, - isObjectType: isObjectType$2 -} = utils$6; - -function printTypeAnnotation(path, options, print) { - const node = path.getValue(); - - if (!node.typeAnnotation) { - return ""; - } - - const parentNode = path.getParentNode(); - const isDefinite = node.definite || parentNode && parentNode.type === "VariableDeclarator" && parentNode.definite; - const isFunctionDeclarationIdentifier = parentNode.type === "DeclareFunction" && parentNode.id === node; - - if (isFlowAnnotationComment$1(options.originalText, node.typeAnnotation)) { - return concat$f([" /*: ", path.call(print, "typeAnnotation"), " */"]); - } - - return concat$f([isFunctionDeclarationIdentifier ? "" : isDefinite ? "!: " : ": ", path.call(print, "typeAnnotation")]); -} - -function shouldHugType(node) { - if (isSimpleType$2(node) || isObjectType$2(node)) { - return true; - } - - if (node.type === "UnionTypeAnnotation" || node.type === "TSUnionType") { - const voidCount = node.types.filter(n => n.type === "VoidTypeAnnotation" || n.type === "TSVoidKeyword" || n.type === "NullLiteralTypeAnnotation" || n.type === "TSNullKeyword").length; - const hasObject = node.types.some(n => n.type === "ObjectTypeAnnotation" || n.type === "TSTypeLiteral" || // This is a bit aggressive but captures Array<{x}> - n.type === "GenericTypeAnnotation" || n.type === "TSTypeReference"); - - if (node.types.length - 1 === voidCount && hasObject) { - return true; - } - } - - return false; -} - -var typeAnnotation = { - printTypeAnnotation, - shouldHugType -}; - -const { - printDanglingComments: printDanglingComments$3 -} = comments; -const { - builders: { - concat: concat$g, - line: line$9, - softline: softline$8, - group: group$8, - indent: indent$c, - ifBreak: ifBreak$4 - } -} = document; -const { - getLast: getLast$3, - isNextLineEmpty: isNextLineEmpty$3 -} = util; -const { - hasDanglingComments: hasDanglingComments$2, - shouldPrintComma: shouldPrintComma$3 -} = utils$6; -const { - locEnd: locEnd$6 -} = loc; -const { - printOptionalToken: printOptionalToken$1 -} = misc; -const { - printTypeAnnotation: printTypeAnnotation$1 -} = typeAnnotation; -/** @typedef {import("../../document").Doc} Doc */ - -function printArray(path, options, print) { - const n = path.getValue(); - /** @type{Doc[]} */ - - const parts = []; - const openBracket = n.type === "TupleExpression" ? "#[" : "["; - const closeBracket = "]"; - - if (n.elements.length === 0) { - if (!hasDanglingComments$2(n)) { - parts.push(openBracket, closeBracket); - } else { - parts.push(group$8(concat$g([openBracket, printDanglingComments$3(path, options), softline$8, closeBracket]))); - } - } else { - const lastElem = getLast$3(n.elements); - const canHaveTrailingComma = !(lastElem && lastElem.type === "RestElement"); // JavaScript allows you to have empty elements in an array which - // changes its length based on the number of commas. The algorithm - // is that if the last argument is null, we need to force insert - // a comma to ensure JavaScript recognizes it. - // [,].length === 1 - // [1,].length === 1 - // [1,,].length === 2 - // - // Note that getLast returns null if the array is empty, but - // we already check for an empty array just above so we are safe - - const needsForcedTrailingComma = canHaveTrailingComma && lastElem === null; - const shouldBreak = !options.__inJestEach && n.elements.length > 1 && n.elements.every((element, i, elements) => { - const elementType = element && element.type; - - if (elementType !== "ArrayExpression" && elementType !== "ObjectExpression") { - return false; - } - - const nextElement = elements[i + 1]; - - if (nextElement && elementType !== nextElement.type) { - return false; - } - - const itemsKey = elementType === "ArrayExpression" ? "elements" : "properties"; - return element[itemsKey] && element[itemsKey].length > 1; - }); - parts.push(group$8(concat$g([openBracket, indent$c(concat$g([softline$8, printArrayItems(path, options, "elements", print)])), needsForcedTrailingComma ? "," : "", ifBreak$4(canHaveTrailingComma && !needsForcedTrailingComma && shouldPrintComma$3(options) ? "," : ""), printDanglingComments$3(path, options, - /* sameIndent */ - true), softline$8, closeBracket]), { - shouldBreak - })); - } - - parts.push(printOptionalToken$1(path), printTypeAnnotation$1(path, options, print)); - return concat$g(parts); -} - -function printArrayItems(path, options, printPath, print) { - const printedElements = []; - let separatorParts = []; - path.each(childPath => { - printedElements.push(concat$g(separatorParts)); - printedElements.push(group$8(print(childPath))); - separatorParts = [",", line$9]; - - if (childPath.getValue() && isNextLineEmpty$3(options.originalText, childPath.getValue(), locEnd$6)) { - separatorParts.push(softline$8); - } - }, printPath); - return concat$g(printedElements); -} - -var array$3 = { - printArray, - printArrayItems -}; - -const { - printDanglingComments: printDanglingComments$4 -} = comments; -const { - builders: { - concat: concat$h, - line: line$a, - softline: softline$9, - group: group$9, - indent: indent$d, - ifBreak: ifBreak$5, - hardline: hardline$a - } -} = document; -const { - getLast: getLast$4, - isNextLineEmpty: isNextLineEmpty$4, - hasNewlineInRange: hasNewlineInRange$5, - hasNewline: hasNewline$5 -} = util; -const { - hasDanglingComments: hasDanglingComments$3, - shouldPrintComma: shouldPrintComma$4, - hasNodeIgnoreComment: hasNodeIgnoreComment$1, - isBlockComment: isBlockComment$5 -} = utils$6; -const { - locStart: locStart$6, - locEnd: locEnd$7 -} = loc; -const { - printOptionalToken: printOptionalToken$2 -} = misc; -const { - shouldHugFunctionParameters: shouldHugFunctionParameters$1 -} = functionParameters; -const { - printTypeAnnotation: printTypeAnnotation$2, - shouldHugType: shouldHugType$1 -} = typeAnnotation; -/** @typedef {import("../../document").Doc} Doc */ - -function printObject(path, options, print) { - const semi = options.semi ? ";" : ""; - const n = path.getValue(); - let propertiesField; - - if (n.type === "TSTypeLiteral") { - propertiesField = "members"; - } else if (n.type === "TSInterfaceBody") { - propertiesField = "body"; - } else { - propertiesField = "properties"; - } - - const isTypeAnnotation = n.type === "ObjectTypeAnnotation"; - const fields = []; - - if (isTypeAnnotation) { - fields.push("indexers", "callProperties", "internalSlots"); - } - - fields.push(propertiesField); - const firstProperty = fields.map(field => n[field][0]).sort((a, b) => locStart$6(a) - locStart$6(b))[0]; - const parent = path.getParentNode(0); - const isFlowInterfaceLikeBody = isTypeAnnotation && parent && (parent.type === "InterfaceDeclaration" || parent.type === "DeclareInterface" || parent.type === "DeclareClass") && path.getName() === "body"; - const shouldBreak = n.type === "TSInterfaceBody" || isFlowInterfaceLikeBody || n.type === "ObjectPattern" && parent.type !== "FunctionDeclaration" && parent.type !== "FunctionExpression" && parent.type !== "ArrowFunctionExpression" && parent.type !== "ObjectMethod" && parent.type !== "ClassMethod" && parent.type !== "ClassPrivateMethod" && parent.type !== "AssignmentPattern" && parent.type !== "CatchClause" && n.properties.some(property => property.value && (property.value.type === "ObjectPattern" || property.value.type === "ArrayPattern")) || n.type !== "ObjectPattern" && firstProperty && hasNewlineInRange$5(options.originalText, locStart$6(n), locStart$6(firstProperty)); - const separator = isFlowInterfaceLikeBody ? ";" : n.type === "TSInterfaceBody" || n.type === "TSTypeLiteral" ? ifBreak$5(semi, ";") : ","; - const leftBrace = n.type === "RecordExpression" ? "#{" : n.exact ? "{|" : "{"; - const rightBrace = n.exact ? "|}" : "}"; // Unfortunately, things are grouped together in the ast can be - // interleaved in the source code. So we need to reorder them before - // printing them. - - const propsAndLoc = []; - fields.forEach(field => { - path.each(childPath => { - const node = childPath.getValue(); - propsAndLoc.push({ - node, - printed: print(childPath), - loc: locStart$6(node) - }); - }, field); - }); - let separatorParts = []; - const props = propsAndLoc.sort((a, b) => a.loc - b.loc).map(prop => { - const result = concat$h(separatorParts.concat(group$9(prop.printed))); - separatorParts = [separator, line$a]; - - if ((prop.node.type === "TSPropertySignature" || prop.node.type === "TSMethodSignature" || prop.node.type === "TSConstructSignatureDeclaration") && hasNodeIgnoreComment$1(prop.node)) { - separatorParts.shift(); - } - - if (isNextLineEmpty$4(options.originalText, prop.node, locEnd$7)) { - separatorParts.push(hardline$a); - } - - return result; - }); - - if (n.inexact) { - let printed; - - if (hasDanglingComments$3(n)) { - const hasLineComments = !n.comments.every(comment => isBlockComment$5(comment)); - const printedDanglingComments = printDanglingComments$4(path, options, - /* sameIndent */ - true); - printed = concat$h([printedDanglingComments, hasLineComments || hasNewline$5(options.originalText, locEnd$7(n.comments[n.comments.length - 1])) ? hardline$a : line$a, "..."]); - } else { - printed = "..."; - } - - props.push(concat$h(separatorParts.concat(printed))); - } - - const lastElem = getLast$4(n[propertiesField]); - const canHaveTrailingSeparator = !(n.inexact || lastElem && lastElem.type === "RestElement" || lastElem && (lastElem.type === "TSPropertySignature" || lastElem.type === "TSCallSignatureDeclaration" || lastElem.type === "TSMethodSignature" || lastElem.type === "TSConstructSignatureDeclaration") && hasNodeIgnoreComment$1(lastElem)); - let content; - - if (props.length === 0) { - if (!hasDanglingComments$3(n)) { - return concat$h([leftBrace, rightBrace, printTypeAnnotation$2(path, options, print)]); - } - - content = group$9(concat$h([leftBrace, printDanglingComments$4(path, options), softline$9, rightBrace, printOptionalToken$2(path), printTypeAnnotation$2(path, options, print)])); - } else { - content = concat$h([leftBrace, indent$d(concat$h([options.bracketSpacing ? line$a : softline$9, concat$h(props)])), ifBreak$5(canHaveTrailingSeparator && (separator !== "," || shouldPrintComma$4(options)) ? separator : ""), concat$h([options.bracketSpacing ? line$a : softline$9, rightBrace]), printOptionalToken$2(path), printTypeAnnotation$2(path, options, print)]); - } // If we inline the object as first argument of the parent, we don't want - // to create another group so that the object breaks before the return - // type - - - if (path.match(node => node.type === "ObjectPattern" && !node.decorators, (node, name, number) => shouldHugFunctionParameters$1(node) && (name === "params" || name === "parameters" || name === "this" || name === "rest") && number === 0) || path.match(shouldHugType$1, (node, name) => name === "typeAnnotation", (node, name) => name === "typeAnnotation", (node, name, number) => shouldHugFunctionParameters$1(node) && (name === "params" || name === "parameters" || name === "this" || name === "rest") && number === 0)) { - return content; - } - - return group$9(content, { - shouldBreak - }); -} - -var object = { - printObject -}; - -const { - printComments: printComments$1, - printDanglingComments: printDanglingComments$5 -} = comments; -const { - builders: { - concat: concat$i, - line: line$b, - hardline: hardline$b, - softline: softline$a, - group: group$a, - indent: indent$e, - conditionalGroup: conditionalGroup$1, - fill: fill$3, - ifBreak: ifBreak$6, - lineSuffixBoundary: lineSuffixBoundary$2 - }, - utils: { - willBreak: willBreak$1, - isLineNext: isLineNext$1, - isEmpty: isEmpty$1 - } -} = document; -const { - getLast: getLast$5, - getPreferredQuote: getPreferredQuote$1 -} = util; -const { - hasTrailingComment: hasTrailingComment$1, - isEmptyJSXElement: isEmptyJSXElement$1, - isJSXWhitespaceExpression: isJSXWhitespaceExpression$1, - isJSXNode: isJSXNode$3, - isMeaningfulJSXText: isMeaningfulJSXText$1, - matchJsxWhitespaceRegex: matchJsxWhitespaceRegex$1, - rawText: rawText$1, - isLiteral: isLiteral$1, - isCallOrOptionalCallExpression: isCallOrOptionalCallExpression$1, - isStringLiteral: isStringLiteral$1, - isBinaryish: isBinaryish$2, - isBlockComment: isBlockComment$6 -} = utils$6; -const { - willPrintOwnComments: willPrintOwnComments$1 -} = comments$1; // JSX expands children from the inside-out, instead of the outside-in. -// This is both to break children before attributes, -// and to ensure that when children break, their parents do as well. -// -// Any element that is written without any newlines and fits on a single line -// is left that way. -// Not only that, any user-written-line containing multiple JSX siblings -// should also be kept on one line if possible, -// so each user-written-line is wrapped in its own group. -// -// Elements that contain newlines or don't fit on a single line (recursively) -// are fully-split, using hardline and shouldBreak: true. -// -// To support that case properly, all leading and trailing spaces -// are stripped from the list of children, and replaced with a single hardline. - -function printJsxElementInternal(path, options, print) { - const n = path.getValue(); - - if (n.type === "JSXElement" && isEmptyJSXElement$1(n)) { - return concat$i([path.call(print, "openingElement"), path.call(print, "closingElement")]); - } - - const openingLines = n.type === "JSXElement" ? path.call(print, "openingElement") : path.call(print, "openingFragment"); - const closingLines = n.type === "JSXElement" ? path.call(print, "closingElement") : path.call(print, "closingFragment"); - - if (n.children.length === 1 && n.children[0].type === "JSXExpressionContainer" && (n.children[0].expression.type === "TemplateLiteral" || n.children[0].expression.type === "TaggedTemplateExpression")) { - return concat$i([openingLines, concat$i(path.map(print, "children")), closingLines]); - } // Convert `{" "}` to text nodes containing a space. - // This makes it easy to turn them into `jsxWhitespace` which - // can then print as either a space or `{" "}` when breaking. - - - n.children = n.children.map(child => { - if (isJSXWhitespaceExpression$1(child)) { - return { - type: "JSXText", - value: " ", - raw: " " - }; - } - - return child; - }); - const containsTag = n.children.filter(isJSXNode$3).length > 0; - const containsMultipleExpressions = n.children.filter(child => child.type === "JSXExpressionContainer").length > 1; - const containsMultipleAttributes = n.type === "JSXElement" && n.openingElement.attributes.length > 1; // Record any breaks. Should never go from true to false, only false to true. - - let forcedBreak = willBreak$1(openingLines) || containsTag || containsMultipleAttributes || containsMultipleExpressions; - const isMdxBlock = path.getParentNode().rootMarker === "mdx"; - const rawJsxWhitespace = options.singleQuote ? "{' '}" : '{" "}'; - const jsxWhitespace = isMdxBlock ? concat$i([" "]) : ifBreak$6(concat$i([rawJsxWhitespace, softline$a]), " "); - const isFacebookTranslationTag = n.openingElement && n.openingElement.name && n.openingElement.name.name === "fbt"; - const children = printJSXChildren(path, options, print, jsxWhitespace, isFacebookTranslationTag); - const containsText = n.children.some(child => isMeaningfulJSXText$1(child)); // We can end up we multiple whitespace elements with empty string - // content between them. - // We need to remove empty whitespace and softlines before JSX whitespace - // to get the correct output. - - for (let i = children.length - 2; i >= 0; i--) { - const isPairOfEmptyStrings = children[i] === "" && children[i + 1] === ""; - const isPairOfHardlines = children[i] === hardline$b && children[i + 1] === "" && children[i + 2] === hardline$b; - const isLineFollowedByJSXWhitespace = (children[i] === softline$a || children[i] === hardline$b) && children[i + 1] === "" && children[i + 2] === jsxWhitespace; - const isJSXWhitespaceFollowedByLine = children[i] === jsxWhitespace && children[i + 1] === "" && (children[i + 2] === softline$a || children[i + 2] === hardline$b); - const isDoubleJSXWhitespace = children[i] === jsxWhitespace && children[i + 1] === "" && children[i + 2] === jsxWhitespace; - const isPairOfHardOrSoftLines = children[i] === softline$a && children[i + 1] === "" && children[i + 2] === hardline$b || children[i] === hardline$b && children[i + 1] === "" && children[i + 2] === softline$a; - - if (isPairOfHardlines && containsText || isPairOfEmptyStrings || isLineFollowedByJSXWhitespace || isDoubleJSXWhitespace || isPairOfHardOrSoftLines) { - children.splice(i, 2); - } else if (isJSXWhitespaceFollowedByLine) { - children.splice(i + 1, 2); - } - } // Trim trailing lines (or empty strings) - - - while (children.length && (isLineNext$1(getLast$5(children)) || isEmpty$1(getLast$5(children)))) { - children.pop(); - } // Trim leading lines (or empty strings) - - - while (children.length && (isLineNext$1(children[0]) || isEmpty$1(children[0])) && (isLineNext$1(children[1]) || isEmpty$1(children[1]))) { - children.shift(); - children.shift(); - } // Tweak how we format children if outputting this element over multiple lines. - // Also detect whether we will force this element to output over multiple lines. - - - const multilineChildren = []; - children.forEach((child, i) => { - // There are a number of situations where we need to ensure we display - // whitespace as `{" "}` when outputting this element over multiple lines. - if (child === jsxWhitespace) { - if (i === 1 && children[i - 1] === "") { - if (children.length === 2) { - // Solitary whitespace - multilineChildren.push(rawJsxWhitespace); - return; - } // Leading whitespace - - - multilineChildren.push(concat$i([rawJsxWhitespace, hardline$b])); - return; - } else if (i === children.length - 1) { - // Trailing whitespace - multilineChildren.push(rawJsxWhitespace); - return; - } else if (children[i - 1] === "" && children[i - 2] === hardline$b) { - // Whitespace after line break - multilineChildren.push(rawJsxWhitespace); - return; - } - } - - multilineChildren.push(child); - - if (willBreak$1(child)) { - forcedBreak = true; - } - }); // If there is text we use `fill` to fit as much onto each line as possible. - // When there is no text (just tags and expressions) we use `group` - // to output each on a separate line. - - const content = containsText ? fill$3(multilineChildren) : group$a(concat$i(multilineChildren), { - shouldBreak: true - }); - - if (isMdxBlock) { - return content; - } - - const multiLineElem = group$a(concat$i([openingLines, indent$e(concat$i([hardline$b, content])), hardline$b, closingLines])); - - if (forcedBreak) { - return multiLineElem; - } - - return conditionalGroup$1([group$a(concat$i([openingLines, concat$i(children), closingLines])), multiLineElem]); -} // JSX Children are strange, mostly for two reasons: -// 1. JSX reads newlines into string values, instead of skipping them like JS -// 2. up to one whitespace between elements within a line is significant, -// but not between lines. -// -// Leading, trailing, and lone whitespace all need to -// turn themselves into the rather ugly `{' '}` when breaking. -// -// We print JSX using the `fill` doc primitive. -// This requires that we give it an array of alternating -// content and whitespace elements. -// To ensure this we add dummy `""` content elements as needed. - - -function printJSXChildren(path, options, print, jsxWhitespace, isFacebookTranslationTag) { - const n = path.getValue(); - const children = []; - path.each((childPath, i) => { - const child = childPath.getValue(); - - if (isLiteral$1(child)) { - const text = rawText$1(child); // Contains a non-whitespace character - - if (isMeaningfulJSXText$1(child)) { - const words = text.split(matchJsxWhitespaceRegex$1); // Starts with whitespace - - if (words[0] === "") { - children.push(""); - words.shift(); - - if (/\n/.test(words[0])) { - const next = n.children[i + 1]; - children.push(separatorWithWhitespace(isFacebookTranslationTag, words[1], child, next)); - } else { - children.push(jsxWhitespace); - } - - words.shift(); - } - - let endWhitespace; // Ends with whitespace - - if (getLast$5(words) === "") { - words.pop(); - endWhitespace = words.pop(); - } // This was whitespace only without a new line. - - - if (words.length === 0) { - return; - } - - words.forEach((word, i) => { - if (i % 2 === 1) { - children.push(line$b); - } else { - children.push(word); - } - }); - - if (endWhitespace !== undefined) { - if (/\n/.test(endWhitespace)) { - const next = n.children[i + 1]; - children.push(separatorWithWhitespace(isFacebookTranslationTag, getLast$5(children), child, next)); - } else { - children.push(jsxWhitespace); - } - } else { - const next = n.children[i + 1]; - children.push(separatorNoWhitespace(isFacebookTranslationTag, getLast$5(children), child, next)); - } - } else if (/\n/.test(text)) { - // Keep (up to one) blank line between tags/expressions/text. - // Note: We don't keep blank lines between text elements. - if (text.match(/\n/g).length > 1) { - children.push(""); - children.push(hardline$b); - } - } else { - children.push(""); - children.push(jsxWhitespace); - } - } else { - const printedChild = print(childPath); - children.push(printedChild); - const next = n.children[i + 1]; - const directlyFollowedByMeaningfulText = next && isMeaningfulJSXText$1(next); - - if (directlyFollowedByMeaningfulText) { - const firstWord = rawText$1(next).trim().split(matchJsxWhitespaceRegex$1)[0]; - children.push(separatorNoWhitespace(isFacebookTranslationTag, firstWord, child, next)); - } else { - children.push(hardline$b); - } - } - }, "children"); - return children; -} - -function separatorNoWhitespace(isFacebookTranslationTag, child, childNode, nextNode) { - if (isFacebookTranslationTag) { - return ""; - } - - if (childNode.type === "JSXElement" && !childNode.closingElement || nextNode && nextNode.type === "JSXElement" && !nextNode.closingElement) { - return child.length === 1 ? softline$a : hardline$b; - } - - return softline$a; -} - -function separatorWithWhitespace(isFacebookTranslationTag, child, childNode, nextNode) { - if (isFacebookTranslationTag) { - return hardline$b; - } - - if (child.length === 1) { - return childNode.type === "JSXElement" && !childNode.closingElement || nextNode && nextNode.type === "JSXElement" && !nextNode.closingElement ? hardline$b : softline$a; - } - - return hardline$b; -} - -function maybeWrapJSXElementInParens(path, elem, options) { - const parent = path.getParentNode(); - /* istanbul ignore next */ - - if (!parent) { - return elem; - } - - const NO_WRAP_PARENTS = { - ArrayExpression: true, - JSXAttribute: true, - JSXElement: true, - JSXExpressionContainer: true, - JSXFragment: true, - ExpressionStatement: true, - CallExpression: true, - OptionalCallExpression: true, - ConditionalExpression: true, - JsExpressionRoot: true - }; - - if (NO_WRAP_PARENTS[parent.type]) { - return elem; - } - - const shouldBreak = path.match(undefined, node => node.type === "ArrowFunctionExpression", isCallOrOptionalCallExpression$1, node => node.type === "JSXExpressionContainer"); - const needsParens = needsParens_1(path, options); - return group$a(concat$i([needsParens ? "" : ifBreak$6("("), indent$e(concat$i([softline$a, elem])), softline$a, needsParens ? "" : ifBreak$6(")")]), { - shouldBreak - }); -} - -function printJsxAttribute(path, options, print) { - const n = path.getValue(); - const parts = []; - parts.push(path.call(print, "name")); - - if (n.value) { - let res; - - if (isStringLiteral$1(n.value)) { - const raw = rawText$1(n.value); // Unescape all quotes so we get an accurate preferred quote - - let final = raw.replace(/'/g, "'").replace(/"/g, '"'); - const quote = getPreferredQuote$1(final, options.jsxSingleQuote ? "'" : '"'); - const escape = quote === "'" ? "'" : """; - final = final.slice(1, -1).replace(new RegExp(quote, "g"), escape); - res = concat$i([quote, final, quote]); - } else { - res = path.call(print, "value"); - } - - parts.push("=", res); - } - - return concat$i(parts); -} - -function printJsxExpressionContainer(path, options, print) { - const n = path.getValue(); - const parent = path.getParentNode(0); - const hasComments = n.expression.comments && n.expression.comments.length > 0; - const shouldInline = n.expression.type === "JSXEmptyExpression" || !hasComments && (n.expression.type === "ArrayExpression" || n.expression.type === "ObjectExpression" || n.expression.type === "ArrowFunctionExpression" || n.expression.type === "CallExpression" || n.expression.type === "OptionalCallExpression" || n.expression.type === "FunctionExpression" || n.expression.type === "TemplateLiteral" || n.expression.type === "TaggedTemplateExpression" || n.expression.type === "DoExpression" || isJSXNode$3(parent) && (n.expression.type === "ConditionalExpression" || isBinaryish$2(n.expression))); - - if (shouldInline) { - return group$a(concat$i(["{", path.call(print, "expression"), lineSuffixBoundary$2, "}"])); - } - - return group$a(concat$i(["{", indent$e(concat$i([softline$a, path.call(print, "expression")])), softline$a, lineSuffixBoundary$2, "}"])); -} - -function printJsxOpeningElement(path, options, print) { - const n = path.getValue(); - const nameHasComments = n.name && n.name.comments && n.name.comments.length > 0 || n.typeParameters && n.typeParameters.comments && n.typeParameters.comments.length > 0; // Don't break self-closing elements with no attributes and no comments - - if (n.selfClosing && !n.attributes.length && !nameHasComments) { - return concat$i(["<", path.call(print, "name"), path.call(print, "typeParameters"), " />"]); - } // don't break up opening elements with a single long text attribute - - - if (n.attributes && n.attributes.length === 1 && n.attributes[0].value && isStringLiteral$1(n.attributes[0].value) && !n.attributes[0].value.value.includes("\n") && // We should break for the following cases: - //
- //
- !nameHasComments && (!n.attributes[0].comments || !n.attributes[0].comments.length)) { - return group$a(concat$i(["<", path.call(print, "name"), path.call(print, "typeParameters"), " ", concat$i(path.map(print, "attributes")), n.selfClosing ? " />" : ">"])); - } - - const lastAttrHasTrailingComments = n.attributes.length && hasTrailingComment$1(getLast$5(n.attributes)); - const bracketSameLine = // Simple tags (no attributes and no comment in tag name) should be - // kept unbroken regardless of `jsxBracketSameLine` - !n.attributes.length && !nameHasComments || options.jsxBracketSameLine && ( // We should print the bracket in a new line for the following cases: - //
- //
- !nameHasComments || n.attributes.length) && !lastAttrHasTrailingComments; // We should print the opening element expanded if any prop value is a - // string literal with newlines - - const shouldBreak = n.attributes && n.attributes.some(attr => attr.value && isStringLiteral$1(attr.value) && attr.value.value.includes("\n")); - return group$a(concat$i(["<", path.call(print, "name"), path.call(print, "typeParameters"), concat$i([indent$e(concat$i(path.map(attr => concat$i([line$b, print(attr)]), "attributes"))), n.selfClosing ? line$b : bracketSameLine ? ">" : softline$a]), n.selfClosing ? "/>" : bracketSameLine ? "" : ">"]), { - shouldBreak - }); -} - -function printJsxClosingElement(path, options, print) { - return concat$i([""]); -} - -function printJsxOpeningClosingFragment(path, options -/*, print*/ -) { - const n = path.getValue(); - const hasComment = n.comments && n.comments.length; - const hasOwnLineComment = hasComment && !n.comments.every(comment => isBlockComment$6(comment)); - const isOpeningFragment = n.type === "JSXOpeningFragment"; - return concat$i([isOpeningFragment ? "<" : ""]); -} - -function printJsxElement(path, options, print) { - const elem = printComments$1(path, () => printJsxElementInternal(path, options, print), options); - return maybeWrapJSXElementInParens(path, elem, options); -} - -function printJsxEmptyExpression(path, options -/*, print*/ -) { - const n = path.getValue(); - const requiresHardline = n.comments && !n.comments.every(comment => isBlockComment$6(comment)); - return concat$i([printDanglingComments$5(path, options, - /* sameIndent */ - !requiresHardline), requiresHardline ? hardline$b : ""]); -} // `JSXSpreadAttribute` and `JSXSpreadChild` - - -function printJsxSpreadAttribute(path, options, print) { - const n = path.getValue(); - return concat$i(["{", path.call(p => { - const printed = concat$i(["...", print(p)]); - const n = p.getValue(); - - if (!n.comments || !n.comments.length || !willPrintOwnComments$1(p)) { - return printed; - } - - return concat$i([indent$e(concat$i([softline$a, printComments$1(p, () => printed, options)])), softline$a]); - }, n.type === "JSXSpreadAttribute" ? "argument" : "expression"), "}"]); -} - -var jsx = { - printJsxElement, - printJsxAttribute, - printJsxOpeningElement, - printJsxClosingElement, - printJsxOpeningClosingFragment, - printJsxExpressionContainer, - printJsxEmptyExpression, - printJsxSpreadAttribute, - // Alias - printJsxSpreadChild: printJsxSpreadAttribute -}; - -const { - printDanglingComments: printDanglingComments$6 -} = comments; -const { - builders: { - concat: concat$j, - join: join$7, - line: line$c, - hardline: hardline$c, - softline: softline$b, - group: group$b, - indent: indent$f, - ifBreak: ifBreak$7 - } -} = document; -const { - hasDanglingComments: hasDanglingComments$4, - isTestCall: isTestCall$2, - isBlockComment: isBlockComment$7, - shouldPrintComma: shouldPrintComma$5 -} = utils$6; -const { - shouldHugType: shouldHugType$2 -} = typeAnnotation; -const typeParametersGroupIds = new WeakMap(); - -function getTypeParametersGroupId(node) { - if (!typeParametersGroupIds.has(node)) { - typeParametersGroupIds.set(node, Symbol("typeParameters")); - } - - return typeParametersGroupIds.get(node); -} - -function printTypeParameters(path, options, print, paramsKey) { - const n = path.getValue(); - - if (!n[paramsKey]) { - return ""; - } // for TypeParameterDeclaration typeParameters is a single node - - - if (!Array.isArray(n[paramsKey])) { - return path.call(print, paramsKey); - } - - const grandparent = path.getNode(2); - const isParameterInTestCall = grandparent != null && isTestCall$2(grandparent); - const shouldInline = isParameterInTestCall || n[paramsKey].length === 0 || n[paramsKey].length === 1 && (shouldHugType$2(n[paramsKey][0]) || n[paramsKey][0].type === "GenericTypeAnnotation" && shouldHugType$2(n[paramsKey][0].id) || n[paramsKey][0].type === "TSTypeReference" && shouldHugType$2(n[paramsKey][0].typeName) || n[paramsKey][0].type === "NullableTypeAnnotation"); - - if (shouldInline) { - return concat$j(["<", join$7(", ", path.map(print, paramsKey)), printDanglingCommentsForInline(path, options), ">"]); - } - - return group$b(concat$j(["<", indent$f(concat$j([softline$b, join$7(concat$j([",", line$c]), path.map(print, paramsKey))])), ifBreak$7(options.parser !== "typescript" && options.parser !== "babel-ts" && shouldPrintComma$5(options, "all") ? "," : ""), softline$b, ">"]), { - id: getTypeParametersGroupId(n) - }); -} - -function printDanglingCommentsForInline(path, options) { - const n = path.getValue(); - - if (!hasDanglingComments$4(n)) { - return ""; - } - - const hasOnlyBlockComments = n.comments.every(comment => isBlockComment$7(comment)); - const printed = printDanglingComments$6(path, options, - /* sameIndent */ - hasOnlyBlockComments); - - if (hasOnlyBlockComments) { - return printed; - } - - return concat$j([printed, hardline$c]); -} - -var typeParameters = { - printTypeParameters, - getTypeParametersGroupId -}; - -const { - printComments: printComments$2 -} = comments; -const { - printString: printString$1, - printNumber: printNumber$1 -} = util; -const { - builders: { - concat: concat$k - } -} = document; -const { - isNumericLiteral: isNumericLiteral$1, - isSimpleNumber: isSimpleNumber$1, - isStringLiteral: isStringLiteral$2, - isStringPropSafeToUnquote: isStringPropSafeToUnquote$1, - rawText: rawText$2 -} = utils$6; -const needsQuoteProps = new WeakMap(); - -function printPropertyKey(path, options, print) { - const node = path.getNode(); - - if (node.computed) { - return concat$k(["[", path.call(print, "key"), "]"]); - } - - const parent = path.getParentNode(); - const { - key - } = node; - - if (node.type === "ClassPrivateProperty" && // flow has `Identifier` key, and babel has `PrivateName` key - key.type === "Identifier") { - return concat$k(["#", path.call(print, "key")]); - } - - if (options.quoteProps === "consistent" && !needsQuoteProps.has(parent)) { - const objectHasStringProp = (parent.properties || parent.body || parent.members).some(prop => !prop.computed && prop.key && isStringLiteral$2(prop.key) && !isStringPropSafeToUnquote$1(prop, options)); - needsQuoteProps.set(parent, objectHasStringProp); - } - - if ((key.type === "Identifier" || isNumericLiteral$1(key) && isSimpleNumber$1(printNumber$1(rawText$2(key))) && // Avoid converting 999999999999999999999 to 1e+21, 0.99999999999999999 to 1 and 1.0 to 1. - String(key.value) === printNumber$1(rawText$2(key)) && // Quoting number keys is safe in JS and Flow, but not in TypeScript (as - // mentioned in `isStringPropSafeToUnquote`). - !(options.parser === "typescript" || options.parser === "babel-ts")) && (options.parser === "json" || options.quoteProps === "consistent" && needsQuoteProps.get(parent))) { - // a -> "a" - // 1 -> "1" - // 1.5 -> "1.5" - const prop = printString$1(JSON.stringify(key.type === "Identifier" ? key.name : key.value.toString()), options); - return path.call(keyPath => printComments$2(keyPath, () => prop, options), "key"); - } - - if (isStringPropSafeToUnquote$1(node, options) && (options.quoteProps === "as-needed" || options.quoteProps === "consistent" && !needsQuoteProps.get(parent))) { - // 'a' -> a - // '1' -> 1 - // '1.5' -> 1.5 - return path.call(keyPath => printComments$2(keyPath, () => /^\d/.test(key.value) ? printNumber$1(key.value) : key.value, options), "key"); - } - - return path.call(print, "key"); -} - -var property$1 = { - printPropertyKey -}; - -/** @type {import("assert")} */ - - -const { - printDanglingComments: printDanglingComments$7 -} = comments; -const { - getNextNonSpaceNonCommentCharacterIndex: getNextNonSpaceNonCommentCharacterIndex$3 -} = util; -const { - builders: { - concat: concat$l, - line: line$d, - softline: softline$c, - group: group$c, - indent: indent$g, - ifBreak: ifBreak$8, - hardline: hardline$d - } -} = document; -const { - getFunctionParameters: getFunctionParameters$4, - hasDanglingComments: hasDanglingComments$5, - hasLeadingOwnLineComment: hasLeadingOwnLineComment$1, - isFlowAnnotationComment: isFlowAnnotationComment$2, - isJSXNode: isJSXNode$4, - isTemplateOnItsOwnLine: isTemplateOnItsOwnLine$1, - shouldPrintComma: shouldPrintComma$6, - startsWithNoLookaheadToken: startsWithNoLookaheadToken$2, - returnArgumentHasLeadingComment: returnArgumentHasLeadingComment$1, - isBinaryish: isBinaryish$3, - isLineComment: isLineComment$1 -} = utils$6; -const { - locEnd: locEnd$8 -} = loc; -const { - printFunctionParameters: printFunctionParameters$1 -} = functionParameters; -const { - printPropertyKey: printPropertyKey$1 -} = property$1; -const { - printFunctionTypeParameters: printFunctionTypeParameters$2 -} = misc; - -function printFunctionDeclaration(path, print, options, expandArg) { - const n = path.getValue(); - const parts = []; - - if (n.async) { - parts.push("async "); - } - - if (n.generator) { - parts.push("function* "); - } else { - parts.push("function "); - } - - if (n.id) { - parts.push(path.call(print, "id")); - } - - parts.push(printFunctionTypeParameters$2(path, options, print), group$c(concat$l([printFunctionParameters$1(path, print, options, expandArg), printReturnType(path, print, options)])), n.body ? " " : "", path.call(print, "body")); - return concat$l(parts); -} - -function printMethod(path, options, print) { - const node = path.getNode(); - const { - kind - } = node; - const value = node.value || node; - const parts = []; - - if (!kind || kind === "init" || kind === "method" || kind === "constructor") { - if (value.async) { - parts.push("async "); - } - } else { - assert__default['default'].ok(kind === "get" || kind === "set"); - parts.push(kind, " "); - } // A `getter`/`setter` can't be a generator, but it's recoverable - - - if (value.generator) { - parts.push("*"); - } - - parts.push(printPropertyKey$1(path, options, print), node.optional || node.key.optional ? "?" : "", node === value ? printMethodInternal(path, options, print) : path.call(path => printMethodInternal(path, options, print), "value")); - return concat$l(parts); -} - -function printMethodInternal(path, options, print) { - const parts = [printFunctionTypeParameters$2(path, options, print), group$c(concat$l([printFunctionParameters$1(path, print, options), printReturnType(path, print, options)]))]; - - if (path.getNode().body) { - parts.push(" ", path.call(print, "body")); - } else { - parts.push(options.semi ? ";" : ""); - } - - return concat$l(parts); -} - -function printArrowFunctionExpression(path, options, print, args) { - const n = path.getValue(); - const parts = []; - - if (n.async) { - parts.push("async "); - } - - if (shouldPrintParamsWithoutParens(path, options)) { - parts.push(path.call(print, "params", 0)); - } else { - parts.push(group$c(concat$l([printFunctionParameters$1(path, print, options, - /* expandLast */ - args && (args.expandLastArg || args.expandFirstArg), - /* printTypeParams */ - true), printReturnType(path, print, options)]))); - } - - const dangling = printDanglingComments$7(path, options, - /* sameIndent */ - true, comment => { - const nextCharacter = getNextNonSpaceNonCommentCharacterIndex$3(options.originalText, comment, locEnd$8); - return nextCharacter !== false && options.originalText.slice(nextCharacter, nextCharacter + 2) === "=>"; - }); - - if (dangling) { - parts.push(" ", dangling); - } - - parts.push(" =>"); - const body = path.call(bodyPath => print(bodyPath, args), "body"); // We want to always keep these types of nodes on the same line - // as the arrow. - - if (!hasLeadingOwnLineComment$1(options.originalText, n.body) && (n.body.type === "ArrayExpression" || n.body.type === "ObjectExpression" || n.body.type === "BlockStatement" || isJSXNode$4(n.body) || isTemplateOnItsOwnLine$1(n.body, options.originalText) || n.body.type === "ArrowFunctionExpression" || n.body.type === "DoExpression")) { - return group$c(concat$l([concat$l(parts), " ", body])); - } // We handle sequence expressions as the body of arrows specially, - // so that the required parentheses end up on their own lines. - - - if (n.body.type === "SequenceExpression") { - return group$c(concat$l([concat$l(parts), group$c(concat$l([" (", indent$g(concat$l([softline$c, body])), softline$c, ")"]))])); - } // if the arrow function is expanded as last argument, we are adding a - // level of indentation and need to add a softline to align the closing ) - // with the opening (, or if it's inside a JSXExpression (e.g. an attribute) - // we should align the expression's closing } with the line with the opening {. - - - const shouldAddSoftLine = (args && args.expandLastArg || path.getParentNode().type === "JSXExpressionContainer") && !(n.comments && n.comments.length); - const printTrailingComma = args && args.expandLastArg && shouldPrintComma$6(options, "all"); // In order to avoid confusion between - // a => a ? a : a - // a <= a ? a : a - - const shouldAddParens = n.body.type === "ConditionalExpression" && !startsWithNoLookaheadToken$2(n.body, - /* forbidFunctionAndClass */ - false); - return group$c(concat$l([concat$l(parts), group$c(concat$l([indent$g(concat$l([line$d, shouldAddParens ? ifBreak$8("", "(") : "", body, shouldAddParens ? ifBreak$8("", ")") : ""])), shouldAddSoftLine ? concat$l([ifBreak$8(printTrailingComma ? "," : ""), softline$c]) : ""]))])); -} - -function canPrintParamsWithoutParens(node) { - const parameters = getFunctionParameters$4(node); - return parameters.length === 1 && !node.typeParameters && !hasDanglingComments$5(node) && parameters[0].type === "Identifier" && !parameters[0].typeAnnotation && !parameters[0].comments && !parameters[0].optional && !node.predicate && !node.returnType; -} - -function shouldPrintParamsWithoutParens(path, options) { - if (options.arrowParens === "always") { - return false; - } - - if (options.arrowParens === "avoid") { - const node = path.getValue(); - return canPrintParamsWithoutParens(node); - } // Fallback default; should be unreachable - - /* istanbul ignore next */ - - - return false; -} - -function printReturnType(path, print, options) { - const n = path.getValue(); - const returnType = path.call(print, "returnType"); - - if (n.returnType && isFlowAnnotationComment$2(options.originalText, n.returnType)) { - return concat$l([" /*: ", returnType, " */"]); - } - - const parts = [returnType]; // prepend colon to TypeScript type annotation - - if (n.returnType && n.returnType.typeAnnotation) { - parts.unshift(": "); - } - - if (n.predicate) { - // The return type will already add the colon, but otherwise we - // need to do it ourselves - parts.push(n.returnType ? " " : ": ", path.call(print, "predicate")); - } - - return concat$l(parts); -} // `ReturnStatement` and `ThrowStatement` - - -function printReturnAndThrowArgument(path, options, print) { - const node = path.getValue(); - const semi = options.semi ? ";" : ""; - const parts = []; - - if (node.argument) { - if (returnArgumentHasLeadingComment$1(options, node.argument)) { - parts.push(concat$l([" (", indent$g(concat$l([hardline$d, path.call(print, "argument")])), hardline$d, ")"])); - } else if (isBinaryish$3(node.argument) || node.argument.type === "SequenceExpression") { - parts.push(group$c(concat$l([ifBreak$8(" (", " "), indent$g(concat$l([softline$c, path.call(print, "argument")])), softline$c, ifBreak$8(")")]))); - } else { - parts.push(" ", path.call(print, "argument")); - } - } - - const lastComment = Array.isArray(node.comments) && node.comments[node.comments.length - 1]; - const isLastCommentLine = lastComment && isLineComment$1(lastComment); - - if (isLastCommentLine) { - parts.push(semi); - } - - if (hasDanglingComments$5(node)) { - parts.push(" ", printDanglingComments$7(path, options, - /* sameIndent */ - true)); - } - - if (!isLastCommentLine) { - parts.push(semi); - } - - return concat$l(parts); -} - -var _function = { - printFunctionDeclaration, - printArrowFunctionExpression, - printMethod, - printReturnAndThrowArgument, - shouldPrintParamsWithoutParens -}; - -const { - printComments: printComments$3, - printDanglingComments: printDanglingComments$8 -} = comments; -const { - builders: { - concat: concat$m, - join: join$8, - line: line$e, - hardline: hardline$e, - softline: softline$d, - group: group$d, - indent: indent$h, - ifBreak: ifBreak$9 - } -} = document; -const { - hasTrailingComment: hasTrailingComment$2, - hasTrailingLineComment: hasTrailingLineComment$1 -} = utils$6; -const { - getTypeParametersGroupId: getTypeParametersGroupId$1 -} = typeParameters; -const { - printMethod: printMethod$1 -} = _function; -const { - printDecorators: printDecorators$1 -} = misc; - -function printClass(path, options, print) { - const n = path.getValue(); - const parts = []; - - if (n.abstract) { - parts.push("abstract "); - } - - parts.push("class"); // Keep old behaviour of extends in same line - // If there is only on extends and there are not comments - - const groupMode = n.id && hasTrailingComment$2(n.id) || n.superClass && n.superClass.comments && n.superClass.comments.length !== 0 || n.extends && n.extends.length !== 0 || // DeclareClass - n.mixins && n.mixins.length !== 0 || n.implements && n.implements.length !== 0; - const partsGroup = []; - const extendsParts = []; - - if (n.id) { - partsGroup.push(" ", path.call(print, "id")); - } - - partsGroup.push(path.call(print, "typeParameters")); - - if (n.superClass) { - const printed = concat$m(["extends ", printSuperClass(path, options, print), path.call(print, "superTypeParameters")]); - const printedWithComments = path.call(superClass => printComments$3(superClass, () => printed, options), "superClass"); - - if (groupMode) { - extendsParts.push(line$e, group$d(printedWithComments)); - } else { - extendsParts.push(" ", printedWithComments); - } - } else { - extendsParts.push(printList(path, options, print, "extends")); - } - - extendsParts.push(printList(path, options, print, "mixins")); - extendsParts.push(printList(path, options, print, "implements")); - - if (groupMode) { - const printedExtends = concat$m(extendsParts); - - if (shouldIndentOnlyHeritageClauses(n)) { - parts.push(group$d(concat$m(partsGroup.concat(ifBreak$9(indent$h(printedExtends), printedExtends))))); - } else { - parts.push(group$d(indent$h(concat$m(partsGroup.concat(printedExtends))))); - } - } else { - parts.push(...partsGroup, ...extendsParts); - } - - parts.push(" ", path.call(print, "body")); - return concat$m(parts); -} - -function hasMultipleHeritage(node) { - return ["superClass", "extends", "mixins", "implements"].filter(key => !!node[key]).length > 1; -} - -function shouldIndentOnlyHeritageClauses(node) { - return node.typeParameters && !hasTrailingLineComment$1(node.typeParameters) && !hasMultipleHeritage(node); -} - -function printList(path, options, print, listName) { - const n = path.getValue(); - - if (!n[listName] || n[listName].length === 0) { - return ""; - } - - const printedLeadingComments = printDanglingComments$8(path, options, - /* sameIndent */ - true, ({ - marker - }) => marker === listName); - return concat$m([shouldIndentOnlyHeritageClauses(n) ? ifBreak$9(" ", line$e, { - groupId: getTypeParametersGroupId$1(n.typeParameters) - }) : line$e, printedLeadingComments, printedLeadingComments && hardline$e, listName, group$d(indent$h(concat$m([line$e, join$8(concat$m([",", line$e]), path.map(print, listName))])))]); -} - -function printSuperClass(path, options, print) { - const printed = path.call(print, "superClass"); - const parent = path.getParentNode(); - - if (parent.type === "AssignmentExpression") { - return group$d(ifBreak$9(concat$m(["(", indent$h(concat$m([softline$d, printed])), softline$d, ")"]), printed)); - } - - return printed; -} - -function printClassMethod(path, options, print) { - const n = path.getValue(); - const parts = []; - - if (n.decorators && n.decorators.length !== 0) { - parts.push(printDecorators$1(path, options, print)); - } - - if (n.accessibility) { - parts.push(n.accessibility + " "); - } - - if (n.static) { - parts.push("static "); - } - - if (n.type === "TSAbstractMethodDefinition" || n.abstract) { - parts.push("abstract "); - } - - parts.push(printMethod$1(path, options, print)); - return concat$m(parts); -} - -var _class = { - printClass, - printClassMethod -}; - -const { - getLast: getLast$6, - getPenultimate: getPenultimate$1, - isNextLineEmpty: isNextLineEmpty$5 -} = util; -const { - getFunctionParameters: getFunctionParameters$5, - iterateFunctionParametersPath: iterateFunctionParametersPath$2, - hasLeadingComment: hasLeadingComment$3, - hasTrailingComment: hasTrailingComment$3, - isFunctionCompositionArgs: isFunctionCompositionArgs$1, - isJSXNode: isJSXNode$5, - isLongCurriedCallExpression: isLongCurriedCallExpression$1, - shouldPrintComma: shouldPrintComma$7, - getCallArguments: getCallArguments$1, - iterateCallArgumentsPath: iterateCallArgumentsPath$1 -} = utils$6; -const { - locEnd: locEnd$9 -} = loc; -const { - builders: { - concat: concat$n, - line: line$f, - hardline: hardline$f, - softline: softline$e, - group: group$e, - indent: indent$i, - conditionalGroup: conditionalGroup$2, - ifBreak: ifBreak$a, - breakParent: breakParent$3 - }, - utils: { - willBreak: willBreak$2 - } -} = document; - -function printCallArguments(path, options, print) { - const node = path.getValue(); - const isDynamicImport = node.type === "ImportExpression"; - const args = getCallArguments$1(node); - - if (args.length === 0) { - return concat$n(["(", comments.printDanglingComments(path, options, - /* sameIndent */ - true), ")"]); - } // useEffect(() => { ... }, [foo, bar, baz]) - - - if (args.length === 2 && args[0].type === "ArrowFunctionExpression" && getFunctionParameters$5(args[0]).length === 0 && args[0].body.type === "BlockStatement" && args[1].type === "ArrayExpression" && !args.some(arg => arg.comments)) { - return concat$n(["(", path.call(print, "arguments", 0), ", ", path.call(print, "arguments", 1), ")"]); - } // func( - // ({ - // a, - // - // b - // }) => {} - // ); - - - function shouldBreakForArrowFunctionInArguments(arg, argPath) { - if (!arg || arg.type !== "ArrowFunctionExpression" || !arg.body || arg.body.type !== "BlockStatement" || getFunctionParameters$5(arg).length === 0) { - return false; - } - - let shouldBreak = false; - iterateFunctionParametersPath$2(argPath, parameterPath => { - shouldBreak = shouldBreak || willBreak$2(concat$n([print(parameterPath)])); - }); - return shouldBreak; - } - - let anyArgEmptyLine = false; - let shouldBreakForArrowFunction = false; - let hasEmptyLineFollowingFirstArg = false; - const lastArgIndex = args.length - 1; - const printedArguments = []; - iterateCallArgumentsPath$1(path, (argPath, index) => { - const arg = argPath.getNode(); - const parts = [print(argPath)]; - - if (index === lastArgIndex) ; else if (isNextLineEmpty$5(options.originalText, arg, locEnd$9)) { - if (index === 0) { - hasEmptyLineFollowingFirstArg = true; - } - - anyArgEmptyLine = true; - parts.push(",", hardline$f, hardline$f); - } else { - parts.push(",", line$f); - } - - shouldBreakForArrowFunction = shouldBreakForArrowFunctionInArguments(arg, argPath); - printedArguments.push(concat$n(parts)); - }); - const maybeTrailingComma = // Dynamic imports cannot have trailing commas - !(isDynamicImport || node.callee && node.callee.type === "Import") && shouldPrintComma$7(options, "all") ? "," : ""; - - function allArgsBrokenOut() { - return group$e(concat$n(["(", indent$i(concat$n([line$f, concat$n(printedArguments)])), maybeTrailingComma, line$f, ")"]), { - shouldBreak: true - }); - } - - if (path.getParentNode().type !== "Decorator" && isFunctionCompositionArgs$1(args)) { - return allArgsBrokenOut(); - } - - const shouldGroupFirst = shouldGroupFirstArg(args); - const shouldGroupLast = shouldGroupLastArg(args); - - if (shouldGroupFirst || shouldGroupLast) { - const shouldBreak = (shouldGroupFirst ? printedArguments.slice(1).some(willBreak$2) : printedArguments.slice(0, -1).some(willBreak$2)) || anyArgEmptyLine || shouldBreakForArrowFunction; // We want to print the last argument with a special flag - - let printedExpanded = []; - iterateCallArgumentsPath$1(path, (argPath, i) => { - if (shouldGroupFirst && i === 0) { - printedExpanded = [concat$n([argPath.call(p => print(p, { - expandFirstArg: true - })), printedArguments.length > 1 ? "," : "", hasEmptyLineFollowingFirstArg ? hardline$f : line$f, hasEmptyLineFollowingFirstArg ? hardline$f : ""])].concat(printedArguments.slice(1)); - } - - if (shouldGroupLast && i === args.length - 1) { - printedExpanded = printedArguments.slice(0, -1).concat(argPath.call(p => print(p, { - expandLastArg: true - }))); - } - }); - const somePrintedArgumentsWillBreak = printedArguments.some(willBreak$2); - const simpleConcat = concat$n(["(", concat$n(printedExpanded), ")"]); - return concat$n([somePrintedArgumentsWillBreak ? breakParent$3 : "", conditionalGroup$2([!somePrintedArgumentsWillBreak && !node.typeArguments && !node.typeParameters ? simpleConcat : ifBreak$a(allArgsBrokenOut(), simpleConcat), shouldGroupFirst ? concat$n(["(", group$e(printedExpanded[0], { - shouldBreak: true - }), concat$n(printedExpanded.slice(1)), ")"]) : concat$n(["(", concat$n(printedArguments.slice(0, -1)), group$e(getLast$6(printedExpanded), { - shouldBreak: true - }), ")"]), allArgsBrokenOut()], { - shouldBreak - })]); - } - - const contents = concat$n(["(", indent$i(concat$n([softline$e, concat$n(printedArguments)])), ifBreak$a(maybeTrailingComma), softline$e, ")"]); - - if (isLongCurriedCallExpression$1(path)) { - // By not wrapping the arguments in a group, the printer prioritizes - // breaking up these arguments rather than the args of the parent call. - return contents; - } - - return group$e(contents, { - shouldBreak: printedArguments.some(willBreak$2) || anyArgEmptyLine - }); -} - -function couldGroupArg(arg) { - return arg.type === "ObjectExpression" && (arg.properties.length > 0 || arg.comments) || arg.type === "ArrayExpression" && (arg.elements.length > 0 || arg.comments) || arg.type === "TSTypeAssertion" && couldGroupArg(arg.expression) || arg.type === "TSAsExpression" && couldGroupArg(arg.expression) || arg.type === "FunctionExpression" || arg.type === "ArrowFunctionExpression" && ( // we want to avoid breaking inside composite return types but not simple keywords - // https://github.com/prettier/prettier/issues/4070 - // export class Thing implements OtherThing { - // do: (type: Type) => Provider = memoize( - // (type: ObjectType): Provider => {} - // ); - // } - // https://github.com/prettier/prettier/issues/6099 - // app.get("/", (req, res): void => { - // res.send("Hello World!"); - // }); - !arg.returnType || !arg.returnType.typeAnnotation || arg.returnType.typeAnnotation.type !== "TSTypeReference") && (arg.body.type === "BlockStatement" || arg.body.type === "ArrowFunctionExpression" || arg.body.type === "ObjectExpression" || arg.body.type === "ArrayExpression" || arg.body.type === "CallExpression" || arg.body.type === "OptionalCallExpression" || arg.body.type === "ConditionalExpression" || isJSXNode$5(arg.body)); -} - -function shouldGroupLastArg(args) { - const lastArg = getLast$6(args); - const penultimateArg = getPenultimate$1(args); - return !hasLeadingComment$3(lastArg) && !hasTrailingComment$3(lastArg) && couldGroupArg(lastArg) && ( // If the last two arguments are of the same type, - // disable last element expansion. - !penultimateArg || penultimateArg.type !== lastArg.type); -} - -function shouldGroupFirstArg(args) { - if (args.length !== 2) { - return false; - } - - const [firstArg, secondArg] = args; - return (!firstArg.comments || !firstArg.comments.length) && (firstArg.type === "FunctionExpression" || firstArg.type === "ArrowFunctionExpression" && firstArg.body.type === "BlockStatement") && secondArg.type !== "FunctionExpression" && secondArg.type !== "ArrowFunctionExpression" && secondArg.type !== "ConditionalExpression" && !couldGroupArg(secondArg); -} - -var callArguments = printCallArguments; - -const { - builders: { - concat: concat$o, - softline: softline$f, - group: group$f, - indent: indent$j - } -} = document; -const { - isNumericLiteral: isNumericLiteral$2 -} = utils$6; -const { - printOptionalToken: printOptionalToken$3 -} = misc; - -function printMemberExpression(path, options, print) { - const n = path.getValue(); - const parent = path.getParentNode(); - let firstNonMemberParent; - let i = 0; - - do { - firstNonMemberParent = path.getParentNode(i); - i++; - } while (firstNonMemberParent && (firstNonMemberParent.type === "MemberExpression" || firstNonMemberParent.type === "OptionalMemberExpression" || firstNonMemberParent.type === "TSNonNullExpression")); - - const shouldInline = firstNonMemberParent && (firstNonMemberParent.type === "NewExpression" || firstNonMemberParent.type === "BindExpression" || firstNonMemberParent.type === "VariableDeclarator" && firstNonMemberParent.id.type !== "Identifier" || firstNonMemberParent.type === "AssignmentExpression" && firstNonMemberParent.left.type !== "Identifier") || n.computed || n.object.type === "Identifier" && n.property.type === "Identifier" && parent.type !== "MemberExpression" && parent.type !== "OptionalMemberExpression"; - return concat$o([path.call(print, "object"), shouldInline ? printMemberLookup(path, options, print) : group$f(indent$j(concat$o([softline$f, printMemberLookup(path, options, print)])))]); -} - -function printMemberLookup(path, options, print) { - const property = path.call(print, "property"); - const n = path.getValue(); - const optional = printOptionalToken$3(path); - - if (!n.computed) { - return concat$o([optional, ".", property]); - } - - if (!n.property || isNumericLiteral$2(n.property)) { - return concat$o([optional, "[", property, "]"]); - } - - return group$f(concat$o([optional, "[", indent$j(concat$o([softline$f, property])), softline$f, "]"])); -} - -var member = { - printMemberExpression, - printMemberLookup -}; - -const { - getLast: getLast$7, - isNextLineEmpty: isNextLineEmpty$6, - isNextLineEmptyAfterIndex: isNextLineEmptyAfterIndex$2, - getNextNonSpaceNonCommentCharacterIndex: getNextNonSpaceNonCommentCharacterIndex$4 -} = util; -const { - hasLeadingComment: hasLeadingComment$4, - hasTrailingComment: hasTrailingComment$4, - isCallOrOptionalCallExpression: isCallOrOptionalCallExpression$2, - isFunctionOrArrowExpression: isFunctionOrArrowExpression$1, - isLongCurriedCallExpression: isLongCurriedCallExpression$2, - isMemberish: isMemberish$1, - isNumericLiteral: isNumericLiteral$3, - isSimpleCallArgument: isSimpleCallArgument$1 -} = utils$6; -const { - locEnd: locEnd$a -} = loc; -const { - builders: { - concat: concat$p, - join: join$9, - hardline: hardline$g, - group: group$g, - indent: indent$k, - conditionalGroup: conditionalGroup$3, - breakParent: breakParent$4 - }, - utils: { - willBreak: willBreak$3 - } -} = document; -const { - printMemberLookup: printMemberLookup$1 -} = member; -const { - printOptionalToken: printOptionalToken$4, - printFunctionTypeParameters: printFunctionTypeParameters$3, - printBindExpressionCallee: printBindExpressionCallee$1 -} = misc; // We detect calls on member expressions specially to format a -// common pattern better. The pattern we are looking for is this: -// -// arr -// .map(x => x + 1) -// .filter(x => x > 10) -// .some(x => x % 2) -// -// The way it is structured in the AST is via a nested sequence of -// MemberExpression and CallExpression. We need to traverse the AST -// and make groups out of it to print it in the desired way. - -function printMemberChain(path, options, print) { - const parent = path.getParentNode(); - const isExpressionStatement = !parent || parent.type === "ExpressionStatement"; // The first phase is to linearize the AST by traversing it down. - // - // a().b() - // has the following AST structure: - // CallExpression(MemberExpression(CallExpression(Identifier))) - // and we transform it into - // [Identifier, CallExpression, MemberExpression, CallExpression] - - const printedNodes = []; // Here we try to retain one typed empty line after each call expression or - // the first group whether it is in parentheses or not - - function shouldInsertEmptyLineAfter(node) { - const { - originalText - } = options; - const nextCharIndex = getNextNonSpaceNonCommentCharacterIndex$4(originalText, node, locEnd$a); - const nextChar = originalText.charAt(nextCharIndex); // if it is cut off by a parenthesis, we only account for one typed empty - // line after that parenthesis - - if (nextChar === ")") { - return nextCharIndex !== false && isNextLineEmptyAfterIndex$2(originalText, nextCharIndex + 1); - } - - return isNextLineEmpty$6(originalText, node, locEnd$a); - } - - function rec(path) { - const node = path.getValue(); - - if (isCallOrOptionalCallExpression$2(node) && (isMemberish$1(node.callee) || isCallOrOptionalCallExpression$2(node.callee))) { - printedNodes.unshift({ - node, - printed: concat$p([comments.printComments(path, () => concat$p([printOptionalToken$4(path), printFunctionTypeParameters$3(path, options, print), callArguments(path, options, print)]), options), shouldInsertEmptyLineAfter(node) ? hardline$g : ""]) - }); - path.call(callee => rec(callee), "callee"); - } else if (isMemberish$1(node)) { - printedNodes.unshift({ - node, - needsParens: needsParens_1(path, options), - printed: comments.printComments(path, () => node.type === "OptionalMemberExpression" || node.type === "MemberExpression" ? printMemberLookup$1(path, options, print) : printBindExpressionCallee$1(path, options, print), options) - }); - path.call(object => rec(object), "object"); - } else if (node.type === "TSNonNullExpression") { - printedNodes.unshift({ - node, - printed: comments.printComments(path, () => "!", options) - }); - path.call(expression => rec(expression), "expression"); - } else { - printedNodes.unshift({ - node, - printed: path.call(print) - }); - } - } // Note: the comments of the root node have already been printed, so we - // need to extract this first call without printing them as they would - // if handled inside of the recursive call. - - - const node = path.getValue(); - printedNodes.unshift({ - node, - printed: concat$p([printOptionalToken$4(path), printFunctionTypeParameters$3(path, options, print), callArguments(path, options, print)]) - }); - - if (node.callee) { - path.call(callee => rec(callee), "callee"); - } // Once we have a linear list of printed nodes, we want to create groups out - // of it. - // - // a().b.c().d().e - // will be grouped as - // [ - // [Identifier, CallExpression], - // [MemberExpression, MemberExpression, CallExpression], - // [MemberExpression, CallExpression], - // [MemberExpression], - // ] - // so that we can print it as - // a() - // .b.c() - // .d() - // .e - // The first group is the first node followed by - // - as many CallExpression as possible - // < fn()()() >.something() - // - as many array accessors as possible - // < fn()[0][1][2] >.something() - // - then, as many MemberExpression as possible but the last one - // < this.items >.something() - - - const groups = []; - let currentGroup = [printedNodes[0]]; - let i = 1; - - for (; i < printedNodes.length; ++i) { - if (printedNodes[i].node.type === "TSNonNullExpression" || isCallOrOptionalCallExpression$2(printedNodes[i].node) || (printedNodes[i].node.type === "MemberExpression" || printedNodes[i].node.type === "OptionalMemberExpression") && printedNodes[i].node.computed && isNumericLiteral$3(printedNodes[i].node.property)) { - currentGroup.push(printedNodes[i]); - } else { - break; - } - } - - if (!isCallOrOptionalCallExpression$2(printedNodes[0].node)) { - for (; i + 1 < printedNodes.length; ++i) { - if (isMemberish$1(printedNodes[i].node) && isMemberish$1(printedNodes[i + 1].node)) { - currentGroup.push(printedNodes[i]); - } else { - break; - } - } - } - - groups.push(currentGroup); - currentGroup = []; // Then, each following group is a sequence of MemberExpression followed by - // a sequence of CallExpression. To compute it, we keep adding things to the - // group until we has seen a CallExpression in the past and reach a - // MemberExpression - - let hasSeenCallExpression = false; - - for (; i < printedNodes.length; ++i) { - if (hasSeenCallExpression && isMemberish$1(printedNodes[i].node)) { - // [0] should be appended at the end of the group instead of the - // beginning of the next one - if (printedNodes[i].node.computed && isNumericLiteral$3(printedNodes[i].node.property)) { - currentGroup.push(printedNodes[i]); - continue; - } - - groups.push(currentGroup); - currentGroup = []; - hasSeenCallExpression = false; - } - - if (isCallOrOptionalCallExpression$2(printedNodes[i].node) || printedNodes[i].node.type === "ImportExpression") { - hasSeenCallExpression = true; - } - - currentGroup.push(printedNodes[i]); - - if (printedNodes[i].node.comments && printedNodes[i].node.comments.some(comment => comment.trailing)) { - groups.push(currentGroup); - currentGroup = []; - hasSeenCallExpression = false; - } - } - - if (currentGroup.length > 0) { - groups.push(currentGroup); - } // There are cases like Object.keys(), Observable.of(), _.values() where - // they are the subject of all the chained calls and therefore should - // be kept on the same line: - // - // Object.keys(items) - // .filter(x => x) - // .map(x => x) - // - // In order to detect those cases, we use an heuristic: if the first - // node is an identifier with the name starting with a capital - // letter or just a sequence of _$. The rationale is that they are - // likely to be factories. - - - function isFactory(name) { - return /^[A-Z]|^[$_]+$/.test(name); - } // In case the Identifier is shorter than tab width, we can keep the - // first call in a single line, if it's an ExpressionStatement. - // - // d3.scaleLinear() - // .domain([0, 100]) - // .range([0, width]); - // - - - function isShort(name) { - return name.length <= options.tabWidth; - } - - function shouldNotWrap(groups) { - const hasComputed = groups[1].length && groups[1][0].node.computed; - - if (groups[0].length === 1) { - const firstNode = groups[0][0].node; - return firstNode.type === "ThisExpression" || firstNode.type === "Identifier" && (isFactory(firstNode.name) || isExpressionStatement && isShort(firstNode.name) || hasComputed); - } - - const lastNode = getLast$7(groups[0]).node; - return (lastNode.type === "MemberExpression" || lastNode.type === "OptionalMemberExpression") && lastNode.property.type === "Identifier" && (isFactory(lastNode.property.name) || hasComputed); - } - - const shouldMerge = groups.length >= 2 && !groups[1][0].node.comments && shouldNotWrap(groups); - - function printGroup(printedGroup) { - const printed = printedGroup.map(tuple => tuple.printed); // Checks if the last node (i.e. the parent node) needs parens and print - // accordingly - - if (printedGroup.length > 0 && printedGroup[printedGroup.length - 1].needsParens) { - return concat$p(["(", ...printed, ")"]); - } - - return concat$p(printed); - } - - function printIndentedGroup(groups) { - /* istanbul ignore next */ - if (groups.length === 0) { - return ""; - } - - return indent$k(group$g(concat$p([hardline$g, join$9(hardline$g, groups.map(printGroup))]))); - } - - const printedGroups = groups.map(printGroup); - const oneLine = concat$p(printedGroups); - const cutoff = shouldMerge ? 3 : 2; - const flatGroups = flatten_1(groups); - const hasComment = flatGroups.slice(1, -1).some(node => hasLeadingComment$4(node.node)) || flatGroups.slice(0, -1).some(node => hasTrailingComment$4(node.node)) || groups[cutoff] && hasLeadingComment$4(groups[cutoff][0].node); // If we only have a single `.`, we shouldn't do anything fancy and just - // render everything concatenated together. - - if (groups.length <= cutoff && !hasComment) { - if (isLongCurriedCallExpression$2(path)) { - return oneLine; - } - - return group$g(oneLine); - } // Find out the last node in the first group and check if it has an - // empty line after - - - const lastNodeBeforeIndent = getLast$7(groups[shouldMerge ? 1 : 0]).node; - const shouldHaveEmptyLineBeforeIndent = !isCallOrOptionalCallExpression$2(lastNodeBeforeIndent) && shouldInsertEmptyLineAfter(lastNodeBeforeIndent); - const expanded = concat$p([printGroup(groups[0]), shouldMerge ? concat$p(groups.slice(1, 2).map(printGroup)) : "", shouldHaveEmptyLineBeforeIndent ? hardline$g : "", printIndentedGroup(groups.slice(shouldMerge ? 2 : 1))]); - const callExpressions = printedNodes.map(({ - node - }) => node).filter(isCallOrOptionalCallExpression$2); - - function lastGroupWillBreakAndOtherCallsHaveFunctionArguments() { - const lastGroupNode = getLast$7(getLast$7(groups)).node; - const lastGroupDoc = getLast$7(printedGroups); - return isCallOrOptionalCallExpression$2(lastGroupNode) && willBreak$3(lastGroupDoc) && callExpressions.slice(0, -1).some(n => n.arguments.some(isFunctionOrArrowExpression$1)); - } // We don't want to print in one line if at least one of these conditions occurs: - // * the chain has comments, - // * the chain is an expression statement and all the arguments are literal-like ("fluent configuration" pattern), - // * the chain is longer than 2 calls and has non-trivial arguments or more than 2 arguments in any call but the first one, - // * any group but the last one has a hard line, - // * the last call's arguments have a hard line and other calls have non-trivial arguments. - - - if (hasComment || callExpressions.length > 2 && callExpressions.some(expr => !expr.arguments.every(arg => isSimpleCallArgument$1(arg, 0))) || printedGroups.slice(0, -1).some(willBreak$3) || lastGroupWillBreakAndOtherCallsHaveFunctionArguments()) { - return group$g(expanded); - } - - return concat$p([// We only need to check `oneLine` because if `expanded` is chosen - // that means that the parent group has already been broken - // naturally - willBreak$3(oneLine) || shouldHaveEmptyLineBeforeIndent ? breakParent$4 : "", conditionalGroup$3([oneLine, expanded])]); -} - -var memberChain = printMemberChain; - -const { - builders: { - concat: concat$q, - join: join$a, - group: group$h - } -} = document; -const { - getCallArguments: getCallArguments$2, - hasFlowAnnotationComment: hasFlowAnnotationComment$2, - isCallOrOptionalCallExpression: isCallOrOptionalCallExpression$3, - isMemberish: isMemberish$2, - isTemplateOnItsOwnLine: isTemplateOnItsOwnLine$2, - isTestCall: isTestCall$3, - iterateCallArgumentsPath: iterateCallArgumentsPath$2 -} = utils$6; -const { - printOptionalToken: printOptionalToken$5, - printFunctionTypeParameters: printFunctionTypeParameters$4 -} = misc; - -function printCallExpression(path, options, print) { - const n = path.getValue(); - const isNew = n.type === "NewExpression"; - const isDynamicImport = n.type === "ImportExpression"; - const optional = printOptionalToken$5(path); - const args = getCallArguments$2(n); - - if ( // Dangling comments not handled, all these special cases should has argument #9668 - args.length > 0 && ( // We want to keep CommonJS- and AMD-style require calls, and AMD-style - // define calls, as a unit. - // e.g. `define(["some/lib", (lib) => {` - !isDynamicImport && !isNew && n.callee.type === "Identifier" && (n.callee.name === "require" || n.callee.name === "define") || // Template literals as single arguments - args.length === 1 && isTemplateOnItsOwnLine$2(args[0], options.originalText) || // Keep test declarations on a single line - // e.g. `it('long name', () => {` - !isNew && isTestCall$3(n, path.getParentNode()))) { - const printed = []; - iterateCallArgumentsPath$2(path, argPath => { - printed.push(print(argPath)); - }); - return concat$q([isNew ? "new " : "", path.call(print, "callee"), optional, printFunctionTypeParameters$4(path, options, print), concat$q(["(", join$a(", ", printed), ")"])]); - } // Inline Flow annotation comments following Identifiers in Call nodes need to - // stay with the Identifier. For example: - // - // foo /*:: */(bar); - // - // Here, we ensure that such comments stay between the Identifier and the Callee. - - - const isIdentifierWithFlowAnnotation = (options.parser === "babel" || options.parser === "babel-flow") && n.callee && n.callee.type === "Identifier" && hasFlowAnnotationComment$2(n.callee.trailingComments); - - if (isIdentifierWithFlowAnnotation) { - n.callee.trailingComments[0].printed = true; - } // We detect calls on member lookups and possibly print them in a - // special chain format. See `printMemberChain` for more info. - - - if (!isDynamicImport && !isNew && isMemberish$2(n.callee) && !path.call(path => needsParens_1(path, options), "callee")) { - return memberChain(path, options, print); - } - - const contents = concat$q([isNew ? "new " : "", isDynamicImport ? "import" : path.call(print, "callee"), optional, isIdentifierWithFlowAnnotation ? `/*:: ${n.callee.trailingComments[0].value.slice(2).trim()} */` : "", printFunctionTypeParameters$4(path, options, print), callArguments(path, options, print)]); // We group here when the callee is itself a call expression. - // See `isLongCurriedCallExpression` for more info. - - if (isDynamicImport || isCallOrOptionalCallExpression$3(n.callee)) { - return group$h(contents); - } - - return contents; -} - -var callExpression = { - printCallExpression -}; - -const { - builders: { - concat: concat$r, - join: join$b, - line: line$g, - group: group$i, - indent: indent$l, - ifBreak: ifBreak$b - } -} = document; -const { - hasTrailingComment: hasTrailingComment$5, - hasTrailingLineComment: hasTrailingLineComment$2, - identity: identity$2 -} = utils$6; -const { - getTypeParametersGroupId: getTypeParametersGroupId$2 -} = typeParameters; -const { - printTypeScriptModifiers: printTypeScriptModifiers$1 -} = misc; - -function printInterface(path, options, print) { - const n = path.getValue(); - const parts = []; - - if (n.type === "DeclareInterface" || n.declare) { - parts.push("declare "); - } - - if (n.type === "TSInterfaceDeclaration") { - parts.push(n.abstract ? "abstract " : "", printTypeScriptModifiers$1(path, options, print)); - } - - parts.push("interface"); - const partsGroup = []; - const extendsParts = []; - - if (n.type !== "InterfaceTypeAnnotation") { - partsGroup.push(" ", path.call(print, "id"), path.call(print, "typeParameters")); - } - - const shouldIndentOnlyHeritageClauses = n.typeParameters && !hasTrailingLineComment$2(n.typeParameters); - - if (n.extends && n.extends.length !== 0) { - extendsParts.push(shouldIndentOnlyHeritageClauses ? ifBreak$b(" ", line$g, { - groupId: getTypeParametersGroupId$2(n.typeParameters) - }) : line$g, "extends ", (n.extends.length === 1 ? identity$2 : indent$l)(join$b(concat$r([",", line$g]), path.map(print, "extends")))); - } - - if (n.id && hasTrailingComment$5(n.id) || n.extends && n.extends.length !== 0) { - const printedExtends = concat$r(extendsParts); - - if (shouldIndentOnlyHeritageClauses) { - parts.push(group$i(concat$r(partsGroup.concat(ifBreak$b(indent$l(printedExtends), printedExtends))))); - } else { - parts.push(group$i(indent$l(concat$r(partsGroup.concat(printedExtends))))); - } - } else { - parts.push(...partsGroup, ...extendsParts); - } - - parts.push(" ", path.call(print, "body")); - return group$i(concat$r(parts)); -} - -var _interface = { - printInterface -}; - -const { - printComments: printComments$4 -} = comments; -const { - getLast: getLast$8 -} = util; -const { - builders: { - concat: concat$s, - join: join$c, - line: line$h, - softline: softline$g, - group: group$j, - indent: indent$m, - align: align$3, - ifBreak: ifBreak$c - }, - utils: { - normalizeParts: normalizeParts$1 - } -} = document; -const { - hasLeadingOwnLineComment: hasLeadingOwnLineComment$2, - hasTrailingLineComment: hasTrailingLineComment$3, - isBinaryish: isBinaryish$4, - isJSXNode: isJSXNode$6, - shouldFlatten: shouldFlatten$2 -} = utils$6; -/** @typedef {import("../../document").Doc} Doc */ - -let uid = 0; - -function printBinaryishExpression(path, options, print) { - const n = path.getValue(); - const parent = path.getParentNode(); - const parentParent = path.getParentNode(1); - const isInsideParenthesis = n !== parent.body && (parent.type === "IfStatement" || parent.type === "WhileStatement" || parent.type === "SwitchStatement" || parent.type === "DoWhileStatement"); - const parts = printBinaryishExpressions(path, print, options, - /* isNested */ - false, isInsideParenthesis); // if ( - // this.hasPlugin("dynamicImports") && this.lookahead().type === tt.parenLeft - // ) { - // - // looks super weird, we want to break the children if the parent breaks - // - // if ( - // this.hasPlugin("dynamicImports") && - // this.lookahead().type === tt.parenLeft - // ) { - - if (isInsideParenthesis) { - return concat$s(parts); - } // Break between the parens in - // unaries or in a member or specific call expression, i.e. - // - // ( - // a && - // b && - // c - // ).call() - - - if ((parent.type === "CallExpression" || parent.type === "OptionalCallExpression") && parent.callee === n || parent.type === "UnaryExpression" || (parent.type === "MemberExpression" || parent.type === "OptionalMemberExpression") && !parent.computed) { - return group$j(concat$s([indent$m(concat$s([softline$g, concat$s(parts)])), softline$g])); - } // Avoid indenting sub-expressions in some cases where the first sub-expression is already - // indented accordingly. We should indent sub-expressions where the first case isn't indented. - - - const shouldNotIndent = parent.type === "ReturnStatement" || parent.type === "ThrowStatement" || parent.type === "JSXExpressionContainer" && parentParent.type === "JSXAttribute" || n.operator !== "|" && parent.type === "JsExpressionRoot" || n.type !== "NGPipeExpression" && (parent.type === "NGRoot" && options.parser === "__ng_binding" || parent.type === "NGMicrosyntaxExpression" && parentParent.type === "NGMicrosyntax" && parentParent.body.length === 1) || n === parent.body && parent.type === "ArrowFunctionExpression" || n !== parent.body && parent.type === "ForStatement" || parent.type === "ConditionalExpression" && parentParent.type !== "ReturnStatement" && parentParent.type !== "ThrowStatement" && parentParent.type !== "CallExpression" && parentParent.type !== "OptionalCallExpression" || parent.type === "TemplateLiteral"; - const shouldIndentIfInlining = parent.type === "AssignmentExpression" || parent.type === "VariableDeclarator" || parent.type === "ClassProperty" || parent.type === "FieldDefinition" || parent.type === "TSAbstractClassProperty" || parent.type === "ClassPrivateProperty" || parent.type === "ObjectProperty" || parent.type === "Property"; - const samePrecedenceSubExpression = isBinaryish$4(n.left) && shouldFlatten$2(n.operator, n.left.operator); - - if (shouldNotIndent || shouldInlineLogicalExpression(n) && !samePrecedenceSubExpression || !shouldInlineLogicalExpression(n) && shouldIndentIfInlining) { - return group$j(concat$s(parts)); - } - - if (parts.length === 0) { - return ""; - } // If the right part is a JSX node, we include it in a separate group to - // prevent it breaking the whole chain, so we can print the expression like: - // - // foo && bar && ( - // - // - // - // ) - - - const hasJSX = isJSXNode$6(n.right); - const firstGroupIndex = parts.findIndex(part => typeof part !== "string" && part.type === "group"); // Separate the leftmost expression, possibly with its leading comments. - - const headParts = parts.slice(0, firstGroupIndex === -1 ? 1 : firstGroupIndex + 1); - const rest = concat$s(parts.slice(headParts.length, hasJSX ? -1 : undefined)); - const groupId = Symbol("logicalChain-" + ++uid); - const chain = group$j(concat$s([// Don't include the initial expression in the indentation - // level. The first item is guaranteed to be the first - // left-most expression. - ...headParts, indent$m(rest)]), { - id: groupId - }); - - if (!hasJSX) { - return chain; - } - - const jsxPart = getLast$8(parts); - return group$j(concat$s([chain, ifBreak$c(indent$m(jsxPart), jsxPart, { - groupId - })])); -} // For binary expressions to be consistent, we need to group -// subsequent operators with the same precedence level under a single -// group. Otherwise they will be nested such that some of them break -// onto new lines but not all. Operators with the same precedence -// level should either all break or not. Because we group them by -// precedence level and the AST is structured based on precedence -// level, things are naturally broken up correctly, i.e. `&&` is -// broken before `+`. - - -function printBinaryishExpressions(path, print, options, isNested, isInsideParenthesis) { - /** @type{Doc[]} */ - let parts = []; - const node = path.getValue(); // We treat BinaryExpression and LogicalExpression nodes the same. - - if (isBinaryish$4(node)) { - // Put all operators with the same precedence level in the same - // group. The reason we only need to do this with the `left` - // expression is because given an expression like `1 + 2 - 3`, it - // is always parsed like `((1 + 2) - 3)`, meaning the `left` side - // is where the rest of the expression will exist. Binary - // expressions on the right side mean they have a difference - // precedence level and should be treated as a separate group, so - // print them normally. (This doesn't hold for the `**` operator, - // which is unique in that it is right-associative.) - if (shouldFlatten$2(node.operator, node.left.operator)) { - // Flatten them out by recursively calling this function. - parts = parts.concat(path.call(left => printBinaryishExpressions(left, print, options, - /* isNested */ - true, isInsideParenthesis), "left")); - } else { - parts.push(group$j(path.call(print, "left"))); - } - - const shouldInline = shouldInlineLogicalExpression(node); - const lineBeforeOperator = (node.operator === "|>" || node.type === "NGPipeExpression" || node.operator === "|" && options.parser === "__vue_expression") && !hasLeadingOwnLineComment$2(options.originalText, node.right); - const operator = node.type === "NGPipeExpression" ? "|" : node.operator; - const rightSuffix = node.type === "NGPipeExpression" && node.arguments.length !== 0 ? group$j(indent$m(concat$s([softline$g, ": ", join$c(concat$s([softline$g, ":", ifBreak$c(" ")]), path.map(print, "arguments").map(arg => align$3(2, group$j(arg))))]))) : ""; - const right = shouldInline ? concat$s([operator, " ", path.call(print, "right"), rightSuffix]) : concat$s([lineBeforeOperator ? line$h : "", operator, lineBeforeOperator ? " " : line$h, path.call(print, "right"), rightSuffix]); // If there's only a single binary expression, we want to create a group - // in order to avoid having a small right part like -1 be on its own line. - - const parent = path.getParentNode(); - const shouldBreak = hasTrailingLineComment$3(node.left); - const shouldGroup = shouldBreak || !(isInsideParenthesis && node.type === "LogicalExpression") && parent.type !== node.type && node.left.type !== node.type && node.right.type !== node.type; - parts.push(lineBeforeOperator ? "" : " ", shouldGroup ? group$j(right, { - shouldBreak - }) : right); // The root comments are already printed, but we need to manually print - // the other ones since we don't call the normal print on BinaryExpression, - // only for the left and right parts - - if (isNested && node.comments) { - parts = normalizeParts$1(printComments$4(path, () => concat$s(parts), options).parts); - } - } else { - // Our stopping case. Simply print the node normally. - parts.push(group$j(path.call(print))); - } - - return parts; -} - -function shouldInlineLogicalExpression(node) { - if (node.type !== "LogicalExpression") { - return false; - } - - if (node.right.type === "ObjectExpression" && node.right.properties.length !== 0) { - return true; - } - - if (node.right.type === "ArrayExpression" && node.right.elements.length !== 0) { - return true; - } - - if (isJSXNode$6(node.right)) { - return true; - } - - return false; -} - -var binaryish = { - printBinaryishExpression, - shouldInlineLogicalExpression -}; - -const { - builders: { - concat: concat$t, - line: line$i, - group: group$k, - indent: indent$n - } -} = document; -const { - hasLeadingOwnLineComment: hasLeadingOwnLineComment$3, - isBinaryish: isBinaryish$5, - isMemberExpressionChain: isMemberExpressionChain$1, - isStringLiteral: isStringLiteral$3 -} = utils$6; -const { - shouldInlineLogicalExpression: shouldInlineLogicalExpression$1 -} = binaryish; - -function printAssignment(leftNode, printedLeft, operator, rightNode, printedRight, options) { - if (!rightNode) { - return printedLeft; - } - - const printed = printAssignmentRight(leftNode, rightNode, printedRight, options); - return group$k(concat$t([printedLeft, operator, printed])); -} - -function printAssignmentExpression(path, options, print) { - const n = path.getValue(); - return printAssignment(n.left, path.call(print, "left"), concat$t([" ", n.operator]), n.right, path.call(print, "right"), options); -} - -function printVariableDeclarator(path, options, print) { - const n = path.getValue(); - return printAssignment(n.id, path.call(print, "id"), " =", n.init, n.init && path.call(print, "init"), options); -} - -function printAssignmentRight(leftNode, rightNode, printedRight, options) { - if (hasLeadingOwnLineComment$3(options.originalText, rightNode)) { - return indent$n(concat$t([line$i, printedRight])); - } - - const canBreak = isBinaryish$5(rightNode) && !shouldInlineLogicalExpression$1(rightNode) || rightNode.type === "ConditionalExpression" && isBinaryish$5(rightNode.test) && !shouldInlineLogicalExpression$1(rightNode.test) || rightNode.type === "StringLiteralTypeAnnotation" || rightNode.type === "ClassExpression" && rightNode.decorators && rightNode.decorators.length || (leftNode.type === "Identifier" || isStringLiteral$3(leftNode) || leftNode.type === "MemberExpression") && (isStringLiteral$3(rightNode) || isMemberExpressionChain$1(rightNode)) && // do not put values on a separate line from the key in json - options.parser !== "json" && options.parser !== "json5" || rightNode.type === "SequenceExpression"; - - if (canBreak) { - return group$k(indent$n(concat$t([line$i, printedRight]))); - } - - return concat$t([" ", printedRight]); -} - -var assignment = { - printVariableDeclarator, - printAssignmentExpression, - printAssignment, - printAssignmentRight -}; - -const { - isNextLineEmpty: isNextLineEmpty$7 -} = util; -const { - builders: { - concat: concat$u, - join: join$d, - hardline: hardline$h - } -} = document; -const { - classChildNeedsASIProtection: classChildNeedsASIProtection$1, - classPropMayCauseASIProblems: classPropMayCauseASIProblems$1, - getLeftSidePathName: getLeftSidePathName$2, - hasNakedLeftSide: hasNakedLeftSide$2, - isJSXNode: isJSXNode$7, - isLastStatement: isLastStatement$1, - isTheOnlyJSXElementInMarkdown: isTheOnlyJSXElementInMarkdown$1 -} = utils$6; -const { - locEnd: locEnd$b -} = loc; -const { - shouldPrintParamsWithoutParens: shouldPrintParamsWithoutParens$1 -} = _function; -/** @typedef {import("../../document").Doc} Doc */ - -function printStatement({ - path, - index, - bodyNode, - isClass -}, options, print) { - const node = path.getValue(); // Just in case the AST has been modified to contain falsy - // "statements," it's safer simply to skip them. - - /* istanbul ignore if */ - - if (!node) { - return; - } // Skip printing EmptyStatement nodes to avoid leaving stray - // semicolons lying around. - - - if (node.type === "EmptyStatement") { - return; - } - - const printed = print(path); - const text = options.originalText; - const parts = []; // in no-semi mode, prepend statement with semicolon if it might break ASI - // don't prepend the only JSX element in a program with semicolon - - if (!options.semi && !isClass && !isTheOnlyJSXElementInMarkdown$1(options, path) && statementNeedsASIProtection(path, options)) { - if (node.comments && node.comments.some(comment => comment.leading)) { - parts.push(print(path, { - needsSemi: true - })); - } else { - parts.push(";", printed); - } - } else { - parts.push(printed); - } - - if (!options.semi && isClass) { - if (classPropMayCauseASIProblems$1(path)) { - parts.push(";"); - } else if (node.type === "ClassProperty" || node.type === "FieldDefinition") { - const nextChild = bodyNode.body[index + 1]; - - if (classChildNeedsASIProtection$1(nextChild)) { - parts.push(";"); - } - } - } - - if (isNextLineEmpty$7(text, node, locEnd$b) && !isLastStatement$1(path)) { - parts.push(hardline$h); - } - - return concat$u(parts); -} - -function printStatementSequence(path, options, print) { - const bodyNode = path.getNode(); - const isClass = bodyNode.type === "ClassBody"; - const printed = path.map((statementPath, index) => printStatement({ - path, - index, - bodyNode, - isClass - }, options, print)).filter(Boolean); - return join$d(hardline$h, printed); -} - -function statementNeedsASIProtection(path, options) { - const node = path.getNode(); - - if (node.type !== "ExpressionStatement") { - return false; - } - - return path.call(childPath => expressionNeedsASIProtection(childPath, options), "expression"); -} - -function expressionNeedsASIProtection(path, options) { - const node = path.getValue(); - const maybeASIProblem = needsParens_1(path, options) || node.type === "ParenthesizedExpression" || node.type === "TypeCastExpression" || node.type === "ArrowFunctionExpression" && !shouldPrintParamsWithoutParens$1(path, options) || node.type === "ArrayExpression" || node.type === "ArrayPattern" || node.type === "UnaryExpression" && node.prefix && (node.operator === "+" || node.operator === "-") || node.type === "TemplateLiteral" || node.type === "TemplateElement" || isJSXNode$7(node) || node.type === "BindExpression" && !node.object || node.type === "RegExpLiteral" || node.type === "Literal" && node.pattern || node.type === "Literal" && node.regex; - - if (maybeASIProblem) { - return true; - } - - if (!hasNakedLeftSide$2(node)) { - return false; - } - - return path.call(childPath => expressionNeedsASIProtection(childPath, options), ...getLeftSidePathName$2(path, node)); -} - -var statement = { - printStatementSequence -}; - -const { - printDanglingComments: printDanglingComments$9 -} = comments; -const { - isNextLineEmpty: isNextLineEmpty$8 -} = util; -const { - builders: { - concat: concat$v, - hardline: hardline$i, - indent: indent$o - } -} = document; -const { - hasDanglingComments: hasDanglingComments$6 -} = utils$6; -const { - locEnd: locEnd$c -} = loc; -const { - printStatementSequence: printStatementSequence$1 -} = statement; -/** @typedef {import("../../document").Doc} Doc */ - -function printBlock(path, options, print) { - const n = path.getValue(); - const parts = []; - const semi = options.semi ? ";" : ""; - const naked = path.call(bodyPath => { - return printStatementSequence$1(bodyPath, options, print); - }, "body"); - - if (n.type === "StaticBlock") { - parts.push("static "); - } - - const hasContent = n.body.some(node => node.type !== "EmptyStatement"); - const hasDirectives = n.directives && n.directives.length > 0; - const parent = path.getParentNode(); - const parentParent = path.getParentNode(1); - - if (!hasContent && !hasDirectives && !hasDanglingComments$6(n) && (parent.type === "ArrowFunctionExpression" || parent.type === "FunctionExpression" || parent.type === "FunctionDeclaration" || parent.type === "ObjectMethod" || parent.type === "ClassMethod" || parent.type === "ClassPrivateMethod" || parent.type === "ForStatement" || parent.type === "WhileStatement" || parent.type === "DoWhileStatement" || parent.type === "DoExpression" || parent.type === "CatchClause" && !parentParent.finalizer || parent.type === "TSModuleDeclaration" || parent.type === "TSDeclareFunction" || n.type === "StaticBlock")) { - return concat$v([...parts, "{}"]); - } - - parts.push("{"); // Babel 6 - - if (hasDirectives) { - path.each(childPath => { - parts.push(indent$o(concat$v([hardline$i, print(childPath), semi]))); - - if (isNextLineEmpty$8(options.originalText, childPath.getValue(), locEnd$c)) { - parts.push(hardline$i); - } - }, "directives"); - } - - if (hasContent) { - parts.push(indent$o(concat$v([hardline$i, naked]))); - } - - parts.push(printDanglingComments$9(path, options)); - parts.push(hardline$i, "}"); - return concat$v(parts); -} - -var block = { - printBlock -}; - -const { - hasNewline: hasNewline$6 -} = util; -const { - builders: { - concat: concat$w, - join: join$e, - hardline: hardline$j - } -} = document; -const { - isLineComment: isLineComment$2, - isBlockComment: isBlockComment$8 -} = utils$6; -const { - locStart: locStart$7, - locEnd: locEnd$d -} = loc; - -function printComment$1(commentPath, options) { - const comment = commentPath.getValue(); - - if (isLineComment$2(comment)) { - // Supports `//`, `#!`, `` - return options.originalText.slice(locStart$7(comment), locEnd$d(comment)).trimEnd(); - } - - if (isBlockComment$8(comment)) { - if (isIndentableBlockComment(comment)) { - const printed = printIndentableBlockComment(comment); // We need to prevent an edge case of a previous trailing comment - // printed as a `lineSuffix` which causes the comments to be - // interleaved. See https://github.com/prettier/prettier/issues/4412 - - if (comment.trailing && !hasNewline$6(options.originalText, locStart$7(comment), { - backwards: true - })) { - return concat$w([hardline$j, printed]); - } - - return printed; - } - - const commentEnd = locEnd$d(comment); - const isInsideFlowComment = options.originalText.slice(commentEnd - 3, commentEnd) === "*-/"; - return "/*" + comment.value + (isInsideFlowComment ? "*-/" : "*/"); - } - /* istanbul ignore next */ - - - throw new Error("Not a comment: " + JSON.stringify(comment)); -} - -function isIndentableBlockComment(comment) { - // If the comment has multiple lines and every line starts with a star - // we can fix the indentation of each line. The stars in the `/*` and - // `*/` delimiters are not included in the comment value, so add them - // back first. - const lines = `*${comment.value}*`.split("\n"); - return lines.length > 1 && lines.every(line => line.trim()[0] === "*"); -} - -function printIndentableBlockComment(comment) { - const lines = comment.value.split("\n"); - return concat$w(["/*", join$e(hardline$j, lines.map((line, index) => index === 0 ? line.trimEnd() : " " + (index < lines.length - 1 ? line.trim() : line.trimStart()))), "*/"]); -} - -var comment = { - printComment: printComment$1 -}; - -/** @typedef {import("../document").Doc} Doc */ - -/** @type {import("assert")} */ -// TODO(azz): anything that imports from main shouldn't be in a `language-*` dir. - - -const { - hasNewline: hasNewline$7, - hasNewlineInRange: hasNewlineInRange$6, - getLast: getLast$9, - printString: printString$2, - printNumber: printNumber$2, - isNextLineEmpty: isNextLineEmpty$9 -} = util; -const { - builders: { - concat: concat$x, - join: join$f, - line: line$j, - hardline: hardline$k, - softline: softline$h, - literalline: literalline$3, - group: group$l, - indent: indent$p, - align: align$4, - conditionalGroup: conditionalGroup$4, - ifBreak: ifBreak$d - }, - utils: { - isEmpty: isEmpty$2 - } -} = document; -const { - insertPragma: insertPragma$1 -} = pragma; -const { - printHtmlBinding: printHtmlBinding$1, - isVueEventBindingExpression: isVueEventBindingExpression$1 -} = htmlBinding; -const { - getFunctionParameters: getFunctionParameters$6, - getCallArguments: getCallArguments$3, - getParentExportDeclaration: getParentExportDeclaration$2, - getTypeScriptMappedTypeModifier: getTypeScriptMappedTypeModifier$1, - hasDanglingComments: hasDanglingComments$7, - hasFlowShorthandAnnotationComment: hasFlowShorthandAnnotationComment$3, - hasLeadingOwnLineComment: hasLeadingOwnLineComment$4, - hasNewlineBetweenOrAfterDecorators: hasNewlineBetweenOrAfterDecorators$2, - hasNgSideEffect: hasNgSideEffect$1, - hasPrettierIgnore: hasPrettierIgnore$1, - hasTrailingComment: hasTrailingComment$6, - isExportDeclaration: isExportDeclaration$1, - isFunctionNotation: isFunctionNotation$1, - isGetterOrSetter: isGetterOrSetter$1, - isLiteral: isLiteral$2, - isNgForOf: isNgForOf$1, - isObjectType: isObjectType$3, - isObjectTypePropertyAFunction: isObjectTypePropertyAFunction$2, - isTheOnlyJSXElementInMarkdown: isTheOnlyJSXElementInMarkdown$2, - isTSXFile: isTSXFile$1, - isBlockComment: isBlockComment$9, - needsHardlineAfterDanglingComment: needsHardlineAfterDanglingComment$2, - rawText: rawText$3, - shouldPrintComma: shouldPrintComma$8 -} = utils$6; -const { - locStart: locStart$8, - locEnd: locEnd$e -} = loc; -const { - printOptionalToken: printOptionalToken$6, - printBindExpressionCallee: printBindExpressionCallee$2, - printTypeScriptModifiers: printTypeScriptModifiers$2, - printDecorators: printDecorators$2, - printFlowDeclaration: printFlowDeclaration$1, - adjustClause: adjustClause$1 -} = misc; -const { - printImportDeclaration: printImportDeclaration$1, - printExportDeclaration: printExportDeclaration$1, - printExportAllDeclaration: printExportAllDeclaration$1, - printModuleSpecifier: printModuleSpecifier$1 -} = module$3; -const { - printFunctionParameters: printFunctionParameters$2 -} = functionParameters; -const { - printTemplateLiteral: printTemplateLiteral$1 -} = templateLiteral; -const { - printArray: printArray$1, - printArrayItems: printArrayItems$1 -} = array$3; -const { - printObject: printObject$1 -} = object; -const { - printTypeAnnotation: printTypeAnnotation$3, - shouldHugType: shouldHugType$3 -} = typeAnnotation; -const { - printJsxElement: printJsxElement$1, - printJsxAttribute: printJsxAttribute$1, - printJsxOpeningElement: printJsxOpeningElement$1, - printJsxClosingElement: printJsxClosingElement$1, - printJsxOpeningClosingFragment: printJsxOpeningClosingFragment$1, - printJsxExpressionContainer: printJsxExpressionContainer$1, - printJsxEmptyExpression: printJsxEmptyExpression$1, - printJsxSpreadAttribute: printJsxSpreadAttribute$1, - printJsxSpreadChild -} = jsx; -const { - printClass: printClass$1, - printClassMethod: printClassMethod$1 -} = _class; -const { - printTypeParameters: printTypeParameters$1 -} = typeParameters; -const { - printPropertyKey: printPropertyKey$2 -} = property$1; -const { - printFunctionDeclaration: printFunctionDeclaration$1, - printArrowFunctionExpression: printArrowFunctionExpression$1, - printMethod: printMethod$2, - printReturnAndThrowArgument: printReturnAndThrowArgument$1 -} = _function; -const { - printCallExpression: printCallExpression$1 -} = callExpression; -const { - printInterface: printInterface$1 -} = _interface; -const { - printVariableDeclarator: printVariableDeclarator$1, - printAssignmentExpression: printAssignmentExpression$1, - printAssignment: printAssignment$1, - printAssignmentRight: printAssignmentRight$1 -} = assignment; -const { - printBinaryishExpression: printBinaryishExpression$1 -} = binaryish; -const { - printStatementSequence: printStatementSequence$2 -} = statement; -const { - printMemberExpression: printMemberExpression$1 -} = member; -const { - printBlock: printBlock$1 -} = block; -const { - printComment: printComment$2 -} = comment; - -function genericPrint(path, options, printPath, args) { - const node = path.getValue(); - let needsParens = false; - const linesWithoutParens = printPathNoParens(path, options, printPath, args); - - if (!node || isEmpty$2(linesWithoutParens)) { - return linesWithoutParens; - } - - const parentExportDecl = getParentExportDeclaration$2(path); - const decorators = []; - - if (node.type === "ClassMethod" || node.type === "ClassPrivateMethod" || node.type === "ClassProperty" || node.type === "FieldDefinition" || node.type === "TSAbstractClassProperty" || node.type === "ClassPrivateProperty" || node.type === "MethodDefinition" || node.type === "TSAbstractMethodDefinition" || node.type === "TSDeclareMethod") ; else if (node.decorators && node.decorators.length > 0 && // If the parent node is an export declaration and the decorator - // was written before the export, the export will be responsible - // for printing the decorators. - !(parentExportDecl && locStart$8(parentExportDecl, { - ignoreDecorators: true - }) > locStart$8(node.decorators[0]))) { - const shouldBreak = node.type === "ClassExpression" || node.type === "ClassDeclaration" || hasNewlineBetweenOrAfterDecorators$2(node, options); - const separator = shouldBreak ? hardline$k : line$j; - path.each(decoratorPath => { - let decorator = decoratorPath.getValue(); - - if (decorator.expression) { - decorator = decorator.expression; - } else { - decorator = decorator.callee; - } - - decorators.push(printPath(decoratorPath), separator); - }, "decorators"); - - if (parentExportDecl) { - decorators.unshift(hardline$k); - } - } else if (isExportDeclaration$1(node) && node.declaration && node.declaration.decorators && node.declaration.decorators.length > 0 && // Only print decorators here if they were written before the export, - // otherwise they are printed by the node.declaration - locStart$8(node, { - ignoreDecorators: true - }) > locStart$8(node.declaration.decorators[0])) { - // Export declarations are responsible for printing any decorators - // that logically apply to node.declaration. - path.each(decoratorPath => { - const decorator = decoratorPath.getValue(); - const prefix = decorator.type === "Decorator" ? "" : "@"; - decorators.push(prefix, printPath(decoratorPath), hardline$k); - }, "declaration", "decorators"); - } else { - // Nodes with decorators can't have parentheses, so we can avoid - // computing pathNeedsParens() except in this case. - needsParens = needsParens_1(path, options); - } - - const parts = []; - - if (needsParens) { - parts.unshift("("); - } - - parts.push(linesWithoutParens); - - if (needsParens) { - const node = path.getValue(); - - if (hasFlowShorthandAnnotationComment$3(node)) { - parts.push(" /*"); - parts.push(node.trailingComments[0].value.trimStart()); - parts.push("*/"); - node.trailingComments[0].printed = true; - } - - parts.push(")"); - } - - if (decorators.length > 0) { - return group$l(concat$x(decorators.concat(parts))); - } - - return concat$x(parts); -} - -function printPathNoParens(path, options, print, args) { - const n = path.getValue(); - const semi = options.semi ? ";" : ""; - - if (!n) { - return ""; - } - - if (typeof n === "string") { - return n; - } - - const htmlBinding = printHtmlBinding$1(path, options, print); - - if (htmlBinding) { - return htmlBinding; - } - /** @type{Doc[]} */ - - - let parts = []; - - switch (n.type) { - case "JsExpressionRoot": - return path.call(print, "node"); - - case "JsonRoot": - return concat$x([path.call(print, "node"), hardline$k]); - - case "File": - // Print @babel/parser's InterpreterDirective here so that - // leading comments on the `Program` node get printed after the hashbang. - if (n.program && n.program.interpreter) { - parts.push(path.call(programPath => programPath.call(print, "interpreter"), "program")); - } - - parts.push(path.call(print, "program")); - return concat$x(parts); - - case "Program": - { - const hasContents = !n.body.every(({ - type - }) => type === "EmptyStatement") || n.comments; // Babel 6 - - if (n.directives) { - const directivesCount = n.directives.length; - path.each((childPath, index) => { - parts.push(print(childPath), semi, hardline$k); - - if ((index < directivesCount - 1 || hasContents) && isNextLineEmpty$9(options.originalText, childPath.getValue(), locEnd$e)) { - parts.push(hardline$k); - } - }, "directives"); - } - - parts.push(path.call(bodyPath => { - return printStatementSequence$2(bodyPath, options, print); - }, "body")); - parts.push(comments.printDanglingComments(path, options, - /* sameIndent */ - true)); // Only force a trailing newline if there were any contents. - - if (hasContents) { - parts.push(hardline$k); - } - - return concat$x(parts); - } - // Babel extension. - - case "EmptyStatement": - return ""; - - case "ExpressionStatement": - // Detect Flow and TypeScript directives - if (n.directive) { - return concat$x([nodeStr(n.expression, options, true), semi]); - } - - if (options.parser === "__vue_event_binding") { - const parent = path.getParentNode(); - - if (parent.type === "Program" && parent.body.length === 1 && parent.body[0] === n) { - return concat$x([path.call(print, "expression"), isVueEventBindingExpression$1(n.expression) ? ";" : ""]); - } - } // Do not append semicolon after the only JSX element in a program - - - return concat$x([path.call(print, "expression"), isTheOnlyJSXElementInMarkdown$2(options, path) ? "" : semi]); - // Babel non-standard node. Used for Closure-style type casts. See postprocess.js. - - case "ParenthesizedExpression": - { - const shouldHug = !n.expression.comments; - - if (shouldHug) { - return concat$x(["(", path.call(print, "expression"), ")"]); - } - - return group$l(concat$x(["(", indent$p(concat$x([softline$h, path.call(print, "expression")])), softline$h, ")"])); - } - - case "AssignmentExpression": - return printAssignmentExpression$1(path, options, print); - - case "VariableDeclarator": - return printVariableDeclarator$1(path, options, print); - - case "BinaryExpression": - case "LogicalExpression": - case "NGPipeExpression": - return printBinaryishExpression$1(path, options, print); - - case "AssignmentPattern": - return concat$x([path.call(print, "left"), " = ", path.call(print, "right")]); - - case "TSTypeAssertion": - { - const shouldBreakAfterCast = !(n.expression.type === "ArrayExpression" || n.expression.type === "ObjectExpression"); - const castGroup = group$l(concat$x(["<", indent$p(concat$x([softline$h, path.call(print, "typeAnnotation")])), softline$h, ">"])); - const exprContents = concat$x([ifBreak$d("("), indent$p(concat$x([softline$h, path.call(print, "expression")])), softline$h, ifBreak$d(")")]); - - if (shouldBreakAfterCast) { - return conditionalGroup$4([concat$x([castGroup, path.call(print, "expression")]), concat$x([castGroup, group$l(exprContents, { - shouldBreak: true - })]), concat$x([castGroup, path.call(print, "expression")])]); - } - - return group$l(concat$x([castGroup, path.call(print, "expression")])); - } - - case "OptionalMemberExpression": - case "MemberExpression": - { - return printMemberExpression$1(path, options, print); - } - - case "MetaProperty": - return concat$x([path.call(print, "meta"), ".", path.call(print, "property")]); - - case "BindExpression": - if (n.object) { - parts.push(path.call(print, "object")); - } - - parts.push(group$l(indent$p(concat$x([softline$h, printBindExpressionCallee$2(path, options, print)])))); - return concat$x(parts); - - case "Identifier": - { - return concat$x([n.name, printOptionalToken$6(path), printTypeAnnotation$3(path, options, print)]); - } - - case "V8IntrinsicIdentifier": - return concat$x(["%", n.name]); - - case "SpreadElement": - case "SpreadElementPattern": - case "SpreadProperty": - case "SpreadPropertyPattern": - case "RestElement": - case "ObjectTypeSpreadProperty": - return concat$x(["...", path.call(print, "argument"), printTypeAnnotation$3(path, options, print)]); - - case "FunctionDeclaration": - case "FunctionExpression": - parts.push(printFunctionDeclaration$1(path, print, options, args && args.expandLastArg && getCallArguments$3(path.getParentNode()).length > 1)); - - if (!n.body) { - parts.push(semi); - } - - return concat$x(parts); - - case "ArrowFunctionExpression": - return printArrowFunctionExpression$1(path, options, print, args); - - case "YieldExpression": - parts.push("yield"); - - if (n.delegate) { - parts.push("*"); - } - - if (n.argument) { - parts.push(" ", path.call(print, "argument")); - } - - return concat$x(parts); - - case "AwaitExpression": - { - parts.push("await"); - - if (n.argument) { - parts.push(" ", path.call(print, "argument")); - } - - const parent = path.getParentNode(); - - if ((parent.type === "CallExpression" || parent.type === "OptionalCallExpression") && parent.callee === n || (parent.type === "MemberExpression" || parent.type === "OptionalMemberExpression") && parent.object === n) { - return group$l(concat$x([indent$p(concat$x([softline$h, concat$x(parts)])), softline$h])); - } - - return concat$x(parts); - } - - case "TSExportAssignment": - return concat$x(["export = ", path.call(print, "expression"), semi]); - - case "ExportDefaultDeclaration": - case "ExportNamedDeclaration": - case "DeclareExportDeclaration": - return printExportDeclaration$1(path, options, print); - - case "ExportAllDeclaration": - case "DeclareExportAllDeclaration": - return printExportAllDeclaration$1(path, options, print); - - case "ImportDeclaration": - return printImportDeclaration$1(path, options, print); - - case "ImportSpecifier": - case "ExportSpecifier": - case "ImportNamespaceSpecifier": - case "ExportNamespaceSpecifier": - case "ImportDefaultSpecifier": - case "ExportDefaultSpecifier": - return printModuleSpecifier$1(path, options, print); - - case "ImportAttribute": - return concat$x([path.call(print, "key"), ": ", path.call(print, "value")]); - - case "Import": - return "import"; - - case "TSModuleBlock": - case "BlockStatement": - case "StaticBlock": - return printBlock$1(path, options, print); - - case "ThrowStatement": - case "ReturnStatement": - return concat$x([n.type === "ReturnStatement" ? "return" : "throw", printReturnAndThrowArgument$1(path, options, print)]); - - case "NewExpression": - case "ImportExpression": - case "OptionalCallExpression": - case "CallExpression": - return printCallExpression$1(path, options, print); - - case "ObjectTypeInternalSlot": - return concat$x([n.static ? "static " : "", "[[", path.call(print, "id"), "]]", printOptionalToken$6(path), n.method ? "" : ": ", path.call(print, "value")]); - - case "ObjectExpression": - case "ObjectPattern": - case "ObjectTypeAnnotation": - case "TSInterfaceBody": - case "TSTypeLiteral": - case "RecordExpression": - return printObject$1(path, options, print); - // Babel 6 - - case "ObjectProperty": // Non-standard AST node type. - - case "Property": - if (n.method || n.kind === "get" || n.kind === "set") { - return printMethod$2(path, options, print); - } - - if (n.shorthand) { - parts.push(path.call(print, "value")); - } else { - parts.push(printAssignment$1(n.key, printPropertyKey$2(path, options, print), ":", n.value, path.call(print, "value"), options)); - } - - return concat$x(parts); - // Babel 6 - - case "ClassMethod": - case "ClassPrivateMethod": - case "MethodDefinition": - case "TSAbstractMethodDefinition": - case "TSDeclareMethod": - return printClassMethod$1(path, options, print); - - case "ObjectMethod": - return printMethod$2(path, options, print); - - case "Decorator": - return concat$x(["@", path.call(print, "expression"), path.call(print, "callee")]); - - case "ArrayExpression": - case "ArrayPattern": - case "TupleExpression": - return printArray$1(path, options, print); - - case "SequenceExpression": - { - const parent = path.getParentNode(0); - - if (parent.type === "ExpressionStatement" || parent.type === "ForStatement") { - // For ExpressionStatements and for-loop heads, which are among - // the few places a SequenceExpression appears unparenthesized, we want - // to indent expressions after the first. - const parts = []; - path.each(p => { - if (p.getName() === 0) { - parts.push(print(p)); - } else { - parts.push(",", indent$p(concat$x([line$j, print(p)]))); - } - }, "expressions"); - return group$l(concat$x(parts)); - } - - return group$l(concat$x([join$f(concat$x([",", line$j]), path.map(print, "expressions"))])); - } - - case "ThisExpression": - return "this"; - - case "Super": - return "super"; - - case "NullLiteral": - // Babel 6 Literal split - return "null"; - - case "RegExpLiteral": - // Babel 6 Literal split - return printRegex(n); - - case "NumericLiteral": - // Babel 6 Literal split - return printNumber$2(n.extra.raw); - - case "DecimalLiteral": - return printNumber$2(n.value) + "m"; - - case "BigIntLiteral": - // babel: n.extra.raw, flow: n.bigint - return (n.bigint || n.extra.raw).toLowerCase(); - - case "BooleanLiteral": // Babel 6 Literal split - - case "StringLiteral": // Babel 6 Literal split - - case "Literal": - if (n.regex) { - return printRegex(n.regex); - } // typescript - - - if (n.bigint) { - return n.raw.toLowerCase(); - } - - if (typeof n.value === "number") { - return printNumber$2(n.raw); - } - - if (typeof n.value !== "string") { - return "" + n.value; - } - - return nodeStr(n, options); - - case "Directive": - return path.call(print, "value"); - // Babel 6 - - case "DirectiveLiteral": - return nodeStr(n, options); - - case "UnaryExpression": - parts.push(n.operator); - - if (/[a-z]$/.test(n.operator)) { - parts.push(" "); - } - - if (n.argument.comments && n.argument.comments.length > 0) { - parts.push(group$l(concat$x(["(", indent$p(concat$x([softline$h, path.call(print, "argument")])), softline$h, ")"]))); - } else { - parts.push(path.call(print, "argument")); - } - - return concat$x(parts); - - case "UpdateExpression": - parts.push(path.call(print, "argument"), n.operator); - - if (n.prefix) { - parts.reverse(); - } - - return concat$x(parts); - - case "ConditionalExpression": - return ternary(path, options, print, { - beforeParts: () => [path.call(print, "test")], - afterParts: breakClosingParen => [breakClosingParen ? softline$h : ""], - shouldCheckJsx: true, - conditionalNodeType: "ConditionalExpression", - consequentNodePropertyName: "consequent", - alternateNodePropertyName: "alternate", - testNodePropertyNames: ["test"] - }); - - case "VariableDeclaration": - { - const printed = path.map(childPath => { - return print(childPath); - }, "declarations"); // We generally want to terminate all variable declarations with a - // semicolon, except when they in the () part of for loops. - - const parentNode = path.getParentNode(); - const isParentForLoop = parentNode.type === "ForStatement" || parentNode.type === "ForInStatement" || parentNode.type === "ForOfStatement"; - const hasValue = n.declarations.some(decl => decl.init); - let firstVariable; - - if (printed.length === 1 && !n.declarations[0].comments) { - firstVariable = printed[0]; - } else if (printed.length > 0) { - // Indent first var to comply with eslint one-var rule - firstVariable = indent$p(printed[0]); - } - - parts = [n.declare ? "declare " : "", n.kind, firstVariable ? concat$x([" ", firstVariable]) : "", indent$p(concat$x(printed.slice(1).map(p => concat$x([",", hasValue && !isParentForLoop ? hardline$k : line$j, p]))))]; - - if (!(isParentForLoop && parentNode.body !== n)) { - parts.push(semi); - } - - return group$l(concat$x(parts)); - } - - case "TSTypeAliasDeclaration": - { - if (n.declare) { - parts.push("declare "); - } - - const printed = printAssignmentRight$1(n.id, n.typeAnnotation, n.typeAnnotation && path.call(print, "typeAnnotation"), options); - parts.push("type ", path.call(print, "id"), path.call(print, "typeParameters"), " =", printed, semi); - return group$l(concat$x(parts)); - } - - case "WithStatement": - return group$l(concat$x(["with (", path.call(print, "object"), ")", adjustClause$1(n.body, path.call(print, "body"))])); - - case "IfStatement": - { - const con = adjustClause$1(n.consequent, path.call(print, "consequent")); - const opening = group$l(concat$x(["if (", group$l(concat$x([indent$p(concat$x([softline$h, path.call(print, "test")])), softline$h])), ")", con])); - parts.push(opening); - - if (n.alternate) { - const commentOnOwnLine = hasTrailingComment$6(n.consequent) && n.consequent.comments.some(comment => comment.trailing && !isBlockComment$9(comment)) || needsHardlineAfterDanglingComment$2(n); - const elseOnSameLine = n.consequent.type === "BlockStatement" && !commentOnOwnLine; - parts.push(elseOnSameLine ? " " : hardline$k); - - if (hasDanglingComments$7(n)) { - parts.push(comments.printDanglingComments(path, options, true), commentOnOwnLine ? hardline$k : " "); - } - - parts.push("else", group$l(adjustClause$1(n.alternate, path.call(print, "alternate"), n.alternate.type === "IfStatement"))); - } - - return concat$x(parts); - } - - case "ForStatement": - { - const body = adjustClause$1(n.body, path.call(print, "body")); // We want to keep dangling comments above the loop to stay consistent. - // Any comment positioned between the for statement and the parentheses - // is going to be printed before the statement. - - const dangling = comments.printDanglingComments(path, options, - /* sameLine */ - true); - const printedComments = dangling ? concat$x([dangling, softline$h]) : ""; - - if (!n.init && !n.test && !n.update) { - return concat$x([printedComments, group$l(concat$x(["for (;;)", body]))]); - } - - return concat$x([printedComments, group$l(concat$x(["for (", group$l(concat$x([indent$p(concat$x([softline$h, path.call(print, "init"), ";", line$j, path.call(print, "test"), ";", line$j, path.call(print, "update")])), softline$h])), ")", body]))]); - } - - case "WhileStatement": - return group$l(concat$x(["while (", group$l(concat$x([indent$p(concat$x([softline$h, path.call(print, "test")])), softline$h])), ")", adjustClause$1(n.body, path.call(print, "body"))])); - - case "ForInStatement": - return group$l(concat$x(["for (", path.call(print, "left"), " in ", path.call(print, "right"), ")", adjustClause$1(n.body, path.call(print, "body"))])); - - case "ForOfStatement": - return group$l(concat$x(["for", n.await ? " await" : "", " (", path.call(print, "left"), " of ", path.call(print, "right"), ")", adjustClause$1(n.body, path.call(print, "body"))])); - - case "DoWhileStatement": - { - const clause = adjustClause$1(n.body, path.call(print, "body")); - const doBody = group$l(concat$x(["do", clause])); - parts = [doBody]; - - if (n.body.type === "BlockStatement") { - parts.push(" "); - } else { - parts.push(hardline$k); - } - - parts.push("while ("); - parts.push(group$l(concat$x([indent$p(concat$x([softline$h, path.call(print, "test")])), softline$h])), ")", semi); - return concat$x(parts); - } - - case "DoExpression": - return concat$x(["do ", path.call(print, "body")]); - - case "BreakStatement": - parts.push("break"); - - if (n.label) { - parts.push(" ", path.call(print, "label")); - } - - parts.push(semi); - return concat$x(parts); - - case "ContinueStatement": - parts.push("continue"); - - if (n.label) { - parts.push(" ", path.call(print, "label")); - } - - parts.push(semi); - return concat$x(parts); - - case "LabeledStatement": - if (n.body.type === "EmptyStatement") { - return concat$x([path.call(print, "label"), ":;"]); - } - - return concat$x([path.call(print, "label"), ": ", path.call(print, "body")]); - - case "TryStatement": - return concat$x(["try ", path.call(print, "block"), n.handler ? concat$x([" ", path.call(print, "handler")]) : "", n.finalizer ? concat$x([" finally ", path.call(print, "finalizer")]) : ""]); - - case "CatchClause": - if (n.param) { - const hasComments = n.param.comments && n.param.comments.some(comment => !isBlockComment$9(comment) || comment.leading && hasNewline$7(options.originalText, locEnd$e(comment)) || comment.trailing && hasNewline$7(options.originalText, locStart$8(comment), { - backwards: true - })); - const param = path.call(print, "param"); - return concat$x(["catch ", hasComments ? concat$x(["(", indent$p(concat$x([softline$h, param])), softline$h, ") "]) : concat$x(["(", param, ") "]), path.call(print, "body")]); - } - - return concat$x(["catch ", path.call(print, "body")]); - // Note: ignoring n.lexical because it has no printing consequences. - - case "SwitchStatement": - return concat$x([group$l(concat$x(["switch (", indent$p(concat$x([softline$h, path.call(print, "discriminant")])), softline$h, ")"])), " {", n.cases.length > 0 ? indent$p(concat$x([hardline$k, join$f(hardline$k, path.map(casePath => { - const caseNode = casePath.getValue(); - return concat$x([casePath.call(print), n.cases.indexOf(caseNode) !== n.cases.length - 1 && isNextLineEmpty$9(options.originalText, caseNode, locEnd$e) ? hardline$k : ""]); - }, "cases"))])) : "", hardline$k, "}"]); - - case "SwitchCase": - { - if (n.test) { - parts.push("case ", path.call(print, "test"), ":"); - } else { - parts.push("default:"); - } - - const consequent = n.consequent.filter(node => node.type !== "EmptyStatement"); - - if (consequent.length > 0) { - const cons = path.call(consequentPath => { - return printStatementSequence$2(consequentPath, options, print); - }, "consequent"); - parts.push(consequent.length === 1 && consequent[0].type === "BlockStatement" ? concat$x([" ", cons]) : indent$p(concat$x([hardline$k, cons]))); - } - - return concat$x(parts); - } - // JSX extensions below. - - case "DebuggerStatement": - return concat$x(["debugger", semi]); - - case "JSXAttribute": - return printJsxAttribute$1(path, options, print); - - case "JSXIdentifier": - return "" + n.name; - - case "JSXNamespacedName": - return join$f(":", [path.call(print, "namespace"), path.call(print, "name")]); - - case "JSXMemberExpression": - return join$f(".", [path.call(print, "object"), path.call(print, "property")]); - - case "TSQualifiedName": - return join$f(".", [path.call(print, "left"), path.call(print, "right")]); - - case "JSXSpreadAttribute": - return printJsxSpreadAttribute$1(path, options, print); - - case "JSXSpreadChild": - return printJsxSpreadChild(path, options, print); - - case "JSXExpressionContainer": - return printJsxExpressionContainer$1(path, options, print); - - case "JSXFragment": - case "JSXElement": - return printJsxElement$1(path, options, print); - - case "JSXOpeningElement": - return printJsxOpeningElement$1(path, options, print); - - case "JSXClosingElement": - return printJsxClosingElement$1(path, options, print); - - case "JSXOpeningFragment": - case "JSXClosingFragment": - return printJsxOpeningClosingFragment$1(path, options - /*, print*/ - ); - - case "JSXText": - /* istanbul ignore next */ - throw new Error("JSXTest should be handled by JSXElement"); - - case "JSXEmptyExpression": - return printJsxEmptyExpression$1(path, options - /*, print*/ - ); - - case "ClassBody": - if (!n.comments && n.body.length === 0) { - return "{}"; - } - - return concat$x(["{", n.body.length > 0 ? indent$p(concat$x([hardline$k, path.call(bodyPath => { - return printStatementSequence$2(bodyPath, options, print); - }, "body")])) : comments.printDanglingComments(path, options), hardline$k, "}"]); - - case "ClassProperty": - case "FieldDefinition": - case "TSAbstractClassProperty": - case "ClassPrivateProperty": - { - if (n.decorators && n.decorators.length !== 0) { - parts.push(printDecorators$2(path, options, print)); - } - - if (n.accessibility) { - parts.push(n.accessibility + " "); - } - - if (n.declare) { - parts.push("declare "); - } - - if (n.static) { - parts.push("static "); - } - - if (n.type === "TSAbstractClassProperty" || n.abstract) { - parts.push("abstract "); - } - - if (n.readonly) { - parts.push("readonly "); - } - - if (n.variance) { - parts.push(path.call(print, "variance")); - } - - parts.push(printPropertyKey$2(path, options, print), printOptionalToken$6(path), printTypeAnnotation$3(path, options, print)); - - if (n.value) { - parts.push(" =", printAssignmentRight$1(n.key, n.value, path.call(print, "value"), options)); - } - - parts.push(semi); - return group$l(concat$x(parts)); - } - - case "ClassDeclaration": - case "ClassExpression": - if (n.declare) { - parts.push("declare "); - } - - parts.push(printClass$1(path, options, print)); - return concat$x(parts); - - case "TSInterfaceHeritage": - case "TSExpressionWithTypeArguments": - // Babel AST - parts.push(path.call(print, "expression")); - - if (n.typeParameters) { - parts.push(path.call(print, "typeParameters")); - } - - return concat$x(parts); - - case "TemplateElement": - return join$f(literalline$3, n.value.raw.split(/\r?\n/g)); - - case "TSTemplateLiteralType": - case "TemplateLiteral": - { - return printTemplateLiteral$1(path, print, options); - } - - case "TaggedTemplateExpression": - return concat$x([path.call(print, "tag"), path.call(print, "typeParameters"), path.call(print, "quasi")]); - // These types are unprintable because they serve as abstract - // supertypes for other (printable) types. - - case "Node": - case "Printable": - case "SourceLocation": - case "Position": - case "Statement": - case "Function": - case "Pattern": - case "Expression": - case "Declaration": - case "Specifier": - case "NamedSpecifier": - case "Comment": - case "MemberTypeAnnotation": // Flow - - case "Type": - /* istanbul ignore next */ - throw new Error("unprintable type: " + JSON.stringify(n.type)); - // Type Annotations for Facebook Flow, typically stripped out or - // transformed away before printing. - - case "TypeAnnotation": - case "TSTypeAnnotation": - if (n.typeAnnotation) { - return path.call(print, "typeAnnotation"); - } - /* istanbul ignore next */ - - - return ""; - - case "TSNamedTupleMember": - return concat$x([path.call(print, "label"), n.optional ? "?" : "", ": ", path.call(print, "elementType")]); - - case "TSTupleType": - case "TupleTypeAnnotation": - { - const typesField = n.type === "TSTupleType" ? "elementTypes" : "types"; - const hasRest = n[typesField].length > 0 && getLast$9(n[typesField]).type === "TSRestType"; - return group$l(concat$x(["[", indent$p(concat$x([softline$h, printArrayItems$1(path, options, typesField, print)])), ifBreak$d(shouldPrintComma$8(options, "all") && !hasRest ? "," : ""), comments.printDanglingComments(path, options, - /* sameIndent */ - true), softline$h, "]"])); - } - - case "ExistsTypeAnnotation": - return "*"; - - case "EmptyTypeAnnotation": - return "empty"; - - case "MixedTypeAnnotation": - return "mixed"; - - case "ArrayTypeAnnotation": - return concat$x([path.call(print, "elementType"), "[]"]); - - case "BooleanLiteralTypeAnnotation": - return "" + n.value; - - case "DeclareClass": - return printFlowDeclaration$1(path, printClass$1(path, options, print)); - - case "TSDeclareFunction": - // For TypeScript the TSDeclareFunction node shares the AST - // structure with FunctionDeclaration - return concat$x([n.declare ? "declare " : "", printFunctionDeclaration$1(path, print, options), semi]); - - case "DeclareFunction": - return printFlowDeclaration$1(path, concat$x(["function ", path.call(print, "id"), n.predicate ? " " : "", path.call(print, "predicate"), semi])); - - case "DeclareModule": - return printFlowDeclaration$1(path, concat$x(["module ", path.call(print, "id"), " ", path.call(print, "body")])); - - case "DeclareModuleExports": - return printFlowDeclaration$1(path, concat$x(["module.exports", ": ", path.call(print, "typeAnnotation"), semi])); - - case "DeclareVariable": - return printFlowDeclaration$1(path, concat$x(["var ", path.call(print, "id"), semi])); - - case "DeclareOpaqueType": - case "OpaqueType": - { - parts.push("opaque type ", path.call(print, "id"), path.call(print, "typeParameters")); - - if (n.supertype) { - parts.push(": ", path.call(print, "supertype")); - } - - if (n.impltype) { - parts.push(" = ", path.call(print, "impltype")); - } - - parts.push(semi); - - if (n.type === "DeclareOpaqueType") { - return printFlowDeclaration$1(path, concat$x(parts)); - } - - return concat$x(parts); - } - - case "EnumDeclaration": - return concat$x(["enum ", path.call(print, "id"), " ", path.call(print, "body")]); - - case "EnumBooleanBody": - case "EnumNumberBody": - case "EnumStringBody": - case "EnumSymbolBody": - { - if (n.type === "EnumSymbolBody" || n.explicitType) { - let type = null; - - switch (n.type) { - case "EnumBooleanBody": - type = "boolean"; - break; - - case "EnumNumberBody": - type = "number"; - break; - - case "EnumStringBody": - type = "string"; - break; - - case "EnumSymbolBody": - type = "symbol"; - break; - } - - parts.push("of ", type, " "); - } - - if (n.members.length === 0 && !n.hasUnknownMembers) { - parts.push(group$l(concat$x(["{", comments.printDanglingComments(path, options), softline$h, "}"]))); - } else { - const members = n.members.length ? [hardline$k, printArrayItems$1(path, options, "members", print), n.hasUnknownMembers || shouldPrintComma$8(options) ? "," : ""] : []; - parts.push(group$l(concat$x(["{", indent$p(concat$x([...members, ...(n.hasUnknownMembers ? [hardline$k, "..."] : [])])), comments.printDanglingComments(path, options, - /* sameIndent */ - true), hardline$k, "}"]))); - } - - return concat$x(parts); - } - - case "EnumBooleanMember": - case "EnumNumberMember": - case "EnumStringMember": - return concat$x([path.call(print, "id"), " = ", typeof n.init === "object" ? path.call(print, "init") : String(n.init)]); - - case "EnumDefaultedMember": - return path.call(print, "id"); - - case "FunctionTypeAnnotation": - case "TSFunctionType": - { - // FunctionTypeAnnotation is ambiguous: - // declare function foo(a: B): void; OR - // var A: (a: B) => void; - const parent = path.getParentNode(0); - const parentParent = path.getParentNode(1); - const parentParentParent = path.getParentNode(2); - let isArrowFunctionTypeAnnotation = n.type === "TSFunctionType" || !((parent.type === "ObjectTypeProperty" || parent.type === "ObjectTypeInternalSlot") && !parent.variance && !parent.optional && locStart$8(parent) === locStart$8(n) || parent.type === "ObjectTypeCallProperty" || parentParentParent && parentParentParent.type === "DeclareFunction"); - let needsColon = isArrowFunctionTypeAnnotation && (parent.type === "TypeAnnotation" || parent.type === "TSTypeAnnotation"); // Sadly we can't put it inside of FastPath::needsColon because we are - // printing ":" as part of the expression and it would put parenthesis - // around :( - - const needsParens = needsColon && isArrowFunctionTypeAnnotation && (parent.type === "TypeAnnotation" || parent.type === "TSTypeAnnotation") && parentParent.type === "ArrowFunctionExpression"; - - if (isObjectTypePropertyAFunction$2(parent)) { - isArrowFunctionTypeAnnotation = true; - needsColon = true; - } - - if (needsParens) { - parts.push("("); - } - - parts.push(printFunctionParameters$2(path, print, options, - /* expandArg */ - false, - /* printTypeParams */ - true)); // The returnType is not wrapped in a TypeAnnotation, so the colon - // needs to be added separately. - - if (n.returnType || n.predicate || n.typeAnnotation) { - parts.push(isArrowFunctionTypeAnnotation ? " => " : ": ", path.call(print, "returnType"), path.call(print, "predicate"), path.call(print, "typeAnnotation")); - } - - if (needsParens) { - parts.push(")"); - } - - return group$l(concat$x(parts)); - } - - case "TSRestType": - return concat$x(["...", path.call(print, "typeAnnotation")]); - - case "TSOptionalType": - return concat$x([path.call(print, "typeAnnotation"), "?"]); - - case "FunctionTypeParam": - { - const name = n.name ? path.call(print, "name") : path.getParentNode().this === n ? "this" : ""; - return concat$x([name, printOptionalToken$6(path), name ? ": " : "", path.call(print, "typeAnnotation")]); - } - - case "DeclareInterface": - case "InterfaceDeclaration": - case "InterfaceTypeAnnotation": - case "TSInterfaceDeclaration": - return printInterface$1(path, options, print); - - case "ClassImplements": - case "InterfaceExtends": - return concat$x([path.call(print, "id"), path.call(print, "typeParameters")]); - - case "TSClassImplements": - return concat$x([path.call(print, "expression"), path.call(print, "typeParameters")]); - - case "TSIntersectionType": - case "IntersectionTypeAnnotation": - { - const types = path.map(print, "types"); - const result = []; - let wasIndented = false; - - for (let i = 0; i < types.length; ++i) { - if (i === 0) { - result.push(types[i]); - } else if (isObjectType$3(n.types[i - 1]) && isObjectType$3(n.types[i])) { - // If both are objects, don't indent - result.push(concat$x([" & ", wasIndented ? indent$p(types[i]) : types[i]])); - } else if (!isObjectType$3(n.types[i - 1]) && !isObjectType$3(n.types[i])) { - // If no object is involved, go to the next line if it breaks - result.push(indent$p(concat$x([" &", line$j, types[i]]))); - } else { - // If you go from object to non-object or vis-versa, then inline it - if (i > 1) { - wasIndented = true; - } - - result.push(" & ", i > 1 ? indent$p(types[i]) : types[i]); - } - } - - return group$l(concat$x(result)); - } - - case "TSUnionType": - case "UnionTypeAnnotation": - { - // single-line variation - // A | B | C - // multi-line variation - // | A - // | B - // | C - const parent = path.getParentNode(); // If there's a leading comment, the parent is doing the indentation - - const shouldIndent = parent.type !== "TypeParameterInstantiation" && parent.type !== "TSTypeParameterInstantiation" && parent.type !== "GenericTypeAnnotation" && parent.type !== "TSTypeReference" && parent.type !== "TSTypeAssertion" && parent.type !== "TupleTypeAnnotation" && parent.type !== "TSTupleType" && !(parent.type === "FunctionTypeParam" && !parent.name && path.getParentNode(1).this !== parent) && !((parent.type === "TypeAlias" || parent.type === "VariableDeclarator" || parent.type === "TSTypeAliasDeclaration") && hasLeadingOwnLineComment$4(options.originalText, n)); // { - // a: string - // } | null | void - // should be inlined and not be printed in the multi-line variant - - const shouldHug = shouldHugType$3(n); // We want to align the children but without its comment, so it looks like - // | child1 - // // comment - // | child2 - - const printed = path.map(typePath => { - let printedType = typePath.call(print); - - if (!shouldHug) { - printedType = align$4(2, printedType); - } - - return comments.printComments(typePath, () => printedType, options); - }, "types"); - - if (shouldHug) { - return join$f(" | ", printed); - } - - const shouldAddStartLine = shouldIndent && !hasLeadingOwnLineComment$4(options.originalText, n); - const code = concat$x([ifBreak$d(concat$x([shouldAddStartLine ? line$j : "", "| "])), join$f(concat$x([line$j, "| "]), printed)]); - - if (needsParens_1(path, options)) { - return group$l(concat$x([indent$p(code), softline$h])); - } - - if (parent.type === "TupleTypeAnnotation" && parent.types.length > 1 || parent.type === "TSTupleType" && parent.elementTypes.length > 1) { - return group$l(concat$x([indent$p(concat$x([ifBreak$d(concat$x(["(", softline$h])), code])), softline$h, ifBreak$d(")")])); - } - - return group$l(shouldIndent ? indent$p(code) : code); - } - - case "NullableTypeAnnotation": - return concat$x(["?", path.call(print, "typeAnnotation")]); - - case "Variance": - { - const { - kind - } = n; - assert__default['default'].ok(kind === "plus" || kind === "minus"); - return kind === "plus" ? "+" : "-"; - } - - case "ObjectTypeCallProperty": - if (n.static) { - parts.push("static "); - } - - parts.push(path.call(print, "value")); - return concat$x(parts); - - case "ObjectTypeIndexer": - { - return concat$x([n.variance ? path.call(print, "variance") : "", "[", path.call(print, "id"), n.id ? ": " : "", path.call(print, "key"), "]: ", path.call(print, "value")]); - } - - case "ObjectTypeProperty": - { - let modifier = ""; - - if (n.proto) { - modifier = "proto "; - } else if (n.static) { - modifier = "static "; - } - - return concat$x([modifier, isGetterOrSetter$1(n) ? n.kind + " " : "", n.variance ? path.call(print, "variance") : "", printPropertyKey$2(path, options, print), printOptionalToken$6(path), isFunctionNotation$1(n) ? "" : ": ", path.call(print, "value")]); - } - - case "QualifiedTypeIdentifier": - return concat$x([path.call(print, "qualification"), ".", path.call(print, "id")]); - - case "StringLiteralTypeAnnotation": - return nodeStr(n, options); - - case "NumberLiteralTypeAnnotation": - assert__default['default'].strictEqual(typeof n.value, "number"); - // fall through - - case "BigIntLiteralTypeAnnotation": - if (n.extra != null) { - return printNumber$2(n.extra.raw); - } - - return printNumber$2(n.raw); - - case "DeclareTypeAlias": - case "TypeAlias": - { - if (n.type === "DeclareTypeAlias" || n.declare) { - parts.push("declare "); - } - - const printed = printAssignmentRight$1(n.id, n.right, path.call(print, "right"), options); - parts.push("type ", path.call(print, "id"), path.call(print, "typeParameters"), " =", printed, semi); - return group$l(concat$x(parts)); - } - - case "TypeCastExpression": - { - return concat$x(["(", path.call(print, "expression"), printTypeAnnotation$3(path, options, print), ")"]); - } - - case "TypeParameterDeclaration": - case "TypeParameterInstantiation": - { - const printed = printTypeParameters$1(path, options, print, "params"); - - if (options.parser === "flow") { - const start = locStart$8(n); - const end = locEnd$e(n); - const commentStartIndex = options.originalText.lastIndexOf("/*", start); - const commentEndIndex = options.originalText.indexOf("*/", end); - - if (commentStartIndex !== -1 && commentEndIndex !== -1) { - const comment = options.originalText.slice(commentStartIndex + 2, commentEndIndex).trim(); - - if (comment.startsWith("::") && !comment.includes("/*") && !comment.includes("*/")) { - return concat$x(["/*:: ", printed, " */"]); - } - } - } - - return printed; - } - - case "TSTypeParameterDeclaration": - case "TSTypeParameterInstantiation": - return printTypeParameters$1(path, options, print, "params"); - - case "TSTypeParameter": - case "TypeParameter": - { - const parent = path.getParentNode(); - - if (parent.type === "TSMappedType") { - parts.push("[", path.call(print, "name")); - - if (n.constraint) { - parts.push(" in ", path.call(print, "constraint")); - } - - if (parent.nameType) { - parts.push(" as ", path.callParent(path => { - return path.call(print, "nameType"); - })); - } - - parts.push("]"); - return concat$x(parts); - } - - if (n.variance) { - parts.push(path.call(print, "variance")); - } - - parts.push(path.call(print, "name")); - - if (n.bound) { - parts.push(": "); - parts.push(path.call(print, "bound")); - } - - if (n.constraint) { - parts.push(" extends ", path.call(print, "constraint")); - } - - if (n.default) { - parts.push(" = ", path.call(print, "default")); - } // Keep comma if the file extension is .tsx and - // has one type parameter that isn't extend with any types. - // Because, otherwise formatted result will be invalid as tsx. - - - const grandParent = path.getNode(2); - - if (getFunctionParameters$6(parent).length === 1 && isTSXFile$1(options) && !n.constraint && grandParent.type === "ArrowFunctionExpression") { - parts.push(","); - } - - return concat$x(parts); - } - - case "TypeofTypeAnnotation": - return concat$x(["typeof ", path.call(print, "argument")]); - - case "InferredPredicate": - return "%checks"; - // Unhandled types below. If encountered, nodes of these types should - // be either left alone or desugared into AST types that are fully - // supported by the pretty-printer. - - case "DeclaredPredicate": - return concat$x(["%checks(", path.call(print, "value"), ")"]); - - case "TSAbstractKeyword": - return "abstract"; - - case "AnyTypeAnnotation": - case "TSAnyKeyword": - return "any"; - - case "TSAsyncKeyword": - return "async"; - - case "BooleanTypeAnnotation": - case "TSBooleanKeyword": - return "boolean"; - - case "BigIntTypeAnnotation": - case "TSBigIntKeyword": - return "bigint"; - - case "TSConstKeyword": - return "const"; - - case "TSDeclareKeyword": - return "declare"; - - case "TSExportKeyword": - return "export"; - - case "NullLiteralTypeAnnotation": - case "TSNullKeyword": - return "null"; - - case "TSNeverKeyword": - return "never"; - - case "NumberTypeAnnotation": - case "TSNumberKeyword": - return "number"; - - case "TSObjectKeyword": - return "object"; - - case "TSProtectedKeyword": - return "protected"; - - case "TSPrivateKeyword": - return "private"; - - case "TSPublicKeyword": - return "public"; - - case "TSReadonlyKeyword": - return "readonly"; - - case "SymbolTypeAnnotation": - case "TSSymbolKeyword": - return "symbol"; - - case "TSStaticKeyword": - return "static"; - - case "StringTypeAnnotation": - case "TSStringKeyword": - return "string"; - - case "TSUndefinedKeyword": - return "undefined"; - - case "TSUnknownKeyword": - return "unknown"; - - case "VoidTypeAnnotation": - case "TSVoidKeyword": - return "void"; - - case "TSAsExpression": - return concat$x([path.call(print, "expression"), " as ", path.call(print, "typeAnnotation")]); - - case "TSArrayType": - return concat$x([path.call(print, "elementType"), "[]"]); - - case "TSPropertySignature": - { - if (n.export) { - parts.push("export "); - } - - if (n.accessibility) { - parts.push(n.accessibility + " "); - } - - if (n.static) { - parts.push("static "); - } - - if (n.readonly) { - parts.push("readonly "); - } - - parts.push(printPropertyKey$2(path, options, print), printOptionalToken$6(path)); - - if (n.typeAnnotation) { - parts.push(": "); - parts.push(path.call(print, "typeAnnotation")); - } // This isn't valid semantically, but it's in the AST so we can print it. - - - if (n.initializer) { - parts.push(" = ", path.call(print, "initializer")); - } - - return concat$x(parts); - } - - case "TSParameterProperty": - if (n.accessibility) { - parts.push(n.accessibility + " "); - } - - if (n.export) { - parts.push("export "); - } - - if (n.static) { - parts.push("static "); - } - - if (n.readonly) { - parts.push("readonly "); - } - - parts.push(path.call(print, "parameter")); - return concat$x(parts); - - case "GenericTypeAnnotation": - case "TSTypeReference": - return concat$x([path.call(print, n.type === "TSTypeReference" ? "typeName" : "id"), printTypeParameters$1(path, options, print, "typeParameters")]); - - case "TSTypeQuery": - return concat$x(["typeof ", path.call(print, "exprName")]); - - case "TSIndexSignature": - { - const parent = path.getParentNode(); // The typescript parser accepts multiple parameters here. If you're - // using them, it makes sense to have a trailing comma. But if you - // aren't, this is more like a computed property name than an array. - // So we leave off the trailing comma when there's just one parameter. - - const trailingComma = n.parameters.length > 1 ? ifBreak$d(shouldPrintComma$8(options) ? "," : "") : ""; - const parametersGroup = group$l(concat$x([indent$p(concat$x([softline$h, join$f(concat$x([", ", softline$h]), path.map(print, "parameters"))])), trailingComma, softline$h])); - return concat$x([n.export ? "export " : "", n.accessibility ? concat$x([n.accessibility, " "]) : "", n.static ? "static " : "", n.readonly ? "readonly " : "", n.declare ? "declare " : "", "[", n.parameters ? parametersGroup : "", n.typeAnnotation ? "]: " : "]", n.typeAnnotation ? path.call(print, "typeAnnotation") : "", parent.type === "ClassBody" ? semi : ""]); - } - - case "TSTypePredicate": - return concat$x([n.asserts ? "asserts " : "", path.call(print, "parameterName"), n.typeAnnotation ? concat$x([" is ", path.call(print, "typeAnnotation")]) : ""]); - - case "TSNonNullExpression": - return concat$x([path.call(print, "expression"), "!"]); - - case "ThisTypeAnnotation": - case "TSThisType": - return "this"; - - case "TSImportType": - return concat$x([!n.isTypeOf ? "" : "typeof ", "import(", path.call(print, n.parameter ? "parameter" : "argument"), ")", !n.qualifier ? "" : concat$x([".", path.call(print, "qualifier")]), printTypeParameters$1(path, options, print, "typeParameters")]); - - case "TSLiteralType": - return path.call(print, "literal"); - - case "TSIndexedAccessType": - return concat$x([path.call(print, "objectType"), "[", path.call(print, "indexType"), "]"]); - - case "TSConstructSignatureDeclaration": - case "TSCallSignatureDeclaration": - case "TSConstructorType": - { - if (n.type !== "TSCallSignatureDeclaration") { - parts.push("new "); - } - - parts.push(group$l(printFunctionParameters$2(path, print, options, - /* expandArg */ - false, - /* printTypeParams */ - true))); - - if (n.returnType || n.typeAnnotation) { - const isType = n.type === "TSConstructorType"; - parts.push(isType ? " => " : ": ", path.call(print, "returnType"), path.call(print, "typeAnnotation")); - } - - return concat$x(parts); - } - - case "TSTypeOperator": - return concat$x([n.operator, " ", path.call(print, "typeAnnotation")]); - - case "TSMappedType": - { - const shouldBreak = hasNewlineInRange$6(options.originalText, locStart$8(n), locEnd$e(n)); - return group$l(concat$x(["{", indent$p(concat$x([options.bracketSpacing ? line$j : softline$h, n.readonly ? concat$x([getTypeScriptMappedTypeModifier$1(n.readonly, "readonly"), " "]) : "", printTypeScriptModifiers$2(path, options, print), path.call(print, "typeParameter"), n.optional ? getTypeScriptMappedTypeModifier$1(n.optional, "?") : "", n.typeAnnotation ? ": " : "", path.call(print, "typeAnnotation"), ifBreak$d(semi, "")])), comments.printDanglingComments(path, options, - /* sameIndent */ - true), options.bracketSpacing ? line$j : softline$h, "}"]), { - shouldBreak - }); - } - - case "TSMethodSignature": - parts.push(n.accessibility ? concat$x([n.accessibility, " "]) : "", n.export ? "export " : "", n.static ? "static " : "", n.readonly ? "readonly " : "", n.computed ? "[" : "", path.call(print, "key"), n.computed ? "]" : "", printOptionalToken$6(path), printFunctionParameters$2(path, print, options, - /* expandArg */ - false, - /* printTypeParams */ - true)); - - if (n.returnType || n.typeAnnotation) { - parts.push(": ", path.call(print, "returnType"), path.call(print, "typeAnnotation")); - } - - return group$l(concat$x(parts)); - - case "TSNamespaceExportDeclaration": - parts.push("export as namespace ", path.call(print, "id")); - - if (options.semi) { - parts.push(";"); - } - - return group$l(concat$x(parts)); - - case "TSEnumDeclaration": - if (n.declare) { - parts.push("declare "); - } - - if (n.modifiers) { - parts.push(printTypeScriptModifiers$2(path, options, print)); - } - - if (n.const) { - parts.push("const "); - } - - parts.push("enum ", path.call(print, "id"), " "); - - if (n.members.length === 0) { - parts.push(group$l(concat$x(["{", comments.printDanglingComments(path, options), softline$h, "}"]))); - } else { - parts.push(group$l(concat$x(["{", indent$p(concat$x([hardline$k, printArrayItems$1(path, options, "members", print), shouldPrintComma$8(options, "es5") ? "," : ""])), comments.printDanglingComments(path, options, - /* sameIndent */ - true), hardline$k, "}"]))); - } - - return concat$x(parts); - - case "TSEnumMember": - parts.push(path.call(print, "id")); - - if (n.initializer) { - parts.push(" = ", path.call(print, "initializer")); - } - - return concat$x(parts); - - case "TSImportEqualsDeclaration": - if (n.isExport) { - parts.push("export "); - } - - parts.push("import ", path.call(print, "id"), " = ", path.call(print, "moduleReference")); - - if (options.semi) { - parts.push(";"); - } - - return group$l(concat$x(parts)); - - case "TSExternalModuleReference": - return concat$x(["require(", path.call(print, "expression"), ")"]); - - case "TSModuleDeclaration": - { - const parent = path.getParentNode(); - const isExternalModule = isLiteral$2(n.id); - const parentIsDeclaration = parent.type === "TSModuleDeclaration"; - const bodyIsDeclaration = n.body && n.body.type === "TSModuleDeclaration"; - - if (parentIsDeclaration) { - parts.push("."); - } else { - if (n.declare) { - parts.push("declare "); - } - - parts.push(printTypeScriptModifiers$2(path, options, print)); - const textBetweenNodeAndItsId = options.originalText.slice(locStart$8(n), locStart$8(n.id)); // Global declaration looks like this: - // (declare)? global { ... } - - const isGlobalDeclaration = n.id.type === "Identifier" && n.id.name === "global" && !/namespace|module/.test(textBetweenNodeAndItsId); - - if (!isGlobalDeclaration) { - parts.push(isExternalModule || /(^|\s)module(\s|$)/.test(textBetweenNodeAndItsId) ? "module " : "namespace "); - } - } - - parts.push(path.call(print, "id")); - - if (bodyIsDeclaration) { - parts.push(path.call(print, "body")); - } else if (n.body) { - parts.push(" ", group$l(path.call(print, "body"))); - } else { - parts.push(semi); - } - - return concat$x(parts); - } - - case "PrivateName": - // babel use `id`, meriyah use `name` - return concat$x(["#", path.call(print, n.id ? "id" : "name")]); - // TODO: Temporary auto-generated node type. To remove when typescript-estree has proper support for private fields. - - case "TSPrivateIdentifier": - return n.escapedText; - - case "TSConditionalType": - return ternary(path, options, print, { - beforeParts: () => [path.call(print, "checkType"), " ", "extends", " ", path.call(print, "extendsType")], - afterParts: () => [], - shouldCheckJsx: false, - conditionalNodeType: "TSConditionalType", - consequentNodePropertyName: "trueType", - alternateNodePropertyName: "falseType", - testNodePropertyNames: ["checkType", "extendsType"] - }); - - case "TSInferType": - return concat$x(["infer", " ", path.call(print, "typeParameter")]); - - case "InterpreterDirective": - parts.push("#!", n.value, hardline$k); - - if (isNextLineEmpty$9(options.originalText, n, locEnd$e)) { - parts.push(hardline$k); - } - - return concat$x(parts); - - case "NGRoot": - return concat$x([].concat(path.call(print, "node"), !n.node.comments || n.node.comments.length === 0 ? [] : concat$x([" //", n.node.comments[0].value.trimEnd()]))); - - case "NGChainedExpression": - return group$l(join$f(concat$x([";", line$j]), path.map(childPath => hasNgSideEffect$1(childPath) ? print(childPath) : concat$x(["(", print(childPath), ")"]), "expressions"))); - - case "NGEmptyExpression": - return ""; - - case "NGQuotedExpression": - return concat$x([n.prefix, ": ", n.value.trim()]); - - case "NGMicrosyntax": - return concat$x(path.map((childPath, index) => concat$x([index === 0 ? "" : isNgForOf$1(childPath.getValue(), index, n) ? " " : concat$x([";", line$j]), print(childPath)]), "body")); - - case "NGMicrosyntaxKey": - return /^[$_a-z][\w$]*(-[$_a-z][\w$])*$/i.test(n.name) ? n.name : JSON.stringify(n.name); - - case "NGMicrosyntaxExpression": - return concat$x([path.call(print, "expression"), n.alias === null ? "" : concat$x([" as ", path.call(print, "alias")])]); - - case "NGMicrosyntaxKeyedExpression": - { - const index = path.getName(); - const parentNode = path.getParentNode(); - const shouldNotPrintColon = isNgForOf$1(n, index, parentNode) || (index === 1 && (n.key.name === "then" || n.key.name === "else") || index === 2 && n.key.name === "else" && parentNode.body[index - 1].type === "NGMicrosyntaxKeyedExpression" && parentNode.body[index - 1].key.name === "then") && parentNode.body[0].type === "NGMicrosyntaxExpression"; - return concat$x([path.call(print, "key"), shouldNotPrintColon ? " " : ": ", path.call(print, "expression")]); - } - - case "NGMicrosyntaxLet": - return concat$x(["let ", path.call(print, "key"), n.value === null ? "" : concat$x([" = ", path.call(print, "value")])]); - - case "NGMicrosyntaxAs": - return concat$x([path.call(print, "key"), " as ", path.call(print, "alias")]); - - case "PipelineBareFunction": - return path.call(print, "callee"); - - case "PipelineTopicExpression": - return path.call(print, "expression"); - - case "PipelinePrimaryTopicReference": - { - parts.push("#"); - return concat$x(parts); - } - - case "ArgumentPlaceholder": - return "?"; - // These are not valid TypeScript. Printing them just for the sake of error recovery. - - case "TSJSDocAllType": - return "*"; - - case "TSJSDocUnknownType": - return "?"; - - case "TSJSDocNullableType": - return concat$x(["?", path.call(print, "typeAnnotation")]); - - case "TSJSDocNonNullableType": - return concat$x(["!", path.call(print, "typeAnnotation")]); - - case "TSJSDocFunctionType": - return concat$x(["function(", // The parameters could be here, but typescript-estree doesn't convert them anyway (throws an error). - "): ", path.call(print, "typeAnnotation")]); - - default: - /* istanbul ignore next */ - throw new Error("unknown type: " + JSON.stringify(n.type)); - } -} - -function nodeStr(node, options, isFlowOrTypeScriptDirectiveLiteral) { - const raw = rawText$3(node); - const isDirectiveLiteral = isFlowOrTypeScriptDirectiveLiteral || node.type === "DirectiveLiteral"; - return printString$2(raw, options, isDirectiveLiteral); -} - -function printRegex(node) { - const flags = node.flags.split("").sort().join(""); - return `/${node.pattern}/${flags}`; -} - -function canAttachComment(node) { - return node.type && node.type !== "CommentBlock" && node.type !== "CommentLine" && node.type !== "Line" && node.type !== "Block" && node.type !== "EmptyStatement" && node.type !== "TemplateElement" && node.type !== "Import"; -} - -var printerEstree = { - preprocess: printPreprocess, - print: genericPrint, - embed: embed_1, - insertPragma: insertPragma$1, - massageAstNode: clean_1, - hasPrettierIgnore: hasPrettierIgnore$1, - willPrintOwnComments: comments$1.willPrintOwnComments, - canAttachComment, - printComment: printComment$2, - isBlockComment: isBlockComment$9, - handleComments: { - ownLine: comments$1.handleOwnLineComment, - endOfLine: comments$1.handleEndOfLineComment, - remaining: comments$1.handleRemainingComment - }, - getGapRegex: comments$1.getGapRegex, - getCommentChildNodes: comments$1.getCommentChildNodes -}; - -const { - builders: { - concat: concat$y, - hardline: hardline$l, - indent: indent$q, - join: join$g - } -} = document; - -function genericPrint$1(path, options, print) { - const node = path.getValue(); - - switch (node.type) { - case "JsonRoot": - return concat$y([path.call(print, "node"), hardline$l]); - - case "ArrayExpression": - return node.elements.length === 0 ? "[]" : concat$y(["[", indent$q(concat$y([hardline$l, join$g(concat$y([",", hardline$l]), path.map(print, "elements"))])), hardline$l, "]"]); - - case "ObjectExpression": - return node.properties.length === 0 ? "{}" : concat$y(["{", indent$q(concat$y([hardline$l, join$g(concat$y([",", hardline$l]), path.map(print, "properties"))])), hardline$l, "}"]); - - case "ObjectProperty": - return concat$y([path.call(print, "key"), ": ", path.call(print, "value")]); - - case "UnaryExpression": - return concat$y([node.operator === "+" ? "" : node.operator, path.call(print, "argument")]); - - case "NullLiteral": - return "null"; - - case "BooleanLiteral": - return node.value ? "true" : "false"; - - case "StringLiteral": - case "NumericLiteral": - return JSON.stringify(node.value); - - case "Identifier": - return JSON.stringify(node.name); - - default: - /* istanbul ignore next */ - throw new Error("unknown type: " + JSON.stringify(node.type)); - } -} - -const ignoredProperties$1 = new Set(["start", "end", "extra", "loc", "comments", "errors", "range"]); - -function clean$1(node, newNode -/*, parent*/ -) { - const { - type - } = node; - - if (type === "Identifier") { - return { - type: "StringLiteral", - value: node.name - }; - } - - if (type === "UnaryExpression" && node.operator === "+") { - return newNode.argument; - } -} - -clean$1.ignoredProperties = ignoredProperties$1; -var printerEstreeJson = { - preprocess: printPreprocess, - print: genericPrint$1, - massageAstNode: clean$1 -}; - -const CATEGORY_COMMON = "Common"; // format based on https://github.com/prettier/prettier/blob/master/src/main/core-options.js - -var commonOptions = { - bracketSpacing: { - since: "0.0.0", - category: CATEGORY_COMMON, - type: "boolean", - default: true, - description: "Print spaces between brackets.", - oppositeDescription: "Do not print spaces between brackets." - }, - singleQuote: { - since: "0.0.0", - category: CATEGORY_COMMON, - type: "boolean", - default: false, - description: "Use single quotes instead of double quotes." - }, - proseWrap: { - since: "1.8.2", - category: CATEGORY_COMMON, - type: "choice", - default: [{ - since: "1.8.2", - value: true - }, { - since: "1.9.0", - value: "preserve" - }], - description: "How to wrap prose.", - choices: [{ - since: "1.9.0", - value: "always", - description: "Wrap prose if it exceeds the print width." - }, { - since: "1.9.0", - value: "never", - description: "Do not wrap prose." - }, { - since: "1.9.0", - value: "preserve", - description: "Wrap prose as-is." - }] - } -}; - -const CATEGORY_JAVASCRIPT = "JavaScript"; // format based on https://github.com/prettier/prettier/blob/master/src/main/core-options.js - -var options$2 = { - arrowParens: { - since: "1.9.0", - category: CATEGORY_JAVASCRIPT, - type: "choice", - default: [{ - since: "1.9.0", - value: "avoid" - }, { - since: "2.0.0", - value: "always" - }], - description: "Include parentheses around a sole arrow function parameter.", - choices: [{ - value: "always", - description: "Always include parens. Example: `(x) => x`" - }, { - value: "avoid", - description: "Omit parens when possible. Example: `x => x`" - }] - }, - bracketSpacing: commonOptions.bracketSpacing, - jsxBracketSameLine: { - since: "0.17.0", - category: CATEGORY_JAVASCRIPT, - type: "boolean", - default: false, - description: "Put > on the last line instead of at a new line." - }, - semi: { - since: "1.0.0", - category: CATEGORY_JAVASCRIPT, - type: "boolean", - default: true, - description: "Print semicolons.", - oppositeDescription: "Do not print semicolons, except at the beginning of lines which may need them." - }, - singleQuote: commonOptions.singleQuote, - jsxSingleQuote: { - since: "1.15.0", - category: CATEGORY_JAVASCRIPT, - type: "boolean", - default: false, - description: "Use single quotes in JSX." - }, - quoteProps: { - since: "1.17.0", - category: CATEGORY_JAVASCRIPT, - type: "choice", - default: "as-needed", - description: "Change when properties in objects are quoted.", - choices: [{ - value: "as-needed", - description: "Only add quotes around object properties where required." - }, { - value: "consistent", - description: "If at least one property in an object requires quotes, quote all properties." - }, { - value: "preserve", - description: "Respect the input use of quotes in object properties." - }] - }, - trailingComma: { - since: "0.0.0", - category: CATEGORY_JAVASCRIPT, - type: "choice", - default: [{ - since: "0.0.0", - value: false - }, { - since: "0.19.0", - value: "none" - }, { - since: "2.0.0", - value: "es5" - }], - description: "Print trailing commas wherever possible when multi-line.", - choices: [{ - value: "es5", - description: "Trailing commas where valid in ES5 (objects, arrays, etc.)" - }, { - value: "none", - description: "No trailing commas." - }, { - value: "all", - description: "Trailing commas wherever possible (including function arguments)." - }] - } -}; - -var name$2 = "JavaScript"; -var type = "programming"; -var tmScope = "source.js"; -var aceMode = "javascript"; -var codemirrorMode = "javascript"; -var codemirrorMimeType = "text/javascript"; -var color = "#f1e05a"; -var aliases = [ - "js", - "node" -]; -var extensions = [ - ".js", - "._js", - ".bones", - ".cjs", - ".es", - ".es6", - ".frag", - ".gs", - ".jake", - ".jsb", - ".jscad", - ".jsfl", - ".jsm", - ".jss", - ".mjs", - ".njs", - ".pac", - ".sjs", - ".ssjs", - ".xsjs", - ".xsjslib" -]; -var filenames = [ - "Jakefile" -]; -var interpreters = [ - "chakra", - "d8", - "gjs", - "js", - "node", - "nodejs", - "qjs", - "rhino", - "v8", - "v8-shell" -]; -var languageId = 183; -var require$$0$2 = { - name: name$2, - type: type, - tmScope: tmScope, - aceMode: aceMode, - codemirrorMode: codemirrorMode, - codemirrorMimeType: codemirrorMimeType, - color: color, - aliases: aliases, - extensions: extensions, - filenames: filenames, - interpreters: interpreters, - languageId: languageId -}; - -var name$3 = "JSX"; -var type$1 = "programming"; -var group$m = "JavaScript"; -var extensions$1 = [ - ".jsx" -]; -var tmScope$1 = "source.js.jsx"; -var aceMode$1 = "javascript"; -var codemirrorMode$1 = "jsx"; -var codemirrorMimeType$1 = "text/jsx"; -var languageId$1 = 178; -var require$$1 = { - name: name$3, - type: type$1, - group: group$m, - extensions: extensions$1, - tmScope: tmScope$1, - aceMode: aceMode$1, - codemirrorMode: codemirrorMode$1, - codemirrorMimeType: codemirrorMimeType$1, - languageId: languageId$1 -}; - -var name$4 = "TypeScript"; -var type$2 = "programming"; -var color$1 = "#2b7489"; -var aliases$1 = [ - "ts" -]; -var interpreters$1 = [ - "deno", - "ts-node" -]; -var extensions$2 = [ - ".ts" -]; -var tmScope$2 = "source.ts"; -var aceMode$2 = "typescript"; -var codemirrorMode$2 = "javascript"; -var codemirrorMimeType$2 = "application/typescript"; -var languageId$2 = 378; -var require$$2 = { - name: name$4, - type: type$2, - color: color$1, - aliases: aliases$1, - interpreters: interpreters$1, - extensions: extensions$2, - tmScope: tmScope$2, - aceMode: aceMode$2, - codemirrorMode: codemirrorMode$2, - codemirrorMimeType: codemirrorMimeType$2, - languageId: languageId$2 -}; - -var name$5 = "TSX"; -var type$3 = "programming"; -var group$n = "TypeScript"; -var extensions$3 = [ - ".tsx" -]; -var tmScope$3 = "source.tsx"; -var aceMode$3 = "javascript"; -var codemirrorMode$3 = "jsx"; -var codemirrorMimeType$3 = "text/jsx"; -var languageId$3 = 94901924; -var require$$3 = { - name: name$5, - type: type$3, - group: group$n, - extensions: extensions$3, - tmScope: tmScope$3, - aceMode: aceMode$3, - codemirrorMode: codemirrorMode$3, - codemirrorMimeType: codemirrorMimeType$3, - languageId: languageId$3 -}; - -var name$6 = "JSON"; -var type$4 = "data"; -var tmScope$4 = "source.json"; -var aceMode$4 = "json"; -var codemirrorMode$4 = "javascript"; -var codemirrorMimeType$4 = "application/json"; -var searchable = false; -var extensions$4 = [ - ".json", - ".avsc", - ".geojson", - ".gltf", - ".har", - ".ice", - ".JSON-tmLanguage", - ".jsonl", - ".mcmeta", - ".tfstate", - ".tfstate.backup", - ".topojson", - ".webapp", - ".webmanifest", - ".yy", - ".yyp" -]; -var filenames$1 = [ - ".arcconfig", - ".htmlhintrc", - ".tern-config", - ".tern-project", - ".watchmanconfig", - "composer.lock", - "mcmod.info" -]; -var languageId$4 = 174; -var require$$4$1 = { - name: name$6, - type: type$4, - tmScope: tmScope$4, - aceMode: aceMode$4, - codemirrorMode: codemirrorMode$4, - codemirrorMimeType: codemirrorMimeType$4, - searchable: searchable, - extensions: extensions$4, - filenames: filenames$1, - languageId: languageId$4 -}; - -var name$7 = "JSON with Comments"; -var type$5 = "data"; -var group$o = "JSON"; -var tmScope$5 = "source.js"; -var aceMode$5 = "javascript"; -var codemirrorMode$5 = "javascript"; -var codemirrorMimeType$5 = "text/javascript"; -var aliases$2 = [ - "jsonc" -]; -var extensions$5 = [ - ".jsonc", - ".sublime-build", - ".sublime-commands", - ".sublime-completions", - ".sublime-keymap", - ".sublime-macro", - ".sublime-menu", - ".sublime-mousemap", - ".sublime-project", - ".sublime-settings", - ".sublime-theme", - ".sublime-workspace", - ".sublime_metrics", - ".sublime_session" -]; -var filenames$2 = [ - ".babelrc", - ".eslintrc.json", - ".jscsrc", - ".jshintrc", - ".jslintrc", - "devcontainer.json", - "jsconfig.json", - "language-configuration.json", - "tsconfig.json", - "tslint.json" -]; -var languageId$5 = 423; -var require$$5 = { - name: name$7, - type: type$5, - group: group$o, - tmScope: tmScope$5, - aceMode: aceMode$5, - codemirrorMode: codemirrorMode$5, - codemirrorMimeType: codemirrorMimeType$5, - aliases: aliases$2, - extensions: extensions$5, - filenames: filenames$2, - languageId: languageId$5 -}; - -var name$8 = "JSON5"; -var type$6 = "data"; -var extensions$6 = [ - ".json5" -]; -var tmScope$6 = "source.js"; -var aceMode$6 = "javascript"; -var codemirrorMode$6 = "javascript"; -var codemirrorMimeType$6 = "application/json"; -var languageId$6 = 175; -var require$$6 = { - name: name$8, - type: type$6, - extensions: extensions$6, - tmScope: tmScope$6, - aceMode: aceMode$6, - codemirrorMode: codemirrorMode$6, - codemirrorMimeType: codemirrorMimeType$6, - languageId: languageId$6 -}; - -const languages = [createLanguage(require$$0$2, data => ({ - since: "0.0.0", - parsers: ["babel", "espree", "meriyah", "babel-flow", "babel-ts", "flow", "typescript"], - vscodeLanguageIds: ["javascript", "mongo"], - extensions: [...data.extensions, // WeiXin Script (Weixin Mini Programs) - // https://developers.weixin.qq.com/miniprogram/en/dev/framework/view/wxs/ - ".wxs"] -})), createLanguage(require$$0$2, () => ({ - name: "Flow", - since: "0.0.0", - parsers: ["flow", "babel-flow"], - vscodeLanguageIds: ["javascript"], - aliases: [], - filenames: [], - extensions: [".js.flow"] -})), createLanguage(require$$1, () => ({ - since: "0.0.0", - parsers: ["babel", "babel-flow", "babel-ts", "flow", "typescript", "espree", "meriyah"], - vscodeLanguageIds: ["javascriptreact"] -})), createLanguage(require$$2, () => ({ - since: "1.4.0", - parsers: ["typescript", "babel-ts"], - vscodeLanguageIds: ["typescript"] -})), createLanguage(require$$3, () => ({ - since: "1.4.0", - parsers: ["typescript", "babel-ts"], - vscodeLanguageIds: ["typescriptreact"] -})), createLanguage(require$$4$1, () => ({ - name: "JSON.stringify", - since: "1.13.0", - parsers: ["json-stringify"], - vscodeLanguageIds: ["json"], - extensions: [], - // .json file defaults to json instead of json-stringify - filenames: ["package.json", "package-lock.json", "composer.json"] -})), createLanguage(require$$4$1, data => ({ - since: "1.5.0", - parsers: ["json"], - vscodeLanguageIds: ["json"], - filenames: [...data.filenames, ".prettierrc"], - extensions: data.extensions.filter(extension => extension !== ".jsonl") -})), createLanguage(require$$5, data => ({ - since: "1.5.0", - parsers: ["json"], - vscodeLanguageIds: ["jsonc"], - filenames: [...data.filenames, ".eslintrc"] -})), createLanguage(require$$6, () => ({ - since: "1.13.0", - parsers: ["json5"], - vscodeLanguageIds: ["json5"] -}))]; -const printers = { - estree: printerEstree, - "estree-json": printerEstreeJson -}; -const parsers = { - // JS - Babel - get babel() { - return require("./parser-babel").parsers.babel; - }, - - get "babel-flow"() { - return require("./parser-babel").parsers["babel-flow"]; - }, - - get "babel-ts"() { - return require("./parser-babel").parsers["babel-ts"]; - }, - - get json() { - return require("./parser-babel").parsers.json; - }, - - get json5() { - return require("./parser-babel").parsers.json5; - }, - - get "json-stringify"() { - return require("./parser-babel").parsers["json-stringify"]; - }, - - get __js_expression() { - return require("./parser-babel").parsers.__js_expression; - }, - - get __vue_expression() { - return require("./parser-babel").parsers.__vue_expression; - }, - - get __vue_event_binding() { - return require("./parser-babel").parsers.__vue_event_binding; - }, - - // JS - Flow - get flow() { - return require("./parser-flow").parsers.flow; - }, - - // JS - TypeScript - get typescript() { - return require("./parser-typescript").parsers.typescript; - }, - - // JS - Angular Action - get __ng_action() { - return require("./parser-angular").parsers.__ng_action; - }, - - // JS - Angular Binding - get __ng_binding() { - return require("./parser-angular").parsers.__ng_binding; - }, - - // JS - Angular Interpolation - get __ng_interpolation() { - return require("./parser-angular").parsers.__ng_interpolation; - }, - - // JS - Angular Directive - get __ng_directive() { - return require("./parser-angular").parsers.__ng_directive; - }, - - // JS - espree - get espree() { - return require("./parser-espree").parsers.espree; - }, - - // JS - meriyah - get meriyah() { - return require("./parser-meriyah").parsers.meriyah; - } - -}; -var languageJs = { - languages, - options: options$2, - printers, - parsers -}; - -const { - isFrontMatterNode: isFrontMatterNode$1 -} = util; -const ignoredProperties$2 = new Set(["raw", // front-matter -"raws", "sourceIndex", "source", "before", "after", "trailingComma"]); - -function clean$2(ast, newObj, parent) { - if (isFrontMatterNode$1(ast) && ast.lang === "yaml") { - delete newObj.value; - } - - if (ast.type === "css-comment" && parent.type === "css-root" && parent.nodes.length !== 0) { - // --insert-pragma - // first non-front-matter comment - if (parent.nodes[0] === ast || isFrontMatterNode$1(parent.nodes[0]) && parent.nodes[1] === ast) { - /** - * something - * - * @format - */ - delete newObj.text; // standalone pragma - - if (/^\*\s*@(format|prettier)\s*$/.test(ast.text)) { - return null; - } - } // Last comment is not parsed, when omitting semicolon, #8675 - - - if (parent.type === "css-root" && getLast(parent.nodes) === ast) { - return null; - } - } - - if (ast.type === "value-root") { - delete newObj.text; - } - - if (ast.type === "media-query" || ast.type === "media-query-list" || ast.type === "media-feature-expression") { - delete newObj.value; - } - - if (ast.type === "css-rule") { - delete newObj.params; - } - - if (ast.type === "selector-combinator") { - newObj.value = newObj.value.replace(/\s+/g, " "); - } - - if (ast.type === "media-feature") { - newObj.value = newObj.value.replace(/ /g, ""); - } - - if (ast.type === "value-word" && (ast.isColor && ast.isHex || ["initial", "inherit", "unset", "revert"].includes(newObj.value.replace().toLowerCase())) || ast.type === "media-feature" || ast.type === "selector-root-invalid" || ast.type === "selector-pseudo") { - newObj.value = newObj.value.toLowerCase(); - } - - if (ast.type === "css-decl") { - newObj.prop = newObj.prop.toLowerCase(); - } - - if (ast.type === "css-atrule" || ast.type === "css-import") { - newObj.name = newObj.name.toLowerCase(); - } - - if (ast.type === "value-number") { - newObj.unit = newObj.unit.toLowerCase(); - } - - if ((ast.type === "media-feature" || ast.type === "media-keyword" || ast.type === "media-type" || ast.type === "media-unknown" || ast.type === "media-url" || ast.type === "media-value" || ast.type === "selector-attribute" || ast.type === "selector-string" || ast.type === "selector-class" || ast.type === "selector-combinator" || ast.type === "value-string") && newObj.value) { - newObj.value = cleanCSSStrings(newObj.value); - } - - if (ast.type === "selector-attribute") { - newObj.attribute = newObj.attribute.trim(); - - if (newObj.namespace) { - if (typeof newObj.namespace === "string") { - newObj.namespace = newObj.namespace.trim(); - - if (newObj.namespace.length === 0) { - newObj.namespace = true; - } - } - } - - if (newObj.value) { - newObj.value = newObj.value.trim().replace(/^["']|["']$/g, ""); - delete newObj.quoted; - } - } - - if ((ast.type === "media-value" || ast.type === "media-type" || ast.type === "value-number" || ast.type === "selector-root-invalid" || ast.type === "selector-class" || ast.type === "selector-combinator" || ast.type === "selector-tag") && newObj.value) { - newObj.value = newObj.value.replace(/([\d+.Ee-]+)([A-Za-z]*)/g, (match, numStr, unit) => { - const num = Number(numStr); - return isNaN(num) ? match : num + unit.toLowerCase(); - }); - } - - if (ast.type === "selector-tag") { - const lowercasedValue = ast.value.toLowerCase(); - - if (["from", "to"].includes(lowercasedValue)) { - newObj.value = lowercasedValue; - } - } // Workaround when `postcss-values-parser` parse `not`, `and` or `or` keywords as `value-func` - - - if (ast.type === "css-atrule" && ast.name.toLowerCase() === "supports") { - delete newObj.value; - } // Workaround for SCSS nested properties - - - if (ast.type === "selector-unknown") { - delete newObj.value; - } -} - -clean$2.ignoredProperties = ignoredProperties$2; - -function cleanCSSStrings(value) { - return value.replace(/'/g, '"').replace(/\\([^\dA-Fa-f])/g, "$1"); -} - -var clean_1$1 = clean$2; - -const { - builders: { - hardline: hardline$m, - concat: concat$z, - markAsRoot: markAsRoot$1 - } -} = document; -const DELIMITER_MAP = { - "---": "yaml", - "+++": "toml" -}; - -function parse$7(text) { - const delimiterRegex = Object.keys(DELIMITER_MAP).map(escapeStringRegexp).join("|"); - const match = text.match( // trailing spaces after delimiters are allowed - new RegExp(`^(${delimiterRegex})([^\\n]*)\\n(?:([\\s\\S]*?)\\n)?\\1[^\\n\\S]*(\\n|$)`)); - - if (match === null) { - return { - frontMatter: null, - content: text - }; - } - - const [raw, delimiter, language, value] = match; - let lang = DELIMITER_MAP[delimiter]; - - if (lang !== "toml" && language && language.trim()) { - lang = language.trim(); - } - - return { - frontMatter: { - type: "front-matter", - lang, - value, - raw: raw.replace(/\n$/, "") - }, - content: raw.replace(/[^\n]/g, " ") + text.slice(raw.length) - }; -} - -function print$1(node, textToDoc) { - if (node.lang === "yaml") { - const value = node.value.trim(); - const doc = value ? textToDoc(value, { - parser: "yaml" - }, { - stripTrailingHardline: true - }) : ""; - return markAsRoot$1(concat$z(["---", hardline$m, doc, doc ? hardline$m : "", "---"])); - } -} - -var frontMatter = { - parse: parse$7, - print: print$1 -}; - -const { - builders: { - hardline: hardline$n, - concat: concat$A - } -} = document; -const { - print: printFrontMatter -} = frontMatter; - -function embed$1(path, print, textToDoc -/*, options */ -) { - const node = path.getValue(); - - if (node.type === "front-matter") { - const doc = printFrontMatter(node, textToDoc); - return doc ? concat$A([doc, hardline$n]) : ""; - } -} - -var embed_1$1 = embed$1; - -const { - parse: parseFrontMatter -} = frontMatter; - -function hasPragma$1(text) { - return pragma.hasPragma(parseFrontMatter(text).content); -} - -function insertPragma$2(text) { - const { - frontMatter, - content - } = parseFrontMatter(text); - return (frontMatter ? frontMatter.raw + "\n\n" : "") + pragma.insertPragma(content); -} - -var pragma$1 = { - hasPragma: hasPragma$1, - insertPragma: insertPragma$2 -}; - -const colorAdjusterFunctions = new Set(["red", "green", "blue", "alpha", "a", "rgb", "hue", "h", "saturation", "s", "lightness", "l", "whiteness", "w", "blackness", "b", "tint", "shade", "blend", "blenda", "contrast", "hsl", "hsla", "hwb", "hwba"]); - -function getAncestorCounter(path, typeOrTypes) { - const types = [].concat(typeOrTypes); - let counter = -1; - let ancestorNode; - - while (ancestorNode = path.getParentNode(++counter)) { - if (types.includes(ancestorNode.type)) { - return counter; - } - } - - return -1; -} - -function getAncestorNode(path, typeOrTypes) { - const counter = getAncestorCounter(path, typeOrTypes); - return counter === -1 ? null : path.getParentNode(counter); -} - -function getPropOfDeclNode(path) { - const declAncestorNode = getAncestorNode(path, "css-decl"); - return declAncestorNode && declAncestorNode.prop && declAncestorNode.prop.toLowerCase(); -} - -function hasSCSSInterpolation(groupList) { - if (groupList && groupList.length) { - for (let i = groupList.length - 1; i > 0; i--) { - // If we find `#{`, return true. - if (groupList[i].type === "word" && groupList[i].value === "{" && groupList[i - 1].type === "word" && groupList[i - 1].value.endsWith("#")) { - return true; - } - } - } - - return false; -} - -function hasStringOrFunction(groupList) { - if (groupList && groupList.length) { - for (let i = 0; i < groupList.length; i++) { - if (groupList[i].type === "string" || groupList[i].type === "func") { - return true; - } - } - } - - return false; -} - -function isSCSS(parser, text) { - const hasExplicitParserChoice = parser === "less" || parser === "scss"; - const IS_POSSIBLY_SCSS = /(\w\s*:\s*[^:}]+|#){|@import[^\n]+(?:url|,)/; - return hasExplicitParserChoice ? parser === "scss" : IS_POSSIBLY_SCSS.test(text); -} - -function isSCSSVariable(node) { - return !!(node && node.type === "word" && node.value.startsWith("$")); -} - -function isWideKeywords(value) { - return ["initial", "inherit", "unset", "revert"].includes(value.toLowerCase()); -} - -function isKeyframeAtRuleKeywords(path, value) { - const atRuleAncestorNode = getAncestorNode(path, "css-atrule"); - return atRuleAncestorNode && atRuleAncestorNode.name && atRuleAncestorNode.name.toLowerCase().endsWith("keyframes") && ["from", "to"].includes(value.toLowerCase()); -} - -function maybeToLowerCase(value) { - return value.includes("$") || value.includes("@") || value.includes("#") || value.startsWith("%") || value.startsWith("--") || value.startsWith(":--") || value.includes("(") && value.includes(")") ? value : value.toLowerCase(); -} - -function insideValueFunctionNode(path, functionName) { - const funcAncestorNode = getAncestorNode(path, "value-func"); - return funcAncestorNode && funcAncestorNode.value && funcAncestorNode.value.toLowerCase() === functionName; -} - -function insideICSSRuleNode(path) { - const ruleAncestorNode = getAncestorNode(path, "css-rule"); - return ruleAncestorNode && ruleAncestorNode.raws && ruleAncestorNode.raws.selector && (ruleAncestorNode.raws.selector.startsWith(":import") || ruleAncestorNode.raws.selector.startsWith(":export")); -} - -function insideAtRuleNode(path, atRuleNameOrAtRuleNames) { - const atRuleNames = [].concat(atRuleNameOrAtRuleNames); - const atRuleAncestorNode = getAncestorNode(path, "css-atrule"); - return atRuleAncestorNode && atRuleNames.includes(atRuleAncestorNode.name.toLowerCase()); -} - -function insideURLFunctionInImportAtRuleNode(path) { - const node = path.getValue(); - const atRuleAncestorNode = getAncestorNode(path, "css-atrule"); - return atRuleAncestorNode && atRuleAncestorNode.name === "import" && node.groups[0].value === "url" && node.groups.length === 2; -} - -function isURLFunctionNode(node) { - return node.type === "value-func" && node.value.toLowerCase() === "url"; -} - -function isLastNode(path, node) { - const parentNode = path.getParentNode(); - /* istanbul ignore next */ - - if (!parentNode) { - return false; - } - - const { - nodes - } = parentNode; - return nodes && nodes.indexOf(node) === nodes.length - 1; -} - -function isDetachedRulesetDeclarationNode(node) { - // If a Less file ends up being parsed with the SCSS parser, Less - // variable declarations will be parsed as atrules with names ending - // with a colon, so keep the original case then. - - /* istanbul ignore next */ - if (!node.selector) { - return false; - } - - return typeof node.selector === "string" && /^@.+:.*$/.test(node.selector) || node.selector.value && /^@.+:.*$/.test(node.selector.value); -} - -function isForKeywordNode(node) { - return node.type === "value-word" && ["from", "through", "end"].includes(node.value); -} - -function isIfElseKeywordNode(node) { - return node.type === "value-word" && ["and", "or", "not"].includes(node.value); -} - -function isEachKeywordNode(node) { - return node.type === "value-word" && node.value === "in"; -} - -function isMultiplicationNode(node) { - return node.type === "value-operator" && node.value === "*"; -} - -function isDivisionNode(node) { - return node.type === "value-operator" && node.value === "/"; -} - -function isAdditionNode(node) { - return node.type === "value-operator" && node.value === "+"; -} - -function isSubtractionNode(node) { - return node.type === "value-operator" && node.value === "-"; -} - -function isModuloNode(node) { - return node.type === "value-operator" && node.value === "%"; -} - -function isMathOperatorNode(node) { - return isMultiplicationNode(node) || isDivisionNode(node) || isAdditionNode(node) || isSubtractionNode(node) || isModuloNode(node); -} - -function isEqualityOperatorNode(node) { - return node.type === "value-word" && ["==", "!="].includes(node.value); -} - -function isRelationalOperatorNode(node) { - return node.type === "value-word" && ["<", ">", "<=", ">="].includes(node.value); -} - -function isSCSSControlDirectiveNode(node) { - return node.type === "css-atrule" && ["if", "else", "for", "each", "while"].includes(node.name); -} - -function isSCSSNestedPropertyNode(node) { - /* istanbul ignore next */ - if (!node.selector) { - return false; - } - - return node.selector.replace(/\/\*.*?\*\//, "").replace(/\/\/.*?\n/, "").trim().endsWith(":"); -} - -function isDetachedRulesetCallNode(node) { - return node.raws && node.raws.params && /^\(\s*\)$/.test(node.raws.params); -} - -function isTemplatePlaceholderNode(node) { - return node.name.startsWith("prettier-placeholder"); -} - -function isTemplatePropNode(node) { - return node.prop.startsWith("@prettier-placeholder"); -} - -function isPostcssSimpleVarNode(currentNode, nextNode) { - return currentNode.value === "$$" && currentNode.type === "value-func" && nextNode && nextNode.type === "value-word" && !nextNode.raws.before; -} - -function hasComposesNode(node) { - return node.value && node.value.type === "value-root" && node.value.group && node.value.group.type === "value-value" && node.prop.toLowerCase() === "composes"; -} - -function hasParensAroundNode(node) { - return node.value && node.value.group && node.value.group.group && node.value.group.group.type === "value-paren_group" && node.value.group.group.open !== null && node.value.group.group.close !== null; -} - -function hasEmptyRawBefore(node) { - return node.raws && node.raws.before === ""; -} - -function isKeyValuePairNode(node) { - return node.type === "value-comma_group" && node.groups && node.groups[1] && node.groups[1].type === "value-colon"; -} - -function isKeyValuePairInParenGroupNode(node) { - return node.type === "value-paren_group" && node.groups && node.groups[0] && isKeyValuePairNode(node.groups[0]); -} - -function isSCSSMapItemNode(path) { - const node = path.getValue(); // Ignore empty item (i.e. `$key: ()`) - - if (node.groups.length === 0) { - return false; - } - - const parentParentNode = path.getParentNode(1); // Check open parens contain key/value pair (i.e. `(key: value)` and `(key: (value, other-value)`) - - if (!isKeyValuePairInParenGroupNode(node) && !(parentParentNode && isKeyValuePairInParenGroupNode(parentParentNode))) { - return false; - } - - const declNode = getAncestorNode(path, "css-decl"); // SCSS map declaration (i.e. `$map: (key: value, other-key: other-value)`) - - if (declNode && declNode.prop && declNode.prop.startsWith("$")) { - return true; - } // List as value of key inside SCSS map (i.e. `$map: (key: (value other-value other-other-value))`) - - - if (isKeyValuePairInParenGroupNode(parentParentNode)) { - return true; - } // SCSS Map is argument of function (i.e. `func((key: value, other-key: other-value))`) - - - if (parentParentNode.type === "value-func") { - return true; - } - - return false; -} - -function isInlineValueCommentNode(node) { - return node.type === "value-comment" && node.inline; -} - -function isHashNode(node) { - return node.type === "value-word" && node.value === "#"; -} - -function isLeftCurlyBraceNode(node) { - return node.type === "value-word" && node.value === "{"; -} - -function isRightCurlyBraceNode(node) { - return node.type === "value-word" && node.value === "}"; -} - -function isWordNode(node) { - return ["value-word", "value-atword"].includes(node.type); -} - -function isColonNode(node) { - return node.type === "value-colon"; -} - -function isMediaAndSupportsKeywords(node) { - return node.value && ["not", "and", "or"].includes(node.value.toLowerCase()); -} - -function isColorAdjusterFuncNode(node) { - if (node.type !== "value-func") { - return false; - } - - return colorAdjusterFunctions.has(node.value.toLowerCase()); -} // TODO: only check `less` when we don't use `less` to parse `css` - - -function isLessParser(options) { - return options.parser === "css" || options.parser === "less"; -} - -function lastLineHasInlineComment(text) { - return /\/\//.test(text.split(/[\n\r]/).pop()); -} - -function stringifyNode(node) { - if (node.groups) { - const open = node.open && node.open.value ? node.open.value : ""; - const groups = node.groups.reduce((previousValue, currentValue, index) => { - return previousValue + stringifyNode(currentValue) + (node.groups[0].type === "comma_group" && index !== node.groups.length - 1 ? "," : ""); - }, ""); - const close = node.close && node.close.value ? node.close.value : ""; - return open + groups + close; - } - - const before = node.raws && node.raws.before ? node.raws.before : ""; - const quote = node.raws && node.raws.quote ? node.raws.quote : ""; - const atword = node.type === "atword" ? "@" : ""; - const value = node.value ? node.value : ""; - const unit = node.unit ? node.unit : ""; - const group = node.group ? stringifyNode(node.group) : ""; - const after = node.raws && node.raws.after ? node.raws.after : ""; - return before + quote + atword + value + quote + unit + group + after; -} - -function isAtWordPlaceholderNode(node) { - return node && node.type === "value-atword" && node.value.startsWith("prettier-placeholder-"); -} - -var utils$7 = { - getAncestorCounter, - getAncestorNode, - getPropOfDeclNode, - hasSCSSInterpolation, - hasStringOrFunction, - maybeToLowerCase, - insideValueFunctionNode, - insideICSSRuleNode, - insideAtRuleNode, - insideURLFunctionInImportAtRuleNode, - isKeyframeAtRuleKeywords, - isWideKeywords, - isSCSS, - isSCSSVariable, - isLastNode, - isLessParser, - isSCSSControlDirectiveNode, - isDetachedRulesetDeclarationNode, - isRelationalOperatorNode, - isEqualityOperatorNode, - isMultiplicationNode, - isDivisionNode, - isAdditionNode, - isSubtractionNode, - isModuloNode, - isMathOperatorNode, - isEachKeywordNode, - isForKeywordNode, - isURLFunctionNode, - isIfElseKeywordNode, - hasComposesNode, - hasParensAroundNode, - hasEmptyRawBefore, - isSCSSNestedPropertyNode, - isDetachedRulesetCallNode, - isTemplatePlaceholderNode, - isTemplatePropNode, - isPostcssSimpleVarNode, - isKeyValuePairNode, - isKeyValuePairInParenGroupNode, - isSCSSMapItemNode, - isInlineValueCommentNode, - isHashNode, - isLeftCurlyBraceNode, - isRightCurlyBraceNode, - isWordNode, - isColonNode, - isMediaAndSupportsKeywords, - isColorAdjusterFuncNode, - lastLineHasInlineComment, - stringifyNode, - isAtWordPlaceholderNode -}; - -var lineColumnToIndex = function (lineColumn, text) { - let index = 0; - - for (let i = 0; i < lineColumn.line - 1; ++i) { - index = text.indexOf("\n", index) + 1; - } - - return index + lineColumn.column; -}; - -const { - getLast: getLast$a, - skipEverythingButNewLine: skipEverythingButNewLine$2 -} = util; - -function calculateLocStart(node, text) { - // value-* nodes have this - if (typeof node.sourceIndex === "number") { - return node.sourceIndex; - } - - return node.source ? lineColumnToIndex(node.source.start, text) - 1 : null; -} - -function calculateLocEnd(node, text) { - if (node.type === "css-comment" && node.inline) { - return skipEverythingButNewLine$2(text, node.source.startOffset); - } - - const endNode = node.nodes && getLast$a(node.nodes); - - if (endNode && node.source && !node.source.end) { - node = endNode; - } - - if (node.source && node.source.end) { - return lineColumnToIndex(node.source.end, text); - } - - return null; -} - -function calculateLoc(node, text) { - if (node.source) { - node.source.startOffset = calculateLocStart(node, text); - node.source.endOffset = calculateLocEnd(node, text); - } - - for (const key in node) { - const child = node[key]; - - if (key === "source" || !child || typeof child !== "object") { - continue; - } - - if (child.type === "value-root" || child.type === "value-unknown") { - calculateValueNodeLoc(child, getValueRootOffset(node), child.text || child.value); - } else { - calculateLoc(child, text); - } - } -} - -function calculateValueNodeLoc(node, rootOffset, text) { - if (node.source) { - node.source.startOffset = calculateLocStart(node, text) + rootOffset; - node.source.endOffset = calculateLocEnd(node, text) + rootOffset; - } - - for (const key in node) { - const child = node[key]; - - if (key === "source" || !child || typeof child !== "object") { - continue; - } - - calculateValueNodeLoc(child, rootOffset, text); - } -} - -function getValueRootOffset(node) { - let result = node.source.startOffset; - - if (typeof node.prop === "string") { - result += node.prop.length; - } - - if (node.type === "css-atrule" && typeof node.name === "string") { - result += 1 + node.name.length + node.raws.afterName.match(/^\s*:?\s*/)[0].length; - } - - if (node.type !== "css-atrule" && node.raws && typeof node.raws.between === "string") { - result += node.raws.between.length; - } - - return result; -} -/** - * Workaround for a bug: quotes and asterisks in inline comments corrupt loc data of subsequent nodes. - * This function replaces the quotes and asterisks with spaces. Later, when the comments are printed, - * their content is extracted from the original text. - * - https://github.com/prettier/prettier/issues/7780 - * - https://github.com/shellscape/postcss-less/issues/145 - * - https://github.com/prettier/prettier/issues/8130 - * @param text {string} - */ - - -function replaceQuotesInInlineComments(text) { - /** @typedef { 'initial' | 'single-quotes' | 'double-quotes' | 'url' | 'comment-block' | 'comment-inline' } State */ - - /** @type {State} */ - let state = "initial"; - /** @type {State} */ - - let stateToReturnFromQuotes = "initial"; - let inlineCommentStartIndex; - let inlineCommentContainsQuotes = false; - const inlineCommentsToReplace = []; - - for (let i = 0; i < text.length; i++) { - const c = text[i]; - - switch (state) { - case "initial": - if (c === "'") { - state = "single-quotes"; - continue; - } - - if (c === '"') { - state = "double-quotes"; - continue; - } - - if ((c === "u" || c === "U") && text.slice(i, i + 4).toLowerCase() === "url(") { - state = "url"; - i += 3; - continue; - } - - if (c === "*" && text[i - 1] === "/") { - state = "comment-block"; - continue; - } - - if (c === "/" && text[i - 1] === "/") { - state = "comment-inline"; - inlineCommentStartIndex = i - 1; - continue; - } - - continue; - - case "single-quotes": - if (c === "'" && text[i - 1] !== "\\") { - state = stateToReturnFromQuotes; - stateToReturnFromQuotes = "initial"; - } - - if (c === "\n" || c === "\r") { - return text; // invalid input - } - - continue; - - case "double-quotes": - if (c === '"' && text[i - 1] !== "\\") { - state = stateToReturnFromQuotes; - stateToReturnFromQuotes = "initial"; - } - - if (c === "\n" || c === "\r") { - return text; // invalid input - } - - continue; - - case "url": - if (c === ")") { - state = "initial"; - } - - if (c === "\n" || c === "\r") { - return text; // invalid input - } - - if (c === "'") { - state = "single-quotes"; - stateToReturnFromQuotes = "url"; - continue; - } - - if (c === '"') { - state = "double-quotes"; - stateToReturnFromQuotes = "url"; - continue; - } - - continue; - - case "comment-block": - if (c === "/" && text[i - 1] === "*") { - state = "initial"; - } - - continue; - - case "comment-inline": - if (c === '"' || c === "'" || c === "*") { - inlineCommentContainsQuotes = true; - } - - if (c === "\n" || c === "\r") { - if (inlineCommentContainsQuotes) { - inlineCommentsToReplace.push([inlineCommentStartIndex, i]); - } - - state = "initial"; - inlineCommentContainsQuotes = false; - } - - continue; - } - } - - for (const [start, end] of inlineCommentsToReplace) { - text = text.slice(0, start) + text.slice(start, end).replace(/["'*]/g, " ") + text.slice(end); - } - - return text; -} - -function locStart$9(node) { - return node.source.startOffset; -} - -function locEnd$f(node) { - return node.source.endOffset; -} - -var loc$1 = { - locStart: locStart$9, - locEnd: locEnd$f, - calculateLoc, - replaceQuotesInInlineComments -}; - -const { - printNumber: printNumber$3, - printString: printString$3, - hasNewline: hasNewline$8, - isFrontMatterNode: isFrontMatterNode$2, - isNextLineEmpty: isNextLineEmpty$a -} = util; -const { - builders: { - concat: concat$B, - join: join$h, - line: line$k, - hardline: hardline$o, - softline: softline$i, - group: group$p, - fill: fill$4, - indent: indent$r, - dedent: dedent$2, - ifBreak: ifBreak$e, - breakParent: breakParent$5 - }, - utils: { - removeLines: removeLines$2 - } -} = document; -const { - insertPragma: insertPragma$3 -} = pragma$1; -const { - getAncestorNode: getAncestorNode$1, - getPropOfDeclNode: getPropOfDeclNode$1, - maybeToLowerCase: maybeToLowerCase$1, - insideValueFunctionNode: insideValueFunctionNode$1, - insideICSSRuleNode: insideICSSRuleNode$1, - insideAtRuleNode: insideAtRuleNode$1, - insideURLFunctionInImportAtRuleNode: insideURLFunctionInImportAtRuleNode$1, - isKeyframeAtRuleKeywords: isKeyframeAtRuleKeywords$1, - isWideKeywords: isWideKeywords$1, - isSCSS: isSCSS$1, - isLastNode: isLastNode$1, - isLessParser: isLessParser$1, - isSCSSControlDirectiveNode: isSCSSControlDirectiveNode$1, - isDetachedRulesetDeclarationNode: isDetachedRulesetDeclarationNode$1, - isRelationalOperatorNode: isRelationalOperatorNode$1, - isEqualityOperatorNode: isEqualityOperatorNode$1, - isMultiplicationNode: isMultiplicationNode$1, - isDivisionNode: isDivisionNode$1, - isAdditionNode: isAdditionNode$1, - isSubtractionNode: isSubtractionNode$1, - isMathOperatorNode: isMathOperatorNode$1, - isEachKeywordNode: isEachKeywordNode$1, - isForKeywordNode: isForKeywordNode$1, - isURLFunctionNode: isURLFunctionNode$1, - isIfElseKeywordNode: isIfElseKeywordNode$1, - hasComposesNode: hasComposesNode$1, - hasParensAroundNode: hasParensAroundNode$1, - hasEmptyRawBefore: hasEmptyRawBefore$1, - isKeyValuePairNode: isKeyValuePairNode$1, - isDetachedRulesetCallNode: isDetachedRulesetCallNode$1, - isTemplatePlaceholderNode: isTemplatePlaceholderNode$1, - isTemplatePropNode: isTemplatePropNode$1, - isPostcssSimpleVarNode: isPostcssSimpleVarNode$1, - isSCSSMapItemNode: isSCSSMapItemNode$1, - isInlineValueCommentNode: isInlineValueCommentNode$1, - isHashNode: isHashNode$1, - isLeftCurlyBraceNode: isLeftCurlyBraceNode$1, - isRightCurlyBraceNode: isRightCurlyBraceNode$1, - isWordNode: isWordNode$1, - isColonNode: isColonNode$1, - isMediaAndSupportsKeywords: isMediaAndSupportsKeywords$1, - isColorAdjusterFuncNode: isColorAdjusterFuncNode$1, - lastLineHasInlineComment: lastLineHasInlineComment$1, - isAtWordPlaceholderNode: isAtWordPlaceholderNode$1 -} = utils$7; -const { - locStart: locStart$a, - locEnd: locEnd$g -} = loc$1; - -function shouldPrintComma$9(options) { - return options.trailingComma === "es5" || options.trailingComma === "all"; -} - -function genericPrint$2(path, options, print) { - const node = path.getValue(); - /* istanbul ignore if */ - - if (!node) { - return ""; - } - - if (typeof node === "string") { - return node; - } - - switch (node.type) { - case "front-matter": - return concat$B([node.raw, hardline$o]); - - case "css-root": - { - const nodes = printNodeSequence(path, options, print); - const after = node.raws.after.trim(); - return concat$B([nodes, after ? ` ${after}` : "", nodes.parts.length ? hardline$o : ""]); - } - - case "css-comment": - { - const isInlineComment = node.inline || node.raws.inline; - const text = options.originalText.slice(locStart$a(node), locEnd$g(node)); - return isInlineComment ? text.trimEnd() : text; - } - - case "css-rule": - { - return concat$B([path.call(print, "selector"), node.important ? " !important" : "", node.nodes ? concat$B([node.selector && node.selector.type === "selector-unknown" && lastLineHasInlineComment$1(node.selector.value) ? line$k : " ", "{", node.nodes.length > 0 ? indent$r(concat$B([hardline$o, printNodeSequence(path, options, print)])) : "", hardline$o, "}", isDetachedRulesetDeclarationNode$1(node) ? ";" : ""]) : ";"]); - } - - case "css-decl": - { - const parentNode = path.getParentNode(); - const { - between: rawBetween - } = node.raws; - const trimmedBetween = rawBetween.trim(); - const isColon = trimmedBetween === ":"; - let value = hasComposesNode$1(node) ? removeLines$2(path.call(print, "value")) : path.call(print, "value"); - - if (!isColon && lastLineHasInlineComment$1(trimmedBetween)) { - value = indent$r(concat$B([hardline$o, dedent$2(value)])); - } - - return concat$B([node.raws.before.replace(/[\s;]/g, ""), insideICSSRuleNode$1(path) ? node.prop : maybeToLowerCase$1(node.prop), trimmedBetween.startsWith("//") ? " " : "", trimmedBetween, node.extend ? "" : " ", isLessParser$1(options) && node.extend && node.selector ? concat$B(["extend(", path.call(print, "selector"), ")"]) : "", value, node.raws.important ? node.raws.important.replace(/\s*!\s*important/i, " !important") : node.important ? " !important" : "", node.raws.scssDefault ? node.raws.scssDefault.replace(/\s*!default/i, " !default") : node.scssDefault ? " !default" : "", node.raws.scssGlobal ? node.raws.scssGlobal.replace(/\s*!global/i, " !global") : node.scssGlobal ? " !global" : "", node.nodes ? concat$B([" {", indent$r(concat$B([softline$i, printNodeSequence(path, options, print)])), softline$i, "}"]) : isTemplatePropNode$1(node) && !parentNode.raws.semicolon && options.originalText[locEnd$g(node) - 1] !== ";" ? "" : options.__isHTMLStyleAttribute && isLastNode$1(path, node) ? ifBreak$e(";", "") : ";"]); - } - - case "css-atrule": - { - const parentNode = path.getParentNode(); - const isTemplatePlaceholderNodeWithoutSemiColon = isTemplatePlaceholderNode$1(node) && !parentNode.raws.semicolon && options.originalText[locEnd$g(node) - 1] !== ";"; - - if (isLessParser$1(options)) { - if (node.mixin) { - return concat$B([path.call(print, "selector"), node.important ? " !important" : "", isTemplatePlaceholderNodeWithoutSemiColon ? "" : ";"]); - } - - if (node.function) { - return concat$B([node.name, concat$B([path.call(print, "params")]), isTemplatePlaceholderNodeWithoutSemiColon ? "" : ";"]); - } - - if (node.variable) { - return concat$B(["@", node.name, ": ", node.value ? concat$B([path.call(print, "value")]) : "", node.raws.between.trim() ? node.raws.between.trim() + " " : "", node.nodes ? concat$B(["{", indent$r(concat$B([node.nodes.length > 0 ? softline$i : "", printNodeSequence(path, options, print)])), softline$i, "}"]) : "", isTemplatePlaceholderNodeWithoutSemiColon ? "" : ";"]); - } - } - - return concat$B(["@", // If a Less file ends up being parsed with the SCSS parser, Less - // variable declarations will be parsed as at-rules with names ending - // with a colon, so keep the original case then. - isDetachedRulesetCallNode$1(node) || node.name.endsWith(":") ? node.name : maybeToLowerCase$1(node.name), node.params ? concat$B([isDetachedRulesetCallNode$1(node) ? "" : isTemplatePlaceholderNode$1(node) ? node.raws.afterName === "" ? "" : node.name.endsWith(":") ? " " : /^\s*\n\s*\n/.test(node.raws.afterName) ? concat$B([hardline$o, hardline$o]) : /^\s*\n/.test(node.raws.afterName) ? hardline$o : " " : " ", path.call(print, "params")]) : "", node.selector ? indent$r(concat$B([" ", path.call(print, "selector")])) : "", node.value ? group$p(concat$B([" ", path.call(print, "value"), isSCSSControlDirectiveNode$1(node) ? hasParensAroundNode$1(node) ? " " : line$k : ""])) : node.name === "else" ? " " : "", node.nodes ? concat$B([isSCSSControlDirectiveNode$1(node) ? "" : node.selector && !node.selector.nodes && typeof node.selector.value === "string" && lastLineHasInlineComment$1(node.selector.value) || !node.selector && typeof node.params === "string" && lastLineHasInlineComment$1(node.params) ? line$k : " ", "{", indent$r(concat$B([node.nodes.length > 0 ? softline$i : "", printNodeSequence(path, options, print)])), softline$i, "}"]) : isTemplatePlaceholderNodeWithoutSemiColon ? "" : ";"]); - } - // postcss-media-query-parser - - case "media-query-list": - { - const parts = []; - path.each(childPath => { - const node = childPath.getValue(); - - if (node.type === "media-query" && node.value === "") { - return; - } - - parts.push(childPath.call(print)); - }, "nodes"); - return group$p(indent$r(join$h(line$k, parts))); - } - - case "media-query": - { - return concat$B([join$h(" ", path.map(print, "nodes")), isLastNode$1(path, node) ? "" : ","]); - } - - case "media-type": - { - return adjustNumbers(adjustStrings(node.value, options)); - } - - case "media-feature-expression": - { - if (!node.nodes) { - return node.value; - } - - return concat$B(["(", concat$B(path.map(print, "nodes")), ")"]); - } - - case "media-feature": - { - return maybeToLowerCase$1(adjustStrings(node.value.replace(/ +/g, " "), options)); - } - - case "media-colon": - { - return concat$B([node.value, " "]); - } - - case "media-value": - { - return adjustNumbers(adjustStrings(node.value, options)); - } - - case "media-keyword": - { - return adjustStrings(node.value, options); - } - - case "media-url": - { - return adjustStrings(node.value.replace(/^url\(\s+/gi, "url(").replace(/\s+\)$/gi, ")"), options); - } - - case "media-unknown": - { - return node.value; - } - // postcss-selector-parser - - case "selector-root": - { - return group$p(concat$B([insideAtRuleNode$1(path, "custom-selector") ? concat$B([getAncestorNode$1(path, "css-atrule").customSelector, line$k]) : "", join$h(concat$B([",", insideAtRuleNode$1(path, ["extend", "custom-selector", "nest"]) ? line$k : hardline$o]), path.map(print, "nodes"))])); - } - - case "selector-selector": - { - return group$p(indent$r(concat$B(path.map(print, "nodes")))); - } - - case "selector-comment": - { - return node.value; - } - - case "selector-string": - { - return adjustStrings(node.value, options); - } - - case "selector-tag": - { - const parentNode = path.getParentNode(); - const index = parentNode && parentNode.nodes.indexOf(node); - const prevNode = index && parentNode.nodes[index - 1]; - return concat$B([node.namespace ? concat$B([node.namespace === true ? "" : node.namespace.trim(), "|"]) : "", prevNode.type === "selector-nesting" ? node.value : adjustNumbers(isKeyframeAtRuleKeywords$1(path, node.value) ? node.value.toLowerCase() : node.value)]); - } - - case "selector-id": - { - return concat$B(["#", node.value]); - } - - case "selector-class": - { - return concat$B([".", adjustNumbers(adjustStrings(node.value, options))]); - } - - case "selector-attribute": - { - return concat$B(["[", node.namespace ? concat$B([node.namespace === true ? "" : node.namespace.trim(), "|"]) : "", node.attribute.trim(), node.operator ? node.operator : "", node.value ? quoteAttributeValue(adjustStrings(node.value.trim(), options), options) : "", node.insensitive ? " i" : "", "]"]); - } - - case "selector-combinator": - { - if (node.value === "+" || node.value === ">" || node.value === "~" || node.value === ">>>") { - const parentNode = path.getParentNode(); - const leading = parentNode.type === "selector-selector" && parentNode.nodes[0] === node ? "" : line$k; - return concat$B([leading, node.value, isLastNode$1(path, node) ? "" : " "]); - } - - const leading = node.value.trim().startsWith("(") ? line$k : ""; - const value = adjustNumbers(adjustStrings(node.value.trim(), options)) || line$k; - return concat$B([leading, value]); - } - - case "selector-universal": - { - return concat$B([node.namespace ? concat$B([node.namespace === true ? "" : node.namespace.trim(), "|"]) : "", node.value]); - } - - case "selector-pseudo": - { - return concat$B([maybeToLowerCase$1(node.value), node.nodes && node.nodes.length > 0 ? concat$B(["(", join$h(", ", path.map(print, "nodes")), ")"]) : ""]); - } - - case "selector-nesting": - { - return node.value; - } - - case "selector-unknown": - { - const ruleAncestorNode = getAncestorNode$1(path, "css-rule"); // Nested SCSS property - - if (ruleAncestorNode && ruleAncestorNode.isSCSSNesterProperty) { - return adjustNumbers(adjustStrings(maybeToLowerCase$1(node.value), options)); - } // originalText has to be used for Less, see replaceQuotesInInlineComments in loc.js - - - const parentNode = path.getParentNode(); - - if (parentNode.raws && parentNode.raws.selector) { - const start = locStart$a(parentNode); - const end = start + parentNode.raws.selector.length; - return options.originalText.slice(start, end).trim(); - } // Same reason above - - - const grandParent = path.getParentNode(1); - - if (parentNode.type === "value-paren_group" && grandParent && grandParent.type === "value-func" && grandParent.value === "selector") { - const start = locStart$a(parentNode.open) + 1; - const end = locEnd$g(parentNode.close) - 1; - const selector = options.originalText.slice(start, end).trim(); - return lastLineHasInlineComment$1(selector) ? concat$B([breakParent$5, selector]) : selector; - } - - return node.value; - } - // postcss-values-parser - - case "value-value": - case "value-root": - { - return path.call(print, "group"); - } - - case "value-comment": - { - return options.originalText.slice(locStart$a(node), locEnd$g(node)); - } - - case "value-comma_group": - { - const parentNode = path.getParentNode(); - const parentParentNode = path.getParentNode(1); - const declAncestorProp = getPropOfDeclNode$1(path); - const isGridValue = declAncestorProp && parentNode.type === "value-value" && (declAncestorProp === "grid" || declAncestorProp.startsWith("grid-template")); - const atRuleAncestorNode = getAncestorNode$1(path, "css-atrule"); - const isControlDirective = atRuleAncestorNode && isSCSSControlDirectiveNode$1(atRuleAncestorNode); - const printed = path.map(print, "groups"); - const parts = []; - const insideURLFunction = insideValueFunctionNode$1(path, "url"); - let insideSCSSInterpolationInString = false; - let didBreak = false; - - for (let i = 0; i < node.groups.length; ++i) { - parts.push(printed[i]); - const iPrevNode = node.groups[i - 1]; - const iNode = node.groups[i]; - const iNextNode = node.groups[i + 1]; - const iNextNextNode = node.groups[i + 2]; - - if (insideURLFunction) { - if (iNextNode && isAdditionNode$1(iNextNode) || isAdditionNode$1(iNode)) { - parts.push(" "); - } - - continue; - } // Ignore after latest node (i.e. before semicolon) - - - if (!iNextNode) { - continue; - } // styled.div` background: var(--${one}); ` - - - if (iNode.type === "value-word" && iNode.value.endsWith("-") && isAtWordPlaceholderNode$1(iNextNode)) { - continue; - } // Ignore spaces before/after string interpolation (i.e. `"#{my-fn("_")}"`) - - - const isStartSCSSInterpolationInString = iNode.type === "value-string" && iNode.value.startsWith("#{"); - const isEndingSCSSInterpolationInString = insideSCSSInterpolationInString && iNextNode.type === "value-string" && iNextNode.value.endsWith("}"); - - if (isStartSCSSInterpolationInString || isEndingSCSSInterpolationInString) { - insideSCSSInterpolationInString = !insideSCSSInterpolationInString; - continue; - } - - if (insideSCSSInterpolationInString) { - continue; - } // Ignore colon (i.e. `:`) - - - if (isColonNode$1(iNode) || isColonNode$1(iNextNode)) { - continue; - } // Ignore `@` in Less (i.e. `@@var;`) - - - if (iNode.type === "value-atword" && iNode.value === "") { - continue; - } // Ignore `~` in Less (i.e. `content: ~"^//* some horrible but needed css hack";`) - - - if (iNode.value === "~") { - continue; - } // Ignore escape `\` - - - if (iNode.value && iNode.value.includes("\\") && iNextNode && iNextNode.type !== "value-comment") { - continue; - } // Ignore escaped `/` - - - if (iPrevNode && iPrevNode.value && iPrevNode.value.indexOf("\\") === iPrevNode.value.length - 1 && iNode.type === "value-operator" && iNode.value === "/") { - continue; - } // Ignore `\` (i.e. `$variable: \@small;`) - - - if (iNode.value === "\\") { - continue; - } // Ignore `$$` (i.e. `background-color: $$(style)Color;`) - - - if (isPostcssSimpleVarNode$1(iNode, iNextNode)) { - continue; - } // Ignore spaces after `#` and after `{` and before `}` in SCSS interpolation (i.e. `#{variable}`) - - - if (isHashNode$1(iNode) || isLeftCurlyBraceNode$1(iNode) || isRightCurlyBraceNode$1(iNextNode) || isLeftCurlyBraceNode$1(iNextNode) && hasEmptyRawBefore$1(iNextNode) || isRightCurlyBraceNode$1(iNode) && hasEmptyRawBefore$1(iNextNode)) { - continue; - } // Ignore css variables and interpolation in SCSS (i.e. `--#{$var}`) - - - if (iNode.value === "--" && isHashNode$1(iNextNode)) { - continue; - } // Formatting math operations - - - const isMathOperator = isMathOperatorNode$1(iNode); - const isNextMathOperator = isMathOperatorNode$1(iNextNode); // Print spaces before and after math operators beside SCSS interpolation as is - // (i.e. `#{$var}+5`, `#{$var} +5`, `#{$var}+ 5`, `#{$var} + 5`) - // (i.e. `5+#{$var}`, `5 +#{$var}`, `5+ #{$var}`, `5 + #{$var}`) - - if ((isMathOperator && isHashNode$1(iNextNode) || isNextMathOperator && isRightCurlyBraceNode$1(iNode)) && hasEmptyRawBefore$1(iNextNode)) { - continue; - } // Print spaces before and after addition and subtraction math operators as is in `calc` function - // due to the fact that it is not valid syntax - // (i.e. `calc(1px+1px)`, `calc(1px+ 1px)`, `calc(1px +1px)`, `calc(1px + 1px)`) - - - if (insideValueFunctionNode$1(path, "calc") && (isAdditionNode$1(iNode) || isAdditionNode$1(iNextNode) || isSubtractionNode$1(iNode) || isSubtractionNode$1(iNextNode)) && hasEmptyRawBefore$1(iNextNode)) { - continue; - } // Print spaces after `+` and `-` in color adjuster functions as is (e.g. `color(red l(+ 20%))`) - // Adjusters with signed numbers (e.g. `color(red l(+20%))`) output as-is. - - - const isColorAdjusterNode = (isAdditionNode$1(iNode) || isSubtractionNode$1(iNode)) && i === 0 && (iNextNode.type === "value-number" || iNextNode.isHex) && parentParentNode && isColorAdjusterFuncNode$1(parentParentNode) && !hasEmptyRawBefore$1(iNextNode); - const requireSpaceBeforeOperator = iNextNextNode && iNextNextNode.type === "value-func" || iNextNextNode && isWordNode$1(iNextNextNode) || iNode.type === "value-func" || isWordNode$1(iNode); - const requireSpaceAfterOperator = iNextNode.type === "value-func" || isWordNode$1(iNextNode) || iPrevNode && iPrevNode.type === "value-func" || iPrevNode && isWordNode$1(iPrevNode); // Formatting `/`, `+`, `-` sign - - if (!(isMultiplicationNode$1(iNextNode) || isMultiplicationNode$1(iNode)) && !insideValueFunctionNode$1(path, "calc") && !isColorAdjusterNode && (isDivisionNode$1(iNextNode) && !requireSpaceBeforeOperator || isDivisionNode$1(iNode) && !requireSpaceAfterOperator || isAdditionNode$1(iNextNode) && !requireSpaceBeforeOperator || isAdditionNode$1(iNode) && !requireSpaceAfterOperator || isSubtractionNode$1(iNextNode) || isSubtractionNode$1(iNode)) && (hasEmptyRawBefore$1(iNextNode) || isMathOperator && (!iPrevNode || iPrevNode && isMathOperatorNode$1(iPrevNode)))) { - continue; - } // Add `hardline` after inline comment (i.e. `// comment\n foo: bar;`) - - - if (isInlineValueCommentNode$1(iNode)) { - if (parentNode.type === "value-paren_group") { - parts.push(dedent$2(hardline$o)); - continue; - } - - parts.push(hardline$o); - continue; - } // Handle keywords in SCSS control directive - - - if (isControlDirective && (isEqualityOperatorNode$1(iNextNode) || isRelationalOperatorNode$1(iNextNode) || isIfElseKeywordNode$1(iNextNode) || isEachKeywordNode$1(iNode) || isForKeywordNode$1(iNode))) { - parts.push(" "); - continue; - } // At-rule `namespace` should be in one line - - - if (atRuleAncestorNode && atRuleAncestorNode.name.toLowerCase() === "namespace") { - parts.push(" "); - continue; - } // Formatting `grid` property - - - if (isGridValue) { - if (iNode.source && iNextNode.source && iNode.source.start.line !== iNextNode.source.start.line) { - parts.push(hardline$o); - didBreak = true; - } else { - parts.push(" "); - } - - continue; - } // Add `space` before next math operation - // Note: `grip` property have `/` delimiter and it is not math operation, so - // `grid` property handles above - - - if (isNextMathOperator) { - parts.push(" "); - continue; - } // allow function(returns-list($list)...) - - - if (iNextNode && iNextNode.value === "...") { - continue; - } - - if (isAtWordPlaceholderNode$1(iNode) && isAtWordPlaceholderNode$1(iNextNode) && locEnd$g(iNode) === locStart$a(iNextNode)) { - continue; - } // Be default all values go through `line` - - - parts.push(line$k); - } - - if (didBreak) { - parts.unshift(hardline$o); - } - - if (isControlDirective) { - return group$p(indent$r(concat$B(parts))); - } // Indent is not needed for import url when url is very long - // and node has two groups - // when type is value-comma_group - // example @import url("verylongurl") projection,tv - - - if (insideURLFunctionInImportAtRuleNode$1(path)) { - return group$p(fill$4(parts)); - } - - return group$p(indent$r(fill$4(parts))); - } - - case "value-paren_group": - { - const parentNode = path.getParentNode(); - - if (parentNode && isURLFunctionNode$1(parentNode) && (node.groups.length === 1 || node.groups.length > 0 && node.groups[0].type === "value-comma_group" && node.groups[0].groups.length > 0 && node.groups[0].groups[0].type === "value-word" && node.groups[0].groups[0].value.startsWith("data:"))) { - return concat$B([node.open ? path.call(print, "open") : "", join$h(",", path.map(print, "groups")), node.close ? path.call(print, "close") : ""]); - } - - if (!node.open) { - const printed = path.map(print, "groups"); - const res = []; - - for (let i = 0; i < printed.length; i++) { - if (i !== 0) { - res.push(concat$B([",", line$k])); - } - - res.push(printed[i]); - } - - return group$p(indent$r(fill$4(res))); - } - - const isSCSSMapItem = isSCSSMapItemNode$1(path); - const lastItem = node.groups[node.groups.length - 1]; - const isLastItemComment = lastItem && lastItem.type === "value-comment"; - return group$p(concat$B([node.open ? path.call(print, "open") : "", indent$r(concat$B([softline$i, join$h(concat$B([",", line$k]), path.map(childPath => { - const node = childPath.getValue(); - const printed = print(childPath); // Key/Value pair in open paren already indented - - if (isKeyValuePairNode$1(node) && node.type === "value-comma_group" && node.groups && node.groups[2] && node.groups[2].type === "value-paren_group") { - printed.contents.contents.parts[1] = group$p(printed.contents.contents.parts[1]); - return group$p(dedent$2(printed)); - } - - return printed; - }, "groups"))])), ifBreak$e(!isLastItemComment && isSCSS$1(options.parser, options.originalText) && isSCSSMapItem && shouldPrintComma$9(options) ? "," : ""), softline$i, node.close ? path.call(print, "close") : ""]), { - shouldBreak: isSCSSMapItem - }); - } - - case "value-func": - { - return concat$B([node.value, insideAtRuleNode$1(path, "supports") && isMediaAndSupportsKeywords$1(node) ? " " : "", path.call(print, "group")]); - } - - case "value-paren": - { - return node.value; - } - - case "value-number": - { - return concat$B([printCssNumber(node.value), maybeToLowerCase$1(node.unit)]); - } - - case "value-operator": - { - return node.value; - } - - case "value-word": - { - if (node.isColor && node.isHex || isWideKeywords$1(node.value)) { - return node.value.toLowerCase(); - } - - return node.value; - } - - case "value-colon": - { - const parentNode = path.getParentNode(); - const index = parentNode && parentNode.groups.indexOf(node); - const prevNode = index && parentNode.groups[index - 1]; - return concat$B([node.value, // Don't add spaces on escaped colon `:`, e.g: grid-template-rows: [row-1-00\:00] auto; - prevNode && prevNode.value[prevNode.value.length - 1] === "\\" || // Don't add spaces on `:` in `url` function (i.e. `url(fbglyph: cross-outline, fig-white)`) - insideValueFunctionNode$1(path, "url") ? "" : line$k]); - } - // TODO: confirm this code is dead - - /* istanbul ignore next */ - - case "value-comma": - { - return concat$B([node.value, " "]); - } - - case "value-string": - { - return printString$3(node.raws.quote + node.value + node.raws.quote, options); - } - - case "value-atword": - { - return concat$B(["@", node.value]); - } - - case "value-unicode-range": - { - return node.value; - } - - case "value-unknown": - { - return node.value; - } - - default: - /* istanbul ignore next */ - throw new Error(`Unknown postcss type ${JSON.stringify(node.type)}`); - } -} - -function printNodeSequence(path, options, print) { - const node = path.getValue(); - const parts = []; - path.each((pathChild, i) => { - const prevNode = node.nodes[i - 1]; - - if (prevNode && prevNode.type === "css-comment" && prevNode.text.trim() === "prettier-ignore") { - const childNode = pathChild.getValue(); - parts.push(options.originalText.slice(locStart$a(childNode), locEnd$g(childNode))); - } else { - parts.push(pathChild.call(print)); - } - - if (i !== node.nodes.length - 1) { - if (node.nodes[i + 1].type === "css-comment" && !hasNewline$8(options.originalText, locStart$a(node.nodes[i + 1]), { - backwards: true - }) && !isFrontMatterNode$2(node.nodes[i]) || node.nodes[i + 1].type === "css-atrule" && node.nodes[i + 1].name === "else" && node.nodes[i].type !== "css-comment") { - parts.push(" "); - } else { - parts.push(options.__isHTMLStyleAttribute ? line$k : hardline$o); - - if (isNextLineEmpty$a(options.originalText, pathChild.getValue(), locEnd$g) && !isFrontMatterNode$2(node.nodes[i])) { - parts.push(hardline$o); - } - } - } - }, "nodes"); - return concat$B(parts); -} - -const STRING_REGEX$3 = /(["'])(?:(?!\1)[^\\]|\\[\S\s])*\1/g; -const NUMBER_REGEX = /(?:\d*\.\d+|\d+\.?)(?:[Ee][+-]?\d+)?/g; -const STANDARD_UNIT_REGEX = /[A-Za-z]+/g; -const WORD_PART_REGEX = /[$@]?[A-Z_a-z\u0080-\uFFFF][\w\u0080-\uFFFF-]*/g; -const ADJUST_NUMBERS_REGEX = new RegExp(STRING_REGEX$3.source + "|" + `(${WORD_PART_REGEX.source})?` + `(${NUMBER_REGEX.source})` + `(${STANDARD_UNIT_REGEX.source})?`, "g"); - -function adjustStrings(value, options) { - return value.replace(STRING_REGEX$3, match => printString$3(match, options)); -} - -function quoteAttributeValue(value, options) { - const quote = options.singleQuote ? "'" : '"'; - return value.includes('"') || value.includes("'") ? value : quote + value + quote; -} - -function adjustNumbers(value) { - return value.replace(ADJUST_NUMBERS_REGEX, (match, quote, wordPart, number, unit) => !wordPart && number ? printCssNumber(number) + maybeToLowerCase$1(unit || "") : match); -} - -function printCssNumber(rawNumber) { - return printNumber$3(rawNumber) // Remove trailing `.0`. - .replace(/\.0(?=$|e)/, ""); -} - -var printerPostcss = { - print: genericPrint$2, - embed: embed_1$1, - insertPragma: insertPragma$3, - massageAstNode: clean_1$1 -}; - -var options$3 = { - singleQuote: commonOptions.singleQuote -}; - -var name$9 = "CSS"; -var type$7 = "markup"; -var tmScope$7 = "source.css"; -var aceMode$7 = "css"; -var codemirrorMode$7 = "css"; -var codemirrorMimeType$7 = "text/css"; -var color$2 = "#563d7c"; -var extensions$7 = [ - ".css" -]; -var languageId$7 = 50; -var require$$0$3 = { - name: name$9, - type: type$7, - tmScope: tmScope$7, - aceMode: aceMode$7, - codemirrorMode: codemirrorMode$7, - codemirrorMimeType: codemirrorMimeType$7, - color: color$2, - extensions: extensions$7, - languageId: languageId$7 -}; - -var name$a = "PostCSS"; -var type$8 = "markup"; -var tmScope$8 = "source.postcss"; -var group$q = "CSS"; -var extensions$8 = [ - ".pcss", - ".postcss" -]; -var aceMode$8 = "text"; -var languageId$8 = 262764437; -var require$$1$1 = { - name: name$a, - type: type$8, - tmScope: tmScope$8, - group: group$q, - extensions: extensions$8, - aceMode: aceMode$8, - languageId: languageId$8 -}; - -var name$b = "Less"; -var type$9 = "markup"; -var color$3 = "#1d365d"; -var extensions$9 = [ - ".less" -]; -var tmScope$9 = "source.css.less"; -var aceMode$9 = "less"; -var codemirrorMode$8 = "css"; -var codemirrorMimeType$8 = "text/css"; -var languageId$9 = 198; -var require$$2$1 = { - name: name$b, - type: type$9, - color: color$3, - extensions: extensions$9, - tmScope: tmScope$9, - aceMode: aceMode$9, - codemirrorMode: codemirrorMode$8, - codemirrorMimeType: codemirrorMimeType$8, - languageId: languageId$9 -}; - -var name$c = "SCSS"; -var type$a = "markup"; -var color$4 = "#c6538c"; -var tmScope$a = "source.css.scss"; -var aceMode$a = "scss"; -var codemirrorMode$9 = "css"; -var codemirrorMimeType$9 = "text/x-scss"; -var extensions$a = [ - ".scss" -]; -var languageId$a = 329; -var require$$3$1 = { - name: name$c, - type: type$a, - color: color$4, - tmScope: tmScope$a, - aceMode: aceMode$a, - codemirrorMode: codemirrorMode$9, - codemirrorMimeType: codemirrorMimeType$9, - extensions: extensions$a, - languageId: languageId$a -}; - -const languages$1 = [createLanguage(require$$0$3, data => ({ - since: "1.4.0", - parsers: ["css"], - vscodeLanguageIds: ["css"], - extensions: [...data.extensions, // `WeiXin Style Sheets`(Weixin Mini Programs) - // https://developers.weixin.qq.com/miniprogram/en/dev/framework/view/wxs/ - ".wxss"] -})), createLanguage(require$$1$1, () => ({ - since: "1.4.0", - parsers: ["css"], - vscodeLanguageIds: ["postcss"] -})), createLanguage(require$$2$1, () => ({ - since: "1.4.0", - parsers: ["less"], - vscodeLanguageIds: ["less"] -})), createLanguage(require$$3$1, () => ({ - since: "1.4.0", - parsers: ["scss"], - vscodeLanguageIds: ["scss"] -}))]; -const printers$1 = { - postcss: printerPostcss -}; -const parsers$1 = { - // TODO: switch these to just `postcss` and use `language` instead. - get css() { - return require("./parser-postcss").parsers.css; - }, - - get less() { - return require("./parser-postcss").parsers.less; - }, - - get scss() { - return require("./parser-postcss").parsers.scss; - } - -}; -var languageCss = { - languages: languages$1, - options: options$3, - printers: printers$1, - parsers: parsers$1 -}; - -function locStart$b(node) { - return node.loc.start.offset; -} - -function locEnd$h(node) { - return node.loc.end.offset; -} - -var loc$2 = { - locStart: locStart$b, - locEnd: locEnd$h -}; - -function clean$3(ast, newNode -/*, parent*/ -) { - // (Glimmer/HTML) ignore TextNode whitespace - if (ast.type === "TextNode") { - const trimmed = ast.chars.trim(); - - if (!trimmed) { - return null; - } - - newNode.chars = trimmed; - } -} - -clean$3.ignoredProperties = new Set(["loc", "selfClosing"]); -var clean_1$2 = clean$3; - -var htmlVoidElements = [ - "area", - "base", - "basefont", - "bgsound", - "br", - "col", - "command", - "embed", - "frame", - "hr", - "image", - "img", - "input", - "isindex", - "keygen", - "link", - "menuitem", - "meta", - "nextid", - "param", - "source", - "track", - "wbr" -]; - -function isUppercase(string) { - return string.toUpperCase() === string; -} - -function isGlimmerComponent(node) { - return isNodeOfSomeType(node, ["ElementNode"]) && typeof node.tag === "string" && (isUppercase(node.tag[0]) || node.tag.includes(".")); -} - -const voidTags = new Set(htmlVoidElements); - -function isVoid(node) { - return isGlimmerComponent(node) && node.children.every(n => isWhitespaceNode(n)) || voidTags.has(node.tag); -} - -function isWhitespaceNode(node) { - return isNodeOfSomeType(node, ["TextNode"]) && !/\S/.test(node.chars); -} - -function isNodeOfSomeType(node, types) { - return node && types.some(type => node.type === type); -} - -function isParentOfSomeType(path, types) { - const parentNode = path.getParentNode(0); - return isNodeOfSomeType(parentNode, types); -} - -function isPreviousNodeOfSomeType(path, types) { - const previousNode = getPreviousNode(path); - return isNodeOfSomeType(previousNode, types); -} - -function isNextNodeOfSomeType(path, types) { - const nextNode = getNextNode(path); - return isNodeOfSomeType(nextNode, types); -} - -function getSiblingNode(path, offset) { - const node = path.getValue(); - const parentNode = path.getParentNode(0) || {}; - const children = parentNode.children || parentNode.body || parentNode.parts || []; - const index = children.indexOf(node); - return index !== -1 && children[index + offset]; -} - -function getPreviousNode(path, lookBack = 1) { - return getSiblingNode(path, -lookBack); -} - -function getNextNode(path) { - return getSiblingNode(path, 1); -} - -function isPrettierIgnoreNode(node) { - return isNodeOfSomeType(node, ["MustacheCommentStatement"]) && typeof node.value === "string" && node.value.trim() === "prettier-ignore"; -} - -function hasPrettierIgnore$2(path) { - const node = path.getValue(); - const previousPreviousNode = getPreviousNode(path, 2); - return isPrettierIgnoreNode(node) || isPrettierIgnoreNode(previousPreviousNode); -} - -var utils$8 = { - getNextNode, - getPreviousNode, - hasPrettierIgnore: hasPrettierIgnore$2, - isNextNodeOfSomeType, - isNodeOfSomeType, - isParentOfSomeType, - isPreviousNodeOfSomeType, - isVoid, - isWhitespaceNode -}; - -const { - builders: { - concat: concat$C, - group: group$r, - hardline: hardline$p, - ifBreak: ifBreak$f, - indent: indent$s, - join: join$i, - line: line$l, - softline: softline$j - } -} = document; -const { - locStart: locStart$c, - locEnd: locEnd$i -} = loc$2; -const { - getNextNode: getNextNode$1, - getPreviousNode: getPreviousNode$1, - hasPrettierIgnore: hasPrettierIgnore$3, - isNextNodeOfSomeType: isNextNodeOfSomeType$1, - isNodeOfSomeType: isNodeOfSomeType$1, - isParentOfSomeType: isParentOfSomeType$1, - isPreviousNodeOfSomeType: isPreviousNodeOfSomeType$1, - isVoid: isVoid$1, - isWhitespaceNode: isWhitespaceNode$1 -} = utils$8; // Formatter based on @glimmerjs/syntax's built-in test formatter: -// https://github.com/glimmerjs/glimmer-vm/blob/master/packages/%40glimmer/syntax/lib/generation/print.ts - -function print$2(path, options, print) { - const n = path.getValue(); - /* istanbul ignore if*/ - - if (!n) { - return ""; - } - - if (hasPrettierIgnore$3(path)) { - return options.originalText.slice(locStart$c(n), locEnd$i(n)); - } - - switch (n.type) { - case "Block": - case "Program": - case "Template": - { - return group$r(concat$C(path.map(print, "body"))); - } - - case "ElementNode": - { - // TODO: make it whitespace sensitive - const bim = isNextNodeOfSomeType$1(path, ["ElementNode"]) ? hardline$p : ""; - - if (isVoid$1(n)) { - return concat$C([group$r(printStartingTag(path, print)), bim]); - } - - const isWhitespaceOnly = n.children.every(n => isWhitespaceNode$1(n)); - return concat$C([group$r(printStartingTag(path, print)), group$r(concat$C([isWhitespaceOnly ? "" : indent$s(printChildren(path, options, print)), n.children.length ? hardline$p : "", concat$C([""])])), bim]); - } - - case "BlockStatement": - { - const pp = path.getParentNode(1); - const isElseIf = pp && pp.inverse && pp.inverse.body.length === 1 && pp.inverse.body[0] === n && pp.inverse.body[0].path.parts[0] === "if"; - - if (isElseIf) { - return concat$C([printElseIfBlock(path, print), printProgram(path, print), printInverse(path, print)]); - } - - return concat$C([printOpenBlock(path, print), group$r(concat$C([printProgram(path, print), printInverse(path, print), printCloseBlock(path, print)]))]); - } - - case "ElementModifierStatement": - { - return group$r(concat$C(["{{", printPathAndParams(path, print), softline$j, "}}"])); - } - - case "MustacheStatement": - { - const isParentOfSpecifiedTypes = isParentOfSomeType$1(path, ["AttrNode", "ConcatStatement"]); - const isChildOfElementNodeAndDoesNotHaveParams = isParentOfSomeType$1(path, ["ElementNode"]) && doesNotHaveHashParams(n) && doesNotHavePositionalParams(n); - const shouldBreakOpeningMustache = isParentOfSpecifiedTypes || isChildOfElementNodeAndDoesNotHaveParams; - return group$r(concat$C([printOpeningMustache(n), shouldBreakOpeningMustache ? indent$s(softline$j) : "", printPathAndParams(path, print), softline$j, printClosingMustache(n)])); - } - - case "SubExpression": - { - return group$r(concat$C(["(", printSubExpressionPathAndParams(path, print), softline$j, ")"])); - } - - case "AttrNode": - { - const isText = n.value.type === "TextNode"; - const isEmptyText = isText && n.value.chars === ""; // If the text is empty and the value's loc start and end offsets are the - // same, there is no value for this AttrNode and it should be printed - // without the `=""`. Example: `` -> `` - - if (isEmptyText && locStart$c(n.value) === locEnd$i(n.value)) { - return concat$C([n.name]); - } - - const value = path.call(print, "value"); - const quotedValue = isText ? printStringLiteral(value.parts.join(), options) : value; - return concat$C([n.name, "=", quotedValue]); - } - - case "ConcatStatement": - { - const quote = options.singleQuote ? "'" : '"'; - return concat$C([quote, ...path.map(partPath => print(partPath), "parts"), quote]); - } - - case "Hash": - { - return concat$C([join$i(line$l, path.map(print, "pairs"))]); - } - - case "HashPair": - { - return concat$C([n.key, "=", path.call(print, "value")]); - } - - case "TextNode": - { - const maxLineBreaksToPreserve = 2; - const isFirstElement = !getPreviousNode$1(path); - const isLastElement = !getNextNode$1(path); - const isWhitespaceOnly = !/\S/.test(n.chars); - const lineBreaksCount = countNewLines(n.chars); - let leadingLineBreaksCount = countLeadingNewLines(n.chars); - let trailingLineBreaksCount = countTrailingNewLines(n.chars); - - if ((isFirstElement || isLastElement) && isWhitespaceOnly && isParentOfSomeType$1(path, ["Block", "ElementNode", "Template"])) { - return ""; - } - - if (isWhitespaceOnly && lineBreaksCount) { - leadingLineBreaksCount = Math.min(lineBreaksCount, maxLineBreaksToPreserve); - trailingLineBreaksCount = 0; - } else { - if (isNextNodeOfSomeType$1(path, ["BlockStatement", "ElementNode"])) { - trailingLineBreaksCount = Math.max(trailingLineBreaksCount, 1); - } - - if (isPreviousNodeOfSomeType$1(path, ["BlockStatement", "ElementNode"])) { - leadingLineBreaksCount = Math.max(leadingLineBreaksCount, 1); - } - } - - const inAttrNode = path.stack.includes("attributes"); - - if (inAttrNode) { - // TODO: format style and srcset attributes - // and cleanup concat that is not necessary - if (!isInAttributeOfName(path, "class")) { - return concat$C([n.chars]); - } - - let leadingSpace = ""; - let trailingSpace = ""; - - if (isParentOfSomeType$1(path, ["ConcatStatement"])) { - if (isPreviousNodeOfSomeType$1(path, ["MustacheStatement"])) { - leadingSpace = " "; - } - - if (isNextNodeOfSomeType$1(path, ["MustacheStatement"])) { - trailingSpace = " "; - } - } - - return concat$C([...generateHardlines(leadingLineBreaksCount, maxLineBreaksToPreserve), n.chars.replace(/^\s+/g, leadingSpace).replace(/\s+$/, trailingSpace), ...generateHardlines(trailingLineBreaksCount, maxLineBreaksToPreserve)]); - } - - let leadingSpace = ""; - let trailingSpace = ""; - - if (trailingLineBreaksCount === 0 && isNextNodeOfSomeType$1(path, ["MustacheStatement"])) { - trailingSpace = " "; - } - - if (leadingLineBreaksCount === 0 && isPreviousNodeOfSomeType$1(path, ["MustacheStatement"])) { - leadingSpace = " "; - } - - if (isFirstElement) { - leadingLineBreaksCount = 0; - leadingSpace = ""; - } - - if (isLastElement) { - trailingLineBreaksCount = 0; - trailingSpace = ""; - } - - let text = n.chars; - /* if `{{my-component}}` (or any text starting with a mustache) - * makes it to the TextNode, - * it means it was escaped, - * so let's print it escaped, ie.; `\{{my-component}}` */ - - if (text.startsWith("{{") && text.includes("}}")) { - text = "\\" + text; - } - - return concat$C([...generateHardlines(leadingLineBreaksCount, maxLineBreaksToPreserve), text.replace(/^\s+/g, leadingSpace).replace(/\s+$/, trailingSpace), ...generateHardlines(trailingLineBreaksCount, maxLineBreaksToPreserve)]); - } - - case "MustacheCommentStatement": - { - const dashes = n.value.includes("}}") ? "--" : ""; - return concat$C(["{{!", dashes, n.value, dashes, "}}"]); - } - - case "PathExpression": - { - return n.original; - } - - case "BooleanLiteral": - { - return String(n.value); - } - - case "CommentStatement": - { - return concat$C([""]); - } - - case "StringLiteral": - { - return printStringLiteral(n.value, options); - } - - case "NumberLiteral": - { - return String(n.value); - } - - case "UndefinedLiteral": - { - return "undefined"; - } - - case "NullLiteral": - { - return "null"; - } - - /* istanbul ignore next */ - - default: - throw new Error("unknown glimmer type: " + JSON.stringify(n.type)); - } -} -/* ElementNode print helpers */ - - -function printStartingTag(path, print) { - const node = path.getValue(); - return concat$C(["<", node.tag, printAttributesLike(path, print), printBlockParams(node), printStartingTagEndMarker(node)]); -} - -function printAttributesLike(path, print) { - const node = path.getValue(); - return indent$s(concat$C([node.attributes.length ? line$l : "", join$i(line$l, path.map(print, "attributes")), node.modifiers.length ? line$l : "", join$i(line$l, path.map(print, "modifiers")), node.comments.length ? line$l : "", join$i(line$l, path.map(print, "comments"))])); -} - -function printChildren(path, options, print) { - return concat$C(path.map((childPath, childIndex) => { - if (childIndex === 0) { - return concat$C([softline$j, print(childPath, options, print)]); - } - - return print(childPath, options, print); - }, "children")); -} - -function printStartingTagEndMarker(node) { - if (isVoid$1(node)) { - return ifBreak$f(concat$C([softline$j, "/>"]), concat$C([" />", softline$j])); - } - - return ifBreak$f(concat$C([softline$j, ">"]), ">"); -} -/* MustacheStatement print helpers */ - - -function printOpeningMustache(node) { - const mustache = node.escaped === false ? "{{{" : "{{"; - const strip = node.strip && node.strip.open ? "~" : ""; - return concat$C([mustache, strip]); -} - -function printClosingMustache(node) { - const mustache = node.escaped === false ? "}}}" : "}}"; - const strip = node.strip && node.strip.close ? "~" : ""; - return concat$C([strip, mustache]); -} -/* BlockStatement print helpers */ - - -function printOpeningBlockOpeningMustache(node) { - const opening = printOpeningMustache(node); - const strip = node.openStrip.open ? "~" : ""; - return concat$C([opening, strip, "#"]); -} - -function printOpeningBlockClosingMustache(node) { - const closing = printClosingMustache(node); - const strip = node.openStrip.close ? "~" : ""; - return concat$C([strip, closing]); -} - -function printClosingBlockOpeningMustache(node) { - const opening = printOpeningMustache(node); - const strip = node.closeStrip.open ? "~" : ""; - return concat$C([opening, strip, "/"]); -} - -function printClosingBlockClosingMustache(node) { - const closing = printClosingMustache(node); - const strip = node.closeStrip.close ? "~" : ""; - return concat$C([strip, closing]); -} - -function printInverseBlockOpeningMustache(node) { - const opening = printOpeningMustache(node); - const strip = node.inverseStrip.open ? "~" : ""; - return concat$C([opening, strip]); -} - -function printInverseBlockClosingMustache(node) { - const closing = printClosingMustache(node); - const strip = node.inverseStrip.close ? "~" : ""; - return concat$C([strip, closing]); -} - -function printOpenBlock(path, print) { - const node = path.getValue(); - return group$r(concat$C([printOpeningBlockOpeningMustache(node), printPathAndParams(path, print), printBlockParams(node.program), softline$j, printOpeningBlockClosingMustache(node)])); -} - -function printElseBlock(node) { - return concat$C([hardline$p, printInverseBlockOpeningMustache(node), "else", printInverseBlockClosingMustache(node)]); -} - -function printElseIfBlock(path, print) { - const parentNode = path.getParentNode(1); - return concat$C([printInverseBlockOpeningMustache(parentNode), "else ", printPathAndParams(path, print), printInverseBlockClosingMustache(parentNode)]); -} - -function printCloseBlock(path, print) { - const node = path.getValue(); - return concat$C([blockStatementHasOnlyWhitespaceInProgram(node) ? softline$j : hardline$p, printClosingBlockOpeningMustache(node), path.call(print, "path"), printClosingBlockClosingMustache(node)]); -} - -function blockStatementHasOnlyWhitespaceInProgram(node) { - return isNodeOfSomeType$1(node, ["BlockStatement"]) && node.program.body.every(n => isWhitespaceNode$1(n)); -} - -function blockStatementHasElseIf(node) { - return blockStatementHasElse(node) && node.inverse.body.length === 1 && isNodeOfSomeType$1(node.inverse.body[0], ["BlockStatement"]) && node.inverse.body[0].path.parts[0] === "if"; -} - -function blockStatementHasElse(node) { - return isNodeOfSomeType$1(node, ["BlockStatement"]) && node.inverse; -} - -function printProgram(path, print) { - const node = path.getValue(); - - if (blockStatementHasOnlyWhitespaceInProgram(node)) { - return ""; - } - - const program = path.call(print, "program"); - return indent$s(concat$C([hardline$p, program])); -} - -function printInverse(path, print) { - const node = path.getValue(); - const inverse = path.call(print, "inverse"); - const parts = concat$C([hardline$p, inverse]); - - if (blockStatementHasElseIf(node)) { - return parts; - } - - if (blockStatementHasElse(node)) { - return concat$C([printElseBlock(node), indent$s(parts)]); - } - - return ""; -} -/* TextNode print helpers */ - - -function isInAttributeOfName(path, type) { - return isParentOfSomeType$1(path, ["AttrNode"]) && path.getParentNode().name.toLowerCase() === type || isParentOfSomeType$1(path, ["ConcatStatement"]) && path.getParentNode(1).name.toLowerCase() === type; -} - -function countNewLines(string) { - /* istanbul ignore next */ - string = typeof string === "string" ? string : ""; - return string.split("\n").length - 1; -} - -function countLeadingNewLines(string) { - /* istanbul ignore next */ - string = typeof string === "string" ? string : ""; - const newLines = (string.match(/^([^\S\n\r]*[\n\r])+/g) || [])[0] || ""; - return countNewLines(newLines); -} - -function countTrailingNewLines(string) { - /* istanbul ignore next */ - string = typeof string === "string" ? string : ""; - const newLines = (string.match(/([\n\r][^\S\n\r]*)+$/g) || [])[0] || ""; - return countNewLines(newLines); -} - -function generateHardlines(number = 0, max = 0) { - return new Array(Math.min(number, max)).fill(hardline$p); -} -/* StringLiteral print helpers */ - -/** - * Prints a string literal with the correct surrounding quotes based on - * `options.singleQuote` and the number of escaped quotes contained in - * the string literal. This function is the glimmer equivalent of `printString` - * in `common/util`, but has differences because of the way escaped characters - * are treated in hbs string literals. - * @param {string} stringLiteral - the string literal value - * @param {object} options - the prettier options object - */ - - -function printStringLiteral(stringLiteral, options) { - const double = { - quote: '"', - regex: /"/g - }; - const single = { - quote: "'", - regex: /'/g - }; - const preferred = options.singleQuote ? single : double; - const alternate = preferred === single ? double : single; - let shouldUseAlternateQuote = false; // If `stringLiteral` contains at least one of the quote preferred for - // enclosing the string, we might want to enclose with the alternate quote - // instead, to minimize the number of escaped quotes. - - if (stringLiteral.includes(preferred.quote) || stringLiteral.includes(alternate.quote)) { - const numPreferredQuotes = (stringLiteral.match(preferred.regex) || []).length; - const numAlternateQuotes = (stringLiteral.match(alternate.regex) || []).length; - shouldUseAlternateQuote = numPreferredQuotes > numAlternateQuotes; - } - - const enclosingQuote = shouldUseAlternateQuote ? alternate : preferred; - const escapedStringLiteral = stringLiteral.replace(enclosingQuote.regex, `\\${enclosingQuote.quote}`); - return concat$C([enclosingQuote.quote, escapedStringLiteral, enclosingQuote.quote]); -} -/* SubExpression print helpers */ - - -function printSubExpressionPathAndParams(path, print) { - const p = printPath(path, print); - const params = printParams(path, print); - - if (!params) { - return p; - } - - return indent$s(concat$C([p, line$l, group$r(params)])); -} -/* misc. print helpers */ - - -function printPathAndParams(path, print) { - const p = printPath(path, print); - const params = printParams(path, print); - - if (!params) { - return p; - } - - return indent$s(group$r(concat$C([p, line$l, params]))); -} - -function printPath(path, print) { - return path.call(print, "path"); -} - -function printParams(path, print) { - const node = path.getValue(); - const parts = []; - - if (node.params.length) { - const params = path.map(print, "params"); - parts.push(...params); - } - - if (node.hash && node.hash.pairs.length > 0) { - const hash = path.call(print, "hash"); - parts.push(hash); - } - - if (!parts.length) { - return ""; - } - - return join$i(line$l, parts); -} - -function printBlockParams(node) { - if (!node || !node.blockParams.length) { - return ""; - } - - return concat$C([" as |", node.blockParams.join(" "), "|"]); -} - -function doesNotHaveHashParams(node) { - return node.hash.pairs.length === 0; -} - -function doesNotHavePositionalParams(node) { - return node.params.length === 0; -} - -var printerGlimmer = { - print: print$2, - massageAstNode: clean_1$2 -}; - -var name$d = "Handlebars"; -var type$b = "markup"; -var color$5 = "#f7931e"; -var aliases$3 = [ - "hbs", - "htmlbars" -]; -var extensions$b = [ - ".handlebars", - ".hbs" -]; -var tmScope$b = "text.html.handlebars"; -var aceMode$b = "handlebars"; -var languageId$b = 155; -var require$$0$4 = { - name: name$d, - type: type$b, - color: color$5, - aliases: aliases$3, - extensions: extensions$b, - tmScope: tmScope$b, - aceMode: aceMode$b, - languageId: languageId$b -}; - -const languages$2 = [createLanguage(require$$0$4, () => ({ - since: null, - // unreleased - parsers: ["glimmer"], - vscodeLanguageIds: ["handlebars"] -}))]; -const printers$2 = { - glimmer: printerGlimmer -}; -const parsers$2 = { - get glimmer() { - return require("./parser-glimmer").parsers.glimmer; - } - -}; -var languageHandlebars = { - languages: languages$2, - printers: printers$2, - parsers: parsers$2 -}; - -function hasPragma$2(text) { - return /^\s*#[^\S\n]*@(format|prettier)\s*(\n|$)/.test(text); -} - -function insertPragma$4(text) { - return "# @format\n\n" + text; -} - -var pragma$2 = { - hasPragma: hasPragma$2, - insertPragma: insertPragma$4 -}; - -function locStart$d(node) { - if (typeof node.start === "number") { - return node.start; - } - - return node.loc && node.loc.start; -} - -function locEnd$j(node) { - if (typeof node.end === "number") { - return node.end; - } - - return node.loc && node.loc.end; -} - -var loc$3 = { - locStart: locStart$d, - locEnd: locEnd$j -}; - -const { - builders: { - concat: concat$D, - join: join$j, - hardline: hardline$q, - line: line$m, - softline: softline$k, - group: group$s, - indent: indent$t, - ifBreak: ifBreak$g - } -} = document; -const { - isNextLineEmpty: isNextLineEmpty$b -} = util; -const { - insertPragma: insertPragma$5 -} = pragma$2; -const { - locStart: locStart$e, - locEnd: locEnd$k -} = loc$3; - -function genericPrint$3(path, options, print) { - const n = path.getValue(); - - if (!n) { - return ""; - } - - if (typeof n === "string") { - return n; - } - - switch (n.kind) { - case "Document": - { - const parts = []; - path.each((pathChild, index) => { - parts.push(concat$D([pathChild.call(print)])); - - if (index !== n.definitions.length - 1) { - parts.push(hardline$q); - - if (isNextLineEmpty$b(options.originalText, pathChild.getValue(), locEnd$k)) { - parts.push(hardline$q); - } - } - }, "definitions"); - return concat$D([concat$D(parts), hardline$q]); - } - - case "OperationDefinition": - { - const hasOperation = options.originalText[locStart$e(n)] !== "{"; - const hasName = !!n.name; - return concat$D([hasOperation ? n.operation : "", hasOperation && hasName ? concat$D([" ", path.call(print, "name")]) : "", n.variableDefinitions && n.variableDefinitions.length ? group$s(concat$D(["(", indent$t(concat$D([softline$k, join$j(concat$D([ifBreak$g("", ", "), softline$k]), path.map(print, "variableDefinitions"))])), softline$k, ")"])) : "", printDirectives(path, print, n), n.selectionSet ? !hasOperation && !hasName ? "" : " " : "", path.call(print, "selectionSet")]); - } - - case "FragmentDefinition": - { - return concat$D(["fragment ", path.call(print, "name"), n.variableDefinitions && n.variableDefinitions.length ? group$s(concat$D(["(", indent$t(concat$D([softline$k, join$j(concat$D([ifBreak$g("", ", "), softline$k]), path.map(print, "variableDefinitions"))])), softline$k, ")"])) : "", " on ", path.call(print, "typeCondition"), printDirectives(path, print, n), " ", path.call(print, "selectionSet")]); - } - - case "SelectionSet": - { - return concat$D(["{", indent$t(concat$D([hardline$q, join$j(hardline$q, path.call(selectionsPath => printSequence(selectionsPath, options, print), "selections"))])), hardline$q, "}"]); - } - - case "Field": - { - return group$s(concat$D([n.alias ? concat$D([path.call(print, "alias"), ": "]) : "", path.call(print, "name"), n.arguments.length > 0 ? group$s(concat$D(["(", indent$t(concat$D([softline$k, join$j(concat$D([ifBreak$g("", ", "), softline$k]), path.call(argsPath => printSequence(argsPath, options, print), "arguments"))])), softline$k, ")"])) : "", printDirectives(path, print, n), n.selectionSet ? " " : "", path.call(print, "selectionSet")])); - } - - case "Name": - { - return n.value; - } - - case "StringValue": - { - if (n.block) { - return concat$D(['"""', hardline$q, join$j(hardline$q, n.value.replace(/"""/g, "\\$&").split("\n")), hardline$q, '"""']); - } - - return concat$D(['"', n.value.replace(/["\\]/g, "\\$&").replace(/\n/g, "\\n"), '"']); - } - - case "IntValue": - case "FloatValue": - case "EnumValue": - { - return n.value; - } - - case "BooleanValue": - { - return n.value ? "true" : "false"; - } - - case "NullValue": - { - return "null"; - } - - case "Variable": - { - return concat$D(["$", path.call(print, "name")]); - } - - case "ListValue": - { - return group$s(concat$D(["[", indent$t(concat$D([softline$k, join$j(concat$D([ifBreak$g("", ", "), softline$k]), path.map(print, "values"))])), softline$k, "]"])); - } - - case "ObjectValue": - { - return group$s(concat$D(["{", options.bracketSpacing && n.fields.length > 0 ? " " : "", indent$t(concat$D([softline$k, join$j(concat$D([ifBreak$g("", ", "), softline$k]), path.map(print, "fields"))])), softline$k, ifBreak$g("", options.bracketSpacing && n.fields.length > 0 ? " " : ""), "}"])); - } - - case "ObjectField": - case "Argument": - { - return concat$D([path.call(print, "name"), ": ", path.call(print, "value")]); - } - - case "Directive": - { - return concat$D(["@", path.call(print, "name"), n.arguments.length > 0 ? group$s(concat$D(["(", indent$t(concat$D([softline$k, join$j(concat$D([ifBreak$g("", ", "), softline$k]), path.call(argsPath => printSequence(argsPath, options, print), "arguments"))])), softline$k, ")"])) : ""]); - } - - case "NamedType": - { - return path.call(print, "name"); - } - - case "VariableDefinition": - { - return concat$D([path.call(print, "variable"), ": ", path.call(print, "type"), n.defaultValue ? concat$D([" = ", path.call(print, "defaultValue")]) : "", printDirectives(path, print, n)]); - } - - case "ObjectTypeExtension": - case "ObjectTypeDefinition": - { - return concat$D([path.call(print, "description"), n.description ? hardline$q : "", n.kind === "ObjectTypeExtension" ? "extend " : "", "type ", path.call(print, "name"), n.interfaces.length > 0 ? concat$D([" implements ", concat$D(printInterfaces(path, options, print))]) : "", printDirectives(path, print, n), n.fields.length > 0 ? concat$D([" {", indent$t(concat$D([hardline$q, join$j(hardline$q, path.call(fieldsPath => printSequence(fieldsPath, options, print), "fields"))])), hardline$q, "}"]) : ""]); - } - - case "FieldDefinition": - { - return concat$D([path.call(print, "description"), n.description ? hardline$q : "", path.call(print, "name"), n.arguments.length > 0 ? group$s(concat$D(["(", indent$t(concat$D([softline$k, join$j(concat$D([ifBreak$g("", ", "), softline$k]), path.call(argsPath => printSequence(argsPath, options, print), "arguments"))])), softline$k, ")"])) : "", ": ", path.call(print, "type"), printDirectives(path, print, n)]); - } - - case "DirectiveDefinition": - { - return concat$D([path.call(print, "description"), n.description ? hardline$q : "", "directive ", "@", path.call(print, "name"), n.arguments.length > 0 ? group$s(concat$D(["(", indent$t(concat$D([softline$k, join$j(concat$D([ifBreak$g("", ", "), softline$k]), path.call(argsPath => printSequence(argsPath, options, print), "arguments"))])), softline$k, ")"])) : "", n.repeatable ? " repeatable" : "", concat$D([" on ", join$j(" | ", path.map(print, "locations"))])]); - } - - case "EnumTypeExtension": - case "EnumTypeDefinition": - { - return concat$D([path.call(print, "description"), n.description ? hardline$q : "", n.kind === "EnumTypeExtension" ? "extend " : "", "enum ", path.call(print, "name"), printDirectives(path, print, n), n.values.length > 0 ? concat$D([" {", indent$t(concat$D([hardline$q, join$j(hardline$q, path.call(valuesPath => printSequence(valuesPath, options, print), "values"))])), hardline$q, "}"]) : ""]); - } - - case "EnumValueDefinition": - { - return concat$D([path.call(print, "description"), n.description ? hardline$q : "", path.call(print, "name"), printDirectives(path, print, n)]); - } - - case "InputValueDefinition": - { - return concat$D([path.call(print, "description"), n.description ? n.description.block ? hardline$q : line$m : "", path.call(print, "name"), ": ", path.call(print, "type"), n.defaultValue ? concat$D([" = ", path.call(print, "defaultValue")]) : "", printDirectives(path, print, n)]); - } - - case "InputObjectTypeExtension": - case "InputObjectTypeDefinition": - { - return concat$D([path.call(print, "description"), n.description ? hardline$q : "", n.kind === "InputObjectTypeExtension" ? "extend " : "", "input ", path.call(print, "name"), printDirectives(path, print, n), n.fields.length > 0 ? concat$D([" {", indent$t(concat$D([hardline$q, join$j(hardline$q, path.call(fieldsPath => printSequence(fieldsPath, options, print), "fields"))])), hardline$q, "}"]) : ""]); - } - - case "SchemaDefinition": - { - return concat$D(["schema", printDirectives(path, print, n), " {", n.operationTypes.length > 0 ? indent$t(concat$D([hardline$q, join$j(hardline$q, path.call(opsPath => printSequence(opsPath, options, print), "operationTypes"))])) : "", hardline$q, "}"]); - } - - case "OperationTypeDefinition": - { - return concat$D([path.call(print, "operation"), ": ", path.call(print, "type")]); - } - - case "InterfaceTypeExtension": - case "InterfaceTypeDefinition": - { - return concat$D([path.call(print, "description"), n.description ? hardline$q : "", n.kind === "InterfaceTypeExtension" ? "extend " : "", "interface ", path.call(print, "name"), n.interfaces.length > 0 ? concat$D([" implements ", concat$D(printInterfaces(path, options, print))]) : "", printDirectives(path, print, n), n.fields.length > 0 ? concat$D([" {", indent$t(concat$D([hardline$q, join$j(hardline$q, path.call(fieldsPath => printSequence(fieldsPath, options, print), "fields"))])), hardline$q, "}"]) : ""]); - } - - case "FragmentSpread": - { - return concat$D(["...", path.call(print, "name"), printDirectives(path, print, n)]); - } - - case "InlineFragment": - { - return concat$D(["...", n.typeCondition ? concat$D([" on ", path.call(print, "typeCondition")]) : "", printDirectives(path, print, n), " ", path.call(print, "selectionSet")]); - } - - case "UnionTypeExtension": - case "UnionTypeDefinition": - { - return group$s(concat$D([path.call(print, "description"), n.description ? hardline$q : "", group$s(concat$D([n.kind === "UnionTypeExtension" ? "extend " : "", "union ", path.call(print, "name"), printDirectives(path, print, n), n.types.length > 0 ? concat$D([" =", ifBreak$g("", " "), indent$t(concat$D([ifBreak$g(concat$D([line$m, " "])), join$j(concat$D([line$m, "| "]), path.map(print, "types"))]))]) : ""]))])); - } - - case "ScalarTypeExtension": - case "ScalarTypeDefinition": - { - return concat$D([path.call(print, "description"), n.description ? hardline$q : "", n.kind === "ScalarTypeExtension" ? "extend " : "", "scalar ", path.call(print, "name"), printDirectives(path, print, n)]); - } - - case "NonNullType": - { - return concat$D([path.call(print, "type"), "!"]); - } - - case "ListType": - { - return concat$D(["[", path.call(print, "type"), "]"]); - } - - default: - /* istanbul ignore next */ - throw new Error("unknown graphql type: " + JSON.stringify(n.kind)); - } -} - -function printDirectives(path, print, n) { - if (n.directives.length === 0) { - return ""; - } - - const printed = join$j(line$m, path.map(print, "directives")); - - if (n.kind === "FragmentDefinition" || n.kind === "OperationDefinition") { - return group$s(concat$D([line$m, printed])); - } - - return concat$D([" ", group$s(indent$t(concat$D([softline$k, printed])))]); -} - -function printSequence(sequencePath, options, print) { - const count = sequencePath.getValue().length; - return sequencePath.map((path, i) => { - const printed = print(path); - - if (isNextLineEmpty$b(options.originalText, path.getValue(), locEnd$k) && i < count - 1) { - return concat$D([printed, hardline$q]); - } - - return printed; - }); -} - -function canAttachComment$1(node) { - return node.kind && node.kind !== "Comment"; -} - -function printComment$3(commentPath) { - const comment = commentPath.getValue(); - - if (comment.kind === "Comment") { - return "#" + comment.value.trimEnd(); - } - /* istanbul ignore next */ - - - throw new Error("Not a comment: " + JSON.stringify(comment)); -} - -function printInterfaces(path, options, print) { - const node = path.getNode(); - const parts = []; - const { - interfaces - } = node; - const printed = path.map(node => print(node), "interfaces"); - - for (let index = 0; index < interfaces.length; index++) { - const interfaceNode = interfaces[index]; - parts.push(printed[index]); - const nextInterfaceNode = interfaces[index + 1]; - - if (nextInterfaceNode) { - const textBetween = options.originalText.slice(interfaceNode.loc.end, nextInterfaceNode.loc.start); - const hasComment = textBetween.includes("#"); - const separator = textBetween.replace(/#.*/g, "").trim(); - parts.push(separator === "," ? "," : " &"); - parts.push(hasComment ? line$m : " "); - } - } - - return parts; -} - -function clean$4() -/*node, newNode , parent*/ -{} - -clean$4.ignoredProperties = new Set(["loc", "comments"]); - -function hasPrettierIgnore$4(path) { - const node = path.getValue(); - return node && Array.isArray(node.comments) && node.comments.some(comment => comment.value.trim() === "prettier-ignore"); -} - -var printerGraphql = { - print: genericPrint$3, - massageAstNode: clean$4, - hasPrettierIgnore: hasPrettierIgnore$4, - insertPragma: insertPragma$5, - printComment: printComment$3, - canAttachComment: canAttachComment$1 -}; - -var options$4 = { - bracketSpacing: commonOptions.bracketSpacing -}; - -var name$e = "GraphQL"; -var type$c = "data"; -var color$6 = "#e10098"; -var extensions$c = [ - ".graphql", - ".gql", - ".graphqls" -]; -var tmScope$c = "source.graphql"; -var aceMode$c = "text"; -var languageId$c = 139; -var require$$0$5 = { - name: name$e, - type: type$c, - color: color$6, - extensions: extensions$c, - tmScope: tmScope$c, - aceMode: aceMode$c, - languageId: languageId$c -}; - -const languages$3 = [createLanguage(require$$0$5, () => ({ - since: "1.5.0", - parsers: ["graphql"], - vscodeLanguageIds: ["graphql"] -}))]; -const printers$3 = { - graphql: printerGraphql -}; -const parsers$3 = { - get graphql() { - return require("./parser-graphql").parsers.graphql; - } - -}; -var languageGraphql = { - languages: languages$3, - options: options$4, - printers: printers$3, - parsers: parsers$3 -}; - -function locStart$f(node) { - return node.position.start.offset; -} - -function locEnd$l(node) { - return node.position.end.offset; -} - -var loc$4 = { - locStart: locStart$f, - locEnd: locEnd$l -}; - -var json = { - "cjkPattern": "(?:[\\u02ea-\\u02eb\\u1100-\\u11ff\\u2e80-\\u2e99\\u2e9b-\\u2ef3\\u2f00-\\u2fd5\\u3000-\\u303f\\u3041-\\u3096\\u3099-\\u309f\\u30a1-\\u30fa\\u30fc-\\u30ff\\u3105-\\u312f\\u3131-\\u318e\\u3190-\\u3191\\u3196-\\u31ba\\u31c0-\\u31e3\\u31f0-\\u321e\\u322a-\\u3247\\u3260-\\u327e\\u328a-\\u32b0\\u32c0-\\u32cb\\u32d0-\\u3370\\u337b-\\u337f\\u33e0-\\u33fe\\u3400-\\u4db5\\u4e00-\\u9fef\\ua960-\\ua97c\\uac00-\\ud7a3\\ud7b0-\\ud7c6\\ud7cb-\\ud7fb\\uf900-\\ufa6d\\ufa70-\\ufad9\\ufe10-\\ufe1f\\ufe30-\\ufe6f\\uff00-\\uffef]|[\\ud840-\\ud868\\ud86a-\\ud86c\\ud86f-\\ud872\\ud874-\\ud879][\\udc00-\\udfff]|\\ud82c[\\udc00-\\udd1e\\udd50-\\udd52\\udd64-\\udd67]|\\ud83c[\\ude00\\ude50-\\ude51]|\\ud869[\\udc00-\\uded6\\udf00-\\udfff]|\\ud86d[\\udc00-\\udf34\\udf40-\\udfff]|\\ud86e[\\udc00-\\udc1d\\udc20-\\udfff]|\\ud873[\\udc00-\\udea1\\udeb0-\\udfff]|\\ud87a[\\udc00-\\udfe0]|\\ud87e[\\udc00-\\ude1d])(?:[\\ufe00-\\ufe0f]|\\udb40[\\udd00-\\uddef])?", - "kPattern": "[\\u1100-\\u11ff\\u3001-\\u3003\\u3008-\\u3011\\u3013-\\u301f\\u302e-\\u3030\\u3037\\u30fb\\u3131-\\u318e\\u3200-\\u321e\\u3260-\\u327e\\ua960-\\ua97c\\uac00-\\ud7a3\\ud7b0-\\ud7c6\\ud7cb-\\ud7fb\\ufe45-\\ufe46\\uff61-\\uff65\\uffa0-\\uffbe\\uffc2-\\uffc7\\uffca-\\uffcf\\uffd2-\\uffd7\\uffda-\\uffdc]", - "punctuationPattern": "[\\u0021-\\u002f\\u003a-\\u0040\\u005b-\\u0060\\u007b-\\u007e\\u00a1\\u00a7\\u00ab\\u00b6-\\u00b7\\u00bb\\u00bf\\u037e\\u0387\\u055a-\\u055f\\u0589-\\u058a\\u05be\\u05c0\\u05c3\\u05c6\\u05f3-\\u05f4\\u0609-\\u060a\\u060c-\\u060d\\u061b\\u061e-\\u061f\\u066a-\\u066d\\u06d4\\u0700-\\u070d\\u07f7-\\u07f9\\u0830-\\u083e\\u085e\\u0964-\\u0965\\u0970\\u09fd\\u0a76\\u0af0\\u0c77\\u0c84\\u0df4\\u0e4f\\u0e5a-\\u0e5b\\u0f04-\\u0f12\\u0f14\\u0f3a-\\u0f3d\\u0f85\\u0fd0-\\u0fd4\\u0fd9-\\u0fda\\u104a-\\u104f\\u10fb\\u1360-\\u1368\\u1400\\u166e\\u169b-\\u169c\\u16eb-\\u16ed\\u1735-\\u1736\\u17d4-\\u17d6\\u17d8-\\u17da\\u1800-\\u180a\\u1944-\\u1945\\u1a1e-\\u1a1f\\u1aa0-\\u1aa6\\u1aa8-\\u1aad\\u1b5a-\\u1b60\\u1bfc-\\u1bff\\u1c3b-\\u1c3f\\u1c7e-\\u1c7f\\u1cc0-\\u1cc7\\u1cd3\\u2010-\\u2027\\u2030-\\u2043\\u2045-\\u2051\\u2053-\\u205e\\u207d-\\u207e\\u208d-\\u208e\\u2308-\\u230b\\u2329-\\u232a\\u2768-\\u2775\\u27c5-\\u27c6\\u27e6-\\u27ef\\u2983-\\u2998\\u29d8-\\u29db\\u29fc-\\u29fd\\u2cf9-\\u2cfc\\u2cfe-\\u2cff\\u2d70\\u2e00-\\u2e2e\\u2e30-\\u2e4f\\u3001-\\u3003\\u3008-\\u3011\\u3014-\\u301f\\u3030\\u303d\\u30a0\\u30fb\\ua4fe-\\ua4ff\\ua60d-\\ua60f\\ua673\\ua67e\\ua6f2-\\ua6f7\\ua874-\\ua877\\ua8ce-\\ua8cf\\ua8f8-\\ua8fa\\ua8fc\\ua92e-\\ua92f\\ua95f\\ua9c1-\\ua9cd\\ua9de-\\ua9df\\uaa5c-\\uaa5f\\uaade-\\uaadf\\uaaf0-\\uaaf1\\uabeb\\ufd3e-\\ufd3f\\ufe10-\\ufe19\\ufe30-\\ufe52\\ufe54-\\ufe61\\ufe63\\ufe68\\ufe6a-\\ufe6b\\uff01-\\uff03\\uff05-\\uff0a\\uff0c-\\uff0f\\uff1a-\\uff1b\\uff1f-\\uff20\\uff3b-\\uff3d\\uff3f\\uff5b\\uff5d\\uff5f-\\uff65]|\\ud800[\\udd00-\\udd02\\udf9f\\udfd0]|\\ud801[\\udd6f]|\\ud802[\\udc57\\udd1f\\udd3f\\ude50-\\ude58\\ude7f\\udef0-\\udef6\\udf39-\\udf3f\\udf99-\\udf9c]|\\ud803[\\udf55-\\udf59]|\\ud804[\\udc47-\\udc4d\\udcbb-\\udcbc\\udcbe-\\udcc1\\udd40-\\udd43\\udd74-\\udd75\\uddc5-\\uddc8\\uddcd\\udddb\\udddd-\\udddf\\ude38-\\ude3d\\udea9]|\\ud805[\\udc4b-\\udc4f\\udc5b\\udc5d\\udcc6\\uddc1-\\uddd7\\ude41-\\ude43\\ude60-\\ude6c\\udf3c-\\udf3e]|\\ud806[\\udc3b\\udde2\\ude3f-\\ude46\\ude9a-\\ude9c\\ude9e-\\udea2]|\\ud807[\\udc41-\\udc45\\udc70-\\udc71\\udef7-\\udef8\\udfff]|\\ud809[\\udc70-\\udc74]|\\ud81a[\\ude6e-\\ude6f\\udef5\\udf37-\\udf3b\\udf44]|\\ud81b[\\ude97-\\ude9a\\udfe2]|\\ud82f[\\udc9f]|\\ud836[\\ude87-\\ude8b]|\\ud83a[\\udd5e-\\udd5f]" -}; - -const { - getLast: getLast$b -} = util; -const { - locStart: locStart$g, - locEnd: locEnd$m -} = loc$4; -const { - cjkPattern, - kPattern, - punctuationPattern -} = json; -const INLINE_NODE_TYPES = ["liquidNode", "inlineCode", "emphasis", "strong", "delete", "wikiLink", "link", "linkReference", "image", "imageReference", "footnote", "footnoteReference", "sentence", "whitespace", "word", "break", "inlineMath"]; -const INLINE_NODE_WRAPPER_TYPES = INLINE_NODE_TYPES.concat(["tableCell", "paragraph", "heading"]); -const kRegex = new RegExp(kPattern); -const punctuationRegex = new RegExp(punctuationPattern); -/** - * split text into whitespaces and words - * @param {string} text - * @return {Array<{ type: "whitespace", value: " " | "\n" | "" } | { type: "word", value: string }>} - */ - -function splitText(text, options) { - const KIND_NON_CJK = "non-cjk"; - const KIND_CJ_LETTER = "cj-letter"; - const KIND_K_LETTER = "k-letter"; - const KIND_CJK_PUNCTUATION = "cjk-punctuation"; - const nodes = []; - (options.proseWrap === "preserve" ? text : text.replace(new RegExp(`(${cjkPattern})\n(${cjkPattern})`, "g"), "$1$2")).split(/([\t\n ]+)/).forEach((token, index, tokens) => { - // whitespace - if (index % 2 === 1) { - nodes.push({ - type: "whitespace", - value: /\n/.test(token) ? "\n" : " " - }); - return; - } // word separated by whitespace - - - if ((index === 0 || index === tokens.length - 1) && token === "") { - return; - } - - token.split(new RegExp(`(${cjkPattern})`)).forEach((innerToken, innerIndex, innerTokens) => { - if ((innerIndex === 0 || innerIndex === innerTokens.length - 1) && innerToken === "") { - return; - } // non-CJK word - - - if (innerIndex % 2 === 0) { - if (innerToken !== "") { - appendNode({ - type: "word", - value: innerToken, - kind: KIND_NON_CJK, - hasLeadingPunctuation: punctuationRegex.test(innerToken[0]), - hasTrailingPunctuation: punctuationRegex.test(getLast$b(innerToken)) - }); - } - - return; - } // CJK character - - - appendNode(punctuationRegex.test(innerToken) ? { - type: "word", - value: innerToken, - kind: KIND_CJK_PUNCTUATION, - hasLeadingPunctuation: true, - hasTrailingPunctuation: true - } : { - type: "word", - value: innerToken, - kind: kRegex.test(innerToken) ? KIND_K_LETTER : KIND_CJ_LETTER, - hasLeadingPunctuation: false, - hasTrailingPunctuation: false - }); - }); - }); - return nodes; - - function appendNode(node) { - const lastNode = getLast$b(nodes); - - if (lastNode && lastNode.type === "word") { - if (lastNode.kind === KIND_NON_CJK && node.kind === KIND_CJ_LETTER && !lastNode.hasTrailingPunctuation || lastNode.kind === KIND_CJ_LETTER && node.kind === KIND_NON_CJK && !node.hasLeadingPunctuation) { - nodes.push({ - type: "whitespace", - value: " " - }); - } else if (!isBetween(KIND_NON_CJK, KIND_CJK_PUNCTUATION) && // disallow leading/trailing full-width whitespace - ![lastNode.value, node.value].some(value => /\u3000/.test(value))) { - nodes.push({ - type: "whitespace", - value: "" - }); - } - } - - nodes.push(node); - - function isBetween(kind1, kind2) { - return lastNode.kind === kind1 && node.kind === kind2 || lastNode.kind === kind2 && node.kind === kind1; - } - } -} - -function getOrderedListItemInfo(orderListItem, originalText) { - const [, numberText, marker, leadingSpaces] = originalText.slice(orderListItem.position.start.offset, orderListItem.position.end.offset).match(/^\s*(\d+)(\.|\))(\s*)/); - return { - numberText, - marker, - leadingSpaces - }; -} - -function hasGitDiffFriendlyOrderedList(node, options) { - if (!node.ordered) { - return false; - } - - if (node.children.length < 2) { - return false; - } - - const firstNumber = Number(getOrderedListItemInfo(node.children[0], options.originalText).numberText); - const secondNumber = Number(getOrderedListItemInfo(node.children[1], options.originalText).numberText); - - if (firstNumber === 0 && node.children.length > 2) { - const thirdNumber = Number(getOrderedListItemInfo(node.children[2], options.originalText).numberText); - return secondNumber === 1 && thirdNumber === 1; - } - - return secondNumber === 1; -} // The final new line should not include in value -// https://github.com/remarkjs/remark/issues/512 - - -function getFencedCodeBlockValue(node, originalText) { - const { - value - } = node; - - if (node.position.end.offset === originalText.length && value.endsWith("\n") && // Code block has no end mark - originalText.endsWith("\n")) { - return value.slice(0, -1); - } - - return value; -} - -function mapAst(ast, handler) { - return function preorder(node, index, parentStack) { - parentStack = parentStack || []; - const newNode = Object.assign({}, handler(node, index, parentStack)); - - if (newNode.children) { - newNode.children = newNode.children.map((child, index) => { - return preorder(child, index, [newNode].concat(parentStack)); - }); - } - - return newNode; - }(ast, null, null); -} - -function isAutolink(node) { - if (!node || node.type !== "link" || node.children.length !== 1) { - return false; - } - - const child = node.children[0]; - return child && locStart$g(node) === locStart$g(child) && locEnd$m(node) === locEnd$m(child); -} - -var utils$9 = { - mapAst, - splitText, - punctuationPattern, - getFencedCodeBlockValue, - getOrderedListItemInfo, - hasGitDiffFriendlyOrderedList, - INLINE_NODE_TYPES, - INLINE_NODE_WRAPPER_TYPES, - isAutolink -}; - -const { - inferParserByLanguage: inferParserByLanguage$1, - getMaxContinuousCount: getMaxContinuousCount$2 -} = util; -const { - builders: { - hardline: hardline$r, - concat: concat$E, - markAsRoot: markAsRoot$2 - }, - utils: { - replaceNewlinesWithLiterallines: replaceNewlinesWithLiterallines$2 - } -} = document; -const { - print: printFrontMatter$1 -} = frontMatter; -const { - getFencedCodeBlockValue: getFencedCodeBlockValue$1 -} = utils$9; - -function embed$2(path, print, textToDoc, options) { - const node = path.getValue(); - - if (node.type === "code" && node.lang !== null) { - const parser = inferParserByLanguage$1(node.lang, options); - - if (parser) { - const styleUnit = options.__inJsTemplate ? "~" : "`"; - const style = styleUnit.repeat(Math.max(3, getMaxContinuousCount$2(node.value, styleUnit) + 1)); - const doc = textToDoc(getFencedCodeBlockValue$1(node, options.originalText), { - parser - }, { - stripTrailingHardline: true - }); - return markAsRoot$2(concat$E([style, node.lang, node.meta ? " " + node.meta : "", hardline$r, replaceNewlinesWithLiterallines$2(doc), hardline$r, style])); - } - } - - switch (node.type) { - case "front-matter": - return printFrontMatter$1(node, textToDoc); - // MDX - - case "importExport": - return concat$E([textToDoc(node.value, { - parser: "babel" - }, { - stripTrailingHardline: true - }), hardline$r]); - - case "jsx": - return textToDoc(`<$>${node.value}`, { - parser: "__js_expression", - rootMarker: "mdx" - }, { - stripTrailingHardline: true - }); - } - - return null; -} - -var embed_1$2 = embed$2; - -const { - parse: parseFrontMatter$1 -} = frontMatter; -const pragmas = ["format", "prettier"]; - -function startWithPragma(text) { - const pragma = `@(${pragmas.join("|")})`; - const regex = new RegExp([``, ``].join("|"), "m"); - const matched = text.match(regex); - return matched && matched.index === 0; -} - -var pragma$3 = { - startWithPragma, - hasPragma: text => startWithPragma(parseFrontMatter$1(text).content.trimStart()), - insertPragma: text => { - const extracted = parseFrontMatter$1(text); - const pragma = ``; - return extracted.frontMatter ? `${extracted.frontMatter.raw}\n\n${pragma}\n\n${extracted.content}` : `${pragma}\n\n${extracted.content}`; - } -}; - -const { - getOrderedListItemInfo: getOrderedListItemInfo$1, - mapAst: mapAst$1, - splitText: splitText$1 -} = utils$9; // 0x0 ~ 0x10ffff -// eslint-disable-next-line no-control-regex - -const isSingleCharRegex = /^([\u0000-\uffff]|[\ud800-\udbff][\udc00-\udfff])$/; - -function preprocess$1(ast, options) { - ast = restoreUnescapedCharacter(ast, options); - ast = mergeContinuousTexts(ast); - ast = transformInlineCode(ast); - ast = transformIndentedCodeblockAndMarkItsParentList(ast, options); - ast = markAlignedList(ast, options); - ast = splitTextIntoSentences(ast, options); - ast = transformImportExport(ast); - ast = mergeContinuousImportExport(ast); - return ast; -} - -function transformImportExport(ast) { - return mapAst$1(ast, node => { - if (node.type !== "import" && node.type !== "export") { - return node; - } - - return Object.assign({}, node, { - type: "importExport" - }); - }); -} - -function transformInlineCode(ast) { - return mapAst$1(ast, node => { - if (node.type !== "inlineCode") { - return node; - } - - return Object.assign({}, node, { - value: node.value.replace(/\s+/g, " ") - }); - }); -} - -function restoreUnescapedCharacter(ast, options) { - return mapAst$1(ast, node => node.type !== "text" || node.value === "*" || node.value === "_" || // handle these cases in printer - !isSingleCharRegex.test(node.value) || node.position.end.offset - node.position.start.offset === node.value.length ? node : Object.assign({}, node, { - value: options.originalText.slice(node.position.start.offset, node.position.end.offset) - })); -} - -function mergeContinuousImportExport(ast) { - return mergeChildren(ast, (prevNode, node) => prevNode.type === "importExport" && node.type === "importExport", (prevNode, node) => ({ - type: "importExport", - value: prevNode.value + "\n\n" + node.value, - position: { - start: prevNode.position.start, - end: node.position.end - } - })); -} - -function mergeChildren(ast, shouldMerge, mergeNode) { - return mapAst$1(ast, node => { - if (!node.children) { - return node; - } - - const children = node.children.reduce((current, child) => { - const lastChild = current[current.length - 1]; - - if (lastChild && shouldMerge(lastChild, child)) { - current.splice(-1, 1, mergeNode(lastChild, child)); - } else { - current.push(child); - } - - return current; - }, []); - return Object.assign({}, node, { - children - }); - }); -} - -function mergeContinuousTexts(ast) { - return mergeChildren(ast, (prevNode, node) => prevNode.type === "text" && node.type === "text", (prevNode, node) => ({ - type: "text", - value: prevNode.value + node.value, - position: { - start: prevNode.position.start, - end: node.position.end - } - })); -} - -function splitTextIntoSentences(ast, options) { - return mapAst$1(ast, (node, index, [parentNode]) => { - if (node.type !== "text") { - return node; - } - - let { - value - } = node; - - if (parentNode.type === "paragraph") { - if (index === 0) { - value = value.trimStart(); - } - - if (index === parentNode.children.length - 1) { - value = value.trimEnd(); - } - } - - return { - type: "sentence", - position: node.position, - children: splitText$1(value, options) - }; - }); -} - -function transformIndentedCodeblockAndMarkItsParentList(ast, options) { - return mapAst$1(ast, (node, index, parentStack) => { - if (node.type === "code") { - // the first char may point to `\n`, e.g. `\n\t\tbar`, just ignore it - const isIndented = /^\n?( {4,}|\t)/.test(options.originalText.slice(node.position.start.offset, node.position.end.offset)); - node.isIndented = isIndented; - - if (isIndented) { - for (let i = 0; i < parentStack.length; i++) { - const parent = parentStack[i]; // no need to check checked items - - if (parent.hasIndentedCodeblock) { - break; - } - - if (parent.type === "list") { - parent.hasIndentedCodeblock = true; - } - } - } - } - - return node; - }); -} - -function markAlignedList(ast, options) { - return mapAst$1(ast, (node, index, parentStack) => { - if (node.type === "list" && node.children.length !== 0) { - // if one of its parents is not aligned, it's not possible to be aligned in sub-lists - for (let i = 0; i < parentStack.length; i++) { - const parent = parentStack[i]; - - if (parent.type === "list" && !parent.isAligned) { - node.isAligned = false; - return node; - } - } - - node.isAligned = isAligned(node); - } - - return node; - }); - - function getListItemStart(listItem) { - return listItem.children.length === 0 ? -1 : listItem.children[0].position.start.column - 1; - } - - function isAligned(list) { - if (!list.ordered) { - /** - * - 123 - * - 123 - */ - return true; - } - - const [firstItem, secondItem] = list.children; - const firstInfo = getOrderedListItemInfo$1(firstItem, options.originalText); - - if (firstInfo.leadingSpaces.length > 1) { - /** - * 1. 123 - * - * 1. 123 - * 1. 123 - */ - return true; - } - - const firstStart = getListItemStart(firstItem); - - if (firstStart === -1) { - /** - * 1. - * - * 1. - * 1. - */ - return false; - } - - if (list.children.length === 1) { - /** - * aligned: - * - * 11. 123 - * - * not aligned: - * - * 1. 123 - */ - return firstStart % options.tabWidth === 0; - } - - const secondStart = getListItemStart(secondItem); - - if (firstStart !== secondStart) { - /** - * 11. 123 - * 1. 123 - * - * 1. 123 - * 11. 123 - */ - return false; - } - - if (firstStart % options.tabWidth === 0) { - /** - * 11. 123 - * 12. 123 - */ - return true; - } - /** - * aligned: - * - * 11. 123 - * 1. 123 - * - * not aligned: - * - * 1. 123 - * 2. 123 - */ - - - const secondInfo = getOrderedListItemInfo$1(secondItem, options.originalText); - return secondInfo.leadingSpaces.length > 1; - } -} - -var printPreprocess$1 = preprocess$1; - -const { - isFrontMatterNode: isFrontMatterNode$3 -} = util; -const { - startWithPragma: startWithPragma$1 -} = pragma$3; -const ignoredProperties$3 = new Set(["position", "raw" // front-matter -]); - -function clean$5(ast, newObj, parent) { - // for codeblock - if (ast.type === "front-matter" || ast.type === "code" || ast.type === "yaml" || ast.type === "import" || ast.type === "export" || ast.type === "jsx") { - delete newObj.value; - } - - if (ast.type === "list") { - delete newObj.isAligned; - } - - if (ast.type === "list" || ast.type === "listItem") { - delete newObj.spread; - delete newObj.loose; - } // texts can be splitted or merged - - - if (ast.type === "text") { - return null; - } - - if (ast.type === "inlineCode") { - newObj.value = ast.value.replace(/[\t\n ]+/g, " "); - } - - if (ast.type === "wikiLink") { - newObj.value = ast.value.trim().replace(/[\t\n]+/g, " "); - } - - if (ast.type === "definition" || ast.type === "linkReference") { - newObj.label = ast.label.trim().replace(/[\t\n ]+/g, " ").toLowerCase(); - } - - if ((ast.type === "definition" || ast.type === "link" || ast.type === "image") && ast.title) { - newObj.title = ast.title.replace(/\\(["')])/g, "$1"); - } // for insert pragma - - - if (parent && parent.type === "root" && parent.children.length > 0 && (parent.children[0] === ast || isFrontMatterNode$3(parent.children[0]) && parent.children[1] === ast) && ast.type === "html" && startWithPragma$1(ast.value)) { - return null; - } -} - -clean$5.ignoredProperties = ignoredProperties$3; -var clean_1$3 = clean$5; - -const { - getLast: getLast$c, - getMinNotPresentContinuousCount: getMinNotPresentContinuousCount$1, - getMaxContinuousCount: getMaxContinuousCount$3, - getStringWidth: getStringWidth$4 -} = util; -const { - builders: { - breakParent: breakParent$6, - concat: concat$F, - join: join$k, - line: line$n, - literalline: literalline$4, - markAsRoot: markAsRoot$3, - hardline: hardline$s, - softline: softline$l, - ifBreak: ifBreak$h, - fill: fill$5, - align: align$5, - indent: indent$u, - group: group$t - }, - utils: { - normalizeDoc: normalizeDoc$1 - }, - printer: { - printDocToString: printDocToString$3 - } -} = document; -const { - replaceEndOfLineWith: replaceEndOfLineWith$1 -} = util; -const { - insertPragma: insertPragma$6 -} = pragma$3; -const { - locStart: locStart$h, - locEnd: locEnd$n -} = loc$4; -const { - getFencedCodeBlockValue: getFencedCodeBlockValue$2, - hasGitDiffFriendlyOrderedList: hasGitDiffFriendlyOrderedList$1, - splitText: splitText$2, - punctuationPattern: punctuationPattern$1, - INLINE_NODE_TYPES: INLINE_NODE_TYPES$1, - INLINE_NODE_WRAPPER_TYPES: INLINE_NODE_WRAPPER_TYPES$1, - isAutolink: isAutolink$1 -} = utils$9; -/** - * @typedef {import("../document").Doc} Doc - */ - -const TRAILING_HARDLINE_NODES = new Set(["importExport"]); -const SINGLE_LINE_NODE_TYPES = ["heading", "tableCell", "link", "wikiLink"]; -const SIBLING_NODE_TYPES = new Set(["listItem", "definition", "footnoteDefinition"]); - -function genericPrint$4(path, options, print) { - const node = path.getValue(); - - if (shouldRemainTheSameContent(path)) { - return concat$F(splitText$2(options.originalText.slice(node.position.start.offset, node.position.end.offset), options).map(node => node.type === "word" ? node.value : node.value === "" ? "" : printLine(path, node.value, options))); - } - - switch (node.type) { - case "front-matter": - return options.originalText.slice(node.position.start.offset, node.position.end.offset); - - case "root": - if (node.children.length === 0) { - return ""; - } - - return concat$F([normalizeDoc$1(printRoot(path, options, print)), !TRAILING_HARDLINE_NODES.has(getLastDescendantNode(node).type) ? hardline$s : ""]); - - case "paragraph": - return printChildren$1(path, options, print, { - postprocessor: fill$5 - }); - - case "sentence": - return printChildren$1(path, options, print); - - case "word": - { - let escapedValue = node.value.replace(/\*/g, "\\$&") // escape all `*` - .replace(new RegExp([`(^|${punctuationPattern$1})(_+)`, `(_+)(${punctuationPattern$1}|$)`].join("|"), "g"), (_, text1, underscore1, underscore2, text2) => (underscore1 ? `${text1}${underscore1}` : `${underscore2}${text2}`).replace(/_/g, "\\_")); // escape all `_` except concating with non-punctuation, e.g. `1_2_3` is not considered emphasis - - const isFirstSentence = (node, name, index) => node.type === "sentence" && index === 0; - - const isLastChildAutolink = (node, name, index) => isAutolink$1(node.children[index - 1]); - - if (escapedValue !== node.value && (path.match(undefined, isFirstSentence, isLastChildAutolink) || path.match(undefined, isFirstSentence, (node, name, index) => node.type === "emphasis" && index === 0, isLastChildAutolink))) { - // backslash is parsed as part of autolinks, so we need to remove it - escapedValue = escapedValue.replace(/^(\\?[*_])+/, prefix => prefix.replace(/\\/g, "")); - } - - return escapedValue; - } - - case "whitespace": - { - const parentNode = path.getParentNode(); - const index = parentNode.children.indexOf(node); - const nextNode = parentNode.children[index + 1]; - const proseWrap = // leading char that may cause different syntax - nextNode && /^>|^([*+-]|#{1,6}|\d+[).])$/.test(nextNode.value) ? "never" : options.proseWrap; - return printLine(path, node.value, { - proseWrap - }); - } - - case "emphasis": - { - let style; - - if (isAutolink$1(node.children[0])) { - style = options.originalText[node.position.start.offset]; - } else { - const parentNode = path.getParentNode(); - const index = parentNode.children.indexOf(node); - const prevNode = parentNode.children[index - 1]; - const nextNode = parentNode.children[index + 1]; - const hasPrevOrNextWord = // `1*2*3` is considered emphasis but `1_2_3` is not - prevNode && prevNode.type === "sentence" && prevNode.children.length > 0 && getLast$c(prevNode.children).type === "word" && !getLast$c(prevNode.children).hasTrailingPunctuation || nextNode && nextNode.type === "sentence" && nextNode.children.length > 0 && nextNode.children[0].type === "word" && !nextNode.children[0].hasLeadingPunctuation; - style = hasPrevOrNextWord || getAncestorNode$2(path, "emphasis") ? "*" : "_"; - } - - return concat$F([style, printChildren$1(path, options, print), style]); - } - - case "strong": - return concat$F(["**", printChildren$1(path, options, print), "**"]); - - case "delete": - return concat$F(["~~", printChildren$1(path, options, print), "~~"]); - - case "inlineCode": - { - const backtickCount = getMinNotPresentContinuousCount$1(node.value, "`"); - const style = "`".repeat(backtickCount || 1); - const gap = backtickCount && !/^\s/.test(node.value) ? " " : ""; - return concat$F([style, gap, node.value, gap, style]); - } - - case "wikiLink": - { - let contents = ""; - - if (options.proseWrap === "preserve") { - contents = node.value; - } else { - contents = node.value.replace(/[\t\n]+/g, " "); - } - - return concat$F(["[[", contents, "]]"]); - } - - case "link": - switch (options.originalText[node.position.start.offset]) { - case "<": - { - const mailto = "mailto:"; - const url = // is parsed as { url: "mailto:hello@example.com" } - node.url.startsWith(mailto) && options.originalText.slice(node.position.start.offset + 1, node.position.start.offset + 1 + mailto.length) !== mailto ? node.url.slice(mailto.length) : node.url; - return concat$F(["<", url, ">"]); - } - - case "[": - return concat$F(["[", printChildren$1(path, options, print), "](", printUrl(node.url, ")"), printTitle(node.title, options), ")"]); - - default: - return options.originalText.slice(node.position.start.offset, node.position.end.offset); - } - - case "image": - return concat$F(["![", node.alt || "", "](", printUrl(node.url, ")"), printTitle(node.title, options), ")"]); - - case "blockquote": - return concat$F(["> ", align$5("> ", printChildren$1(path, options, print))]); - - case "heading": - return concat$F(["#".repeat(node.depth) + " ", printChildren$1(path, options, print)]); - - case "code": - { - if (node.isIndented) { - // indented code block - const alignment = " ".repeat(4); - return align$5(alignment, concat$F([alignment, concat$F(replaceEndOfLineWith$1(node.value, hardline$s))])); - } // fenced code block - - - const styleUnit = options.__inJsTemplate ? "~" : "`"; - const style = styleUnit.repeat(Math.max(3, getMaxContinuousCount$3(node.value, styleUnit) + 1)); - return concat$F([style, node.lang || "", node.meta ? " " + node.meta : "", hardline$s, concat$F(replaceEndOfLineWith$1(getFencedCodeBlockValue$2(node, options.originalText), hardline$s)), hardline$s, style]); - } - - case "html": - { - const parentNode = path.getParentNode(); - const value = parentNode.type === "root" && getLast$c(parentNode.children) === node ? node.value.trimEnd() : node.value; - const isHtmlComment = /^$/.test(value); - return concat$F(replaceEndOfLineWith$1(value, isHtmlComment ? hardline$s : markAsRoot$3(literalline$4))); - } - - case "list": - { - const nthSiblingIndex = getNthListSiblingIndex(node, path.getParentNode()); - const isGitDiffFriendlyOrderedList = hasGitDiffFriendlyOrderedList$1(node, options); - return printChildren$1(path, options, print, { - processor: (childPath, index) => { - const prefix = getPrefix(); - const childNode = childPath.getValue(); - - if (childNode.children.length === 2 && childNode.children[1].type === "html" && childNode.children[0].position.start.column !== childNode.children[1].position.start.column) { - return concat$F([prefix, printListItem(childPath, options, print, prefix)]); - } - - return concat$F([prefix, align$5(" ".repeat(prefix.length), printListItem(childPath, options, print, prefix))]); - - function getPrefix() { - const rawPrefix = node.ordered ? (index === 0 ? node.start : isGitDiffFriendlyOrderedList ? 1 : node.start + index) + (nthSiblingIndex % 2 === 0 ? ". " : ") ") : nthSiblingIndex % 2 === 0 ? "- " : "* "; - return node.isAligned || - /* workaround for https://github.com/remarkjs/remark/issues/315 */ - node.hasIndentedCodeblock ? alignListPrefix(rawPrefix, options) : rawPrefix; - } - } - }); - } - - case "thematicBreak": - { - const counter = getAncestorCounter$1(path, "list"); - - if (counter === -1) { - return "---"; - } - - const nthSiblingIndex = getNthListSiblingIndex(path.getParentNode(counter), path.getParentNode(counter + 1)); - return nthSiblingIndex % 2 === 0 ? "***" : "---"; - } - - case "linkReference": - return concat$F(["[", printChildren$1(path, options, print), "]", node.referenceType === "full" ? concat$F(["[", node.identifier, "]"]) : node.referenceType === "collapsed" ? "[]" : ""]); - - case "imageReference": - switch (node.referenceType) { - case "full": - return concat$F(["![", node.alt || "", "][", node.identifier, "]"]); - - default: - return concat$F(["![", node.alt, "]", node.referenceType === "collapsed" ? "[]" : ""]); - } - - case "definition": - { - const lineOrSpace = options.proseWrap === "always" ? line$n : " "; - return group$t(concat$F([concat$F(["[", node.identifier, "]:"]), indent$u(concat$F([lineOrSpace, printUrl(node.url), node.title === null ? "" : concat$F([lineOrSpace, printTitle(node.title, options, false)])]))])); - } - // `footnote` requires `.use(footnotes, {inlineNotes: true})`, we are not using this option - // https://github.com/remarkjs/remark-footnotes#optionsinlinenotes - - /* istanbul ignore next */ - - case "footnote": - return concat$F(["[^", printChildren$1(path, options, print), "]"]); - - case "footnoteReference": - return concat$F(["[^", node.identifier, "]"]); - - case "footnoteDefinition": - { - const nextNode = path.getParentNode().children[path.getName() + 1]; - const shouldInlineFootnote = node.children.length === 1 && node.children[0].type === "paragraph" && (options.proseWrap === "never" || options.proseWrap === "preserve" && node.children[0].position.start.line === node.children[0].position.end.line); - return concat$F(["[^", node.identifier, "]: ", shouldInlineFootnote ? printChildren$1(path, options, print) : group$t(concat$F([align$5(" ".repeat(4), printChildren$1(path, options, print, { - processor: (childPath, index) => { - return index === 0 ? group$t(concat$F([softline$l, childPath.call(print)])) : childPath.call(print); - } - })), nextNode && nextNode.type === "footnoteDefinition" ? softline$l : ""]))]); - } - - case "table": - return printTable(path, options, print); - - case "tableCell": - return printChildren$1(path, options, print); - - case "break": - return /\s/.test(options.originalText[node.position.start.offset]) ? concat$F([" ", markAsRoot$3(literalline$4)]) : concat$F(["\\", hardline$s]); - - case "liquidNode": - return concat$F(replaceEndOfLineWith$1(node.value, hardline$s)); - // MDX - // fallback to the original text if multiparser failed - // or `embeddedLanguageFormatting: "off"` - - case "importExport": - return concat$F([node.value, hardline$s]); - - case "jsx": - return node.value; - - case "math": - return concat$F(["$$", hardline$s, node.value ? concat$F([concat$F(replaceEndOfLineWith$1(node.value, hardline$s)), hardline$s]) : "", "$$"]); - - case "inlineMath": - { - // remark-math trims content but we don't want to remove whitespaces - // since it's very possible that it's recognized as math accidentally - return options.originalText.slice(locStart$h(node), locEnd$n(node)); - } - - case "tableRow": // handled in "table" - - case "listItem": // handled in "list" - - default: - /* istanbul ignore next */ - throw new Error(`Unknown markdown type ${JSON.stringify(node.type)}`); - } -} - -function printListItem(path, options, print, listPrefix) { - const node = path.getValue(); - const prefix = node.checked === null ? "" : node.checked ? "[x] " : "[ ] "; - return concat$F([prefix, printChildren$1(path, options, print, { - processor: (childPath, index) => { - if (index === 0 && childPath.getValue().type !== "list") { - return align$5(" ".repeat(prefix.length), childPath.call(print)); - } - - const alignment = " ".repeat(clamp(options.tabWidth - listPrefix.length, 0, 3) // 4+ will cause indented code block - ); - return concat$F([alignment, align$5(alignment, childPath.call(print))]); - } - })]); -} - -function alignListPrefix(prefix, options) { - const additionalSpaces = getAdditionalSpaces(); - return prefix + " ".repeat(additionalSpaces >= 4 ? 0 : additionalSpaces // 4+ will cause indented code block - ); - - function getAdditionalSpaces() { - const restSpaces = prefix.length % options.tabWidth; - return restSpaces === 0 ? 0 : options.tabWidth - restSpaces; - } -} - -function getNthListSiblingIndex(node, parentNode) { - return getNthSiblingIndex(node, parentNode, siblingNode => siblingNode.ordered === node.ordered); -} - -function getNthSiblingIndex(node, parentNode, condition) { - condition = condition || (() => true); - - let index = -1; - - for (const childNode of parentNode.children) { - if (childNode.type === node.type && condition(childNode)) { - index++; - } else { - index = -1; - } - - if (childNode === node) { - return index; - } - } -} - -function getAncestorCounter$1(path, typeOrTypes) { - const types = [].concat(typeOrTypes); - let counter = -1; - let ancestorNode; - - while (ancestorNode = path.getParentNode(++counter)) { - if (types.includes(ancestorNode.type)) { - return counter; - } - } - - return -1; -} - -function getAncestorNode$2(path, typeOrTypes) { - const counter = getAncestorCounter$1(path, typeOrTypes); - return counter === -1 ? null : path.getParentNode(counter); -} - -function printLine(path, value, options) { - if (options.proseWrap === "preserve" && value === "\n") { - return hardline$s; - } - - const isBreakable = options.proseWrap === "always" && !getAncestorNode$2(path, SINGLE_LINE_NODE_TYPES); - return value !== "" ? isBreakable ? line$n : " " : isBreakable ? softline$l : ""; -} - -function printTable(path, options, print) { - const hardlineWithoutBreakParent = hardline$s.parts[0]; - const node = path.getValue(); - const columnMaxWidths = []; // { [rowIndex: number]: { [columnIndex: number]: {text: string, width: number} } } - - const contents = path.map(rowPath => rowPath.map((cellPath, columnIndex) => { - const text = printDocToString$3(cellPath.call(print), options).formatted; - const width = getStringWidth$4(text); - columnMaxWidths[columnIndex] = Math.max(columnMaxWidths[columnIndex] || 3, // minimum width = 3 (---, :--, :-:, --:) - width); - return { - text, - width - }; - }, "children"), "children"); - const alignedTable = printTableContents( - /* isCompact */ - false); - - if (options.proseWrap !== "never") { - return concat$F([breakParent$6, alignedTable]); - } // Only if the --prose-wrap never is set and it exceeds the print width. - - - const compactTable = printTableContents( - /* isCompact */ - true); - return concat$F([breakParent$6, group$t(ifBreak$h(compactTable, alignedTable))]); - - function printTableContents(isCompact) { - /** @type{Doc[]} */ - const parts = [printRow(contents[0], isCompact), printAlign(isCompact)]; - - if (contents.length > 1) { - parts.push(join$k(hardlineWithoutBreakParent, contents.slice(1).map(rowContents => printRow(rowContents, isCompact)))); - } - - return join$k(hardlineWithoutBreakParent, parts); - } - - function printAlign(isCompact) { - const align = columnMaxWidths.map((width, index) => { - const align = node.align[index]; - const first = align === "center" || align === "left" ? ":" : "-"; - const last = align === "center" || align === "right" ? ":" : "-"; - const middle = isCompact ? "-" : "-".repeat(width - 2); - return `${first}${middle}${last}`; - }); - return `| ${align.join(" | ")} |`; - } - - function printRow(rowContents, isCompact) { - const columns = rowContents.map(({ - text, - width - }, columnIndex) => { - if (isCompact) { - return text; - } - - const spaces = columnMaxWidths[columnIndex] - width; - const align = node.align[columnIndex]; - let before = 0; - - if (align === "right") { - before = spaces; - } else if (align === "center") { - before = Math.floor(spaces / 2); - } - - const after = spaces - before; - return `${" ".repeat(before)}${text}${" ".repeat(after)}`; - }); - return `| ${columns.join(" | ")} |`; - } -} - -function printRoot(path, options, print) { - /** @typedef {{ index: number, offset: number }} IgnorePosition */ - - /** @type {Array<{start: IgnorePosition, end: IgnorePosition}>} */ - const ignoreRanges = []; - /** @type {IgnorePosition | null} */ - - let ignoreStart = null; - const { - children - } = path.getValue(); - children.forEach((childNode, index) => { - switch (isPrettierIgnore(childNode)) { - case "start": - if (ignoreStart === null) { - ignoreStart = { - index, - offset: childNode.position.end.offset - }; - } - - break; - - case "end": - if (ignoreStart !== null) { - ignoreRanges.push({ - start: ignoreStart, - end: { - index, - offset: childNode.position.start.offset - } - }); - ignoreStart = null; - } - - break; - } - }); - return printChildren$1(path, options, print, { - processor: (childPath, index) => { - if (ignoreRanges.length !== 0) { - const ignoreRange = ignoreRanges[0]; - - if (index === ignoreRange.start.index) { - return concat$F([children[ignoreRange.start.index].value, options.originalText.slice(ignoreRange.start.offset, ignoreRange.end.offset), children[ignoreRange.end.index].value]); - } - - if (ignoreRange.start.index < index && index < ignoreRange.end.index) { - return false; - } - - if (index === ignoreRange.end.index) { - ignoreRanges.shift(); - return false; - } - } - - return childPath.call(print); - } - }); -} - -function printChildren$1(path, options, print, events) { - events = events || {}; - const postprocessor = events.postprocessor || concat$F; - - const processor = events.processor || (childPath => childPath.call(print)); - - const node = path.getValue(); - const parts = []; - let lastChildNode; - path.each((childPath, index) => { - const childNode = childPath.getValue(); - const result = processor(childPath, index); - - if (result !== false) { - const data = { - parts, - prevNode: lastChildNode, - parentNode: node, - options - }; - - if (!shouldNotPrePrintHardline(childNode, data)) { - parts.push(hardline$s); // Can't find a case to pass `shouldPrePrintTripleHardline` - - /* istanbul ignore next */ - - if (lastChildNode && TRAILING_HARDLINE_NODES.has(lastChildNode.type)) { - if (shouldPrePrintTripleHardline(childNode, data)) { - parts.push(hardline$s); - } - } else { - if (shouldPrePrintDoubleHardline(childNode, data) || shouldPrePrintTripleHardline(childNode, data)) { - parts.push(hardline$s); - } - - if (shouldPrePrintTripleHardline(childNode, data)) { - parts.push(hardline$s); - } - } - } - - parts.push(result); - lastChildNode = childNode; - } - }, "children"); - return postprocessor(parts); -} - -function getLastDescendantNode(node) { - let current = node; - - while (current.children && current.children.length !== 0) { - current = current.children[current.children.length - 1]; - } - - return current; -} -/** @return {false | 'next' | 'start' | 'end'} */ - - -function isPrettierIgnore(node) { - if (node.type !== "html") { - return false; - } - - const match = node.value.match(/^$/); - return match === null ? false : match[1] ? match[1] : "next"; -} - -function shouldNotPrePrintHardline(node, data) { - const isFirstNode = data.parts.length === 0; - const isInlineNode = INLINE_NODE_TYPES$1.includes(node.type); - const isInlineHTML = node.type === "html" && INLINE_NODE_WRAPPER_TYPES$1.includes(data.parentNode.type); - return isFirstNode || isInlineNode || isInlineHTML; -} - -function shouldPrePrintDoubleHardline(node, data) { - const isSequence = (data.prevNode && data.prevNode.type) === node.type; - const isSiblingNode = isSequence && SIBLING_NODE_TYPES.has(node.type); - const isInTightListItem = data.parentNode.type === "listItem" && !data.parentNode.loose; - const isPrevNodeLooseListItem = data.prevNode && data.prevNode.type === "listItem" && data.prevNode.loose; - const isPrevNodePrettierIgnore = isPrettierIgnore(data.prevNode) === "next"; - const isBlockHtmlWithoutBlankLineBetweenPrevHtml = node.type === "html" && data.prevNode && data.prevNode.type === "html" && data.prevNode.position.end.line + 1 === node.position.start.line; - const isHtmlDirectAfterListItem = node.type === "html" && data.parentNode.type === "listItem" && data.prevNode && data.prevNode.type === "paragraph" && data.prevNode.position.end.line + 1 === node.position.start.line; - return isPrevNodeLooseListItem || !(isSiblingNode || isInTightListItem || isPrevNodePrettierIgnore || isBlockHtmlWithoutBlankLineBetweenPrevHtml || isHtmlDirectAfterListItem); -} - -function shouldPrePrintTripleHardline(node, data) { - const isPrevNodeList = data.prevNode && data.prevNode.type === "list"; - const isIndentedCode = node.type === "code" && node.isIndented; - return isPrevNodeList && isIndentedCode; -} - -function shouldRemainTheSameContent(path) { - const ancestorNode = getAncestorNode$2(path, ["linkReference", "imageReference"]); - return ancestorNode && (ancestorNode.type !== "linkReference" || ancestorNode.referenceType !== "full"); -} - -function printUrl(url, dangerousCharOrChars) { - const dangerousChars = [" "].concat(dangerousCharOrChars || []); - return new RegExp(dangerousChars.map(x => `\\${x}`).join("|")).test(url) ? `<${url}>` : url; -} - -function printTitle(title, options, printSpace) { - if (printSpace == null) { - printSpace = true; - } - - if (!title) { - return ""; - } - - if (printSpace) { - return " " + printTitle(title, options, false); - } // title is escaped after `remark-parse` v7 - - - title = title.replace(/\\(["')])/g, "$1"); - - if (title.includes('"') && title.includes("'") && !title.includes(")")) { - return `(${title})`; // avoid escaped quotes - } // faster than using RegExps: https://jsperf.com/performance-of-match-vs-split - - - const singleCount = title.split("'").length - 1; - const doubleCount = title.split('"').length - 1; - const quote = singleCount > doubleCount ? '"' : doubleCount > singleCount ? "'" : options.singleQuote ? "'" : '"'; - title = title.replace(/\\/, "\\\\"); - title = title.replace(new RegExp(`(${quote})`, "g"), "\\$1"); - return `${quote}${title}${quote}`; -} - -function clamp(value, min, max) { - return value < min ? min : value > max ? max : value; -} - -function hasPrettierIgnore$5(path) { - const index = +path.getName(); - - if (index === 0) { - return false; - } - - const prevNode = path.getParentNode().children[index - 1]; - return isPrettierIgnore(prevNode) === "next"; -} - -var printerMarkdown = { - preprocess: printPreprocess$1, - print: genericPrint$4, - embed: embed_1$2, - massageAstNode: clean_1$3, - hasPrettierIgnore: hasPrettierIgnore$5, - insertPragma: insertPragma$6 -}; - -var options$5 = { - proseWrap: commonOptions.proseWrap, - singleQuote: commonOptions.singleQuote -}; - -var name$f = "Markdown"; -var type$d = "prose"; -var color$7 = "#083fa1"; -var aliases$4 = [ - "pandoc" -]; -var aceMode$d = "markdown"; -var codemirrorMode$a = "gfm"; -var codemirrorMimeType$a = "text/x-gfm"; -var wrap = true; -var extensions$d = [ - ".md", - ".markdown", - ".mdown", - ".mdwn", - ".mdx", - ".mkd", - ".mkdn", - ".mkdown", - ".ronn", - ".workbook" -]; -var filenames$3 = [ - "contents.lr" -]; -var tmScope$d = "source.gfm"; -var languageId$d = 222; -var require$$0$6 = { - name: name$f, - type: type$d, - color: color$7, - aliases: aliases$4, - aceMode: aceMode$d, - codemirrorMode: codemirrorMode$a, - codemirrorMimeType: codemirrorMimeType$a, - wrap: wrap, - extensions: extensions$d, - filenames: filenames$3, - tmScope: tmScope$d, - languageId: languageId$d -}; - -const languages$4 = [createLanguage(require$$0$6, data => ({ - since: "1.8.0", - parsers: ["markdown"], - vscodeLanguageIds: ["markdown"], - filenames: data.filenames.concat(["README"]), - extensions: data.extensions.filter(extension => extension !== ".mdx") -})), createLanguage(require$$0$6, () => ({ - name: "MDX", - since: "1.15.0", - parsers: ["mdx"], - vscodeLanguageIds: ["mdx"], - filenames: [], - extensions: [".mdx"] -}))]; -const printers$4 = { - mdast: printerMarkdown -}; -const parsers$4 = { - /* istanbul ignore next */ - get remark() { - return require("./parser-markdown").parsers.remark; - }, - - get markdown() { - return require("./parser-markdown").parsers.remark; - }, - - get mdx() { - return require("./parser-markdown").parsers.mdx; - } - -}; -var languageMarkdown = { - languages: languages$4, - options: options$5, - printers: printers$4, - parsers: parsers$4 -}; - -const { - isFrontMatterNode: isFrontMatterNode$4 -} = util; -const ignoredProperties$4 = new Set(["sourceSpan", "startSourceSpan", "endSourceSpan", "nameSpan", "valueSpan"]); - -function clean$6(ast, newNode) { - if (ast.type === "text" || ast.type === "comment") { - return null; - } // may be formatted by multiparser - - - if (isFrontMatterNode$4(ast) || ast.type === "yaml" || ast.type === "toml") { - return null; - } - - if (ast.type === "attribute") { - delete newNode.value; - } - - if (ast.type === "docType") { - delete newNode.value; - } -} - -clean$6.ignoredProperties = ignoredProperties$4; -var clean_1$4 = clean$6; - -var htmlTagNames = [ - "a", - "abbr", - "acronym", - "address", - "applet", - "area", - "article", - "aside", - "audio", - "b", - "base", - "basefont", - "bdi", - "bdo", - "bgsound", - "big", - "blink", - "blockquote", - "body", - "br", - "button", - "canvas", - "caption", - "center", - "cite", - "code", - "col", - "colgroup", - "command", - "content", - "data", - "datalist", - "dd", - "del", - "details", - "dfn", - "dialog", - "dir", - "div", - "dl", - "dt", - "element", - "em", - "embed", - "fieldset", - "figcaption", - "figure", - "font", - "footer", - "form", - "frame", - "frameset", - "h1", - "h2", - "h3", - "h4", - "h5", - "h6", - "head", - "header", - "hgroup", - "hr", - "html", - "i", - "iframe", - "image", - "img", - "input", - "ins", - "isindex", - "kbd", - "keygen", - "label", - "legend", - "li", - "link", - "listing", - "main", - "map", - "mark", - "marquee", - "math", - "menu", - "menuitem", - "meta", - "meter", - "multicol", - "nav", - "nextid", - "nobr", - "noembed", - "noframes", - "noscript", - "object", - "ol", - "optgroup", - "option", - "output", - "p", - "param", - "picture", - "plaintext", - "pre", - "progress", - "q", - "rb", - "rbc", - "rp", - "rt", - "rtc", - "ruby", - "s", - "samp", - "script", - "section", - "select", - "shadow", - "slot", - "small", - "source", - "spacer", - "span", - "strike", - "strong", - "style", - "sub", - "summary", - "sup", - "svg", - "table", - "tbody", - "td", - "template", - "textarea", - "tfoot", - "th", - "thead", - "time", - "title", - "tr", - "track", - "tt", - "u", - "ul", - "var", - "video", - "wbr", - "xmp" -]; - -var a = [ - "accesskey", - "charset", - "coords", - "download", - "href", - "hreflang", - "name", - "ping", - "referrerpolicy", - "rel", - "rev", - "shape", - "tabindex", - "target", - "type" -]; -var abbr = [ - "title" -]; -var applet = [ - "align", - "alt", - "archive", - "code", - "codebase", - "height", - "hspace", - "name", - "object", - "vspace", - "width" -]; -var area = [ - "accesskey", - "alt", - "coords", - "download", - "href", - "hreflang", - "nohref", - "ping", - "referrerpolicy", - "rel", - "shape", - "tabindex", - "target", - "type" -]; -var audio = [ - "autoplay", - "controls", - "crossorigin", - "loop", - "muted", - "preload", - "src" -]; -var base = [ - "href", - "target" -]; -var basefont = [ - "color", - "face", - "size" -]; -var bdo = [ - "dir" -]; -var blockquote = [ - "cite" -]; -var body = [ - "alink", - "background", - "bgcolor", - "link", - "text", - "vlink" -]; -var br = [ - "clear" -]; -var button = [ - "accesskey", - "autofocus", - "disabled", - "form", - "formaction", - "formenctype", - "formmethod", - "formnovalidate", - "formtarget", - "name", - "tabindex", - "type", - "value" -]; -var canvas = [ - "height", - "width" -]; -var caption = [ - "align" -]; -var col = [ - "align", - "char", - "charoff", - "span", - "valign", - "width" -]; -var colgroup = [ - "align", - "char", - "charoff", - "span", - "valign", - "width" -]; -var data$2 = [ - "value" -]; -var del$1 = [ - "cite", - "datetime" -]; -var details = [ - "open" -]; -var dfn = [ - "title" -]; -var dialog = [ - "open" -]; -var dir = [ - "compact" -]; -var div = [ - "align" -]; -var dl = [ - "compact" -]; -var embed$3 = [ - "height", - "src", - "type", - "width" -]; -var fieldset = [ - "disabled", - "form", - "name" -]; -var font = [ - "color", - "face", - "size" -]; -var form = [ - "accept", - "accept-charset", - "action", - "autocomplete", - "enctype", - "method", - "name", - "novalidate", - "target" -]; -var frame = [ - "frameborder", - "longdesc", - "marginheight", - "marginwidth", - "name", - "noresize", - "scrolling", - "src" -]; -var frameset = [ - "cols", - "rows" -]; -var h1 = [ - "align" -]; -var h2 = [ - "align" -]; -var h3 = [ - "align" -]; -var h4 = [ - "align" -]; -var h5 = [ - "align" -]; -var h6 = [ - "align" -]; -var head = [ - "profile" -]; -var hr = [ - "align", - "noshade", - "size", - "width" -]; -var html$1 = [ - "manifest", - "version" -]; -var iframe = [ - "align", - "allow", - "allowfullscreen", - "allowpaymentrequest", - "allowusermedia", - "frameborder", - "height", - "loading", - "longdesc", - "marginheight", - "marginwidth", - "name", - "referrerpolicy", - "sandbox", - "scrolling", - "src", - "srcdoc", - "width" -]; -var img = [ - "align", - "alt", - "border", - "crossorigin", - "decoding", - "height", - "hspace", - "ismap", - "loading", - "longdesc", - "name", - "referrerpolicy", - "sizes", - "src", - "srcset", - "usemap", - "vspace", - "width" -]; -var input = [ - "accept", - "accesskey", - "align", - "alt", - "autocomplete", - "autofocus", - "checked", - "dirname", - "disabled", - "form", - "formaction", - "formenctype", - "formmethod", - "formnovalidate", - "formtarget", - "height", - "ismap", - "list", - "max", - "maxlength", - "min", - "minlength", - "multiple", - "name", - "pattern", - "placeholder", - "readonly", - "required", - "size", - "src", - "step", - "tabindex", - "title", - "type", - "usemap", - "value", - "width" -]; -var ins = [ - "cite", - "datetime" -]; -var isindex = [ - "prompt" -]; -var label = [ - "accesskey", - "for", - "form" -]; -var legend = [ - "accesskey", - "align" -]; -var li = [ - "type", - "value" -]; -var link$3 = [ - "as", - "charset", - "color", - "crossorigin", - "disabled", - "href", - "hreflang", - "imagesizes", - "imagesrcset", - "integrity", - "media", - "nonce", - "referrerpolicy", - "rel", - "rev", - "sizes", - "target", - "title", - "type" -]; -var map$1 = [ - "name" -]; -var menu = [ - "compact" -]; -var meta = [ - "charset", - "content", - "http-equiv", - "name", - "scheme" -]; -var meter = [ - "high", - "low", - "max", - "min", - "optimum", - "value" -]; -var object$1 = [ - "align", - "archive", - "border", - "classid", - "codebase", - "codetype", - "data", - "declare", - "form", - "height", - "hspace", - "name", - "standby", - "tabindex", - "type", - "typemustmatch", - "usemap", - "vspace", - "width" -]; -var ol = [ - "compact", - "reversed", - "start", - "type" -]; -var optgroup = [ - "disabled", - "label" -]; -var option = [ - "disabled", - "label", - "selected", - "value" -]; -var output = [ - "for", - "form", - "name" -]; -var p = [ - "align" -]; -var param = [ - "name", - "type", - "value", - "valuetype" -]; -var pre = [ - "width" -]; -var progress = [ - "max", - "value" -]; -var q = [ - "cite" -]; -var script = [ - "async", - "charset", - "crossorigin", - "defer", - "integrity", - "language", - "nomodule", - "nonce", - "referrerpolicy", - "src", - "type" -]; -var select = [ - "autocomplete", - "autofocus", - "disabled", - "form", - "multiple", - "name", - "required", - "size", - "tabindex" -]; -var slot = [ - "name" -]; -var source$2 = [ - "media", - "sizes", - "src", - "srcset", - "type" -]; -var style = [ - "media", - "nonce", - "title", - "type" -]; -var table = [ - "align", - "bgcolor", - "border", - "cellpadding", - "cellspacing", - "frame", - "rules", - "summary", - "width" -]; -var tbody = [ - "align", - "char", - "charoff", - "valign" -]; -var td = [ - "abbr", - "align", - "axis", - "bgcolor", - "char", - "charoff", - "colspan", - "headers", - "height", - "nowrap", - "rowspan", - "scope", - "valign", - "width" -]; -var textarea = [ - "accesskey", - "autocomplete", - "autofocus", - "cols", - "dirname", - "disabled", - "form", - "maxlength", - "minlength", - "name", - "placeholder", - "readonly", - "required", - "rows", - "tabindex", - "wrap" -]; -var tfoot = [ - "align", - "char", - "charoff", - "valign" -]; -var th = [ - "abbr", - "align", - "axis", - "bgcolor", - "char", - "charoff", - "colspan", - "headers", - "height", - "nowrap", - "rowspan", - "scope", - "valign", - "width" -]; -var thead = [ - "align", - "char", - "charoff", - "valign" -]; -var time = [ - "datetime" -]; -var tr = [ - "align", - "bgcolor", - "char", - "charoff", - "valign" -]; -var track = [ - "default", - "kind", - "label", - "src", - "srclang" -]; -var ul = [ - "compact", - "type" -]; -var video = [ - "autoplay", - "controls", - "crossorigin", - "height", - "loop", - "muted", - "playsinline", - "poster", - "preload", - "src", - "width" -]; -var htmlElementAttributes = { - "*": [ - "accesskey", - "autocapitalize", - "autofocus", - "class", - "contenteditable", - "dir", - "draggable", - "enterkeyhint", - "hidden", - "id", - "inputmode", - "is", - "itemid", - "itemprop", - "itemref", - "itemscope", - "itemtype", - "lang", - "nonce", - "slot", - "spellcheck", - "style", - "tabindex", - "title", - "translate" -], - a: a, - abbr: abbr, - applet: applet, - area: area, - audio: audio, - base: base, - basefont: basefont, - bdo: bdo, - blockquote: blockquote, - body: body, - br: br, - button: button, - canvas: canvas, - caption: caption, - col: col, - colgroup: colgroup, - data: data$2, - del: del$1, - details: details, - dfn: dfn, - dialog: dialog, - dir: dir, - div: div, - dl: dl, - embed: embed$3, - fieldset: fieldset, - font: font, - form: form, - frame: frame, - frameset: frameset, - h1: h1, - h2: h2, - h3: h3, - h4: h4, - h5: h5, - h6: h6, - head: head, - hr: hr, - html: html$1, - iframe: iframe, - img: img, - input: input, - ins: ins, - isindex: isindex, - label: label, - legend: legend, - li: li, - link: link$3, - map: map$1, - menu: menu, - meta: meta, - meter: meter, - object: object$1, - ol: ol, - optgroup: optgroup, - option: option, - output: output, - p: p, - param: param, - pre: pre, - progress: progress, - q: q, - script: script, - select: select, - slot: slot, - source: source$2, - style: style, - table: table, - tbody: tbody, - td: td, - textarea: textarea, - tfoot: tfoot, - th: th, - thead: thead, - time: time, - tr: tr, - track: track, - ul: ul, - video: video -}; - -var json$1 = { - "CSS_DISPLAY_TAGS": { - "area": "none", - "base": "none", - "basefont": "none", - "datalist": "none", - "head": "none", - "link": "none", - "meta": "none", - "noembed": "none", - "noframes": "none", - "param": "block", - "rp": "none", - "script": "block", - "source": "block", - "style": "none", - "template": "inline", - "track": "block", - "title": "none", - "html": "block", - "body": "block", - "address": "block", - "blockquote": "block", - "center": "block", - "div": "block", - "figure": "block", - "figcaption": "block", - "footer": "block", - "form": "block", - "header": "block", - "hr": "block", - "legend": "block", - "listing": "block", - "main": "block", - "p": "block", - "plaintext": "block", - "pre": "block", - "xmp": "block", - "slot": "contents", - "ruby": "ruby", - "rt": "ruby-text", - "article": "block", - "aside": "block", - "h1": "block", - "h2": "block", - "h3": "block", - "h4": "block", - "h5": "block", - "h6": "block", - "hgroup": "block", - "nav": "block", - "section": "block", - "dir": "block", - "dd": "block", - "dl": "block", - "dt": "block", - "ol": "block", - "ul": "block", - "li": "list-item", - "table": "table", - "caption": "table-caption", - "colgroup": "table-column-group", - "col": "table-column", - "thead": "table-header-group", - "tbody": "table-row-group", - "tfoot": "table-footer-group", - "tr": "table-row", - "td": "table-cell", - "th": "table-cell", - "fieldset": "block", - "button": "inline-block", - "details": "block", - "summary": "block", - "dialog": "block", - "meter": "inline-block", - "progress": "inline-block", - "object": "inline-block", - "video": "inline-block", - "audio": "inline-block", - "select": "inline-block", - "option": "block", - "optgroup": "block" - }, - "CSS_DISPLAY_DEFAULT": "inline", - "CSS_WHITE_SPACE_TAGS": { - "listing": "pre", - "plaintext": "pre", - "pre": "pre", - "xmp": "pre", - "nobr": "nowrap", - "table": "initial", - "textarea": "pre-wrap" - }, - "CSS_WHITE_SPACE_DEFAULT": "normal" -}; - -const { - inferParserByLanguage: inferParserByLanguage$2, - isFrontMatterNode: isFrontMatterNode$5 -} = util; -const { - CSS_DISPLAY_TAGS, - CSS_DISPLAY_DEFAULT, - CSS_WHITE_SPACE_TAGS, - CSS_WHITE_SPACE_DEFAULT -} = json$1; -const HTML_TAGS = arrayToMap(htmlTagNames); -const HTML_ELEMENT_ATTRIBUTES = mapObject(htmlElementAttributes, arrayToMap); // https://infra.spec.whatwg.org/#ascii-whitespace - -const HTML_WHITESPACE = new Set(["\t", "\n", "\f", "\r", " "]); - -const htmlTrimStart = string => string.replace(/^[\t\n\f\r ]+/, ""); - -const htmlTrimEnd = string => string.replace(/[\t\n\f\r ]+$/, ""); - -const htmlTrim = string => htmlTrimStart(htmlTrimEnd(string)); - -const htmlTrimLeadingBlankLines = string => string.replace(/^[\t\f\r ]*?\n/g, ""); - -const htmlTrimPreserveIndentation = string => htmlTrimLeadingBlankLines(htmlTrimEnd(string)); - -const splitByHtmlWhitespace = string => string.split(/[\t\n\f\r ]+/); - -const getLeadingHtmlWhitespace = string => string.match(/^[\t\n\f\r ]*/)[0]; - -const getLeadingAndTrailingHtmlWhitespace = string => { - const [, leadingWhitespace, text, trailingWhitespace] = string.match(/^([\t\n\f\r ]*)([\S\s]*?)([\t\n\f\r ]*)$/); - return { - leadingWhitespace, - trailingWhitespace, - text - }; -}; - -const hasHtmlWhitespace = string => /[\t\n\f\r ]/.test(string); - -function arrayToMap(array) { - const map = Object.create(null); - - for (const value of array) { - map[value] = true; - } - - return map; -} - -function mapObject(object, fn) { - const newObject = Object.create(null); - - for (const key of Object.keys(object)) { - newObject[key] = fn(object[key], key); - } - - return newObject; -} - -function shouldPreserveContent(node, options) { - // unterminated node in ie conditional comment - // e.g. - if (node.type === "ieConditionalComment" && node.lastChild && !node.lastChild.isSelfClosing && !node.lastChild.endSourceSpan) { - return true; - } // incomplete html in ie conditional comment - // e.g. - - - if (node.type === "ieConditionalComment" && !node.complete) { - return true; - } // TODO: handle non-text children in
-
-
-  if (isPreLikeNode(node) && node.children.some(child => child.type !== "text" && child.type !== "interpolation")) {
-    return true;
-  }
-
-  if (isVueNonHtmlBlock(node, options) && !isScriptLikeTag(node) && node.type !== "interpolation") {
-    return true;
-  }
-
-  return false;
-}
-
-function hasPrettierIgnore$6(node) {
-  /* istanbul ignore next */
-  if (node.type === "attribute") {
-    return false;
-  }
-  /* istanbul ignore next */
-
-
-  if (!node.parent) {
-    return false;
-  }
-
-  if (typeof node.index !== "number" || node.index === 0) {
-    return false;
-  }
-
-  const prevNode = node.parent.children[node.index - 1];
-  return isPrettierIgnore$1(prevNode);
-}
-
-function isPrettierIgnore$1(node) {
-  return node.type === "comment" && node.value.trim() === "prettier-ignore";
-}
-
-function getPrettierIgnoreAttributeCommentData(value) {
-  const match = value.trim().match(/^prettier-ignore-attribute(?:\s+([^]+))?$/);
-
-  if (!match) {
-    return false;
-  }
-
-  if (!match[1]) {
-    return true;
-  }
-
-  return match[1].split(/\s+/);
-}
-/** there's no opening/closing tag or it's considered not breakable */
-
-
-function isTextLikeNode(node) {
-  return node.type === "text" || node.type === "comment";
-}
-
-function isScriptLikeTag(node) {
-  return node.type === "element" && (node.fullName === "script" || node.fullName === "style" || node.fullName === "svg:style" || isUnknownNamespace(node) && (node.name === "script" || node.name === "style"));
-}
-
-function canHaveInterpolation(node) {
-  return node.children && !isScriptLikeTag(node);
-}
-
-function isWhitespaceSensitiveNode(node) {
-  return isScriptLikeTag(node) || node.type === "interpolation" || isIndentationSensitiveNode(node);
-}
-
-function isIndentationSensitiveNode(node) {
-  return getNodeCssStyleWhiteSpace(node).startsWith("pre");
-}
-
-function isLeadingSpaceSensitiveNode(node, options) {
-  const isLeadingSpaceSensitive = _isLeadingSpaceSensitiveNode();
-
-  if (isLeadingSpaceSensitive && !node.prev && node.parent && node.parent.tagDefinition && node.parent.tagDefinition.ignoreFirstLf) {
-    return node.type === "interpolation";
-  }
-
-  return isLeadingSpaceSensitive;
-
-  function _isLeadingSpaceSensitiveNode() {
-    if (isFrontMatterNode$5(node)) {
-      return false;
-    }
-
-    if ((node.type === "text" || node.type === "interpolation") && node.prev && (node.prev.type === "text" || node.prev.type === "interpolation")) {
-      return true;
-    }
-
-    if (!node.parent || node.parent.cssDisplay === "none") {
-      return false;
-    }
-
-    if (isPreLikeNode(node.parent)) {
-      return true;
-    }
-
-    if (!node.prev && (node.parent.type === "root" || isPreLikeNode(node) && node.parent || isScriptLikeTag(node.parent) || isVueCustomBlock(node.parent, options) || !isFirstChildLeadingSpaceSensitiveCssDisplay(node.parent.cssDisplay))) {
-      return false;
-    }
-
-    if (node.prev && !isNextLeadingSpaceSensitiveCssDisplay(node.prev.cssDisplay)) {
-      return false;
-    }
-
-    return true;
-  }
-}
-
-function isTrailingSpaceSensitiveNode(node, options) {
-  if (isFrontMatterNode$5(node)) {
-    return false;
-  }
-
-  if ((node.type === "text" || node.type === "interpolation") && node.next && (node.next.type === "text" || node.next.type === "interpolation")) {
-    return true;
-  }
-
-  if (!node.parent || node.parent.cssDisplay === "none") {
-    return false;
-  }
-
-  if (isPreLikeNode(node.parent)) {
-    return true;
-  }
-
-  if (!node.next && (node.parent.type === "root" || isPreLikeNode(node) && node.parent || isScriptLikeTag(node.parent) || isVueCustomBlock(node.parent, options) || !isLastChildTrailingSpaceSensitiveCssDisplay(node.parent.cssDisplay))) {
-    return false;
-  }
-
-  if (node.next && !isPrevTrailingSpaceSensitiveCssDisplay(node.next.cssDisplay)) {
-    return false;
-  }
-
-  return true;
-}
-
-function isDanglingSpaceSensitiveNode(node) {
-  return isDanglingSpaceSensitiveCssDisplay(node.cssDisplay) && !isScriptLikeTag(node);
-}
-
-function forceNextEmptyLine(node) {
-  return isFrontMatterNode$5(node) || node.next && node.sourceSpan.end && node.sourceSpan.end.line + 1 < node.next.sourceSpan.start.line;
-}
-/** firstChild leadingSpaces and lastChild trailingSpaces */
-
-
-function forceBreakContent(node) {
-  return forceBreakChildren(node) || node.type === "element" && node.children.length !== 0 && (["body", "script", "style"].includes(node.name) || node.children.some(child => hasNonTextChild(child))) || node.firstChild && node.firstChild === node.lastChild && node.firstChild.type !== "text" && hasLeadingLineBreak(node.firstChild) && (!node.lastChild.isTrailingSpaceSensitive || hasTrailingLineBreak(node.lastChild));
-}
-/** spaces between children */
-
-
-function forceBreakChildren(node) {
-  return node.type === "element" && node.children.length !== 0 && (["html", "head", "ul", "ol", "select"].includes(node.name) || node.cssDisplay.startsWith("table") && node.cssDisplay !== "table-cell");
-}
-
-function preferHardlineAsLeadingSpaces(node) {
-  return preferHardlineAsSurroundingSpaces(node) || node.prev && preferHardlineAsTrailingSpaces(node.prev) || hasSurroundingLineBreak(node);
-}
-
-function preferHardlineAsTrailingSpaces(node) {
-  return preferHardlineAsSurroundingSpaces(node) || node.type === "element" && node.fullName === "br" || hasSurroundingLineBreak(node);
-}
-
-function hasSurroundingLineBreak(node) {
-  return hasLeadingLineBreak(node) && hasTrailingLineBreak(node);
-}
-
-function hasLeadingLineBreak(node) {
-  return node.hasLeadingSpaces && (node.prev ? node.prev.sourceSpan.end.line < node.sourceSpan.start.line : node.parent.type === "root" || node.parent.startSourceSpan.end.line < node.sourceSpan.start.line);
-}
-
-function hasTrailingLineBreak(node) {
-  return node.hasTrailingSpaces && (node.next ? node.next.sourceSpan.start.line > node.sourceSpan.end.line : node.parent.type === "root" || node.parent.endSourceSpan && node.parent.endSourceSpan.start.line > node.sourceSpan.end.line);
-}
-
-function preferHardlineAsSurroundingSpaces(node) {
-  switch (node.type) {
-    case "ieConditionalComment":
-    case "comment":
-    case "directive":
-      return true;
-
-    case "element":
-      return ["script", "select"].includes(node.name);
-  }
-
-  return false;
-}
-
-function getLastDescendant(node) {
-  return node.lastChild ? getLastDescendant(node.lastChild) : node;
-}
-
-function hasNonTextChild(node) {
-  return node.children && node.children.some(child => child.type !== "text");
-}
-
-function _inferScriptParser(node) {
-  const {
-    type,
-    lang
-  } = node.attrMap;
-
-  if (type === "module" || type === "text/javascript" || type === "text/babel" || type === "application/javascript" || lang === "jsx") {
-    return "babel";
-  }
-
-  if (type === "application/x-typescript" || lang === "ts" || lang === "tsx") {
-    return "typescript";
-  }
-
-  if (type === "text/markdown") {
-    return "markdown";
-  }
-
-  if (type === "text/html") {
-    return "html";
-  }
-
-  if (type && (type.endsWith("json") || type.endsWith("importmap"))) {
-    return "json";
-  }
-
-  if (type === "text/x-handlebars-template") {
-    return "glimmer";
-  }
-}
-
-function inferStyleParser(node) {
-  const {
-    lang
-  } = node.attrMap;
-
-  if (!lang || lang === "postcss" || lang === "css") {
-    return "css";
-  }
-
-  if (lang === "scss") {
-    return "scss";
-  }
-
-  if (lang === "less") {
-    return "less";
-  }
-}
-
-function inferScriptParser(node, options) {
-  if (node.name === "script" && !node.attrMap.src) {
-    if (!node.attrMap.lang && !node.attrMap.type) {
-      return "babel";
-    }
-
-    return _inferScriptParser(node);
-  }
-
-  if (node.name === "style") {
-    return inferStyleParser(node);
-  }
-
-  if (options && isVueNonHtmlBlock(node, options)) {
-    return _inferScriptParser(node) || !("src" in node.attrMap) && inferParserByLanguage$2(node.attrMap.lang, options);
-  }
-}
-
-function isBlockLikeCssDisplay(cssDisplay) {
-  return cssDisplay === "block" || cssDisplay === "list-item" || cssDisplay.startsWith("table");
-}
-
-function isFirstChildLeadingSpaceSensitiveCssDisplay(cssDisplay) {
-  return !isBlockLikeCssDisplay(cssDisplay) && cssDisplay !== "inline-block";
-}
-
-function isLastChildTrailingSpaceSensitiveCssDisplay(cssDisplay) {
-  return !isBlockLikeCssDisplay(cssDisplay) && cssDisplay !== "inline-block";
-}
-
-function isPrevTrailingSpaceSensitiveCssDisplay(cssDisplay) {
-  return !isBlockLikeCssDisplay(cssDisplay);
-}
-
-function isNextLeadingSpaceSensitiveCssDisplay(cssDisplay) {
-  return !isBlockLikeCssDisplay(cssDisplay);
-}
-
-function isDanglingSpaceSensitiveCssDisplay(cssDisplay) {
-  return !isBlockLikeCssDisplay(cssDisplay) && cssDisplay !== "inline-block";
-}
-
-function isPreLikeNode(node) {
-  return getNodeCssStyleWhiteSpace(node).startsWith("pre");
-}
-
-function countParents(path, predicate) {
-  let counter = 0;
-
-  for (let i = path.stack.length - 1; i >= 0; i--) {
-    const value = path.stack[i];
-
-    if (value && typeof value === "object" && !Array.isArray(value) && predicate(value)) {
-      counter++;
-    }
-  }
-
-  return counter;
-}
-
-function hasParent(node, fn) {
-  let current = node;
-
-  while (current) {
-    if (fn(current)) {
-      return true;
-    }
-
-    current = current.parent;
-  }
-
-  return false;
-}
-
-function getNodeCssStyleDisplay(node, options) {
-  if (node.prev && node.prev.type === "comment") {
-    // 
-    const match = node.prev.value.match(/^\s*display:\s*([a-z]+)\s*$/);
-
-    if (match) {
-      return match[1];
-    }
-  }
-
-  let isInSvgForeignObject = false;
-
-  if (node.type === "element" && node.namespace === "svg") {
-    if (hasParent(node, parent => parent.fullName === "svg:foreignObject")) {
-      isInSvgForeignObject = true;
-    } else {
-      return node.name === "svg" ? "inline-block" : "block";
-    }
-  }
-
-  switch (options.htmlWhitespaceSensitivity) {
-    case "strict":
-      return "inline";
-
-    case "ignore":
-      return "block";
-
-    default:
-      {
-        // See https://github.com/prettier/prettier/issues/8151
-        if (options.parser === "vue" && node.parent && node.parent.type === "root") {
-          return "block";
-        }
-
-        return node.type === "element" && (!node.namespace || isInSvgForeignObject || isUnknownNamespace(node)) && CSS_DISPLAY_TAGS[node.name] || CSS_DISPLAY_DEFAULT;
-      }
-  }
-}
-
-function isUnknownNamespace(node) {
-  return node.type === "element" && !node.hasExplicitNamespace && !["html", "svg"].includes(node.namespace);
-}
-
-function getNodeCssStyleWhiteSpace(node) {
-  return node.type === "element" && (!node.namespace || isUnknownNamespace(node)) && CSS_WHITE_SPACE_TAGS[node.name] || CSS_WHITE_SPACE_DEFAULT;
-}
-
-function getMinIndentation(text) {
-  let minIndentation = Infinity;
-
-  for (const lineText of text.split("\n")) {
-    if (lineText.length === 0) {
-      continue;
-    }
-
-    if (!HTML_WHITESPACE.has(lineText[0])) {
-      return 0;
-    }
-
-    const indentation = getLeadingHtmlWhitespace(lineText).length;
-
-    if (lineText.length === indentation) {
-      continue;
-    }
-
-    if (indentation < minIndentation) {
-      minIndentation = indentation;
-    }
-  }
-
-  return minIndentation === Infinity ? 0 : minIndentation;
-}
-
-function dedentString(text, minIndent = getMinIndentation(text)) {
-  return minIndent === 0 ? text : text.split("\n").map(lineText => lineText.slice(minIndent)).join("\n");
-}
-
-function shouldNotPrintClosingTag(node, options) {
-  return !node.isSelfClosing && !node.endSourceSpan && (hasPrettierIgnore$6(node) || shouldPreserveContent(node.parent, options));
-}
-
-function countChars(text, char) {
-  let counter = 0;
-
-  for (let i = 0; i < text.length; i++) {
-    if (text[i] === char) {
-      counter++;
-    }
-  }
-
-  return counter;
-}
-
-function unescapeQuoteEntities(text) {
-  return text.replace(/'/g, "'").replace(/"/g, '"');
-} // top-level elements (excluding